{"version":3,"sources":["./src/app/claim-request/require-consent-dialog-for-primary-by-ownerWithClaimRights.component.ts","./src/app/policy/policy.component.html","./src/app/shared/components/sys-admin/sys-admin.component.ts","./src/app/shared/components/policy-overview/policy-overview.component.ts","./src/app/policy/policy-routing.module.ts","./src/app/policy/daf/daf-invitation-review/daf-invitation-review.component.html","./src/app/shared/components/policy-overview/policy-overview.component.html","./src/app/shared/components/member-policy-info/member-policy-info.compontnt.ts","./src/app/layout/header.component.ts","./src/app/policy/daf/daf-member-info/daf-member-info.component.ts","./src/app/core/services/sys-admin-guard.service.ts","./src/app/policy/policy.component.ts","./src/app/claim-request/require-consent-dialog-for-primary-by-ownerWithClaimRights.component.html","./src/app/core/services/daf-api.service.ts","./src/app/policy/partial-member-dialog.component.html","./src/app/policy/daf/daf-buy-out/daf-buy-out.component.ts","./src/app/policy/daf/daf-switch/daf-switch.component.html","./src/app/core/components/no-policies.component.html","./src/app/policy/daf/daf-questionnaire/daf-questionnaire.component.ts","./src/app/core/http-status-components/unauthorized.component.ts","./src/app/policy/manage.component.html","./src/app/member/custom-validators/protected-member.directive.ts","./src/app/policy/daf/daf-investments-charts/daf-investments-charts.component.ts","./src/app/core/components/auth-callback.component.html","./src/app/shared/material.module.ts","./src/app/Directives/lowercase-input.directive.ts","./src/app/policy/daf/daf-member-policy-details/daf-member-policy-details.component.ts","./src/app/member/member-create.component.ts","./src/app/shared/pipes/initials.pipe.ts","./src/app/core/services/auth.service.ts","./src/app/claim-request/require-consent-dialog.component.ts","./src/app/policy/daf/daf-buy-out/daf-buy-out.component.html","./src/app/shared/components/member-benefits/member-benefits.component.ts","./src/app/shared/pipes/enum-to-sting.pipe.ts","./src/app/policy/policy-selector-dialog.component.ts","./src/environments/environment.ts","./src/app/shared/components/member-policy-info/member-policy-info.compontnt.html","./src/app/shared/components/policy-stats/policy-stats.component.ts","./src/app/claim-request/require-consent-dialog.component.html","./src/app/core/components/no-policies.component.ts","./src/app/member/member-edit.component.ts","./src/app/member/custom-validators/iban.directive.ts","./src/app/policy/daf/daf-initial-investment/daf-initial-investment.component.ts","./src/app/policy/daf/daf-policy/daf-policy.component.html","./src/app/policy/daf/daf-member-policy-details/daf-member-policy-details.component.html","./src/app/messages/messages.component.ts","./src/app/app-models-1.ts","./src/app/shared/components/custom-mat-paginator-int.ts","./src/app/shared/components/member-protected/member-protected-edit.component.ts","./src/app/core/extensions/error-handling-extentions.ts","./src/app/member/member.component.ts","./src/app/member/member-routing.module.ts","./src/app/policy/projection-instructions.component.html","./src/app/policy/manage.component.ts","./src/app/policy/daf/daf-documents/daf-documents.component.ts","./src/app/core/http-status-components/server-error.component.ts","./src/app/policy/daf/daf-policy-overview/daf-policy-overview.component.html","./src/app/core/core-routing.module.ts","./src/app/member/protected-members-delete-dialog.component.html","./src/app/shared/components/member-protected/member-protected.component.html","./src/app/shared/components/member-info/member-info.component.ts","./src/app/policy/daf/daf-member-profile/daf-member-profile.component.html","./src/app/member/protected-members-delete-dialog.component.ts","./src/app/core/services/correlation.service.ts","./src/app/policy/policy-selector-dialog.component.html","./src/app/shared/shared.module.ts","./src/app/core/http-status-components/error-request.component.html","./src/app/core/services/logged-in-guard.service.ts","./src/app/policy/daf/daf-investments-charts/daf-investments-charts.component.html","./src/app/claim-request/claim-request.module.ts","./src/app/shared/pipes/null-or-empty-hardcopy.pipe.ts","./src/app/member/member.module.ts","./src/app/core/http-status-components/not-found.component.ts","./src/app/app.component.ts","./src/app/invitation/invitation-inspect.component.ts","./src/app/shared/components/error-messages.component.html","./src/app/policy/daf/daf-documents/daf-documents.component.html","./src/app/member/protected-members-edit-dialog.component.html","./src/app/policy/policy-documents/policy-documents.component.ts","./src/app/app.component.html","./src/app/shared/components/confirmation-dialog/confirmation-dialog.component.ts","./src/app/shared/components/member-personal-file/member-personal-file.component.html","./src/app/shared/components/policy-benefits/policy-benefits.component.html","./src/app/core/components/logged-out.component.ts","./src/app/layout/sub-footer.component.ts","./src/app/member/custom-validators/validator-base.directive.ts","./src/app/shared/components/member-protected/member-protected.component.ts","./src/app/core/services/notification.service.ts","./src/app/shared/components/policy-stats/policy-stats.component.html","./src/app/shared/components/member-benefits/member-benefits.component.html","./src/app/shared/components/member-header/member-header.component.html","./src/app/shared/components/details-value.component.html","./src/app/app.module.ts","./src/app/core/services/policy-owner-guard.service.ts","./src/app/policy/daf/daf-switch/confirmation-dialog/daf-switch-confirmation-dialog.component.html","./src/app/shared/components/policy-mgmt/policy-mgmt.component.ts","./src/app/claim-request/claim-request-component.scss","./src/app/policy/partial-member-dialog.component.ts","./src/app/policy/daf/daf-initial-investment/daf-initial-investment.component.html","./src/app/policy/daf/daf-member-profile/daf-member-profile.component.ts","./src/app/core/services/web-api.service.ts","./src/app/policy/policy-documents/policy-documents.component.html","./src/app/core/services/data-resolver.service.ts","./src/app/policy/daf/daf-contributions-chart/daf-contributions-chart.component.ts","./src/app/claim-request/claim-request-edit.component.ts","./src/$_lazy_route_resource lazy namespace object","./src/app/core/services/index.ts","./src/app/layout/footer.component.ts","./src/app/claim-request/claim-request-create.component.html","./src/app/policy/daf/daf-contributions-chart/daf-contributions-chart.component.html","./src/app/Directives/OnlyNumberDirective.ts","./src/app/policy/policy.module.ts","./src/app/app-routing-selector.component.ts","./src/app/shared/pipes/truncate.pipe.ts","./src/app/policy/152-compliance-dialog.component.html","./src/app/core/services/user.service.ts","./src/app/shared/components/member-protected/member-protected-edit.component.html","./src/app/policy/daf/daf-policy-details/daf-policy-details.component.ts","./src/app/policy/daf/daf-policy-details/daf-policy-details.component.html","./src/app/shared/components/sys-admin/sys-admin.component.html","./src/app/shared/components/confirmation-dialog/confirmation-dialog.component.html","./src/app/shared/components/policy-mgmt/policy-mgmt-delete-dialog.component.ts","./src/app/shared/components/confirmation-dialog/confirm-dialog.service.ts","./src/app/policy/partial-birthdate-dialog.component.html","./src/app/claim-request/claim-request-create.component.ts","./src/app/core/services/policy.service.ts","./src/app/shared/components/policy-stats/chart.component.ts","./src/app/policy/daf/tabbed-lists.component.ts","./src/app/claim-request/claim-request-base.component.ts","./src/app/shared/components/policy-stats/chart.component.html","./src/app/policy/daf/daf-future-returns-calculation/daf-future-returns-calculation.component.ts","./src/app/shared/components/details-value.component.ts","./src/app/policy/daf/daf-policy/daf-policy.component.ts","./src/app/shared/components/policy-mgmt/policy-mgmt-delete-dialog.component.html","./src/app/member/member.component.html","./src/app/policy/daf/daf-policy-overview/daf-policy-overview.component.ts","./src/app/core/components/auth-renew.component.ts","./src/app/policy/daf/daf-future-returns-calculation/daf-future-returns-calculation.component.html","./src/app/policy/daf/daf-switch/daf-switch.component.ts","./src/app/layout/header.component.html","./src/app/policy/partial-birthdate-dialog.component..ts","./src/app/policy/daf/daf-switch/confirmation-dialog/daf-switch-confirmation-dialog.component.ts","./src/app/policy/daf/daf-member-investment-details/daf-member-investment-details.component.html","./src/app/policy/daf/daf-mutual-prips/daf-mutual-prips.component.ts","./src/app/policy/daf/daf-member-investment-details/daf-member-investment-details.component.ts","./src/app/shared/pipes/benefit-category.pipe.ts","./src/app/core/core.module.ts","./src/app/member/consent-protected.component.ts","./src/app/shared/components/policy-benefits/policy-benefits.component.ts","./src/app/invitation/invitation-inspect.component.html","./src/app/shared/pipes/dd-mm-yyyy-date.pipe.ts","./src/app/policy/152-compliance-dialog.component.ts","./src/app/member/member-base-edit-component.ts","./src/app/shared/components/member-personal-file/member-personal-file.component.ts","./src/app/member/protected-members-edit-dialog.component.ts","./src/app/core/components/auth-callback.component.ts","./src/app/core/http-status-components/forbidden.component.ts","./src/app/claim-request/list-of-conditions-details.ts","./src/app/messages/messages.component.html","./src/app/shared/pipes/null-or-empty.pipe.ts","./src/app/core/extensions/date-time-extensions.ts","./src/app/core/components/logged-out.component.html","./src/app/shared/components/policy-mgmt/policy-mgmt.component.html","./src/app/shared/components/policy-header/policy-header.component.ts","./src/app/member/consent-protected.component.html","./src/app/shared/Text/config.ts","./src/app/core/core-models.ts","./src/app/layout/sub-footer.component.html","./src/app/shared/confirm-dialog.module.ts","./src/app/policy/daf/daf-manage-members/daf-manage-members.component.ts","./src/app/shared/components/error-messages.component.ts","./src/app/core/services/policies-loaded-guard.service.ts","./src/app/policy/daf/daf-questionnaire/daf-questionnaire.component.html","./src/app/claim-request/claim-request-routing.module.ts","./src/app/app-routing.module.ts","./src/app/shared/components/member-info/member-info.component.html","./src/app/policy/daf/daf-mutual-prips/daf-mutual-prips.component.html","./src/app/app-models.ts","./src/app/shared/components/member-header/member-header.component.ts","./src/app/shared/components/policy-header/policy-header.component.html","./src/app/member/member-edit.component.html","./src/app/policy/daf/daf-invitation-review/daf-invitation-review.component.ts","./src/app/shared/pipes/uriEncode.pipe.ts","./src/app/policy/projection-instructions.component.ts","./src/app/policy/daf/daf-member-info/daf-member-info.component.html","./src/app/shared/components/policy-stats/base-chart.component.scss","./src/app/layout/footer.component.html","./src/app/core/http-status-components/bad-request.component.ts","./src/app/policy/daf/daf-manage-members/daf-manage-members.component.html","./src/main.ts"],"names":[],"mappings":"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","file":"main.js","sourcesContent":["import { Component, Inject } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { PolicyService, NotificationService } from 'src/app/core/services';\r\nimport { IPolicyMember, IProtectedMember } from '../app-models';\r\nimport { WebApiService } from '../core/services/web-api.service';\r\nimport { RedeemConsentsRequestByOwnerForPrimary } from '../app-models-1';\r\n@Component({\r\n templateUrl: 'require-consent-dialog-for-primary-by-ownerWithClaimRights.component.html'\r\n})\r\n\r\n\r\nexport class RequireConsentDialogComponentForPrimaryByOwner {\r\n info = '';\r\n email: string;\r\n isOwnerWithCR:string;\r\n pMember: RedeemConsentsRequestByOwnerForPrimary;\r\n constructor(private dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public sMember: RedeemConsentsRequestByOwnerForPrimary,\r\n @Inject(MAT_DIALOG_DATA) public isOwner: string,\r\n private webApi: WebApiService,\r\n private notificationService: NotificationService,\r\n private policyService: PolicyService) {\r\n\r\n this.pMember = {};\r\n this.pMember = sMember[\"pMember\"];\r\n this.isOwnerWithCR = isOwner[\"isOwner\"];\r\n }\r\n redeemConsentForPrimary(): void {\r\n this.isOwnerWithCR == 'true' ? this.redeemConsentForOwner() : this.redeemConsentForPrimaryUnderage();\r\n }\r\n close(): void {\r\n this.dialogRef.close(false);\r\n }\r\n redeemConsentForOwner() {\r\n this.pMember.ΟwnerMemberId = this.policyService.policyMemberId;\r\n this.pMember.policyMemberId = this.sMember.policyMemberId == null || this.sMember.policyMemberId == undefined ? this.policyService.selectedMember.id : this.sMember.policyMemberId;\r\n this.webApi.post(`${this.policyService.selectedPolicyId}/redeem/by-owner`, this.pMember).subscribe(\r\n (success) => this.dialogRef.close(true),\r\n (error) => this.close()\r\n );\r\n }\r\n redeemConsentForPrimaryUnderage() { \r\n this.pMember.policyMemberId = this.sMember.policyMemberId == null || this.sMember.policyMemberId == undefined ? this.policyService.selectedMember.id : this.sMember.policyMemberId;\r\n this.pMember.OverSixteen=true;\r\n this.pMember.ΟwnerMemberId = this.policyService.policyMemberId;\r\n \r\n this.webApi.post(`${this.policyService.selectedPolicyId}/redeem/primary-underage`, this.pMember).subscribe(\r\n (success) => this.dialogRef.close(true),\r\n (error) => this.close()\r\n )\r\n }\r\n}\r\n","export default \"\\r\\n \\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\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 } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gg-sys-admin',\r\n templateUrl: 'sys-admin.component.html'\r\n})\r\nexport class SysAdminComponent {\r\n public title = 'Έχετε συνδεθεί ως διαχειριστής συστήματος Groupama';\r\n public info = 'Μπορείτε να προσκαλέσε μέλη σε αυτό το συμβόλαιο';\r\n @Input() policyService: any = {};\r\n}","import {Component, Input, OnInit, Output, EventEmitter, OnDestroy} from '@angular/core';\r\nimport {UserService} from '../../../core/services/user.service';\r\nimport { MatSelectChange } from '@angular/material/select';\r\n\r\n@Component({\r\n selector: 'gg-policy-overview',\r\n templateUrl: 'policy-overview.component.html'\r\n})\r\nexport class PolicyOverviewComponent implements OnInit, OnDestroy {\r\n isSysAdmin = true;\r\n isMember = false;\r\n isOwner = false;\r\n isOwnerWithClaimRights = false;\r\n isViewOnlyAdmin = false;\r\n @Input() policyService: any = {};\r\n @Output() policySwitcher = new EventEmitter();\r\n\r\n onSwitchPolicy = () => this.policySwitcher.emit();\r\n\r\n\r\n constructor(private user: UserService) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.isSysAdmin = this.user.isAdmin === true || this.policyService.selectedPolicy.membershipStatus.accessLevel === 'Admin';\r\n this.isMember = this.policyService.selectedPolicy.membershipStatus.accessLevel === 'Member';\r\n this.isOwner = this.policyService.selectedPolicy.membershipStatus.accessLevel === 'Owner';\r\n this.isOwnerWithClaimRights = this.policyService.selectedPolicy.membershipStatus.accessLevel === 'OwnerWithClaimRights';\r\n this.isViewOnlyAdmin = this.policyService.selectedPolicy.membershipStatus.accessLevel === 'ViewOnlyAdmin';\r\n }\r\n\r\n onPolicyChange(policyId: MatSelectChange): void {\r\n console.log('onPolicyChange', policyId);\r\n this.policyService.policyIdChanged(policyId.value);\r\n this.policyService.goToSelectedPolicy();\r\n // if (this.isMember) {\r\n // this.policyService.goToSelectedPolicy();\r\n // } else {\r\n // this.policyService.goToSelectedPolicy();\r\n // this.policyService.getPolicyBenefits();\r\n // this.policyService.getPolicyGeneralDocuments();\r\n // }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.isSysAdmin = false;\r\n this.isMember = false;\r\n this.isOwner = false;\r\n this.isOwnerWithClaimRights = false;\r\n this.isViewOnlyAdmin = false;\r\n }\r\n\r\n}\r\n\r\n","import { DafFutureReturnsCalculationComponent } from './daf/daf-future-returns-calculation/daf-future-returns-calculation.component';\r\nimport { DafInitialInvestmentComponent } from './daf/daf-initial-investment/daf-initial-investment.component';\r\nimport { DafBuyOutComponent } from './daf/daf-buy-out/daf-buy-out.component';\r\nimport { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { IsLoggedInAuthGuard, PoliciesLoadedGuard, GroupPoliciesListResolver } from 'src/app/core/services'\r\nimport { PolicyComponent } from './policy.component';\r\nimport { ManageComponent } from './manage.component';\r\nimport { AppRoutingSelectorComponent } from '../app-routing-selector.component';\r\nimport { DafPoliciesListResolver, DafPolicyMemberResolver } from '../core/services/data-resolver.service';\r\nimport { DafPolicyComponent } from './daf/daf-policy/daf-policy.component';\r\nimport { DafManageMembersComponent } from './daf/daf-manage-members/daf-manage-members.component';\r\nimport { PripsTable } from './daf/daf-mutual-prips/daf-mutual-prips.component';\r\nimport { DafMemberProfileComponent } from './daf/daf-member-profile/daf-member-profile.component';\r\nimport { DafQuestionnaireComponent } from './daf/daf-questionnaire/daf-questionnaire.component';\r\nimport { DafSwitchComponent } from './daf/daf-switch/daf-switch.component';\r\n\r\nconst ROUTES: Routes = [\r\n {\r\n path: 'policy/:id/manage', component: ManageComponent,\r\n canActivate: [IsLoggedInAuthGuard, PoliciesLoadedGuard]\r\n },\r\n {\r\n path: 'policy',\r\n canActivate: [IsLoggedInAuthGuard],\r\n canActivateChild: [IsLoggedInAuthGuard, PoliciesLoadedGuard],\r\n component: AppRoutingSelectorComponent, resolve: { contracts: GroupPoliciesListResolver, dafContracts: DafPoliciesListResolver },\r\n children: [\r\n //{ path: ':id/manage', component: ManageComponent, canActivate: [CoreServices.PolicyOwnerAuthGuard] },\r\n { path: ':id', component: PolicyComponent },\r\n ],\r\n },\r\n {\r\n path: 'daf-policy/:id/manage', component: DafManageMembersComponent,\r\n canActivate: [IsLoggedInAuthGuard, PoliciesLoadedGuard]\r\n }, \r\n\r\n {\r\n path: 'daf-policy/:id/mutual-prips', component: PripsTable,\r\n canActivate: [IsLoggedInAuthGuard, PoliciesLoadedGuard]\r\n },\r\n {\r\n path: 'daf-policy',\r\n canActivate: [IsLoggedInAuthGuard],\r\n canActivateChild: [IsLoggedInAuthGuard, PoliciesLoadedGuard],\r\n component: AppRoutingSelectorComponent, resolve: { contracts: GroupPoliciesListResolver, dafContracts: DafPoliciesListResolver },\r\n children: [\r\n //{ path: ':id/manage', component: ManageComponent, canActivate: [CoreServices.PolicyOwnerAuthGuard] },\r\n { path: ':id', component: DafPolicyComponent },\r\n { path: ':id/members',\r\n children: [\r\n { path: ':memberId', component: DafMemberProfileComponent, resolve: { member: DafPolicyMemberResolver } },\r\n //{ path: ':memberId/questionnaire', component: DafQuestionnaireComponent, resolve: { member: DafPolicyMemberResolver } },\r\n { path: ':memberId/questionnaire/:step', component: DafQuestionnaireComponent, resolve: { member: DafPolicyMemberResolver } },\r\n { path: ':memberId/buy-out', component: DafBuyOutComponent, resolve: { member: DafPolicyMemberResolver } }, \r\n { path: ':memberId/mutual-prips', component: PripsTable, resolve: { member: DafPolicyMemberResolver } }, \r\n { path: ':memberId/switch', component: DafSwitchComponent, resolve: { member: DafPolicyMemberResolver } },\r\n { path: ':memberId/initial-investment', component: DafInitialInvestmentComponent, resolve: { member: DafPolicyMemberResolver } },\r\n { path: ':memberId/future-returns-calculation', component: DafFutureReturnsCalculationComponent, resolve: { member: DafPolicyMemberResolver } }\r\n ]\r\n }\r\n ]\r\n }\r\n];\r\n\r\nexport const RoutableComponents = [PolicyComponent, ManageComponent];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(ROUTES)],\r\n providers: [],\r\n exports: [RouterModule]\r\n})\r\nexport class PolicyRoutingModule { }\r\n","export default \"
\\r\\n
\\r\\n
\\r\\n account_circle\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\";","export default \"
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n Ασφαλιστήριο Συμβόλαιο\\r\\n\\r\\n ΟΑ {{ policyService.selectedPolicy.policyNumber }}\\r\\n ΕΣ {{ policyService.selectedPolicy.policyNumber }}\\r\\n \\r\\n
\\r\\n \\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 { WebApi, NotificationService } from 'src/app/core/services';\r\n\r\n@Component({\r\n selector: 'gg-member-policy-info',\r\n templateUrl: 'member-policy-info.compontnt.html'\r\n})\r\nexport class MemberPolicyInfoComponent implements OnInit {\r\n @Input() policyService: any = {};\r\n @Input() enableMemberActions = true;\r\n isAdmin = false;\r\n isOwner : boolean = false; \r\n isMember : boolean = false; \r\n public canEdit : boolean = false; \r\n constructor(protected webApi: WebApi, private notificationService: NotificationService) {\r\n\r\n }\r\n ngOnInit(): void {\r\n this.isAdmin = this.policyService.selectedPolicy.membershipStatus.accessLevel === 'Owner || OwnerWithClaimRights'; \r\n this.isMember = this.policyService.selectedPolicy.membershipStatus.accessLevel === 'Member' ;\r\n this.canEdit = this.isAdmin || this.isMember ;\r\n }\r\n requestPrint() {\r\n this.webApi.post(`${this.policyService.selectedPolicyId}/members/${this.policyService.selectedMember.id}/cards/printcard`, null).subscribe(\r\n (success) => this.notificationService.success('Αίτημα εκτύπωσης', 'Το αίτημα εκτύπωσης στάλθηκε με επιτυχία.'),\r\n (error) => this.notificationService.success('Αίτημα εκτύπωσης', 'Το αίτημα εκτύπωσης δεν στάλθηκε με επιτυχία.')\r\n );\r\n }\r\n\r\n}","import { Component, OnInit, Renderer2 } from '@angular/core';\r\nimport { WebApi, PolicyService, AuthService, User } from 'src/app/core/services';\r\nimport { IMessage, IPolicy, AppPolicyType } from 'src/app/app-models';\r\nimport { IResultSet } from 'src/app/core/core-models';\r\nimport { NotificationService } from 'src/app/core/services';\r\nimport { MatDialog } from '@angular/material/dialog';\r\n\r\n@Component({\r\n selector: 'ggp-header',\r\n templateUrl: 'header.component.html',\r\n styles: [\r\n `\r\n :host {\r\n position: fixed;\r\n top: 0;\r\n width: 100%;\r\n }\r\n `\r\n ]\r\n})\r\n\r\nexport class HeaderComponent implements OnInit {\r\n private isVisible = true;\r\n messages: IMessage[] = [];\r\n messagesCount = 0;\r\n showManage: boolean;\r\n showNotifications = true;\r\n scroll: number;\r\n\r\n constructor(private webApi: WebApi, public policyService: PolicyService, public authService: AuthService, public user: User, private renderer: Renderer2, private dialog: MatDialog, protected notificationService: NotificationService) {\r\n policyService\r\n .PolicyWatcher()\r\n .subscribe(\r\n (policy: IPolicy) => {\r\n if (policy.id) {\r\n this.showManage = (policy.membershipStatus.accessLevel === 'Owner' || policy.membershipStatus.accessLevel === 'OwnerWithClaimRights' || policy.membershipStatus.accessLevel === 'ViewOnlyAdmin' || policy.membershipStatus.accessLevel === 'Hr') || (user.isAdmin || user.role === 'Administrator');\r\n if(policy.appPolicyType === AppPolicyType.GroupPolicy) {\r\n this.webApi.getList(`${policy.id}/messages/unread`, { size: 5, sort: 'insertDate-' }).subscribe((res: IResultSet) => {\r\n this.messages = res.items.slice(0, res.items.length > 5 ? 5 : res.items.length);\r\n this.messagesCount = res.count;\r\n });\r\n }\r\n\r\n if(policy.appPolicyType === AppPolicyType.DafPolicy){\r\n this.showNotifications = false;\r\n }\r\n }\r\n }\r\n );\r\n }\r\n ngOnInit() {\r\n this.renderer.listen(window, 'scroll', () => {\r\n this.scroll = window.scrollY;\r\n });\r\n }\r\n}\r\n","import { QuestionnaireGroupType } from 'src/app/app-models';\r\nimport { PolicyService } from './../../../core/services/policy.service';\r\nimport { Component, OnInit, Input } from '@angular/core';\r\nimport { DafApiClient } from 'src/app/core/services';\r\nimport { QuestionnaireDetails } from 'src/app/core/services/daf-api.service';\r\nimport { UserService } from 'src/app/core/services/user.service';\r\n\r\n@Component({\r\n selector: 'app-daf-member-info',\r\n templateUrl: './daf-member-info.component.html'\r\n})\r\nexport class DafMemberInfoComponent implements OnInit {\r\n isMember: boolean;\r\n isSelf: boolean;\r\n onlyGuaranteedPrincipal : boolean;\r\n viewHrId : string = 'c58e7519-6249-475a-b1a0-5026805583a0';\r\n scoreDetail : QuestionnaireDetails;\r\n\r\n constructor(public policyService: PolicyService, private dafApi: DafApiClient, private userService: UserService) {\r\n this.isMember = this.policyService.selectedPolicy.membershipStatus.accessLevel === 'Member';\r\n this.isSelf = this.policyService.selectedPolicy.membershipStatus.policyMemberId == this.policyService.dafSelectedMember.id || this.userService.id === this.viewHrId;\r\n this.onlyGuaranteedPrincipal = this.policyService.selectedPolicy.onlyGuaranteedPrincipal;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.scoreDetail = this.policyService.dafSelectedMember.questionnaireDetails.find(group => group.type === QuestionnaireGroupType.SCORE);\r\n }\r\n\r\n gotoQuestionnaire() { \r\n const url = `daf-policy/${this.policyService.selectedPolicy.id}/members/${this.policyService.dafSelectedMember.id}/questionnaire/0`;\r\n this.policyService.navigate([url]);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { CanActivate, CanActivateChild, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\nimport { UserService } from './user.service';\r\nimport { NotificationService } from './notification.service';\r\n\r\n@Injectable()\r\nexport class SysAdminAuthGuard implements CanActivate, CanActivateChild {\r\n constructor(private userService: UserService, private notificationService: NotificationService) {\r\n }\r\n canActivateChild(next: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\r\n return this.canActivate(next, state);\r\n }\r\n canActivate(next: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\r\n const canActivate = this.userService.isAdmin || this.userService.role === 'Adminitrator';\r\n if (!canActivate) {\r\n this.notificationService.warn('403', 'Unauthorized to access that area');\r\n }\r\n return canActivate;\r\n }\r\n}","import { take } from 'rxjs/operators';\r\nimport { Component, OnInit, ChangeDetectorRef } from '@angular/core';\r\nimport { PolicyService } from '../core/services/policy.service';\r\nimport { WebApiService } from '../core/services/web-api.service';\r\nimport { IInsuredMember, AppPolicyType } from '../app-models';\r\nimport { PolicySelectorDialogComponent } from 'src/app/policy/policy-selector-dialog.component';\r\nimport { AuthService } from '../core/services/auth.service';\r\nimport { NotificationService } from 'src/app/core/services';\r\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n templateUrl: './policy.component.html'\r\n})\r\nexport class PolicyComponent implements OnInit {\r\n\r\n isSysAdmin = false;\r\n isMember = false;\r\n isOwner = false;\r\n isOwnerWithClaimRights = false;\r\n isViewOnlyAdmin = false;\r\n constructor(public policyService: PolicyService,\r\n private webApi: WebApiService,\r\n private user: AuthService,\r\n private dialog: MatDialog,\r\n protected notificationService: NotificationService,\r\n private _router: Router) {\r\n this._router.routeReuseStrategy.shouldReuseRoute = () => false;\r\n }\r\n\r\n ngOnInit() {\r\n console.log('selectedPolicy', this.policyService.selectedPolicy);\r\n this.isMember = this.policyService.selectedPolicy.membershipStatus.accessLevel === 'Member';\r\n this.isOwner = this.policyService.selectedPolicy.membershipStatus.accessLevel === 'Owner';\r\n this.isOwnerWithClaimRights = this.policyService.selectedPolicy.membershipStatus.accessLevel === 'OwnerWithClaimRights';\r\n this.isViewOnlyAdmin = this.policyService.selectedPolicy.membershipStatus.accessLevel === 'ViewOnlyAdmin';\r\n this.isSysAdmin = this.user.getClaims().admin;\r\n //console.log(this.user.getClaims());\r\n if (this.policyService.selectedPolicy.appPolicyType === AppPolicyType.GroupPolicy && this.isMember && !this.policyService.selectedMember.id) {\r\n this.webApi.get(`${this.policyService.selectedPolicyId}/members/${this.policyService.selectedPolicy.membershipStatus.policyMemberId}`).subscribe(\r\n (member: IInsuredMember) => this.policyService.selectedMember = member\r\n );\r\n }\r\n }\r\n\r\n showPoliciesSelector() {\r\n this.dialog.open(\r\n PolicySelectorDialogComponent,\r\n { width: 'auto', minWidth: '800px', maxWidth: '1500px', autoFocus: true, disableClose: false, data: {} })\r\n .afterClosed()\r\n .pipe(take(1))\r\n .subscribe(\r\n (result: any) => {\r\n this.policyService.policyIdChanged(result);\r\n this.policyService.goToSelectedPolicy();\r\n }\r\n );\r\n }\r\n}\r\n","export default \"
\\r\\n
\\r\\n
\\r\\n Συγκατάθεση για την επεξεργασία προσωπικών στοιχείων μέλους\\r\\n
\\r\\n
\\r\\n
\\r\\n Κατόπιν της ενημέρωσης για την προστασία των προσωπικών μου δεδομένων όπως ορίζεται ΕΔΩ, δηλώνω\\r\\n ρητώς ότι συγκατατίθεμαι:\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n Στην επεξεργασία των προσωπικών δεδομένων μου υγείας ή του ανήλικου εξαρτώμενου τέκνου μου (ηλικίας κάτω των 15\\r\\n ετών), καθώς και στους όρους χρήσης της ηλεκτρονικής πλατφόρμας.\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n Δηλώνω επίσης ότι κατέχω τα υποβληθέντα παραστατικά σε πρωτότυπη μορφή ή ότι τα ποσά που αναφέρονται σε αυτά\\r\\n συμπεριλαμβάνονται\\r\\n σε πρωτότυπη βεβαίωση άλλου ασφαλιστικού φορέα. Τα πρωτότυπα παραστατικά ή η πρωτότυπη βεβαίωση είναι στη\\r\\n διάθεση της Groupama Ασφαλιστικής\\r\\n για διάστημα 5 ετών από σήμερα. Σε περίπτωση αδυναμίας προσκόμισης των πρωτότυπων παραστατικών ή της\\r\\n πρωτότυπης βεβαίωσης,\\r\\n αν μου ζητηθούν εντός του ως άνω διαστήματος, δηλώνω ότι υποχρεούμαι σε αποζημίωση κάθε ζημίας που τυχόν θα\\r\\n υποστεί η Groupama Ασφαλιστική εκ του λόγου αυτού\\r\\n \\r\\n
\\r\\n (Υποχρεωτικό \\\"ΝΑΙ\\\" για τη χρήση της πλατφόρμας)\\r\\n
\\r\\n \\r\\n Ναί\\r\\n Όχι\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Στην επεξεργασία των προσωπικών μου δεδομένων για εμπορικούς σκοπούς, όπως για παράδειγμα για την προώθηση\\r\\n προϊόντων ή υπηρεσιών, διαφήμιση κλπ.\\r\\n (Προαιρετικό – Η επιλογή μπορεί να αλλάξει, όποτε το επιθυμείτε, μέσω της\\r\\n εφαρμογής)\\r\\n
\\r\\n \\r\\n Ναί\\r\\n Όχι\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\";","/* tslint:disable */\r\n/* eslint-disable */\r\n//----------------------\r\n// \r\n// Generated using the NSwag toolchain v13.1.1.0 (NJsonSchema v10.0.24.0 (Newtonsoft.Json v11.0.0.0)) (http://NSwag.org)\r\n// \r\n//----------------------\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\nimport { FileResponse } from './web-api.service';\r\n\r\nexport const DAF_API_BASE_URL = new InjectionToken('DAF_API_BASE_URL');\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DafApiClient {\r\n \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(DAF_API_BASE_URL) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl ? baseUrl : \"\";\r\n }\r\n\r\n /**\r\n * Get Daf Filter Definitions\r\n * @return Success\r\n */\r\n getFilterDefinitions(): Observable {\r\n let url_ = this.baseUrl + \"/v1/daf/configuration/filters\";\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.processGetFilterDefinitions(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetFilterDefinitions(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processGetFilterDefinitions(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob = \r\n response instanceof HttpResponse ? response.body : \r\n (response).error instanceof Blob ? (response).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 === 401) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result401: any = null;\r\n let resultData401 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized\", status, _responseText, _headers, result401);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\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(FilterDefinitionBase.fromJS(item));\r\n }\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 403) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = resultData403 !== undefined ? resultData403 : null;\r\n return throwException(\"Forbidden\", status, _responseText, _headers, result403);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * Get Questionnaire configuration\r\n * @param id The Groupama.Proxies.Rest.Models.Greenport.Customers.Risk.QuestionnaireGroup identifier\r\n * @return Success\r\n */\r\n getQuestionnaireSetup(id : string ): Observable { \r\n \r\n let url_ = this.baseUrl + \"/v1/daf/configuration/questionnaire/\" + id;\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.processGetQuestionnaireSetup(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetQuestionnaireSetup(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processGetQuestionnaireSetup(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob = \r\n response instanceof HttpResponse ? response.body : \r\n (response).error instanceof Blob ? (response).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 === 401) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result401: any = null;\r\n let resultData401 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized\", status, _responseText, _headers, result401);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = QuestionnaireGroup.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 403) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = resultData403 !== undefined ? resultData403 : null;\r\n return throwException(\"Forbidden\", status, _responseText, _headers, result403);\r\n }));\r\n \r\n } else if (status === 404) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = resultData404 !== undefined ? resultData404 : null;\r\n return throwException(\"Δεν έχετε συμπληρώσει FATCA\", status, _responseText, _headers, result404);\r\n }));\r\n \r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * Inspect an invitation\r\n * @param token (optional) The encrypted token containing the Invitation object\r\n * @return Success\r\n */\r\n inspectInvitation(token: string | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/v1/daf/invitation/inspect?\";\r\n if (token !== undefined)\r\n url_ += \"token=\" + encodeURIComponent(\"\" + token) + \"&\"; \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.processInspectInvitation(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processInspectInvitation(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processInspectInvitation(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob = \r\n response instanceof HttpResponse ? response.body : \r\n (response).error instanceof Blob ? (response).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 === 401) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result401: any = null;\r\n let resultData401 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized\", status, _responseText, _headers, result401);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = InvitationState.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 403) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = resultData403 !== undefined ? resultData403 : null;\r\n return throwException(\"Forbidden\", status, _responseText, _headers, result403);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * Redeem the user Invitation\r\n * @param body (optional) The Groupama.Models.Invitations.RedeemInvitationRequest\r\n * @return Success\r\n */\r\n redeemInvitation(body: RedeemInvitationRequest | undefined): Observable {\r\n let url_ = this.baseUrl + \"/v1/daf/invitation/redeem\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\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-patch+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.processRedeemInvitation(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processRedeemInvitation(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processRedeemInvitation(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob = \r\n response instanceof HttpResponse ? response.body : \r\n (response).error instanceof Blob ? (response).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 === 401) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result401: any = null;\r\n let resultData401 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized\", status, _responseText, _headers, result401);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status === 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result204: any = null;\r\n let resultData204 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result204 = RedeemInvitationResponse.fromJS(resultData204);\r\n return _observableOf(result204);\r\n }));\r\n } else if (status === 403) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = resultData403 !== undefined ? resultData403 : null;\r\n return throwException(\"Forbidden\", status, _responseText, _headers, result403);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * Get a list of Policies\r\n * @param page (optional) \r\n * @param size (optional) \r\n * @param sort (optional) \r\n * @param search (optional) \r\n * @return Success\r\n */\r\n getPolicies(page: number | undefined, size: number | undefined, sort: string | null | undefined, search: string | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/v1/daf/policies?\";\r\n if (page === null)\r\n throw new Error(\"The parameter 'page' cannot be null.\");\r\n else if (page !== undefined)\r\n url_ += \"Page=\" + encodeURIComponent(\"\" + page) + \"&\"; \r\n if (size === null)\r\n throw new Error(\"The parameter 'size' cannot be null.\");\r\n else if (size !== undefined)\r\n url_ += \"Size=\" + encodeURIComponent(\"\" + size) + \"&\"; \r\n if (sort !== undefined)\r\n url_ += \"Sort=\" + encodeURIComponent(\"\" + sort) + \"&\"; \r\n if (search !== undefined)\r\n url_ += \"Search=\" + encodeURIComponent(\"\" + search) + \"&\"; \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.processGetPolicies(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetPolicies(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processGetPolicies(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob = \r\n response instanceof HttpResponse ? response.body : \r\n (response).error instanceof Blob ? (response).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 === 401) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result401: any = null;\r\n let resultData401 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized\", status, _responseText, _headers, result401);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n }));\r\n }\r\n else if (status === 0) {\r\n console.error('Network error or server is unreachable:');\r\n return _observableOf(null);\r\n }\r\n \r\n \r\n else if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResultSetOfPolicy.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 403) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = resultData403 !== undefined ? resultData403 : null;\r\n return throwException(\"Forbidden\", status, _responseText, _headers, result403);\r\n }));\r\n } else if (status === 404) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResultSetOfPolicy.fromJS([]);\r\n throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n return _observableOf(result404);\r\n }));\r\n } else if (status === 500) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result500: any = null;\r\n let resultData500 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result500 = ResultSetOfPolicy.fromJS([]);\r\n throwException(\"Internal Server Error\", status, _responseText, _headers, result500);\r\n return _observableOf(result500);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * Get a Policy\r\n * @param id The Groupama.Models.DafPortal.Policies.Policy identifier\r\n * @return Success\r\n */\r\n getPolicy(id: string): Observable {\r\n let url_ = this.baseUrl + \"/v1/daf/policies/{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.processGetPolicy(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetPolicy(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processGetPolicy(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob = \r\n response instanceof HttpResponse ? response.body : \r\n (response).error instanceof Blob ? (response).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 === 401) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result401: any = null;\r\n let resultData401 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized\", status, _responseText, _headers, result401);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Policy.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 404) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }));\r\n } else if (status === 403) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = resultData403 !== undefined ? resultData403 : null;\r\n return throwException(\"Forbidden\", status, _responseText, _headers, result403);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * Upload a Policy Document\r\n * @param id The Groupama.Models.DafPortal.Policies.Policy identifier\r\n * @param documentType (optional) The policy type of document to associate with the upload\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n uploadDocument(id: string, documentType: PolicyDocumentType | undefined, body: Blob | undefined): Observable {\r\n let url_ = this.baseUrl + \"/v1/daf/policies/{id}/documents?\";\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 (documentType === null)\r\n throw new Error(\"The parameter 'documentType' cannot be null.\");\r\n else if (documentType !== undefined)\r\n url_ += \"documentType=\" + encodeURIComponent(\"\" + documentType) + \"&\"; \r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = body;\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\": \"multipart/form-data\", \r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processUploadDocument(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processUploadDocument(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processUploadDocument(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob = \r\n response instanceof HttpResponse ? response.body : \r\n (response).error instanceof Blob ? (response).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 === 401) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result401: any = null;\r\n let resultData401 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized\", status, _responseText, _headers, result401);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status === 202) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf(null);\r\n }));\r\n } else if (status === 422) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result422: any = null;\r\n let resultData422 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result422 = ProblemDetails.fromJS(resultData422);\r\n return throwException(\"Client Error\", status, _responseText, _headers, result422);\r\n }));\r\n } else if (status === 403) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = resultData403 !== undefined ? resultData403 : null;\r\n return throwException(\"Forbidden\", status, _responseText, _headers, result403);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * Download a Policy Document\r\n * @param id The Groupama.Models.DafPortal.Policies.Policy identifier\r\n * @param documentId The document identifier\r\n * @param type Groupama.Models.DafPortal.PolicyDocumentType\r\n * @param subType (optional) Groupama.Models.DafPortal.DocumentSubType\r\n * @return Success\r\n */\r\n downloadDocument(id: string, documentId: number, type: PolicyDocumentType, subType: DocumentSubType | undefined): Observable {\r\n let url_ = this.baseUrl + \"/v1/daf/policies/{id}/documents/{documentId}/type/{type}?\";\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 (documentId === undefined || documentId === null)\r\n throw new Error(\"The parameter 'documentId' must be defined.\");\r\n url_ = url_.replace(\"{documentId}\", encodeURIComponent(\"\" + documentId)); \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 if (subType === null)\r\n throw new Error(\"The parameter 'subType' cannot be null.\");\r\n else if (subType !== undefined)\r\n url_ += \"subType=\" + encodeURIComponent(\"\" + subType) + \"&\"; \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/zip\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processDownloadDocument(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processDownloadDocument(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processDownloadDocument(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob = \r\n response instanceof HttpResponse ? response.body : \r\n (response).error instanceof Blob ? (response).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 const fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n return _observableOf({ fileName: fileName, data: responseBlob, status: status, headers: _headers });\r\n } else if (status === 401) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result401: any = null;\r\n let resultData401 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized\", status, _responseText, _headers, result401);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\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 return _observableOf(result200);\r\n }));\r\n } else if (status === 404) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }));\r\n } else if (status === 403) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = resultData403 !== undefined ? resultData403 : null;\r\n return throwException(\"Forbidden\", status, _responseText, _headers, result403);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * Get Policy Documents\r\n * @param id The Groupama.Models.DafPortal.Policies.Policy identifier\r\n * @param type The Groupama.Models.DafPortal.PolicyDocumentType\r\n * @param page (optional) \r\n * @param size (optional) \r\n * @param sort (optional) \r\n * @param search (optional) \r\n * @return Success\r\n */\r\n getPolicyDocuments(id: string, type: PolicyDocumentType, page: number | undefined, size: number | undefined, sort: string | null | undefined, search: string | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/v1/daf/policies/{id}/documents/type/{type}?\";\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 (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 if (page === null)\r\n throw new Error(\"The parameter 'page' cannot be null.\");\r\n else if (page !== undefined)\r\n url_ += \"Page=\" + encodeURIComponent(\"\" + page) + \"&\"; \r\n if (size === null)\r\n throw new Error(\"The parameter 'size' cannot be null.\");\r\n else if (size !== undefined)\r\n url_ += \"Size=\" + encodeURIComponent(\"\" + size) + \"&\"; \r\n if (sort !== undefined)\r\n url_ += \"Sort=\" + encodeURIComponent(\"\" + sort) + \"&\"; \r\n if (search !== undefined)\r\n url_ += \"Search=\" + encodeURIComponent(\"\" + search) + \"&\"; \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.processGetPolicyDocuments(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetPolicyDocuments(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processGetPolicyDocuments(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob = \r\n response instanceof HttpResponse ? response.body : \r\n (response).error instanceof Blob ? (response).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 === 401) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result401: any = null;\r\n let resultData401 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized\", status, _responseText, _headers, result401);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResultSetOfPolicyDocument.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 404) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }));\r\n } else if (status === 403) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = resultData403 !== undefined ? resultData403 : null;\r\n return throwException(\"Forbidden\", status, _responseText, _headers, result403);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * Get a list of Insured\r\n * @param id The Groupama.Models.DafPortal.Policies.Policy identifier\r\n * @param page (optional) \r\n * @param size (optional) \r\n * @param sort (optional) \r\n * @param search (optional) \r\n * @return Success\r\n */\r\n getInsuredList(id: string, page: number | undefined, size: number | undefined, sort: string | null | undefined, search: string | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/v1/daf/policies/{id}/insured?\";\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 (page === null)\r\n throw new Error(\"The parameter 'page' cannot be null.\");\r\n else if (page !== undefined)\r\n url_ += \"Page=\" + encodeURIComponent(\"\" + page) + \"&\"; \r\n if (size === null)\r\n throw new Error(\"The parameter 'size' cannot be null.\");\r\n else if (size !== undefined)\r\n url_ += \"Size=\" + encodeURIComponent(\"\" + size) + \"&\"; \r\n if (sort !== undefined)\r\n url_ += \"Sort=\" + encodeURIComponent(\"\" + sort) + \"&\"; \r\n if (search !== undefined)\r\n url_ += \"Search=\" + encodeURIComponent(\"\" + search) + \"&\"; \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.processGetInsuredList(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetInsuredList(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processGetInsuredList(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob = \r\n response instanceof HttpResponse ? response.body : \r\n (response).error instanceof Blob ? (response).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 === 401) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result401: any = null;\r\n let resultData401 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized\", status, _responseText, _headers, result401);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResultSetOfInsured.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 403) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = resultData403 !== undefined ? resultData403 : null;\r\n return throwException(\"Forbidden\", status, _responseText, _headers, result403);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * Get an Insured\r\n * @param id The Groupama.Models.DafPortal.Policies.Policy identifier\r\n * @param insuredId The Groupama.Models.DafPortal.Insured.Insured identifier\r\n * @param liveValuation (optional) Distinguishes amounts, live or from previous valuations\r\n * @return Success\r\n */\r\n getInsured(id: string, insuredId: number, liveValuation: boolean | undefined): Observable {\r\n let url_ = this.baseUrl + \"/v1/daf/policies/{id}/insured/{insuredId}?\";\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 (insuredId === undefined || insuredId === null)\r\n throw new Error(\"The parameter 'insuredId' must be defined.\");\r\n url_ = url_.replace(\"{insuredId}\", encodeURIComponent(\"\" + insuredId)); \r\n if (liveValuation === null)\r\n throw new Error(\"The parameter 'liveValuation' cannot be null.\");\r\n else if (liveValuation !== undefined)\r\n url_ += \"liveValuation=\" + encodeURIComponent(\"\" + liveValuation) + \"&\"; \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.processGetInsured(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetInsured(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processGetInsured(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob = \r\n response instanceof HttpResponse ? response.body : \r\n (response).error instanceof Blob ? (response).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 === 401) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result401: any = null;\r\n let resultData401 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized\", status, _responseText, _headers, result401);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Insured.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 404) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }));\r\n } else if (status === 403) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = resultData403 !== undefined ? resultData403 : null;\r\n return throwException(\"Forbidden\", status, _responseText, _headers, result403);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * Get a list of claims for an insured\r\n * @param id The Groupama.Models.DafPortal.Policies.Policy identifier\r\n * @param insuredId The Groupama.Models.DafPortal.Insured.Insured identifier\r\n * @param filter_DateFrom (optional) \r\n * @param filter_DateTo (optional) \r\n * @param filter_RegistrationNumber (optional) \r\n * @param page (optional) \r\n * @param size (optional) \r\n * @param sort (optional) \r\n * @param search (optional) \r\n * @return Success\r\n */\r\n getInsuredClaims(id: string, insuredId: number, filter_DateFrom: Date | null | undefined, filter_DateTo: Date | null | undefined, filter_RegistrationNumber: number | undefined, page: number | undefined, size: number | undefined, sort: string | null | undefined, search: string | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/v1/daf/policies/{id}/insured/{insuredId}/claims?\";\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 (insuredId === undefined || insuredId === null)\r\n throw new Error(\"The parameter 'insuredId' must be defined.\");\r\n url_ = url_.replace(\"{insuredId}\", encodeURIComponent(\"\" + insuredId)); \r\n if (filter_DateFrom !== undefined)\r\n url_ += \"Filter.DateFrom=\" + encodeURIComponent(filter_DateFrom ? \"\" + filter_DateFrom.toJSON() : \"\") + \"&\"; \r\n if (filter_DateTo !== undefined)\r\n url_ += \"Filter.DateTo=\" + encodeURIComponent(filter_DateTo ? \"\" + filter_DateTo.toJSON() : \"\") + \"&\"; \r\n if (filter_RegistrationNumber === null)\r\n throw new Error(\"The parameter 'filter_RegistrationNumber' cannot be null.\");\r\n else if (filter_RegistrationNumber !== undefined)\r\n url_ += \"Filter.RegistrationNumber=\" + encodeURIComponent(\"\" + filter_RegistrationNumber) + \"&\"; \r\n if (page === null)\r\n throw new Error(\"The parameter 'page' cannot be null.\");\r\n else if (page !== undefined)\r\n url_ += \"Page=\" + encodeURIComponent(\"\" + page) + \"&\"; \r\n if (size === null)\r\n throw new Error(\"The parameter 'size' cannot be null.\");\r\n else if (size !== undefined)\r\n url_ += \"Size=\" + encodeURIComponent(\"\" + size) + \"&\"; \r\n if (sort !== undefined)\r\n url_ += \"Sort=\" + encodeURIComponent(\"\" + sort) + \"&\"; \r\n if (search !== undefined)\r\n url_ += \"Search=\" + encodeURIComponent(\"\" + search) + \"&\"; \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.processGetInsuredClaims(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetInsuredClaims(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processGetInsuredClaims(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob = \r\n response instanceof HttpResponse ? response.body : \r\n (response).error instanceof Blob ? (response).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 === 401) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result401: any = null;\r\n let resultData401 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized\", status, _responseText, _headers, result401);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResultSetOfClaim.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 403) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = resultData403 !== undefined ? resultData403 : null;\r\n return throwException(\"Forbidden\", status, _responseText, _headers, result403);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * Get Report for specified claim\r\n * @param id The Groupama.Models.DafPortal.Policies.Policy identifier\r\n * @param insuredId The Groupama.Models.DafPortal.Insured.Insured identifier\r\n * @param claimId The Groupama.Models.DafPortal.Insured.Claim identifier\r\n * @param type The Groupama.Models.DafPortal.Insured.ClaimType identifier\r\n * @param filter_DateFrom (optional) \r\n * @param filter_DateTo (optional) \r\n * @param filter_RegistrationNumber (optional) \r\n * @param page (optional) \r\n * @param size (optional) \r\n * @param sort (optional) \r\n * @param search (optional) \r\n * @return Success\r\n */\r\n getInsuredClaim(id: string, insuredId: number, claimId: string | null, type: ClaimType, filter_DateFrom: Date | null | undefined, filter_DateTo: Date | null | undefined, filter_RegistrationNumber: number | undefined, page: number | undefined, size: number | undefined, sort: string | null | undefined, search: string | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/v1/daf/policies/{id}/insured/{insuredId}/claims/{claimId}/type/{type}?\";\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 (insuredId === undefined || insuredId === null)\r\n throw new Error(\"The parameter 'insuredId' must be defined.\");\r\n url_ = url_.replace(\"{insuredId}\", encodeURIComponent(\"\" + insuredId)); \r\n if (claimId === undefined || claimId === null)\r\n throw new Error(\"The parameter 'claimId' must be defined.\");\r\n url_ = url_.replace(\"{claimId}\", encodeURIComponent(\"\" + claimId)); \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 if (filter_DateFrom !== undefined)\r\n url_ += \"Filter.DateFrom=\" + encodeURIComponent(filter_DateFrom ? \"\" + filter_DateFrom.toJSON() : \"\") + \"&\"; \r\n if (filter_DateTo !== undefined)\r\n url_ += \"Filter.DateTo=\" + encodeURIComponent(filter_DateTo ? \"\" + filter_DateTo.toJSON() : \"\") + \"&\"; \r\n if (filter_RegistrationNumber === null)\r\n throw new Error(\"The parameter 'filter_RegistrationNumber' cannot be null.\");\r\n else if (filter_RegistrationNumber !== undefined)\r\n url_ += \"Filter.RegistrationNumber=\" + encodeURIComponent(\"\" + filter_RegistrationNumber) + \"&\"; \r\n if (page === null)\r\n throw new Error(\"The parameter 'page' cannot be null.\");\r\n else if (page !== undefined)\r\n url_ += \"Page=\" + encodeURIComponent(\"\" + page) + \"&\"; \r\n if (size === null)\r\n throw new Error(\"The parameter 'size' cannot be null.\");\r\n else if (size !== undefined)\r\n url_ += \"Size=\" + encodeURIComponent(\"\" + size) + \"&\"; \r\n if (sort !== undefined)\r\n url_ += \"Sort=\" + encodeURIComponent(\"\" + sort) + \"&\"; \r\n if (search !== undefined)\r\n url_ += \"Search=\" + encodeURIComponent(\"\" + search) + \"&\"; \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.processGetInsuredClaim(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetInsuredClaim(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processGetInsuredClaim(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob = \r\n response instanceof HttpResponse ? response.body : \r\n (response).error instanceof Blob ? (response).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 === 401) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result401: any = null;\r\n let resultData401 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized\", status, _responseText, _headers, result401);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n const fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n return _observableOf({ fileName: fileName, data: responseBlob, status: status, headers: _headers });\r\n } else if (status === 404) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }));\r\n } else if (status === 403) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = resultData403 !== undefined ? resultData403 : null;\r\n return throwException(\"Forbidden\", status, _responseText, _headers, result403);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * Get future investment calculations\r\n * @param id The Groupama.Models.DafPortal.Policies.Policy identifier\r\n * @param insuredId The Groupama.Models.DafPortal.Insured.Insured identifier\r\n * @param body (optional) The Groupama.Models.DafPortal.FutureROICalculation model\r\n * @return Success\r\n */\r\n getFutureROICalculation(id: string, insuredId: number, body: FutureROICalculation | undefined): Observable {\r\n let url_ = this.baseUrl + \"/v1/daf/policies/{id}/insured/{insuredId}/future-investments\";\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 (insuredId === undefined || insuredId === null)\r\n throw new Error(\"The parameter 'insuredId' must be defined.\");\r\n url_ = url_.replace(\"{insuredId}\", encodeURIComponent(\"\" + insuredId)); \r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\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-patch+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.processGetFutureROICalculation(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetFutureROICalculation(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processGetFutureROICalculation(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob = \r\n response instanceof HttpResponse ? response.body : \r\n (response).error instanceof Blob ? (response).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 === 401) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result401: any = null;\r\n let resultData401 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized\", status, _responseText, _headers, result401);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResultSetOfAnnualEvolution.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 403) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = resultData403 !== undefined ? resultData403 : null;\r\n return throwException(\"Forbidden\", status, _responseText, _headers, result403);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * Get investment options and potential\r\n * @param id The Groupama.Models.DafPortal.Policies.Policy identifier\r\n * @param insuredId The Groupama.Models.DafPortal.Insured.Insured identifier\r\n * @return Success\r\n */\r\n getInsuredInvestments(id: string, insuredId: number): Observable {\r\n let url_ = this.baseUrl + \"/v1/daf/policies/{id}/insured/{insuredId}/investments\";\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 (insuredId === undefined || insuredId === null)\r\n throw new Error(\"The parameter 'insuredId' must be defined.\");\r\n url_ = url_.replace(\"{insuredId}\", encodeURIComponent(\"\" + insuredId)); \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.processGetInsuredInvestments(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetInsuredInvestments(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processGetInsuredInvestments(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob = \r\n response instanceof HttpResponse ? response.body : \r\n (response).error instanceof Blob ? (response).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 === 401) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result401: any = null;\r\n let resultData401 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized\", status, _responseText, _headers, result401);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Investment.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 403) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = resultData403 !== undefined ? resultData403 : null;\r\n return throwException(\"Forbidden\", status, _responseText, _headers, result403);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * Get an Investment Statistics Summary\r\n * @param id The Groupama.Models.DafPortal.Policies.Policy identifier\r\n * @param insuredId The Groupama.Models.DafPortal.Insured.Insured identifier\r\n * @return Success\r\n */\r\n getInvestmentSummary(id: string, insuredId: number): Observable {\r\n let url_ = this.baseUrl + \"/v1/daf/policies/{id}/insured/{insuredId}/investments/summary\";\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 (insuredId === undefined || insuredId === null)\r\n throw new Error(\"The parameter 'insuredId' must be defined.\");\r\n url_ = url_.replace(\"{insuredId}\", encodeURIComponent(\"\" + insuredId)); \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.processGetInvestmentSummary(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetInvestmentSummary(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processGetInvestmentSummary(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob = \r\n response instanceof HttpResponse ? response.body : \r\n (response).error instanceof Blob ? (response).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 === 401) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result401: any = null;\r\n let resultData401 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized\", status, _responseText, _headers, result401);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResultSetOfInvestmentEvolution.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 403) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = resultData403 !== undefined ? resultData403 : null;\r\n return throwException(\"Forbidden\", status, _responseText, _headers, result403);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * Send an Invitation for the selected Insured User\r\n * @param id The Groupama.Models.DafPortal.Policies.Policy identifier\r\n * @param insuredId The Groupama.Models.DafPortal.Insured.Insured identifier\r\n * @param isOwner (optional) \r\n * @return Success\r\n */\r\n sendInvitation(id: string, insuredId: number, isOwner: boolean | undefined): Observable {\r\n let url_ = this.baseUrl + \"/v1/daf/policies/{id}/insured/{insuredId}/invite?\";\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 (insuredId === undefined || insuredId === null)\r\n throw new Error(\"The parameter 'insuredId' must be defined.\");\r\n url_ = url_.replace(\"{insuredId}\", encodeURIComponent(\"\" + insuredId)); \r\n if (isOwner === null)\r\n throw new Error(\"The parameter 'isOwner' cannot be null.\");\r\n else if (isOwner !== undefined)\r\n url_ += \"isOwner=\" + encodeURIComponent(\"\" + isOwner) + \"&\"; \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 })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processSendInvitation(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processSendInvitation(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processSendInvitation(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob = \r\n response instanceof HttpResponse ? response.body : \r\n (response).error instanceof Blob ? (response).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 === 401) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result401: any = null;\r\n let resultData401 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized\", status, _responseText, _headers, result401);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status === 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf(null);\r\n }));\r\n } else if (status === 404) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }));\r\n } else if (status === 403) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = resultData403 !== undefined ? resultData403 : null;\r\n return throwException(\"Forbidden\", status, _responseText, _headers, result403);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * Get a list of completed provisions for an insured\r\n * @param id The Groupama.Models.DafPortal.Policies.Policy identifier\r\n * @param insuredId The Groupama.Models.DafPortal.Insured.Insured identifier\r\n * @param page (optional) \r\n * @param size (optional) \r\n * @param sort (optional) \r\n * @param search (optional) \r\n * @return Success\r\n */\r\n getInsuredCompletedProvisions(id: string, insuredId: number, page: number | undefined, size: number | undefined, sort: string | null | undefined, search: string | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/v1/daf/policies/{id}/insured/{insuredId}/provisions/completed?\";\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 (insuredId === undefined || insuredId === null)\r\n throw new Error(\"The parameter 'insuredId' must be defined.\");\r\n url_ = url_.replace(\"{insuredId}\", encodeURIComponent(\"\" + insuredId)); \r\n if (page === null)\r\n throw new Error(\"The parameter 'page' cannot be null.\");\r\n else if (page !== undefined)\r\n url_ += \"Page=\" + encodeURIComponent(\"\" + page) + \"&\"; \r\n if (size === null)\r\n throw new Error(\"The parameter 'size' cannot be null.\");\r\n else if (size !== undefined)\r\n url_ += \"Size=\" + encodeURIComponent(\"\" + size) + \"&\"; \r\n if (sort !== undefined)\r\n url_ += \"Sort=\" + encodeURIComponent(\"\" + sort) + \"&\"; \r\n if (search !== undefined)\r\n url_ += \"Search=\" + encodeURIComponent(\"\" + search) + \"&\"; \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.processGetInsuredCompletedProvisions(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetInsuredCompletedProvisions(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processGetInsuredCompletedProvisions(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob = \r\n response instanceof HttpResponse ? response.body : \r\n (response).error instanceof Blob ? (response).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 === 401) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result401: any = null;\r\n let resultData401 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized\", status, _responseText, _headers, result401);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResultSetOfProvision.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 403) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = resultData403 !== undefined ? resultData403 : null;\r\n return throwException(\"Forbidden\", status, _responseText, _headers, result403);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * Get a list of requested provisions for an insured\r\n * @param id The Groupama.Models.DafPortal.Policies.Policy identifier\r\n * @param insuredId The Groupama.Models.DafPortal.Insured.Insured identifier\r\n * @param status (optional) The Groupama.Models.DafPortal.ProvisionApplication status\r\n * @param page (optional) \r\n * @param size (optional) \r\n * @param sort (optional) \r\n * @param search (optional) \r\n * @return Success\r\n */\r\n getInsuredRequestedProvisions(id: string, insuredId: number, status: ProvisionStatusType | undefined, page: number | undefined, size: number | undefined, sort: string | null | undefined, search: string | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/v1/daf/policies/{id}/insured/{insuredId}/provisions/requested?\";\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 (insuredId === undefined || insuredId === null)\r\n throw new Error(\"The parameter 'insuredId' must be defined.\");\r\n url_ = url_.replace(\"{insuredId}\", encodeURIComponent(\"\" + insuredId)); \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 if (page === null)\r\n throw new Error(\"The parameter 'page' cannot be null.\");\r\n else if (page !== undefined)\r\n url_ += \"Page=\" + encodeURIComponent(\"\" + page) + \"&\"; \r\n if (size === null)\r\n throw new Error(\"The parameter 'size' cannot be null.\");\r\n else if (size !== undefined)\r\n url_ += \"Size=\" + encodeURIComponent(\"\" + size) + \"&\"; \r\n if (sort !== undefined)\r\n url_ += \"Sort=\" + encodeURIComponent(\"\" + sort) + \"&\"; \r\n if (search !== undefined)\r\n url_ += \"Search=\" + encodeURIComponent(\"\" + search) + \"&\"; \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.processGetInsuredRequestedProvisions(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetInsuredRequestedProvisions(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processGetInsuredRequestedProvisions(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob = \r\n response instanceof HttpResponse ? response.body : \r\n (response).error instanceof Blob ? (response).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 === 401) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result401: any = null;\r\n let resultData401 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized\", status, _responseText, _headers, result401);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResultSetOfProvisionApplication.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 403) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = resultData403 !== undefined ? resultData403 : null;\r\n return throwException(\"Forbidden\", status, _responseText, _headers, result403);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * Get customer redemption applications\r\n * @param id The Groupama.Models.DafPortal.Policies.Policy identifier\r\n * @param insuredId The Groupama.Models.DafPortal.Insured.Insured identifier\r\n * @return Success\r\n */\r\n getRedemptionApplications(id: string, insuredId: number): Observable {\r\n let url_ = this.baseUrl + \"/v1/daf/policies/{id}/insured/{insuredId}/redemptions\";\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 (insuredId === undefined || insuredId === null)\r\n throw new Error(\"The parameter 'insuredId' must be defined.\");\r\n url_ = url_.replace(\"{insuredId}\", encodeURIComponent(\"\" + insuredId)); \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.processGetRedemptionApplications(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetRedemptionApplications(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processGetRedemptionApplications(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob = \r\n response instanceof HttpResponse ? response.body : \r\n (response).error instanceof Blob ? (response).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 === 401) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result401: any = null;\r\n let resultData401 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized\", status, _responseText, _headers, result401);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResultSetOfRedemptionApplication.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 403) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = resultData403 !== undefined ? resultData403 : null;\r\n return throwException(\"Forbidden\", status, _responseText, _headers, result403);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * Create a redemption application\r\n * @param id The Groupama.Models.DafPortal.Policies.Policy identifier\r\n * @param insuredId The Groupama.Models.DafPortal.Insured.Insured identifier\r\n * @param body (optional) The Groupama.Models.DafPortal.RedemptionApplicationCreateRequest model\r\n * @return Success\r\n */\r\n createRedemptionApplication(id: string, insuredId: number, body: RedemptionApplicationCreateRequest | undefined): Observable {\r\n let url_ = this.baseUrl + \"/v1/daf/policies/{id}/insured/{insuredId}/redemptions\";\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 (insuredId === undefined || insuredId === null)\r\n throw new Error(\"The parameter 'insuredId' must be defined.\");\r\n url_ = url_.replace(\"{insuredId}\", encodeURIComponent(\"\" + insuredId)); \r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\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-patch+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.processCreateRedemptionApplication(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processCreateRedemptionApplication(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processCreateRedemptionApplication(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob = \r\n response instanceof HttpResponse ? response.body : \r\n (response).error instanceof Blob ? (response).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 === 401) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result401: any = null;\r\n let resultData401 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized\", status, _responseText, _headers, result401);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status === 201) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result201: any = null;\r\n let resultData201 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result201 = RedemptionApplication.fromJS(resultData201);\r\n return _observableOf(result201);\r\n }));\r\n } else if (status === 409) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result409: any = null;\r\n let resultData409 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData409)) {\r\n result409 = [] as any;\r\n for (let item of resultData409)\r\n result409!.push(item);\r\n }\r\n return throwException(\"Conflict\", status, _responseText, _headers, result409);\r\n }));\r\n } else if (status === 403) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = resultData403 !== undefined ? resultData403 : null;\r\n return throwException(\"Forbidden\", status, _responseText, _headers, result403);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * Get a customer redemption application\r\n * @param id The Groupama.Models.DafPortal.Policies.Policy identifier\r\n * @param insuredId The Groupama.Models.DafPortal.Insured.Insured identifier\r\n * @param redemptionId Number of the redemption application\r\n * @return Success\r\n */\r\n getRedemptionApplication(id: string, insuredId: number, redemptionId: number): Observable {\r\n let url_ = this.baseUrl + \"/v1/daf/policies/{id}/insured/{insuredId}/redemptions/{redemptionId}\";\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 (insuredId === undefined || insuredId === null)\r\n throw new Error(\"The parameter 'insuredId' must be defined.\");\r\n url_ = url_.replace(\"{insuredId}\", encodeURIComponent(\"\" + insuredId)); \r\n if (redemptionId === undefined || redemptionId === null)\r\n throw new Error(\"The parameter 'redemptionId' must be defined.\");\r\n url_ = url_.replace(\"{redemptionId}\", encodeURIComponent(\"\" + redemptionId)); \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.processGetRedemptionApplication(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetRedemptionApplication(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processGetRedemptionApplication(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob = \r\n response instanceof HttpResponse ? response.body : \r\n (response).error instanceof Blob ? (response).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 === 401) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result401: any = null;\r\n let resultData401 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized\", status, _responseText, _headers, result401);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = RedemptionApplication.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 404) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }));\r\n } else if (status === 403) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = resultData403 !== undefined ? resultData403 : null;\r\n return throwException(\"Forbidden\", status, _responseText, _headers, result403);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * Promotes or Demotes the insured member for having hr rights.\r\n * @param id The Groupama.Models.DafPortal.Policies.Policy identifier\r\n * @param insuredId The Groupama.Models.DafPortal.Insured.Insured identifier\r\n * @param status The status identifier\r\n * @return Success\r\n */\r\n changeStatus(id: string, insuredId: number, status: string | null): Observable {\r\n let url_ = this.baseUrl + \"/v1/daf/policies/{id}/insured/{insuredId}/status/{status}\";\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 (insuredId === undefined || insuredId === null)\r\n throw new Error(\"The parameter 'insuredId' must be defined.\");\r\n url_ = url_.replace(\"{insuredId}\", encodeURIComponent(\"\" + insuredId)); \r\n if (status === undefined || status === null)\r\n throw new Error(\"The parameter 'status' must be defined.\");\r\n url_ = url_.replace(\"{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 })\r\n };\r\n\r\n return this.http.request(\"put\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processChangeStatus(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processChangeStatus(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processChangeStatus(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob = \r\n response instanceof HttpResponse ? response.body : \r\n (response).error instanceof Blob ? (response).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 === 401) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result401: any = null;\r\n let resultData401 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized\", status, _responseText, _headers, result401);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status === 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf(null);\r\n }));\r\n } else if (status === 403) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = resultData403 !== undefined ? resultData403 : null;\r\n return throwException(\"Forbidden\", status, _responseText, _headers, result403);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * Get a list of investments switches\r\n * @param id The Groupama.Models.DafPortal.Policies.Policy identifier\r\n * @param insuredId The Groupama.Models.DafPortal.Insured.Insured identifier\r\n * @return Success\r\n */\r\n getInsuredSwitches(id: string, insuredId: number): Observable {\r\n let url_ = this.baseUrl + \"/v1/daf/policies/{id}/insured/{insuredId}/switches\";\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 (insuredId === undefined || insuredId === null)\r\n throw new Error(\"The parameter 'insuredId' must be defined.\");\r\n url_ = url_.replace(\"{insuredId}\", encodeURIComponent(\"\" + insuredId)); \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.processGetInsuredSwitches(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetInsuredSwitches(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processGetInsuredSwitches(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob = \r\n response instanceof HttpResponse ? response.body : \r\n (response).error instanceof Blob ? (response).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 === 401) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result401: any = null;\r\n let resultData401 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized\", status, _responseText, _headers, result401);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResultSetOfInvestmentSwitch.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 403) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = resultData403 !== undefined ? resultData403 : null;\r\n return throwException(\"Forbidden\", status, _responseText, _headers, result403);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * Creates an investment switch request\r\n * @param id The Groupama.Models.DafPortal.Policies.Policy identifier\r\n * @param insuredId The Groupama.Models.DafPortal.Insured.Insured identifier\r\n * @param body (optional) The Groupama.Models.DafPortal.Insured.InvestmentSwitchCreateRequest request\r\n * @return Success\r\n */\r\n createInsuredSwitch(id: string, insuredId: number, body: InvestmentSwitchCreateRequest | undefined): Observable {\r\n let url_ = this.baseUrl + \"/v1/daf/policies/{id}/insured/{insuredId}/switches\";\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 (insuredId === undefined || insuredId === null)\r\n throw new Error(\"The parameter 'insuredId' must be defined.\");\r\n url_ = url_.replace(\"{insuredId}\", encodeURIComponent(\"\" + insuredId)); \r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\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-patch+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.processCreateInsuredSwitch(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processCreateInsuredSwitch(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processCreateInsuredSwitch(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob = \r\n response instanceof HttpResponse ? response.body : \r\n (response).error instanceof Blob ? (response).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 === 401) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result401: any = null;\r\n let resultData401 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized\", status, _responseText, _headers, result401);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status === 201) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result201: any = null;\r\n let resultData201 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result201 = InvestmentSwitch.fromJS(resultData201);\r\n return _observableOf(result201);\r\n }));\r\n } else if (status === 409) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result409: any = null;\r\n let resultData409 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData409)) {\r\n result409 = [] as any;\r\n for (let item of resultData409)\r\n result409!.push(item);\r\n }\r\n return throwException(\"Conflict\", status, _responseText, _headers, result409);\r\n }));\r\n } else if (status === 403) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = resultData403 !== undefined ? resultData403 : null;\r\n return throwException(\"Forbidden\", status, _responseText, _headers, result403);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * Get a list of detailed transactions for the last 2 years\r\n * @param id The Groupama.Models.DafPortal.Policies.Policy identifier\r\n * @param insuredId The Groupama.Models.DafPortal.Insured.Insured identifier\r\n * @param filter_DateFrom (optional) \r\n * @param page (optional) \r\n * @param size (optional) \r\n * @param sort (optional) \r\n * @param search (optional) \r\n * @return Success\r\n */\r\n getInsuredTransactions(id: string, insuredId: number, filter_DateFrom: Date | null | undefined, page: number | undefined, size: number | undefined, sort: string | null | undefined, search: string | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/v1/daf/policies/{id}/insured/{insuredId}/transactions?\";\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 (insuredId === undefined || insuredId === null)\r\n throw new Error(\"The parameter 'insuredId' must be defined.\");\r\n url_ = url_.replace(\"{insuredId}\", encodeURIComponent(\"\" + insuredId)); \r\n if (filter_DateFrom !== undefined)\r\n url_ += \"Filter.DateFrom=\" + encodeURIComponent(filter_DateFrom ? \"\" + filter_DateFrom.toJSON() : \"\") + \"&\"; \r\n if (page === null)\r\n throw new Error(\"The parameter 'page' cannot be null.\");\r\n else if (page !== undefined)\r\n url_ += \"Page=\" + encodeURIComponent(\"\" + page) + \"&\"; \r\n if (size === null)\r\n throw new Error(\"The parameter 'size' cannot be null.\");\r\n else if (size !== undefined)\r\n url_ += \"Size=\" + encodeURIComponent(\"\" + size) + \"&\"; \r\n if (sort !== undefined)\r\n url_ += \"Sort=\" + encodeURIComponent(\"\" + sort) + \"&\"; \r\n if (search !== undefined)\r\n url_ += \"Search=\" + encodeURIComponent(\"\" + search) + \"&\"; \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.processGetInsuredTransactions(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetInsuredTransactions(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processGetInsuredTransactions(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob = \r\n response instanceof HttpResponse ? response.body : \r\n (response).error instanceof Blob ? (response).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 === 401) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result401: any = null;\r\n let resultData401 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized\", status, _responseText, _headers, result401);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResultSetOfTransaction.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 403) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = resultData403 !== undefined ? resultData403 : null;\r\n return throwException(\"Forbidden\", status, _responseText, _headers, result403);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * Send invitation to multiple insured users from the UI\r\n * @param id The Group Policy identifier\r\n * @param body (optional) The Groupama.Models.DafPortal.InvitationsRequest model containing the insured users to invite\r\n * @return Success\r\n */\r\n inviteMembers(id: string, body: InvitationsRequest | undefined): Observable {\r\n let url_ = this.baseUrl + \"/v1/daf/policies/{id}/insured/invite\";\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 const content_ = JSON.stringify(body);\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-patch+json\", \r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processInviteMembers(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processInviteMembers(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processInviteMembers(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob = \r\n response instanceof HttpResponse ? response.body : \r\n (response).error instanceof Blob ? (response).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 === 401) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result401: any = null;\r\n let resultData401 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized\", status, _responseText, _headers, result401);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status === 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf(null);\r\n }));\r\n } else if (status === 403) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = resultData403 !== undefined ? resultData403 : null;\r\n return throwException(\"Forbidden\", status, _responseText, _headers, result403);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * Create an Policy Manager\r\n * @param id The Group Policy identifier\r\n * @param body (optional) The Groupama.Models.DafPortal.Policies.PolicyManager model\r\n * @return Success\r\n */\r\n submitGrouppolicyManager(id: string, body: PolicyManager | undefined): Observable {\r\n let url_ = this.baseUrl + \"/v1/daf/policies/{id}/policy-manager\";\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 const content_ = JSON.stringify(body);\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-patch+json\", \r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processSubmitGrouppolicyManager(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processSubmitGrouppolicyManager(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processSubmitGrouppolicyManager(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob = \r\n response instanceof HttpResponse ? response.body : \r\n (response).error instanceof Blob ? (response).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 === 401) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result401: any = null;\r\n let resultData401 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized\", status, _responseText, _headers, result401);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status === 201) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf(null);\r\n }));\r\n } else if (status === 403) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = resultData403 !== undefined ? resultData403 : null;\r\n return throwException(\"Forbidden\", status, _responseText, _headers, result403);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * Update the status of a Provision\r\n * @param id The Groupama.Models.DafPortal.Policies.Policy identifier\r\n * @param provisionId The Groupama.Models.DafPortal.ProvisionApplication identifier\r\n * @param body (optional) The Groupama.Models.DafPortal.ProvisionApplicationStatusChangeRequest model\r\n * @return Success\r\n */\r\n updateProvisionApplicationStatus(id: string, provisionId: number, body: ProvisionApplicationStatusChangeRequest | undefined): Observable {\r\n let url_ = this.baseUrl + \"/v1/daf/policies/{id}/provisions/{provisionId}/status\";\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 (provisionId === undefined || provisionId === null)\r\n throw new Error(\"The parameter 'provisionId' must be defined.\");\r\n url_ = url_.replace(\"{provisionId}\", encodeURIComponent(\"\" + provisionId)); \r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\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-patch+json\", \r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"patch\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processUpdateProvisionApplicationStatus(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processUpdateProvisionApplicationStatus(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processUpdateProvisionApplicationStatus(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob = \r\n response instanceof HttpResponse ? response.body : \r\n (response).error instanceof Blob ? (response).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 === 401) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result401: any = null;\r\n let resultData401 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized\", status, _responseText, _headers, result401);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ProvisionApplication.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 403) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = resultData403 !== undefined ? resultData403 : null;\r\n return throwException(\"Forbidden\", status, _responseText, _headers, result403);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * Get a list of Provisions\r\n * @param id The Groupama.Models.DafPortal.Policies.Policy identifier\r\n * @param page (optional) \r\n * @param size (optional) \r\n * @param sort (optional) \r\n * @param search (optional) \r\n * @return Success\r\n */\r\n getProvisions(id: string, page: number | undefined, size: number | undefined, sort: string | null | undefined, search: string | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/v1/daf/policies/{id}/provisions/completed?\";\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 (page === null)\r\n throw new Error(\"The parameter 'page' cannot be null.\");\r\n else if (page !== undefined)\r\n url_ += \"Page=\" + encodeURIComponent(\"\" + page) + \"&\"; \r\n if (size === null)\r\n throw new Error(\"The parameter 'size' cannot be null.\");\r\n else if (size !== undefined)\r\n url_ += \"Size=\" + encodeURIComponent(\"\" + size) + \"&\"; \r\n if (sort !== undefined)\r\n url_ += \"Sort=\" + encodeURIComponent(\"\" + sort) + \"&\"; \r\n if (search !== undefined)\r\n url_ += \"Search=\" + encodeURIComponent(\"\" + search) + \"&\"; \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.processGetProvisions(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetProvisions(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processGetProvisions(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob = \r\n response instanceof HttpResponse ? response.body : \r\n (response).error instanceof Blob ? (response).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 === 401) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result401: any = null;\r\n let resultData401 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized\", status, _responseText, _headers, result401);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResultSetOfProvision.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 403) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = resultData403 !== undefined ? resultData403 : null;\r\n return throwException(\"Forbidden\", status, _responseText, _headers, result403);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * Get a list of Provision Applications\r\n * @param id The Groupama.Models.DafPortal.Policies.Policy identifier\r\n * @param status (optional) The Groupama.Models.DafPortal.ProvisionStatusType to fetch the Groupama.Models.DafPortal.ProvisionApplications with\r\n * @param page (optional) \r\n * @param size (optional) \r\n * @param sort (optional) \r\n * @param search (optional) \r\n * @return Success\r\n */\r\n getProvisionApplications(id: string, status: ProvisionStatusType | undefined, page: number | undefined, size: number | undefined, sort: string | null | undefined, search: string | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/v1/daf/policies/{id}/provisions/requested?\";\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 (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 if (page === null)\r\n throw new Error(\"The parameter 'page' cannot be null.\");\r\n else if (page !== undefined)\r\n url_ += \"Page=\" + encodeURIComponent(\"\" + page) + \"&\"; \r\n if (size === null)\r\n throw new Error(\"The parameter 'size' cannot be null.\");\r\n else if (size !== undefined)\r\n url_ += \"Size=\" + encodeURIComponent(\"\" + size) + \"&\"; \r\n if (sort !== undefined)\r\n url_ += \"Sort=\" + encodeURIComponent(\"\" + sort) + \"&\"; \r\n if (search !== undefined)\r\n url_ += \"Search=\" + encodeURIComponent(\"\" + search) + \"&\"; \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.processGetProvisionApplications(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetProvisionApplications(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processGetProvisionApplications(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob = \r\n response instanceof HttpResponse ? response.body : \r\n (response).error instanceof Blob ? (response).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 === 401) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result401: any = null;\r\n let resultData401 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized\", status, _responseText, _headers, result401);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResultSetOfProvisionApplication.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 403) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = resultData403 !== undefined ? resultData403 : null;\r\n return throwException(\"Forbidden\", status, _responseText, _headers, result403);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * Set Customer questionnaire values\r\n * @param id The Groupama.Models.DafPortal.Policies.Policy identifier\r\n * @param insuredId The Groupama.Models.DafPortal.Insured.Insured identifier\r\n * @param body (optional) The Groupama.Models.DafPortal.QuestionnaireRequest model\r\n * @return Success\r\n */\r\n setQuestionnaireValues(id: string, insuredId: number, body: QuestionnaireRequest | undefined): Observable {\r\n let url_ = this.baseUrl + \"/v1/daf/policies/{id}/insured/{insuredId}/questionnaire/cards\";\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 (insuredId === undefined || insuredId === null)\r\n throw new Error(\"The parameter 'insuredId' must be defined.\");\r\n url_ = url_.replace(\"{insuredId}\", encodeURIComponent(\"\" + insuredId)); \r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\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-patch+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.processSetQuestionnaireValues(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processSetQuestionnaireValues(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processSetQuestionnaireValues(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob = \r\n response instanceof HttpResponse ? response.body : \r\n (response).error instanceof Blob ? (response).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 === 401) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result401: any = null;\r\n let resultData401 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized\", status, _responseText, _headers, result401);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status === 201) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result201: any = null;\r\n let resultData201 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result201 = QuestionnaireDetails.fromJS(resultData201);\r\n return _observableOf(result201);\r\n }));\r\n } else if (status === 403) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = resultData403 !== undefined ? resultData403 : null;\r\n return throwException(\"Forbidden\", status, _responseText, _headers, result403);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * Post the facta anwser of the user \r\n * @param id The Groupama.Models.DafPortal.Policies.Policy identifier\r\n * @param insuredId The Groupama.Models.DafPortal.Insured.Insured identifier\r\n * @param facta answer of the user\r\n * @return Success\r\n */\r\n postFatcaAnswer(id: string, insuredId: number,fatcaAnswer:number): Observable{\r\n let url_ = this.baseUrl + \"/v1/daf/policies/{id}/insured/{insuredId}/answer/{fatcaAnswer}/update-fatca\";\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 (insuredId === undefined || insuredId === null)\r\n throw new Error(\"The parameter 'insuredId' must be defined.\");\r\n url_ = url_.replace(\"{insuredId}\", encodeURIComponent(\"\" + insuredId)); \r\n url_ = url_.replace(/[?&]$/, \"\");\r\n if (fatcaAnswer === undefined || fatcaAnswer === null)\r\n throw new Error(\"The parameter 'FACTA Answer' must be defined.\");\r\n url_ = url_.replace(\"{fatcaAnswer}\", encodeURIComponent(\"\" + fatcaAnswer)); \r\n url_ = url_.replace(/[?&]$/, \"\");\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.processPostFatcaAnswer(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processPostFatcaAnswer(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processPostFatcaAnswer(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob = \r\n response instanceof HttpResponse ? response.body : \r\n (response).error instanceof Blob ? (response).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 === 401) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result401: any = null;\r\n let resultData401 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized\", status, _responseText, _headers, result401);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status === 201) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result201: any = null;\r\n let resultData201 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n //result201 = QuestionnaireDetails.fromJS(resultData201);\r\n return _observableOf(result201);\r\n }));\r\n } else if (status === 403) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = resultData403 !== undefined ? resultData403 : null;\r\n return throwException(\"Forbidden\", status, _responseText, _headers, result403);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n\r\n /**\r\n * Get Customer questionnaire values\r\n * @param id The Groupama.Models.DafPortal.Policies.Policy identifier\r\n * @param cardId The Groupama.Proxies.Rest.Models.Greenport.Customers.Risk.QuestionnaireCustomerCard identifier\r\n * @return Success\r\n */\r\n getQuestionnaireValues(id: string, cardId: string | null): Observable {\r\n let url_ = this.baseUrl + \"/v1/daf/policies/{id}/questionnaire/cards/{cardId}\";\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 (cardId === undefined || cardId === null)\r\n throw new Error(\"The parameter 'cardId' must be defined.\");\r\n url_ = url_.replace(\"{cardId}\", encodeURIComponent(\"\" + cardId)); \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.processGetQuestionnaireValues(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetQuestionnaireValues(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processGetQuestionnaireValues(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob = \r\n response instanceof HttpResponse ? response.body : \r\n (response).error instanceof Blob ? (response).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 === 401) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result401: any = null;\r\n let resultData401 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized\", status, _responseText, _headers, result401);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = QuestionnaireCustomerCard.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 404) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }));\r\n } else if (status === 403) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = resultData403 !== undefined ? resultData403 : null;\r\n return throwException(\"Forbidden\", status, _responseText, _headers, result403);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * Set customer acceptance of the questionnaire result\r\n * @param id The Groupama.Models.DafPortal.Policies.Policy identifier\r\n * @param insuredId The Groupama.Models.DafPortal.Insured.Insured identifier\r\n * @param scoreId The Groupama.Proxies.Rest.Models.Greenport.Customers.Risk.QuestionnaireCustomerCard identifier\r\n * @param body (optional) The Groupama.Proxies.Rest.Models.Greenport.Customers.Risk.QuestionnaireApprovalRequest model\r\n * @return Success\r\n */\r\n customerQuestionnaireApproval(id: string, insuredId: number, scoreId: string | null, body: QuestionnaireApprovalRequest | undefined): Observable {\r\n let url_ = this.baseUrl + \"/v1/daf/policies/{id}/insured/{insuredId}/questionnaire/cards/{scoreId}\";\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 (insuredId === undefined || insuredId === null)\r\n throw new Error(\"The parameter 'insuredId' must be defined.\");\r\n url_ = url_.replace(\"{insuredId}\", encodeURIComponent(\"\" + insuredId)); \r\n if (scoreId === undefined || scoreId === null)\r\n throw new Error(\"The parameter 'scoreId' must be defined.\");\r\n url_ = url_.replace(\"{scoreId}\", encodeURIComponent(\"\" + scoreId)); \r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\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-patch+json\", \r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processCustomerQuestionnaireApproval(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processCustomerQuestionnaireApproval(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processCustomerQuestionnaireApproval(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob = \r\n response instanceof HttpResponse ? response.body : \r\n (response).error instanceof Blob ? (response).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 === 401) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result401: any = null;\r\n let resultData401 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized\", status, _responseText, _headers, result401);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status === 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf(null);\r\n }));\r\n } else if (status === 403) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = resultData403 !== undefined ? resultData403 : null;\r\n return throwException(\"Forbidden\", status, _responseText, _headers, result403);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * Get a list of Policy Receipts\r\n * @param id The Groupama.Models.DafPortal.Policies.Policy identifier\r\n * @param page (optional) \r\n * @param size (optional) \r\n * @param sort (optional) \r\n * @param search (optional) \r\n * @return Success\r\n */\r\n getReceipts(id: string, page: number | undefined, size: number | undefined, sort: string | null | undefined, search: string | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/v1/daf/policies/{id}/receipts?\";\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 (page === null)\r\n throw new Error(\"The parameter 'page' cannot be null.\");\r\n else if (page !== undefined)\r\n url_ += \"Page=\" + encodeURIComponent(\"\" + page) + \"&\"; \r\n if (size === null)\r\n throw new Error(\"The parameter 'size' cannot be null.\");\r\n else if (size !== undefined)\r\n url_ += \"Size=\" + encodeURIComponent(\"\" + size) + \"&\"; \r\n if (sort !== undefined)\r\n url_ += \"Sort=\" + encodeURIComponent(\"\" + sort) + \"&\"; \r\n if (search !== undefined)\r\n url_ += \"Search=\" + encodeURIComponent(\"\" + search) + \"&\"; \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.processGetReceipts(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetReceipts(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processGetReceipts(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob = \r\n response instanceof HttpResponse ? response.body : \r\n (response).error instanceof Blob ? (response).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 === 401) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result401: any = null;\r\n let resultData401 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized\", status, _responseText, _headers, result401);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResultSetOfReceipt.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 403) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = resultData403 !== undefined ? resultData403 : null;\r\n return throwException(\"Forbidden\", status, _responseText, _headers, result403);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * Get a Policy Receipt file\r\n * @param id The Groupama.Models.DafPortal.Policies.Policy identifier\r\n * @param receiptId The Groupama.Models.DafPortal.Policies.Receipt identifier\r\n * @return Success\r\n */\r\n getReceipt(id: string, receiptId: string): Observable {\r\n let url_ = this.baseUrl + \"/v1/daf/policies/{id}/receipts/{receiptId}\";\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 (receiptId === undefined || receiptId === null)\r\n throw new Error(\"The parameter 'receiptId' must be defined.\");\r\n url_ = url_.replace(\"{receiptId}\", encodeURIComponent(\"\" + receiptId)); \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.processGetReceipt(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetReceipt(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processGetReceipt(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob = \r\n response instanceof HttpResponse ? response.body : \r\n (response).error instanceof Blob ? (response).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 === 401) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result401: any = null;\r\n let resultData401 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized\", status, _responseText, _headers, result401);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n const fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n return _observableOf({ fileName: fileName, data: responseBlob, status: status, headers: _headers });\r\n } else if (status === 404) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }));\r\n } else if (status === 403) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = resultData403 !== undefined ? resultData403 : null;\r\n return throwException(\"Forbidden\", status, _responseText, _headers, result403);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * Get a list of Redemption Applications\r\n * @param id The Groupama.Models.DafPortal.Policies.Policy identifier\r\n * @return Success\r\n */\r\n getRedemptionApplications2(id: string): Observable {\r\n let url_ = this.baseUrl + \"/v1/daf/policies/{id}/redemptions\";\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.processGetRedemptionApplications2(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetRedemptionApplications2(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processGetRedemptionApplications2(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob = \r\n response instanceof HttpResponse ? response.body : \r\n (response).error instanceof Blob ? (response).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 === 401) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result401: any = null;\r\n let resultData401 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized\", status, _responseText, _headers, result401);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResultSetOfRedemptionApplication.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 403) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = resultData403 !== undefined ? resultData403 : null;\r\n return throwException(\"Forbidden\", status, _responseText, _headers, result403);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n /**\r\n * Get a Redemption Application\r\n * @param id The Groupama.Models.DafPortal.Policies.Policy identifier\r\n * @param redemptionId The Groupama.Models.DafPortal.RedemptionApplication identifier\r\n * @param page (optional) \r\n * @param size (optional) \r\n * @param sort (optional) \r\n * @param search (optional) \r\n * @return Success\r\n */\r\n getRedemptionApplication2(id: string, redemptionId: number, page: number | undefined, size: number | undefined, sort: string | null | undefined, search: string | null | undefined): Observable {\r\n let url_ = this.baseUrl + \"/v1/daf/policies/{id}/redemptions/{redemptionId}?\";\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 (redemptionId === undefined || redemptionId === null)\r\n throw new Error(\"The parameter 'redemptionId' must be defined.\");\r\n url_ = url_.replace(\"{redemptionId}\", encodeURIComponent(\"\" + redemptionId)); \r\n if (page === null)\r\n throw new Error(\"The parameter 'page' cannot be null.\");\r\n else if (page !== undefined)\r\n url_ += \"Page=\" + encodeURIComponent(\"\" + page) + \"&\"; \r\n if (size === null)\r\n throw new Error(\"The parameter 'size' cannot be null.\");\r\n else if (size !== undefined)\r\n url_ += \"Size=\" + encodeURIComponent(\"\" + size) + \"&\"; \r\n if (sort !== undefined)\r\n url_ += \"Sort=\" + encodeURIComponent(\"\" + sort) + \"&\"; \r\n if (search !== undefined)\r\n url_ += \"Search=\" + encodeURIComponent(\"\" + search) + \"&\"; \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.processGetRedemptionApplication2(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetRedemptionApplication2(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processGetRedemptionApplication2(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob = \r\n response instanceof HttpResponse ? response.body : \r\n (response).error instanceof Blob ? (response).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 === 401) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result401: any = null;\r\n let resultData401 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized\", status, _responseText, _headers, result401);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = RedemptionApplication.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 404) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }));\r\n } else if (status === 403) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = resultData403 !== undefined ? resultData403 : null;\r\n return throwException(\"Forbidden\", status, _responseText, _headers, result403);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n\r\n /**\r\n * Get 152 Compliance Status\r\n * @param id The Groupama.Models.DafPortal.Policies.Policy identifier\r\n * @param insuredId The Groupama.Models.DafPortal.Insured.Insured identifier\r\n * @return Success\r\n */\r\n public isMember152ComplianceStatusOk(id: string, insuredId: string): Observable {\r\n let url_ = this.baseUrl + \"/v1/daf/policies/{id}/insured/{insuredId}/152-compliance-status\";\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 (insuredId === undefined || insuredId === null)\r\n throw new Error(\"The parameter 'insuredId' must be defined.\");\r\n url_ = url_.replace(\"{insuredId}\", encodeURIComponent(\"\" + insuredId)); \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.processIsMember152ComplianceStatusOk(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processIsMember152ComplianceStatusOk(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processIsMember152ComplianceStatusOk(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob = \r\n response instanceof HttpResponse ? response.body : \r\n (response).error instanceof Blob ? (response).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 === 401) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result401: any = null;\r\n let resultData401 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized\", status, _responseText, _headers, result401);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: boolean = false;\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200;\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 403) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = resultData403 !== undefined ? resultData403 : null;\r\n return throwException(\"Forbidden\", status, _responseText, _headers, result403);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n\r\n /**\r\n * Set the 152 Documet Compliance for the insured\r\n * @param id The Groupama.Models.DafPortal.Policies.Policy identifier\r\n * @param insuredId The Groupama.Models.DafPortal.Insured.Insured identifier\r\n * @return Success\r\n */\r\n public memberAccept152ComplianceDocument(id: string, insuredId: string): Observable {\r\n let url_ = this.baseUrl + \"/v1/daf/policies/{id}/insured/{insuredId}/152-compliance\";\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 (insuredId === undefined || insuredId === null)\r\n throw new Error(\"The parameter 'insuredId' must be defined.\");\r\n url_ = url_.replace(\"{insuredId}\", encodeURIComponent(\"\" + insuredId)); \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.processMemberAccept152ComplianceDocument(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processMemberAccept152ComplianceDocument(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processMemberAccept152ComplianceDocument(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob = \r\n response instanceof HttpResponse ? response.body : \r\n (response).error instanceof Blob ? (response).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 === 401) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result401: any = null;\r\n let resultData401 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized\", status, _responseText, _headers, result401);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: boolean = false;\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200;\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 403) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = resultData403 !== undefined ? resultData403 : null;\r\n return throwException(\"Forbidden\", status, _responseText, _headers, result403);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n\r\n /**\r\n * Get 152 Compliance Current Document Name\r\n * @param id The Groupama.Models.DafPortal.Policies.Policy identifier\r\n * @param insuredId The Groupama.Models.DafPortal.Insured.Insured identifier\r\n * @return Success\r\n */\r\n public getActive152ComplianceDocument(id: string): Observable {\r\n let url_ = this.baseUrl + \"/v1/daf/policies/{id}/152-active-compliance-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.processGetActive152ComplianceDocument(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetActive152ComplianceDocument(response_);\r\n } catch (e) {\r\n return >_observableThrow(e);\r\n }\r\n } else\r\n return >_observableThrow(response_);\r\n }));\r\n }\r\n\r\n protected processGetActive152ComplianceDocument(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob = \r\n response instanceof HttpResponse ? response.body : \r\n (response).error instanceof Blob ? (response).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 === 401) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result401: any = null;\r\n let resultData401 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized\", status, _responseText, _headers, result401);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: string = \"\";\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200;\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 403) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = resultData403 !== undefined ? resultData403 : null;\r\n return throwException(\"Forbidden\", status, _responseText, _headers, result403);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null);\r\n }\r\n\r\n \r\n\r\n}\r\n\r\nexport class ProblemDetails implements IProblemDetails {\r\n type?: string | undefined;\r\n title?: string | undefined;\r\n status?: number | undefined;\r\n detail?: string | undefined;\r\n instance?: string | undefined;\r\n\r\n constructor(data?: IProblemDetails) {\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 this.title = data[\"title\"];\r\n this.status = data[\"status\"];\r\n this.detail = data[\"detail\"];\r\n this.instance = data[\"instance\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ProblemDetails {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ProblemDetails();\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 data[\"title\"] = this.title;\r\n data[\"status\"] = this.status;\r\n data[\"detail\"] = this.detail;\r\n data[\"instance\"] = this.instance;\r\n return data; \r\n }\r\n}\r\n\r\nexport interface IProblemDetails {\r\n type?: string | undefined;\r\n title?: string | undefined;\r\n status?: number | undefined;\r\n detail?: string | undefined;\r\n instance?: string | undefined;\r\n}\r\n\r\nexport class FilterDefinitionBase implements IFilterDefinitionBase {\r\n\r\n constructor(data?: IFilterDefinitionBase) {\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): FilterDefinitionBase {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FilterDefinitionBase();\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\nexport interface IFilterDefinitionBase {\r\n}\r\n\r\nexport enum QuestionnaireItemValueType {\r\n NoInput = \"NoInput\",\r\n List = \"List\",\r\n Text = \"Text\",\r\n Numeric = \"Numeric\",\r\n Date = \"Date\",\r\n}\r\n\r\nexport class QuestionnaireItemListSetup implements IQuestionnaireItemListSetup {\r\n itemListValueId?: string | undefined;\r\n value?: number;\r\n valueDescription?: string | undefined;\r\n valueDescriptionEn?: string | undefined;\r\n isDefault?: number;\r\n isActive?: number;\r\n startDate?: Date;\r\n endDate?: Date;\r\n\r\n constructor(data?: IQuestionnaireItemListSetup) {\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.itemListValueId = data[\"itemListValueId\"];\r\n this.value = data[\"value\"];\r\n this.valueDescription = data[\"valueDescription\"];\r\n this.valueDescriptionEn = data[\"valueDescriptionEn\"];\r\n this.isDefault = data[\"isDefault\"];\r\n this.isActive = data[\"isActive\"];\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 }\r\n }\r\n\r\n static fromJS(data: any): QuestionnaireItemListSetup {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new QuestionnaireItemListSetup();\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[\"itemListValueId\"] = this.itemListValueId;\r\n data[\"value\"] = this.value;\r\n data[\"valueDescription\"] = this.valueDescription;\r\n data[\"valueDescriptionEn\"] = this.valueDescriptionEn;\r\n data[\"isDefault\"] = this.isDefault;\r\n data[\"isActive\"] = this.isActive;\r\n data[\"startDate\"] = this.startDate ? this.startDate.toISOString() : undefined;\r\n data[\"endDate\"] = this.endDate ? this.endDate.toISOString() : undefined;\r\n return data; \r\n }\r\n}\r\n\r\nexport interface IQuestionnaireItemListSetup {\r\n itemListValueId?: string | undefined;\r\n value?: number;\r\n valueDescription?: string | undefined;\r\n valueDescriptionEn?: string | undefined;\r\n isDefault?: number;\r\n isActive?: number;\r\n startDate?: Date;\r\n endDate?: Date;\r\n}\r\n\r\nexport class QuestionnaireItemList implements IQuestionnaireItemList {\r\n itemListDescription?: string | undefined;\r\n setupValues?: QuestionnaireItemListSetup[] | undefined;\r\n\r\n constructor(data?: IQuestionnaireItemList) {\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.itemListDescription = data[\"itemListDescription\"];\r\n if (Array.isArray(data[\"setupValues\"])) {\r\n this.setupValues = [] as any;\r\n for (let item of data[\"setupValues\"])\r\n this.setupValues!.push(QuestionnaireItemListSetup.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): QuestionnaireItemList {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new QuestionnaireItemList();\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[\"itemListDescription\"] = this.itemListDescription;\r\n if (Array.isArray(this.setupValues)) {\r\n data[\"setupValues\"] = [];\r\n for (let item of this.setupValues)\r\n data[\"setupValues\"].push(item.toJSON());\r\n }\r\n return data; \r\n }\r\n}\r\n\r\nexport interface IQuestionnaireItemList {\r\n itemListDescription?: string | undefined;\r\n setupValues?: QuestionnaireItemListSetup[] | undefined;\r\n}\r\n\r\nexport class QuestionnaireFormItem implements IQuestionnaireFormItem {\r\n itemId?: string | undefined;\r\n itemValuationId?: string | undefined;\r\n itemDescription?: string | undefined;\r\n isHeader?: number;\r\n isBold?: number;\r\n isUnderlined?: number;\r\n isColored?: number;\r\n hasValue?: number;\r\n isEditable?: number;\r\n isMandatory?: number;\r\n itemType?: QuestionnaireItemValueType;\r\n itemEditValue?: any | undefined;\r\n itemTypeDescription?: string | undefined;\r\n itemOrder?: number;\r\n itemIsActive?: number;\r\n startDate?: Date;\r\n endDate?: Date;\r\n itemListId?: string | undefined;\r\n itemListSetup?: QuestionnaireItemList;\r\n\r\n constructor(data?: IQuestionnaireFormItem) {\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.itemId = data[\"itemId\"];\r\n this.itemValuationId = data[\"itemValuationId\"];\r\n this.itemDescription = data[\"itemDescription\"];\r\n this.isHeader = data[\"isHeader\"];\r\n this.isBold = data[\"isBold\"];\r\n this.isUnderlined = data[\"isUnderlined\"];\r\n this.isColored = data[\"isColored\"];\r\n this.hasValue = data[\"hasValue\"];\r\n this.isEditable = data[\"isEditable\"];\r\n this.isMandatory = data[\"isMandatory\"];\r\n this.itemType = data[\"itemType\"];\r\n this.itemEditValue = data[\"itemEditValue\"];\r\n this.itemTypeDescription = data[\"itemTypeDescription\"];\r\n this.itemOrder = data[\"itemOrder\"];\r\n this.itemIsActive = data[\"itemIsActive\"];\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.itemListId = data[\"itemListId\"];\r\n this.itemListSetup = data[\"itemListSetup\"] ? QuestionnaireItemList.fromJS(data[\"itemListSetup\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): QuestionnaireFormItem {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new QuestionnaireFormItem();\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[\"itemId\"] = this.itemId;\r\n data[\"itemValuationId\"] = this.itemValuationId;\r\n data[\"itemDescription\"] = this.itemDescription;\r\n data[\"isHeader\"] = this.isHeader;\r\n data[\"isBold\"] = this.isBold;\r\n data[\"isUnderlined\"] = this.isUnderlined;\r\n data[\"isColored\"] = this.isColored;\r\n data[\"hasValue\"] = this.hasValue;\r\n data[\"isEditable\"] = this.isEditable;\r\n data[\"isMandatory\"] = this.isMandatory;\r\n data[\"itemType\"] = this.itemType;\r\n data[\"itemEditValue\"] = this.itemEditValue;\r\n data[\"itemTypeDescription\"] = this.itemTypeDescription;\r\n data[\"itemOrder\"] = this.itemOrder;\r\n data[\"itemIsActive\"] = this.itemIsActive;\r\n data[\"startDate\"] = this.startDate ? this.startDate.toISOString() : undefined;\r\n data[\"endDate\"] = this.endDate ? this.endDate.toISOString() : undefined;\r\n data[\"itemListId\"] = this.itemListId;\r\n data[\"itemListSetup\"] = this.itemListSetup ? this.itemListSetup.toJSON() : undefined;\r\n return data; \r\n }\r\n}\r\n\r\nexport interface IQuestionnaireFormItem {\r\n itemId?: string | undefined;\r\n itemValuationId?: string | undefined;\r\n itemDescription?: string | undefined;\r\n isHeader?: number;\r\n isBold?: number;\r\n isUnderlined?: number;\r\n isColored?: number;\r\n hasValue?: number;\r\n isEditable?: number;\r\n isMandatory?: number;\r\n itemType?: QuestionnaireItemValueType;\r\n itemEditValue?: any | undefined;\r\n itemTypeDescription?: string | undefined;\r\n itemOrder?: number;\r\n itemIsActive?: number;\r\n startDate?: Date;\r\n endDate?: Date;\r\n itemListId?: string | undefined;\r\n itemListSetup?: QuestionnaireItemList;\r\n}\r\n\r\nexport enum QuestionnaireFormGroupStatus {\r\n Invalid = \"Invalid\",\r\n Saved = \"Saved\",\r\n Completed = \"Completed\",\r\n}\r\n\r\nexport class QuestionnaireGroup implements IQuestionnaireGroup {\r\n id?: string | undefined;\r\n valuationId?: string | undefined;\r\n name?: string | undefined;\r\n order?: number;\r\n isActive?: number;\r\n inquiryItems?: QuestionnaireFormItem[] | undefined;\r\n status?: QuestionnaireFormGroupStatus;\r\n finalizeDate?: Date | undefined;\r\n finalizeUser?: string | undefined;\r\n\r\n constructor(data?: IQuestionnaireGroup) {\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.valuationId = data[\"valuationId\"];\r\n this.name = data[\"name\"];\r\n this.order = data[\"order\"];\r\n this.isActive = data[\"isActive\"];\r\n if (Array.isArray(data[\"inquiryItems\"])) {\r\n this.inquiryItems = [] as any;\r\n for (let item of data[\"inquiryItems\"])\r\n this.inquiryItems!.push(QuestionnaireFormItem.fromJS(item));\r\n }\r\n this.status = data[\"status\"];\r\n this.finalizeDate = data[\"finalizeDate\"] ? new Date(data[\"finalizeDate\"].toString()) : undefined;\r\n this.finalizeUser = data[\"finalizeUser\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): QuestionnaireGroup {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new QuestionnaireGroup();\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[\"valuationId\"] = this.valuationId;\r\n data[\"name\"] = this.name;\r\n data[\"order\"] = this.order;\r\n data[\"isActive\"] = this.isActive;\r\n if (Array.isArray(this.inquiryItems)) {\r\n data[\"inquiryItems\"] = [];\r\n for (let item of this.inquiryItems)\r\n data[\"inquiryItems\"].push(item.toJSON());\r\n }\r\n data[\"status\"] = this.status;\r\n data[\"finalizeDate\"] = this.finalizeDate ? this.finalizeDate.toISOString() : undefined;\r\n data[\"finalizeUser\"] = this.finalizeUser;\r\n return data; \r\n }\r\n}\r\n\r\nexport interface IQuestionnaireGroup {\r\n id?: string | undefined;\r\n valuationId?: string | undefined;\r\n name?: string | undefined;\r\n order?: number;\r\n isActive?: number;\r\n inquiryItems?: QuestionnaireFormItem[] | undefined;\r\n status?: QuestionnaireFormGroupStatus;\r\n finalizeDate?: Date | undefined;\r\n finalizeUser?: string | undefined;\r\n}\r\n\r\nexport enum Role {\r\n Undefined = \"Undefined\",\r\n Member = \"Member\",\r\n Hr = \"Hr\",\r\n Backoffice = \"Backoffice\",\r\n Admin = \"Admin\",\r\n}\r\n\r\nexport class InvitationState implements IInvitationState {\r\n policyId?: string | undefined;\r\n policyName?: string | undefined;\r\n role?: Role;\r\n isInsured?: boolean;\r\n\r\n constructor(data?: IInvitationState) {\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.policyId = data[\"policyId\"];\r\n this.policyName = data[\"policyName\"];\r\n this.role = data[\"role\"];\r\n this.isInsured = data[\"isInsured\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): InvitationState {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new InvitationState();\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[\"policyId\"] = this.policyId;\r\n data[\"policyName\"] = this.policyName;\r\n data[\"role\"] = this.role;\r\n data[\"isInsured\"] = this.isInsured;\r\n return data; \r\n }\r\n}\r\n\r\nexport interface IInvitationState {\r\n policyId?: string | undefined;\r\n policyName?: string | undefined;\r\n role?: Role;\r\n isInsured?: boolean;\r\n}\r\n\r\nexport class RedeemInvitationRequest implements IRedeemInvitationRequest {\r\n token?: string | undefined;\r\n email?: string | undefined;\r\n birthdate?: Date | undefined;\r\n\r\n constructor(data?: IRedeemInvitationRequest) {\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.email = data[\"email\"];\r\n this.birthdate = data[\"birthdate\"] ? new Date(data[\"birthdate\"].toString()) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): RedeemInvitationRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RedeemInvitationRequest();\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[\"email\"] = this.email;\r\n data[\"birthdate\"] = this.birthdate ? this.birthdate.toISOString() : undefined;\r\n return data; \r\n }\r\n}\r\n\r\nexport interface IRedeemInvitationRequest {\r\n token?: string | undefined;\r\n email?: string | undefined;\r\n birthdate?: Date | undefined;\r\n}\r\n\r\nexport enum InvitationResult {\r\n Invalid = \"Invalid\",\r\n Expired = \"Expired\",\r\n Success = \"Success\",\r\n MismatchedEmail = \"MismatchedEmail\",\r\n AlreadyAccepted = \"AlreadyAccepted\",\r\n NotFound = \"NotFound\",\r\n MismatchedBirthDate = \"MismatchedBirthDate\",\r\n}\r\n\r\nexport class RedeemInvitationResponse implements IRedeemInvitationResponse {\r\n result?: InvitationResult;\r\n message?: string | undefined;\r\n\r\n constructor(data?: IRedeemInvitationResponse) {\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.result = data[\"result\"];\r\n this.message = data[\"message\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): RedeemInvitationResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RedeemInvitationResponse();\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[\"result\"] = this.result;\r\n data[\"message\"] = this.message;\r\n return data; \r\n }\r\n}\r\n\r\nexport interface IRedeemInvitationResponse {\r\n result?: InvitationResult;\r\n message?: string | undefined;\r\n}\r\n\r\nexport enum PolicyType {\r\n DC = \"DC\",\r\n DB = \"DB\",\r\n}\r\n\r\nexport enum ContributionType {\r\n EmployerRegular = \"EmployerRegular\",\r\n EmployerUrgent = \"EmployerUrgent\",\r\n EmployeeRegular = \"EmployeeRegular\",\r\n EmployeeUrgent = \"EmployeeUrgent\",\r\n}\r\n\r\nexport class Contribution implements IContribution {\r\n type?: ContributionType;\r\n sumAmount?: number;\r\n\r\n constructor(data?: IContribution) {\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 this.sumAmount = data[\"sumAmount\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): Contribution {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Contribution();\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 data[\"sumAmount\"] = this.sumAmount;\r\n return data; \r\n }\r\n}\r\n\r\nexport interface IContribution {\r\n type?: ContributionType;\r\n sumAmount?: number;\r\n valuationSummary?:number;\r\n}\r\n\r\nexport class ContributionSummary implements IContributionSummary {\r\n contributions?: Contribution[] | undefined;\r\n sumAmount?: number;\r\n valuationSummary?:number\r\n\r\n constructor(data?: IContributionSummary) {\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[\"contributions\"])) {\r\n this.contributions = [] as any;\r\n for (let item of data[\"contributions\"])\r\n this.contributions!.push(Contribution.fromJS(item));\r\n }\r\n this.sumAmount = data[\"sumAmount\"];\r\n this.valuationSummary =data[\"valuationSummary\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ContributionSummary {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ContributionSummary();\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.contributions)) {\r\n data[\"contributions\"] = [];\r\n for (let item of this.contributions)\r\n data[\"contributions\"].push(item.toJSON());\r\n }\r\n data[\"sumAmount\"] = this.sumAmount;\r\n return data; \r\n }\r\n}\r\n\r\nexport interface IContributionSummary {\r\n contributions?: Contribution[] | undefined;\r\n sumAmount?: number;\r\n}\r\n\r\nexport enum InvestmentProductType {\r\n Monetary = \"Monetary\",\r\n Dividends = \"Dividends\",\r\n}\r\n\r\nexport class PolicyInvestment implements IPolicyInvestment {\r\n code?: string | undefined;\r\n description?: string | undefined;\r\n contributionType?: ContributionType;\r\n productType?: InvestmentProductType;\r\n percentage?: number;\r\n currentGrossValue?: number;\r\n currentNetValue?: number;\r\n valuationDate?: Date;\r\n dividendValue?: number;\r\n dividendNumber?: number;\r\n maximumRedemptionGrossAmount?: number;\r\n maximumRedemptionDividends?: number;\r\n maximumRedemptionValuation?: number;\r\n\r\n constructor(data?: IPolicyInvestment) {\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.code = data[\"code\"];\r\n this.description = data[\"description\"];\r\n this.contributionType = data[\"contributionType\"];\r\n this.productType = data[\"productType\"];\r\n this.percentage = data[\"percentage\"];\r\n this.currentGrossValue = data[\"currentGrossValue\"];\r\n this.currentNetValue = data[\"currentNetValue\"];\r\n this.valuationDate = data[\"valuationDate\"] ? new Date(data[\"valuationDate\"].toString()) : undefined;\r\n this.dividendValue = data[\"dividendValue\"];\r\n this.dividendNumber = data[\"dividendNumber\"];\r\n this.maximumRedemptionGrossAmount = data[\"maximumRedemptionGrossAmount\"];\r\n this.maximumRedemptionDividends = data[\"maximumRedemptionDividends\"];\r\n this.maximumRedemptionValuation = data[\"maximumRedemptionValuation\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PolicyInvestment {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PolicyInvestment();\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[\"code\"] = this.code;\r\n data[\"description\"] = this.description;\r\n data[\"contributionType\"] = this.contributionType;\r\n data[\"productType\"] = this.productType;\r\n data[\"percentage\"] = this.percentage;\r\n data[\"currentGrossValue\"] = this.currentGrossValue;\r\n data[\"currentNetValue\"] = this.currentNetValue;\r\n data[\"valuationDate\"] = this.valuationDate ? this.valuationDate.toISOString() : undefined;\r\n data[\"dividendValue\"] = this.dividendValue;\r\n data[\"dividendNumber\"] = this.dividendNumber;\r\n data[\"maximumRedemptionGrossAmount\"] = this.maximumRedemptionGrossAmount;\r\n data[\"maximumRedemptionDividends\"] = this.maximumRedemptionDividends;\r\n data[\"maximumRedemptionValuation\"] = this.maximumRedemptionValuation;\r\n return data; \r\n }\r\n}\r\n\r\nexport interface IPolicyInvestment {\r\n code?: string | undefined;\r\n description?: string | undefined;\r\n contributionType?: ContributionType;\r\n productType?: InvestmentProductType;\r\n percentage?: number;\r\n currentGrossValue?: number;\r\n currentNetValue?: number;\r\n valuationDate?: Date;\r\n dividendValue?: number;\r\n dividendNumber?: number;\r\n maximumRedemptionGrossAmount?: number;\r\n maximumRedemptionDividends?: number;\r\n maximumRedemptionValuation?: number;\r\n}\r\n\r\nexport class InvestmentSummary implements IInvestmentSummary {\r\n investments?: PolicyInvestment[] | undefined;\r\n\r\n constructor(data?: IInvestmentSummary) {\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[\"investments\"])) {\r\n this.investments = [] as any;\r\n for (let item of data[\"investments\"])\r\n this.investments!.push(PolicyInvestment.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): InvestmentSummary {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new InvestmentSummary();\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.investments)) {\r\n data[\"investments\"] = [];\r\n for (let item of this.investments)\r\n data[\"investments\"].push(item.toJSON());\r\n }\r\n return data; \r\n }\r\n}\r\n\r\nexport interface IInvestmentSummary {\r\n investments?: PolicyInvestment[] | undefined;\r\n}\r\n\r\nexport class Summary implements ISummary {\r\n contributionSummary?: ContributionSummary;\r\n investmentSummary?: InvestmentSummary;\r\n valuationSummary?:number;\r\n\r\n constructor(data?: ISummary) {\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.contributionSummary = data[\"contributionSummary\"] ? ContributionSummary.fromJS(data[\"contributionSummary\"]) : undefined;\r\n this.investmentSummary = data[\"investmentSummary\"] ? InvestmentSummary.fromJS(data[\"investmentSummary\"]) : undefined;\r\n this.valuationSummary = data[\"valuationSummary\"] ? data[\"valuationSummary\"] : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): Summary {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Summary();\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[\"contributionSummary\"] = this.contributionSummary ? this.contributionSummary.toJSON() : undefined;\r\n data[\"investmentSummary\"] = this.investmentSummary ? this.investmentSummary.toJSON() : undefined;\r\n return data; \r\n }\r\n}\r\n\r\nexport interface ISummary {\r\n contributionSummary?: ContributionSummary;\r\n investmentSummary?: InvestmentSummary;\r\n valuationSum?:number;\r\n}\r\n\r\nexport class MembershipStatus implements IMembershipStatus {\r\n role?: Role;\r\n isInsured?: boolean;\r\n insuredId?: number;\r\n\r\n constructor(data?: IMembershipStatus) {\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.role = data[\"role\"];\r\n this.isInsured = data[\"isInsured\"];\r\n this.insuredId = data[\"insuredId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): MembershipStatus {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new MembershipStatus();\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[\"role\"] = this.role;\r\n data[\"isInsured\"] = this.isInsured;\r\n data[\"insuredId\"] = this.insuredId;\r\n return data; \r\n }\r\n}\r\n\r\nexport interface IMembershipStatus {\r\n role?: Role;\r\n isInsured?: boolean;\r\n insuredId?: number;\r\n}\r\n\r\nexport class Contact implements IContact {\r\n id?: string | undefined;\r\n code?: number;\r\n role?: number;\r\n vatNumber?: string | undefined;\r\n name?: string | undefined;\r\n\r\n constructor(data?: IContact) {\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.code = data[\"code\"];\r\n this.role = data[\"role\"];\r\n this.vatNumber = data[\"vatNumber\"];\r\n this.name = data[\"name\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): Contact {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Contact();\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[\"code\"] = this.code;\r\n data[\"role\"] = this.role;\r\n data[\"vatNumber\"] = this.vatNumber;\r\n data[\"name\"] = this.name;\r\n return data; \r\n }\r\n}\r\n\r\nexport interface IContact {\r\n id?: string | undefined;\r\n code?: number;\r\n role?: number;\r\n vatNumber?: string | undefined;\r\n name?: string | undefined;\r\n}\r\n\r\nexport class Policy implements IPolicy {\r\n id?: string | undefined;\r\n policyIdentifier?: string;\r\n readonly description?: string | undefined;\r\n startDate?: Date;\r\n type?: PolicyType;\r\n summary?: Summary;\r\n readonly vatNumber?: string | undefined;\r\n membershipStatus?: MembershipStatus;\r\n contacts?: Contact[] | undefined;\r\n allowedContributionTypes?: ContributionType[] | undefined;\r\n onlyGuaranteedPrincipal: boolean | undefined;;\r\n constructor(data?: IPolicy) {\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.policyIdentifier = data[\"policyIdentifier\"];\r\n (this).description = data[\"description\"];\r\n this.startDate = data[\"startDate\"] ? new Date(data[\"startDate\"].toString()) : undefined;\r\n this.type = data[\"type\"];\r\n this.summary = data[\"summary\"] ? Summary.fromJS(data[\"summary\"]) : undefined;\r\n (this).vatNumber = data[\"vatNumber\"];\r\n this.membershipStatus = data[\"membershipStatus\"] ? MembershipStatus.fromJS(data[\"membershipStatus\"]) : undefined;\r\n this.onlyGuaranteedPrincipal = data[\"onlyGuaranteedPrincipal\"];\r\n if (Array.isArray(data[\"contacts\"])) {\r\n this.contacts = [] as any;\r\n for (let item of data[\"contacts\"])\r\n this.contacts!.push(Contact.fromJS(item));\r\n }\r\n if (Array.isArray(data[\"allowedContributionTypes\"])) {\r\n this.allowedContributionTypes = [] as any;\r\n for (let item of data[\"allowedContributionTypes\"])\r\n this.allowedContributionTypes!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): Policy {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Policy();\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[\"policyIdentifier\"] = this.policyIdentifier;\r\n data[\"description\"] = this.description;\r\n data[\"startDate\"] = this.startDate ? this.startDate.toISOString() : undefined;\r\n data[\"type\"] = this.type;\r\n data[\"summary\"] = this.summary ? this.summary.toJSON() : undefined;\r\n data[\"vatNumber\"] = this.vatNumber;\r\n data[\"membershipStatus\"] = this.membershipStatus ? this.membershipStatus.toJSON() : undefined;\r\n data[\"onlyGuaranteedPrincipal\"] = this.onlyGuaranteedPrincipal;\r\n if (Array.isArray(this.contacts)) {\r\n data[\"contacts\"] = [];\r\n for (let item of this.contacts)\r\n data[\"contacts\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.allowedContributionTypes)) {\r\n data[\"allowedContributionTypes\"] = [];\r\n for (let item of this.allowedContributionTypes)\r\n data[\"allowedContributionTypes\"].push(item);\r\n }\r\n return data; \r\n }\r\n}\r\n\r\nexport interface IPolicy {\r\n id?: string | undefined;\r\n policyIdentifier?: string;\r\n description?: string | undefined;\r\n startDate?: Date;\r\n type?: PolicyType;\r\n summary?: Summary;\r\n vatNumber?: string | undefined;\r\n membershipStatus?: MembershipStatus;\r\n contacts?: Contact[] | undefined;\r\n allowedContributionTypes?: ContributionType[] | undefined;\r\n onlyGuaranteedPrincipal: boolean | undefined;\r\n}\r\n\r\nexport class ResultSetOfPolicy implements IResultSetOfPolicy {\r\n count?: number;\r\n items?: Policy[] | undefined;\r\n\r\n constructor(data?: IResultSetOfPolicy) {\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.count = data[\"count\"];\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(Policy.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ResultSetOfPolicy {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ResultSetOfPolicy();\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[\"count\"] = this.count;\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 return data; \r\n }\r\n}\r\n\r\nexport interface IResultSetOfPolicy {\r\n count?: number;\r\n items?: Policy[] | undefined;\r\n}\r\n\r\nexport enum PolicyDocumentType {\r\n Undefined = \"Undefined\",\r\n Contributions = \"Contributions\",\r\n General = \"General\",\r\n}\r\n\r\nexport enum DocumentSubType {\r\n Policy = \"Policy\",\r\n AdditionalAct = \"AdditionalAct\",\r\n Booklet = \"Booklet\",\r\n Rest = \"Rest\",\r\n Doc152 = \"Doc152\",\r\n InvestmentInfoDoc = \"InvestmentInfoDoc\",\r\n ContractorManual = \"ContractorManual\",\r\n InsuredManual = \"InsuredManual\",\r\n EducationalMaterial = \"EducationalMaterial\"\r\n}\r\n\r\nexport class PolicyDocument implements IPolicyDocument {\r\n id?: string | undefined;\r\n policyId?: string | undefined;\r\n policyMemberId?: string | undefined;\r\n type?: PolicyDocumentType;\r\n description?: string | undefined;\r\n subtype?: DocumentSubType;\r\n title?: string | undefined;\r\n status?: number;\r\n\r\n constructor(data?: IPolicyDocument) {\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.policyId = data[\"policyId\"];\r\n this.policyMemberId = data[\"policyMemberId\"];\r\n this.type = data[\"type\"];\r\n this.description = data[\"description\"];\r\n this.subtype = data[\"subtype\"];\r\n this.title = data[\"title\"];\r\n this.status = data[\"status\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PolicyDocument {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PolicyDocument();\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[\"policyId\"] = this.policyId;\r\n data[\"policyMemberId\"] = this.policyMemberId;\r\n data[\"type\"] = this.type;\r\n data[\"description\"] = this.description;\r\n data[\"subtype\"] = this.subtype;\r\n data[\"title\"] = this.title;\r\n data[\"status\"] = this.status;\r\n return data; \r\n }\r\n}\r\n\r\nexport interface IPolicyDocument {\r\n id?: string | undefined;\r\n policyId?: string | undefined;\r\n policyMemberId?: string | undefined;\r\n type?: PolicyDocumentType;\r\n description?: string | undefined;\r\n subtype?: DocumentSubType;\r\n title?: string | undefined;\r\n status?: number;\r\n}\r\n\r\nexport class ResultSetOfPolicyDocument implements IResultSetOfPolicyDocument {\r\n count?: number;\r\n items?: PolicyDocument[] | undefined;\r\n\r\n constructor(data?: IResultSetOfPolicyDocument) {\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.count = data[\"count\"];\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(PolicyDocument.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ResultSetOfPolicyDocument {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ResultSetOfPolicyDocument();\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[\"count\"] = this.count;\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 return data; \r\n }\r\n}\r\n\r\nexport interface IResultSetOfPolicyDocument {\r\n count?: number;\r\n items?: PolicyDocument[] | undefined;\r\n}\r\n\r\nexport enum CustomerAddressType {\r\n Invalid = \"Invalid\",\r\n Home = \"Home\",\r\n Work = \"Work\",\r\n Other = \"Other\",\r\n}\r\n\r\nexport class InsuredAddress implements IInsuredAddress {\r\n customerId?: number;\r\n order?: number;\r\n type?: CustomerAddressType;\r\n readonly typeCode?: string | undefined;\r\n street?: string | undefined;\r\n city?: string | undefined;\r\n area?: string | undefined;\r\n number?: string | undefined;\r\n postalCode?: string | undefined;\r\n insertDate?: Date;\r\n insertUser?: string | undefined;\r\n updateDate?: Date;\r\n updateUser?: string | undefined;\r\n notes?: string | undefined;\r\n isDeleted?: number;\r\n isPreferred?: number;\r\n dictionaryId?: number;\r\n streetExtra?: string | undefined;\r\n poBox?: string | undefined;\r\n country?: string | undefined;\r\n\r\n constructor(data?: IInsuredAddress) {\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.customerId = data[\"customerId\"];\r\n this.order = data[\"order\"];\r\n this.type = data[\"type\"];\r\n (this).typeCode = data[\"typeCode\"];\r\n this.street = data[\"street\"];\r\n this.city = data[\"city\"];\r\n this.area = data[\"area\"];\r\n this.number = data[\"number\"];\r\n this.postalCode = data[\"postalCode\"];\r\n this.insertDate = data[\"insertDate\"] ? new Date(data[\"insertDate\"].toString()) : undefined;\r\n this.insertUser = data[\"insertUser\"];\r\n this.updateDate = data[\"updateDate\"] ? new Date(data[\"updateDate\"].toString()) : undefined;\r\n this.updateUser = data[\"updateUser\"];\r\n this.notes = data[\"notes\"];\r\n this.isDeleted = data[\"isDeleted\"];\r\n this.isPreferred = data[\"isPreferred\"];\r\n this.dictionaryId = data[\"dictionaryId\"];\r\n this.streetExtra = data[\"streetExtra\"];\r\n this.poBox = data[\"poBox\"];\r\n this.country = data[\"country\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): InsuredAddress {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new InsuredAddress();\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[\"customerId\"] = this.customerId;\r\n data[\"order\"] = this.order;\r\n data[\"type\"] = this.type;\r\n data[\"typeCode\"] = this.typeCode;\r\n data[\"street\"] = this.street;\r\n data[\"city\"] = this.city;\r\n data[\"area\"] = this.area;\r\n data[\"number\"] = this.number;\r\n data[\"postalCode\"] = this.postalCode;\r\n data[\"insertDate\"] = this.insertDate ? this.insertDate.toISOString() : undefined;\r\n data[\"insertUser\"] = this.insertUser;\r\n data[\"updateDate\"] = this.updateDate ? this.updateDate.toISOString() : undefined;\r\n data[\"updateUser\"] = this.updateUser;\r\n data[\"notes\"] = this.notes;\r\n data[\"isDeleted\"] = this.isDeleted;\r\n data[\"isPreferred\"] = this.isPreferred;\r\n data[\"dictionaryId\"] = this.dictionaryId;\r\n data[\"streetExtra\"] = this.streetExtra;\r\n data[\"poBox\"] = this.poBox;\r\n data[\"country\"] = this.country;\r\n return data; \r\n }\r\n}\r\n\r\nexport interface IInsuredAddress {\r\n customerId?: number;\r\n order?: number;\r\n type?: CustomerAddressType;\r\n typeCode?: string | undefined;\r\n street?: string | undefined;\r\n city?: string | undefined;\r\n area?: string | undefined;\r\n number?: string | undefined;\r\n postalCode?: string | undefined;\r\n insertDate?: Date;\r\n insertUser?: string | undefined;\r\n updateDate?: Date;\r\n updateUser?: string | undefined;\r\n notes?: string | undefined;\r\n isDeleted?: number;\r\n isPreferred?: number;\r\n dictionaryId?: number;\r\n streetExtra?: string | undefined;\r\n poBox?: string | undefined;\r\n country?: string | undefined;\r\n}\r\n\r\nexport class PersonalInvestmentSummary implements IPersonalInvestmentSummary {\r\n valuationDate?: Date;\r\n valuationAmount?: number;\r\n prematureRedemptionNetAmount?: number;\r\n prematureRedemptionGrossAmount?: number;\r\n normalRedemptionNetAmount?: number;\r\n normalRedemptionGrossAmount?: number;\r\n maximumRedemptionNetAmount?: number;\r\n maximumRedemptionGrossAmount?: number;\r\n\r\n constructor(data?: IPersonalInvestmentSummary) {\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.valuationDate = data[\"valuationDate\"] ? new Date(data[\"valuationDate\"].toString()) : undefined;\r\n this.valuationAmount = data[\"valuationAmount\"];\r\n this.prematureRedemptionNetAmount = data[\"prematureRedemptionNetAmount\"];\r\n this.prematureRedemptionGrossAmount = data[\"prematureRedemptionGrossAmount\"];\r\n this.normalRedemptionNetAmount = data[\"normalRedemptionNetAmount\"];\r\n this.normalRedemptionGrossAmount = data[\"normalRedemptionGrossAmount\"];\r\n this.maximumRedemptionNetAmount = data[\"maximumRedemptionNetAmount\"];\r\n this.maximumRedemptionGrossAmount = data[\"maximumRedemptionGrossAmount\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PersonalInvestmentSummary {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PersonalInvestmentSummary();\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[\"valuationDate\"] = this.valuationDate ? this.valuationDate.toISOString() : undefined;\r\n data[\"valuationAmount\"] = this.valuationAmount;\r\n data[\"prematureRedemptionNetAmount\"] = this.prematureRedemptionNetAmount;\r\n data[\"prematureRedemptionGrossAmount\"] = this.prematureRedemptionGrossAmount;\r\n data[\"normalRedemptionNetAmount\"] = this.normalRedemptionNetAmount;\r\n data[\"normalRedemptionGrossAmount\"] = this.normalRedemptionGrossAmount;\r\n data[\"maximumRedemptionNetAmount\"] = this.maximumRedemptionNetAmount;\r\n data[\"maximumRedemptionGrossAmount\"] = this.maximumRedemptionGrossAmount;\r\n return data; \r\n }\r\n}\r\n\r\nexport interface IPersonalInvestmentSummary {\r\n valuationDate?: Date;\r\n valuationAmount?: number;\r\n prematureRedemptionNetAmount?: number;\r\n prematureRedemptionGrossAmount?: number;\r\n normalRedemptionNetAmount?: number;\r\n normalRedemptionGrossAmount?: number;\r\n maximumRedemptionNetAmount?: number;\r\n maximumRedemptionGrossAmount?: number;\r\n}\r\n\r\nexport enum QuestionnaireRiskResult {\r\n Undefined = \"Undefined\",\r\n VeryConservative = \"VeryConservative\",\r\n Conservative = \"Conservative\",\r\n Balanced = \"Balanced\",\r\n Aggressive = \"Aggressive\",\r\n VeryAggressive = \"VeryAggressive\",\r\n}\r\n\r\nexport enum QuestionnaireDisclaimerType {\r\n Undefined = \"Undefined\",\r\n Agree = \"Agree\",\r\n Disagree = \"Disagree\",\r\n}\r\n\r\nexport enum QuestionnaireSustainabilityResult {\r\n Undefined = \"undefined\",\r\n NoPreference = \"None\",\r\n BalancedPreference = \"Balanced\",\r\n StrongPreference = \"Strong\",\r\n}\r\n\r\n\r\nexport class QuestionnaireDetails implements IQuestionnaireDetails {\r\n cardId?: string | undefined;\r\n scoreId?: string | undefined;\r\n completedDate?: Date;\r\n completed?: boolean;\r\n score?: QuestionnaireRiskResult;\r\n sustainabilityScore?:QuestionnaireDisclaimerType\r\n disclaimerType?: QuestionnaireDisclaimerType;\r\n disclaimerSustainability: QuestionnaireSustainabilityResult;\r\n fatcaResult: string;\r\n type:string;\r\n\r\n constructor(data?: IQuestionnaireDetails) {\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.cardId = data[\"cardId\"];\r\n this.scoreId = data[\"scoreId\"];\r\n this.completedDate = data[\"completedDate\"] ? new Date(data[\"completedDate\"].toString()) : undefined;\r\n this.completed = data[\"completed\"];\r\n this.score = data[\"score\"];\r\n this.disclaimerType = data[\"disclaimerType\"];\r\n this.sustainabilityScore = data[\"sustainabilityScore\"];\r\n this.type = data[\"type\"];\r\n this.fatcaResult = data[\"fatcaResult\"]\r\n }\r\n }\r\n\r\n static fromJS(data: any): QuestionnaireDetails {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new QuestionnaireDetails();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n static fromArray(questionnaireDetailsArray: IQuestionnaireDetails[]): QuestionnaireDetails[] {\r\n return questionnaireDetailsArray.map(QuestionnaireDetails.fromJS);\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"cardId\"] = this.cardId;\r\n data[\"scoreId\"] = this.scoreId;\r\n data[\"completedDate\"] = this.completedDate ? this.completedDate.toISOString() : undefined;\r\n data[\"completed\"] = this.completed;\r\n data[\"score\"] = this.score;\r\n data[\"disclaimerType\"] = this.disclaimerType;\r\n data[\"sustainabilityScore\"] = this.sustainabilityScore;\r\n data[\"type\"] = this.type;\r\n data[\"fatcaResult\"] = this.fatcaResult;\r\n return data; \r\n }\r\n}\r\n\r\nexport interface IQuestionnaireDetails {\r\n cardId?: string | undefined;\r\n scoreId?: string | undefined;\r\n completedDate?: Date;\r\n completed?: boolean;\r\n score?: QuestionnaireRiskResult; \r\n disclaimerType?: QuestionnaireDisclaimerType;\r\n sustainabilityScore?:QuestionnaireDisclaimerType\r\n}\r\n\r\nexport class Insured implements IInsured {\r\n id?: number;\r\n userId?: string | undefined;\r\n identityUserId?: string | undefined;\r\n accessLevel?: AccessLevel | undefined;\r\n policyId?: string;\r\n name?: string | undefined;\r\n surname?: string | undefined;\r\n startDate?: Date;\r\n registryNumber?: string | undefined;\r\n recruitmentDate?: Date;\r\n vatNumber?: string | undefined;\r\n birthDate?: Date;\r\n email?: string | undefined;\r\n salary?: number;\r\n phoneNumber?: string | undefined;\r\n homeAddress?: InsuredAddress;\r\n summary?: Summary;\r\n InvitationSentDate?: Date| undefined;\r\n personalInvestmentSummary?: PersonalInvestmentSummary;\r\n questionnaireDetails?: QuestionnaireDetails[];\r\n\r\n\r\n constructor(data?: IInsured) {\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.identityUserId = data[\"identityUserId\"];\r\n this.accessLevel = data[\"accessLevel\"]; \r\n this.policyId = data[\"policyId\"];\r\n this.name = data[\"name\"];\r\n this.surname = data[\"surname\"];\r\n this.startDate = data[\"startDate\"] ? new Date(data[\"startDate\"].toString()) : undefined;\r\n this.registryNumber = data[\"registryNumber\"];\r\n this.recruitmentDate = data[\"recruitmentDate\"] ? new Date(data[\"recruitmentDate\"].toString()) : undefined;\r\n this.vatNumber = data[\"vatNumber\"];\r\n this.birthDate = data[\"birthDate\"] ? new Date(data[\"birthDate\"].toString()) : undefined;\r\n this.email = data[\"email\"];\r\n this.salary = data[\"salary\"];\r\n this.phoneNumber = data[\"phoneNumber\"];\r\n this.homeAddress = data[\"homeAddress\"] ? InsuredAddress.fromJS(data[\"homeAddress\"]) : undefined;\r\n this.InvitationSentDate = data[\"invitationSentDate\"] ? new Date(data[\"invitationSentDate\"].toString()) : undefined;\r\n this.summary = data[\"summary\"] ? Summary.fromJS(data[\"summary\"]) : undefined;\r\n this.personalInvestmentSummary = data[\"personalInvestmentSummary\"] ? PersonalInvestmentSummary.fromJS(data[\"personalInvestmentSummary\"]) : undefined;\r\n this.questionnaireDetails = data[\"questionnaireDetails\"]? QuestionnaireDetails.fromArray(data[\"questionnaireDetails\"]) : undefined;\r\n }\r\n }\r\n \r\n\r\n static fromJS(data: any): Insured {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Insured();\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[\"identityUserId\"] = this.identityUserId;\r\n data[\"accessLevel\"] = this.accessLevel;\r\n data[\"policyId\"] = this.policyId;\r\n data[\"name\"] = this.name;\r\n data[\"surname\"] = this.surname;\r\n data[\"startDate\"] = this.startDate ? this.startDate.toISOString() : undefined;\r\n data[\"registryNumber\"] = this.registryNumber;\r\n data[\"recruitmentDate\"] = this.recruitmentDate ? this.recruitmentDate.toISOString() : undefined;\r\n data[\"vatNumber\"] = this.vatNumber;\r\n data[\"birthDate\"] = this.birthDate ? this.birthDate.toISOString() : undefined;\r\n data[\"email\"] = this.email;\r\n data[\"salary\"] = this.salary;\r\n data[\"phoneNumber\"] = this.phoneNumber;\r\n data[\"homeAddress\"] = this.homeAddress ? this.homeAddress.toJSON() : undefined;\r\n data[\"summary\"] = this.summary ? this.summary.toJSON() : undefined;\r\n data[\"personalInvestmentSummary\"] = this.personalInvestmentSummary ? this.personalInvestmentSummary.toJSON() : undefined;\r\n data[\"questionnaireDetails\"] = this.questionnaireDetails? this.questionnaireDetails : [];\r\n return data; \r\n }\r\n}\r\n\r\nexport interface IInsured {\r\n id?: number;\r\n userId?: string | undefined;\r\n identityUserId?: string | undefined;\r\n accessLevel?: AccessLevel | undefined;\r\n policyId?: string;\r\n name?: string | undefined;\r\n surname?: string | undefined;\r\n startDate?: Date;\r\n registryNumber?: string | undefined;\r\n recruitmentDate?: Date;\r\n vatNumber?: string | undefined;\r\n birthDate?: Date;\r\n email?: string | undefined;\r\n salary?: number;\r\n phoneNumber?: string | undefined;\r\n homeAddress?: InsuredAddress;\r\n summary?: Summary;\r\n InvitationSentDate?: Date| undefined;\r\n personalInvestmentSummary?: PersonalInvestmentSummary;\r\n questionnaireDetails?: QuestionnaireDetails[];\r\n}\r\n\r\nexport class ResultSetOfInsured implements IResultSetOfInsured {\r\n count?: number;\r\n items?: Insured[] | undefined;\r\n\r\n constructor(data?: IResultSetOfInsured) {\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.count = data[\"count\"];\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(Insured.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ResultSetOfInsured {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ResultSetOfInsured();\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[\"count\"] = this.count;\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 return data; \r\n }\r\n}\r\n\r\nexport interface IResultSetOfInsured {\r\n count?: number;\r\n items?: Insured[] | undefined;\r\n}\r\n\r\nexport enum ClaimType {\r\n Redemption = \"Redemption\",\r\n Yearly = \"Yearly\",\r\n}\r\n\r\nexport class Claim implements IClaim {\r\n id?: string | undefined;\r\n reportDate?: Date;\r\n type?: ClaimType;\r\n policyIdentifier?: string;\r\n insuredId?: number;\r\n insuredName?: string | undefined;\r\n insuredSurname?: string | undefined;\r\n insuredRegistryCode?: string | undefined;\r\n\r\n constructor(data?: IClaim) {\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.reportDate = data[\"reportDate\"] ? new Date(data[\"reportDate\"].toString()) : undefined;\r\n this.type = data[\"type\"];\r\n this.policyIdentifier = data[\"policyIdentifier\"];\r\n this.insuredId = data[\"insuredId\"];\r\n this.insuredName = data[\"insuredName\"];\r\n this.insuredSurname = data[\"insuredSurname\"];\r\n this.insuredRegistryCode = data[\"insuredRegistryCode\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): Claim {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Claim();\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[\"reportDate\"] = this.reportDate ? this.reportDate.toISOString() : undefined;\r\n data[\"type\"] = this.type;\r\n data[\"policyIdentifier\"] = this.policyIdentifier;\r\n data[\"insuredId\"] = this.insuredId;\r\n data[\"insuredName\"] = this.insuredName;\r\n data[\"insuredSurname\"] = this.insuredSurname;\r\n data[\"insuredRegistryCode\"] = this.insuredRegistryCode;\r\n return data; \r\n }\r\n}\r\n\r\nexport interface IClaim {\r\n id?: string | undefined;\r\n reportDate?: Date;\r\n type?: ClaimType;\r\n policyIdentifier?: string;\r\n insuredId?: number;\r\n insuredName?: string | undefined;\r\n insuredSurname?: string | undefined;\r\n insuredRegistryCode?: string | undefined;\r\n}\r\n\r\nexport class ResultSetOfClaim implements IResultSetOfClaim {\r\n count?: number;\r\n items?: Claim[] | undefined;\r\n\r\n constructor(data?: IResultSetOfClaim) {\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.count = data[\"count\"];\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(Claim.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ResultSetOfClaim {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ResultSetOfClaim();\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[\"count\"] = this.count;\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 return data; \r\n }\r\n}\r\n\r\nfunction isJsonString(str) {\r\n try {\r\n JSON.parse(str);\r\n return true;\r\n } catch (e) {\r\n return false;\r\n }\r\n}\r\n\r\nexport interface IResultSetOfClaim {\r\n count?: number;\r\n items?: Claim[] | undefined;\r\n}\r\n\r\nexport enum InvestmentMix {\r\n Unchanged = \"Unchanged\",\r\n Different = \"Different\",\r\n}\r\n\r\nexport class ExtraPayments implements IExtraPayments {\r\n extraPaymentAmount?: number;\r\n year?: number;\r\n\r\n constructor(data?: IExtraPayments) {\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.extraPaymentAmount = data[\"extraPaymentAmount\"];\r\n this.year = data[\"year\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ExtraPayments {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ExtraPayments();\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[\"extraPaymentAmount\"] = this.extraPaymentAmount;\r\n data[\"year\"] = this.year;\r\n return data; \r\n }\r\n}\r\n\r\nexport interface IExtraPayments {\r\n extraPaymentAmount?: number;\r\n year?: number;\r\n}\r\n\r\nexport class FutureInvestmentOptions implements IFutureInvestmentOptions {\r\n investmentCode?: string | undefined;\r\n investmentPercentage?: number;\r\n\r\n constructor(data?: IFutureInvestmentOptions) {\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.investmentCode = data[\"investmentCode\"];\r\n this.investmentPercentage = data[\"investmentPercentage\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): FutureInvestmentOptions {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FutureInvestmentOptions();\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[\"investmentCode\"] = this.investmentCode;\r\n data[\"investmentPercentage\"] = this.investmentPercentage;\r\n return data; \r\n }\r\n}\r\n\r\nexport interface IFutureInvestmentOptions {\r\n investmentCode?: string | undefined;\r\n investmentPercentage?: number;\r\n}\r\n\r\nexport class ROICalculationData implements IROICalculationData {\r\n contributionType?: ContributionType;\r\n investmentMix?: InvestmentMix;\r\n yearsPeriod?: number;\r\n contributionRaisePercentage?: number;\r\n initialMonthlyContribution?: number;\r\n extraPayments?: ExtraPayments[] | undefined;\r\n futureInvestmentOptions?: FutureInvestmentOptions[] | undefined;\r\n\r\n constructor(data?: IROICalculationData) {\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.contributionType = data[\"contributionType\"];\r\n this.investmentMix = data[\"investmentMix\"];\r\n this.yearsPeriod = data[\"yearsPeriod\"];\r\n this.contributionRaisePercentage = data[\"contributionRaisePercentage\"];\r\n this.initialMonthlyContribution = data[\"initialMonthlyContribution\"];\r\n if (Array.isArray(data[\"extraPayments\"])) {\r\n this.extraPayments = [] as any;\r\n for (let item of data[\"extraPayments\"])\r\n this.extraPayments!.push(ExtraPayments.fromJS(item));\r\n }\r\n if (Array.isArray(data[\"futureInvestmentOptions\"])) {\r\n this.futureInvestmentOptions = [] as any;\r\n for (let item of data[\"futureInvestmentOptions\"])\r\n this.futureInvestmentOptions!.push(FutureInvestmentOptions.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ROICalculationData {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ROICalculationData();\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[\"contributionType\"] = this.contributionType;\r\n data[\"investmentMix\"] = this.investmentMix;\r\n data[\"yearsPeriod\"] = this.yearsPeriod;\r\n data[\"contributionRaisePercentage\"] = this.contributionRaisePercentage;\r\n data[\"initialMonthlyContribution\"] = this.initialMonthlyContribution;\r\n if (Array.isArray(this.extraPayments)) {\r\n data[\"extraPayments\"] = [];\r\n for (let item of this.extraPayments)\r\n data[\"extraPayments\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.futureInvestmentOptions)) {\r\n data[\"futureInvestmentOptions\"] = [];\r\n for (let item of this.futureInvestmentOptions)\r\n data[\"futureInvestmentOptions\"].push(item.toJSON());\r\n }\r\n return data; \r\n }\r\n}\r\n\r\nexport interface IROICalculationData {\r\n contributionType?: ContributionType;\r\n investmentMix?: InvestmentMix;\r\n yearsPeriod?: number;\r\n contributionRaisePercentage?: number;\r\n initialMonthlyContribution?: number;\r\n extraPayments?: ExtraPayments[] | undefined;\r\n futureInvestmentOptions?: FutureInvestmentOptions[] | undefined;\r\n}\r\n\r\nexport class FutureROICalculation implements IFutureROICalculation {\r\n policyIdentifier?: string;\r\n insuredId?: number;\r\n roiCalculationData?: ROICalculationData[] | undefined;\r\n\r\n constructor(data?: IFutureROICalculation) {\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.policyIdentifier = data[\"policyIdentifier\"];\r\n this.insuredId = data[\"insuredId\"];\r\n if (Array.isArray(data[\"roiCalculationData\"])) {\r\n this.roiCalculationData = [] as any;\r\n for (let item of data[\"roiCalculationData\"])\r\n this.roiCalculationData!.push(ROICalculationData.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): FutureROICalculation {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FutureROICalculation();\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[\"policyIdentifier\"] = this.policyIdentifier;\r\n data[\"insuredId\"] = this.insuredId;\r\n if (Array.isArray(this.roiCalculationData)) {\r\n data[\"roiCalculationData\"] = [];\r\n for (let item of this.roiCalculationData)\r\n data[\"roiCalculationData\"].push(item.toJSON());\r\n }\r\n return data; \r\n }\r\n}\r\n\r\nexport interface IFutureROICalculation {\r\n policyIdentifier?: string;\r\n insuredId?: number;\r\n roiCalculationData?: ROICalculationData[] | undefined;\r\n}\r\n\r\nexport class AnnualEvolution implements IAnnualEvolution {\r\n year?: number;\r\n investmentGrossValue?: number;\r\n\r\n constructor(data?: IAnnualEvolution) {\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.year = data[\"year\"];\r\n this.investmentGrossValue = data[\"investmentGrossValue\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AnnualEvolution {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AnnualEvolution();\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[\"year\"] = this.year;\r\n data[\"investmentGrossValue\"] = this.investmentGrossValue;\r\n return data; \r\n }\r\n}\r\n\r\nexport interface IAnnualEvolution {\r\n year?: number;\r\n investmentGrossValue?: number;\r\n}\r\n\r\nexport class ResultSetOfAnnualEvolution implements IResultSetOfAnnualEvolution {\r\n count?: number;\r\n items?: AnnualEvolution[] | undefined;\r\n\r\n constructor(data?: IResultSetOfAnnualEvolution) {\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.count = data[\"count\"];\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(AnnualEvolution.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ResultSetOfAnnualEvolution {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ResultSetOfAnnualEvolution();\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[\"count\"] = this.count;\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 return data; \r\n }\r\n}\r\n\r\nexport interface IResultSetOfAnnualEvolution {\r\n count?: number;\r\n items?: AnnualEvolution[] | undefined;\r\n}\r\n\r\nexport class NewInvestmentOption implements INewInvestmentOption {\r\n profileValid?: boolean;\r\n policyValid?: boolean;\r\n contributionType?: ContributionType;\r\n code?: string | undefined;\r\n description?: string | undefined;\r\n\r\n constructor(data?: INewInvestmentOption) {\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.profileValid = data[\"profileValid\"];\r\n this.policyValid = data[\"policyValid\"];\r\n this.contributionType = data[\"contributionType\"];\r\n this.code = data[\"code\"];\r\n this.description = data[\"description\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): NewInvestmentOption {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new NewInvestmentOption();\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[\"profileValid\"] = this.profileValid;\r\n data[\"policyValid\"] = this.policyValid;\r\n data[\"contributionType\"] = this.contributionType;\r\n data[\"code\"] = this.code;\r\n data[\"description\"] = this.description;\r\n return data; \r\n }\r\n}\r\n\r\nexport interface INewInvestmentOption {\r\n profileValid?: boolean;\r\n policyValid?: boolean;\r\n contributionType?: ContributionType;\r\n code?: string | undefined;\r\n description?: string | undefined;\r\n}\r\n\r\nexport class CurrentInvestmentOption implements ICurrentInvestmentOption {\r\n percentage?: number;\r\n contributionType?: ContributionType;\r\n code?: string | undefined;\r\n description?: string | undefined;\r\n\r\n constructor(data?: ICurrentInvestmentOption) {\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.percentage = data[\"percentage\"];\r\n this.contributionType = data[\"contributionType\"];\r\n this.code = data[\"code\"];\r\n this.description = data[\"description\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CurrentInvestmentOption {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CurrentInvestmentOption();\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[\"percentage\"] = this.percentage;\r\n data[\"contributionType\"] = this.contributionType;\r\n data[\"code\"] = this.code;\r\n data[\"description\"] = this.description;\r\n return data; \r\n }\r\n}\r\n\r\nexport interface ICurrentInvestmentOption {\r\n percentage?: number;\r\n contributionType?: ContributionType;\r\n code?: string | undefined;\r\n description?: string | undefined;\r\n}\r\n\r\nexport class Investment implements IInvestment {\r\n isInitialInvestment?: boolean;\r\n newOptions?: NewInvestmentOption[] | undefined;\r\n currentOptions?: CurrentInvestmentOption[] | undefined;\r\n\r\n constructor(data?: IInvestment) {\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.isInitialInvestment = data[\"isInitialInvestment\"];\r\n if (Array.isArray(data[\"newOptions\"])) {\r\n this.newOptions = [] as any;\r\n for (let item of data[\"newOptions\"])\r\n this.newOptions!.push(NewInvestmentOption.fromJS(item));\r\n }\r\n \r\n } if (Array.isArray(data[\"currentOptions\"])) {\r\n this.currentOptions = [] as any;\r\n for (let item of data[\"currentOptions\"])\r\n this.currentOptions!.push(CurrentInvestmentOption.fromJS(item));\r\n }\r\n if (Array.isArray(data[\"currentInvestmentOptions\"])) {\r\n this.currentOptions = [] as any;\r\n for (let item of data[\"currentInvestmentOptions\"])\r\n this.currentOptions!.push(CurrentInvestmentOption.fromJS(item));\r\n }\r\n }\r\n\r\n static fromJS(data: any): Investment {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Investment();\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[\"isInitialInvestment\"] = this.isInitialInvestment;\r\n if (Array.isArray(this.newOptions)) {\r\n data[\"newOptions\"] = [];\r\n for (let item of this.newOptions)\r\n data[\"newOptions\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.currentOptions)) {\r\n data[\"currentOptions\"] = [];\r\n for (let item of this.currentOptions)\r\n data[\"currentOptions\"].push(item.toJSON());\r\n }\r\n return data; \r\n }\r\n}\r\n\r\nexport interface IInvestment {\r\n isInitialInvestment?: boolean;\r\n newOptions?: NewInvestmentOption[] | undefined;\r\n currentOptions?: CurrentInvestmentOption[] | undefined;\r\n}\r\n\r\nexport class InvestmentEvolution implements IInvestmentEvolution {\r\n year?: number;\r\n roiPercentage?: number | undefined;\r\n grossAmount?: number;\r\n\r\n constructor(data?: IInvestmentEvolution) {\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.year = data[\"year\"];\r\n this.roiPercentage = data[\"roiPercentage\"];\r\n this.grossAmount = data[\"grossAmount\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): InvestmentEvolution {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new InvestmentEvolution();\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[\"year\"] = this.year;\r\n data[\"roiPercentage\"] = this.roiPercentage;\r\n data[\"grossAmount\"] = this.grossAmount;\r\n return data; \r\n }\r\n}\r\n\r\nexport interface IInvestmentEvolution {\r\n year?: number;\r\n roiPercentage?: number | undefined;\r\n grossAmount?: number;\r\n}\r\n\r\nexport class ResultSetOfInvestmentEvolution implements IResultSetOfInvestmentEvolution {\r\n count?: number;\r\n items?: InvestmentEvolution[] | undefined;\r\n\r\n constructor(data?: IResultSetOfInvestmentEvolution) {\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.count = data[\"count\"];\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(InvestmentEvolution.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ResultSetOfInvestmentEvolution {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ResultSetOfInvestmentEvolution();\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[\"count\"] = this.count;\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 return data; \r\n }\r\n}\r\n\r\nexport interface IResultSetOfInvestmentEvolution {\r\n count?: number;\r\n items?: InvestmentEvolution[] | undefined;\r\n}\r\n\r\nexport class Provision implements IProvision {\r\n policyId?: string;\r\n insuredId?: number;\r\n insuredName?: string | undefined;\r\n insuredSurname?: string | undefined;\r\n id?: number;\r\n registryNumber?: string | undefined;\r\n paymentDate?: Date;\r\n redemptionGrossAmount?: number;\r\n taxAmount?: number;\r\n warrantyContribution?: number;\r\n netAmount?: number;\r\n\r\n constructor(data?: IProvision) {\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.policyId = data[\"policyId\"];\r\n this.insuredId = data[\"insuredId\"];\r\n this.insuredName = data[\"insuredName\"];\r\n this.insuredSurname = data[\"insuredSurname\"];\r\n this.id = data[\"id\"];\r\n this.registryNumber = data[\"registryNumber\"];\r\n this.paymentDate = data[\"paymentDate\"] ? new Date(data[\"paymentDate\"].toString()) : undefined;\r\n this.redemptionGrossAmount = data[\"redemptionGrossAmount\"];\r\n this.taxAmount = data[\"taxAmount\"];\r\n this.warrantyContribution = data[\"warrantyContribution\"];\r\n this.netAmount = data[\"netAmount\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): Provision {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Provision();\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[\"policyId\"] = this.policyId;\r\n data[\"insuredId\"] = this.insuredId;\r\n data[\"insuredName\"] = this.insuredName;\r\n data[\"insuredSurname\"] = this.insuredSurname;\r\n data[\"id\"] = this.id;\r\n data[\"registryNumber\"] = this.registryNumber;\r\n data[\"paymentDate\"] = this.paymentDate ? this.paymentDate.toISOString() : undefined;\r\n data[\"redemptionGrossAmount\"] = this.redemptionGrossAmount;\r\n data[\"taxAmount\"] = this.taxAmount;\r\n data[\"warrantyContribution\"] = this.warrantyContribution;\r\n data[\"netAmount\"] = this.netAmount;\r\n return data; \r\n }\r\n}\r\n\r\nexport interface IProvision {\r\n policyId?: string;\r\n insuredId?: number;\r\n insuredName?: string | undefined;\r\n insuredSurname?: string | undefined;\r\n id?: number;\r\n registryNumber?: string | undefined;\r\n paymentDate?: Date;\r\n redemptionGrossAmount?: number;\r\n taxAmount?: number;\r\n warrantyContribution?: number;\r\n netAmount?: number;\r\n}\r\n\r\nexport class ResultSetOfProvision implements IResultSetOfProvision {\r\n count?: number;\r\n items?: Provision[] | undefined;\r\n\r\n constructor(data?: IResultSetOfProvision) {\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.count = data[\"count\"];\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(Provision.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ResultSetOfProvision {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ResultSetOfProvision();\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[\"count\"] = this.count;\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 return data; \r\n }\r\n}\r\n\r\nexport interface IResultSetOfProvision {\r\n count?: number;\r\n items?: Provision[] | undefined;\r\n}\r\n\r\nexport enum ProvisionStatusType {\r\n Applied = \"Applied\",\r\n Rejected = \"Rejected\",\r\n Approved = \"Approved\",\r\n Completed = \"Completed\",\r\n}\r\n\r\nexport enum ProvisionPaymentType {\r\n Total = \"Total\",\r\n Partial = \"Partial\",\r\n}\r\n\r\nexport enum ProvisionPaymentSort {\r\n Normal = \"Normal\",\r\n Early = \"Early\",\r\n}\r\n\r\nexport class RedemptionInvestment implements IRedemptionInvestment {\r\n contributionType?: ContributionType;\r\n productType?: InvestmentProductType;\r\n code?: string | undefined;\r\n description?: string | undefined;\r\n requestedAmount?: number;\r\n requestedDividends?: number;\r\n value?: number;\r\n maximumDividends?: number | undefined;\r\n maximumValuation?: number | undefined;\r\n\r\n constructor(data?: IRedemptionInvestment) {\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.contributionType = data[\"contributionType\"];\r\n this.productType = data[\"productType\"];\r\n this.code = data[\"code\"];\r\n this.description = data[\"description\"];\r\n this.requestedAmount = data[\"requestedAmount\"];\r\n this.requestedDividends = data[\"requestedDividends\"];\r\n this.value = data[\"value\"];\r\n this.maximumDividends = data[\"maximumDividends\"];\r\n this.maximumValuation = data[\"maximumValuation\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): RedemptionInvestment {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RedemptionInvestment();\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[\"contributionType\"] = this.contributionType;\r\n data[\"productType\"] = this.productType;\r\n data[\"code\"] = this.code;\r\n data[\"description\"] = this.description;\r\n data[\"requestedAmount\"] = this.requestedAmount;\r\n data[\"requestedDividends\"] = this.requestedDividends;\r\n data[\"value\"] = this.value;\r\n data[\"maximumDividends\"] = this.maximumDividends;\r\n data[\"maximumValuation\"] = this.maximumValuation;\r\n return data; \r\n }\r\n}\r\n\r\nexport interface IRedemptionInvestment {\r\n contributionType?: ContributionType;\r\n productType?: InvestmentProductType;\r\n code?: string | undefined;\r\n description?: string | undefined;\r\n requestedAmount?: number;\r\n requestedDividends?: number;\r\n value?: number;\r\n maximumDividends?: number | undefined;\r\n maximumValuation?: number | undefined;\r\n}\r\n\r\nexport class ProvisionApplication implements IProvisionApplication {\r\n id?: number;\r\n status?: ProvisionStatusType;\r\n registryNumber?: string | undefined;\r\n applicationDate?: Date;\r\n paymentType?: ProvisionPaymentType;\r\n paymentSort?: ProvisionPaymentSort;\r\n paymentAmount?: number | undefined;\r\n paymentDividends?: number | undefined;\r\n investments?: RedemptionInvestment[] | undefined;\r\n policyId?: string;\r\n insuredId?: number;\r\n insuredName?: string | undefined;\r\n insuredSurname?: string | undefined;\r\n\r\n constructor(data?: IProvisionApplication) {\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.status = data[\"status\"];\r\n this.registryNumber = data[\"registryNumber\"];\r\n this.applicationDate = data[\"applicationDate\"] ? new Date(data[\"applicationDate\"].toString()) : undefined;\r\n this.paymentType = data[\"paymentType\"];\r\n this.paymentSort = data[\"paymentSort\"];\r\n this.paymentAmount = data[\"paymentAmount\"];\r\n this.paymentDividends = data[\"paymentDividends\"];\r\n if (Array.isArray(data[\"investments\"])) {\r\n this.investments = [] as any;\r\n for (let item of data[\"investments\"])\r\n this.investments!.push(RedemptionInvestment.fromJS(item));\r\n }\r\n this.policyId = data[\"policyId\"];\r\n this.insuredId = data[\"insuredId\"];\r\n this.insuredName = data[\"insuredName\"];\r\n this.insuredSurname = data[\"insuredSurname\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ProvisionApplication {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ProvisionApplication();\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[\"status\"] = this.status;\r\n data[\"registryNumber\"] = this.registryNumber;\r\n data[\"applicationDate\"] = this.applicationDate ? this.applicationDate.toISOString() : undefined;\r\n data[\"paymentType\"] = this.paymentType;\r\n data[\"paymentSort\"] = this.paymentSort;\r\n data[\"paymentAmount\"] = this.paymentAmount;\r\n data[\"paymentDividends\"] = this.paymentDividends;\r\n if (Array.isArray(this.investments)) {\r\n data[\"investments\"] = [];\r\n for (let item of this.investments)\r\n data[\"investments\"].push(item.toJSON());\r\n }\r\n data[\"policyId\"] = this.policyId;\r\n data[\"insuredId\"] = this.insuredId;\r\n data[\"insuredName\"] = this.insuredName;\r\n data[\"insuredSurname\"] = this.insuredSurname;\r\n return data; \r\n }\r\n}\r\n\r\nexport interface IProvisionApplication {\r\n id?: number;\r\n status?: ProvisionStatusType;\r\n registryNumber?: string | undefined;\r\n applicationDate?: Date;\r\n paymentType?: ProvisionPaymentType;\r\n paymentSort?: ProvisionPaymentSort;\r\n paymentAmount?: number | undefined;\r\n paymentDividends?: number | undefined;\r\n investments?: RedemptionInvestment[] | undefined;\r\n policyId?: string;\r\n insuredId?: number;\r\n insuredName?: string | undefined;\r\n insuredSurname?: string | undefined;\r\n}\r\n\r\nexport class ResultSetOfProvisionApplication implements IResultSetOfProvisionApplication {\r\n count?: number;\r\n items?: ProvisionApplication[] | undefined;\r\n\r\n constructor(data?: IResultSetOfProvisionApplication) {\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.count = data[\"count\"];\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(ProvisionApplication.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ResultSetOfProvisionApplication {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ResultSetOfProvisionApplication();\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[\"count\"] = this.count;\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 return data; \r\n }\r\n}\r\n\r\nexport interface IResultSetOfProvisionApplication {\r\n count?: number;\r\n items?: ProvisionApplication[] | undefined;\r\n}\r\n\r\nexport class RedemptionApplication implements IRedemptionApplication {\r\n id?: number;\r\n status?: ProvisionStatusType;\r\n policyId?: string;\r\n applicationDate?: Date;\r\n insuredId?: number;\r\n insuredName?: string | undefined;\r\n insuredSurname?: string | undefined;\r\n registryCode?: string | undefined;\r\n paymentType?: ProvisionPaymentType;\r\n paymentSort?: ProvisionPaymentSort;\r\n investments?: RedemptionInvestment[] | undefined;\r\n\r\n constructor(data?: IRedemptionApplication) {\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.status = data[\"status\"];\r\n this.policyId = data[\"policyId\"];\r\n this.applicationDate = data[\"applicationDate\"] ? new Date(data[\"applicationDate\"].toString()) : undefined;\r\n this.insuredId = data[\"insuredId\"];\r\n this.insuredName = data[\"insuredName\"];\r\n this.insuredSurname = data[\"insuredSurname\"];\r\n this.registryCode = data[\"registryCode\"];\r\n this.paymentType = data[\"paymentType\"];\r\n this.paymentSort = data[\"paymentSort\"];\r\n if (Array.isArray(data[\"investments\"])) {\r\n this.investments = [] as any;\r\n for (let item of data[\"investments\"])\r\n this.investments!.push(RedemptionInvestment.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): RedemptionApplication {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RedemptionApplication();\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[\"status\"] = this.status;\r\n data[\"policyId\"] = this.policyId;\r\n data[\"applicationDate\"] = this.applicationDate ? this.applicationDate.toISOString() : undefined;\r\n data[\"insuredId\"] = this.insuredId;\r\n data[\"insuredName\"] = this.insuredName;\r\n data[\"insuredSurname\"] = this.insuredSurname;\r\n data[\"registryCode\"] = this.registryCode;\r\n data[\"paymentType\"] = this.paymentType;\r\n data[\"paymentSort\"] = this.paymentSort;\r\n if (Array.isArray(this.investments)) {\r\n data[\"investments\"] = [];\r\n for (let item of this.investments)\r\n data[\"investments\"].push(item.toJSON());\r\n }\r\n return data; \r\n }\r\n}\r\n\r\nexport interface IRedemptionApplication {\r\n id?: number;\r\n status?: ProvisionStatusType;\r\n policyId?: string;\r\n applicationDate?: Date;\r\n insuredId?: number;\r\n insuredName?: string | undefined;\r\n insuredSurname?: string | undefined;\r\n registryCode?: string | undefined;\r\n paymentType?: ProvisionPaymentType;\r\n paymentSort?: ProvisionPaymentSort;\r\n investments?: RedemptionInvestment[] | undefined;\r\n}\r\n\r\nexport class ResultSetOfRedemptionApplication implements IResultSetOfRedemptionApplication {\r\n count?: number;\r\n items?: RedemptionApplication[] | undefined;\r\n\r\n constructor(data?: IResultSetOfRedemptionApplication) {\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.count = data[\"count\"];\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(RedemptionApplication.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ResultSetOfRedemptionApplication {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ResultSetOfRedemptionApplication();\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[\"count\"] = this.count;\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 return data; \r\n }\r\n}\r\n\r\nexport interface IResultSetOfRedemptionApplication {\r\n count?: number;\r\n items?: RedemptionApplication[] | undefined;\r\n}\r\n\r\nexport class RedemptionApplicationCreateRequest implements IRedemptionApplicationCreateRequest {\r\n paymentType?: ProvisionPaymentType;\r\n investments?: RedemptionInvestment[] | undefined;\r\n\r\n constructor(data?: IRedemptionApplicationCreateRequest) {\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.paymentType = data[\"paymentType\"];\r\n if (Array.isArray(data[\"investments\"])) {\r\n this.investments = [] as any;\r\n for (let item of data[\"investments\"])\r\n this.investments!.push(RedemptionInvestment.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): RedemptionApplicationCreateRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RedemptionApplicationCreateRequest();\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[\"paymentType\"] = this.paymentType;\r\n if (Array.isArray(this.investments)) {\r\n data[\"investments\"] = [];\r\n for (let item of this.investments)\r\n data[\"investments\"].push(item.toJSON());\r\n }\r\n return data; \r\n }\r\n}\r\n\r\nexport interface IRedemptionApplicationCreateRequest {\r\n paymentType?: ProvisionPaymentType;\r\n investments?: RedemptionInvestment[] | undefined;\r\n}\r\n\r\nexport enum SwitchType {\r\n Current = \"Current\",\r\n Future = \"Future\",\r\n}\r\n\r\nexport class InvestmentSwitchDetail implements IInvestmentSwitchDetail {\r\n id?: number;\r\n switchId?: number;\r\n contributionType?: ContributionType;\r\n investmentId?: string | undefined;\r\n investmentCode?: string | undefined;\r\n investmentDescription?: string | undefined;\r\n percentage?: number;\r\n\r\n constructor(data?: IInvestmentSwitchDetail) {\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.switchId = data[\"switchId\"];\r\n this.contributionType = data[\"contributionType\"];\r\n this.investmentId = data[\"investmentId\"];\r\n this.investmentCode = data[\"investmentCode\"];\r\n this.investmentDescription = data[\"investmentDescription\"];\r\n this.percentage = data[\"percentage\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): InvestmentSwitchDetail {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new InvestmentSwitchDetail();\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[\"switchId\"] = this.switchId;\r\n data[\"contributionType\"] = this.contributionType;\r\n data[\"investmentId\"] = this.investmentId;\r\n data[\"investmentCode\"] = this.investmentCode;\r\n data[\"investmentDescription\"] = this.investmentDescription;\r\n data[\"percentage\"] = this.percentage;\r\n return data; \r\n }\r\n}\r\n\r\nexport interface IInvestmentSwitchDetail {\r\n id?: number;\r\n switchId?: number;\r\n contributionType?: ContributionType;\r\n investmentId?: string | undefined;\r\n investmentCode?: string | undefined;\r\n investmentDescription?: string | undefined;\r\n percentage?: number;\r\n}\r\n\r\nexport class InvestmentSwitch implements IInvestmentSwitch {\r\n id?: number;\r\n type?: SwitchType;\r\n switchDate?: Date;\r\n switches?: InvestmentSwitchDetail[] | undefined;\r\n\r\n constructor(data?: IInvestmentSwitch) {\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.type = data[\"type\"];\r\n this.switchDate = data[\"switchDate\"] ? new Date(data[\"switchDate\"].toString()) : undefined;\r\n if (Array.isArray(data[\"switches\"])) {\r\n this.switches = [] as any;\r\n for (let item of data[\"switches\"])\r\n this.switches!.push(InvestmentSwitchDetail.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): InvestmentSwitch {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new InvestmentSwitch();\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[\"type\"] = this.type;\r\n data[\"switchDate\"] = this.switchDate ? this.switchDate.toISOString() : undefined;\r\n if (Array.isArray(this.switches)) {\r\n data[\"switches\"] = [];\r\n for (let item of this.switches)\r\n data[\"switches\"].push(item.toJSON());\r\n }\r\n return data; \r\n }\r\n}\r\n\r\nexport interface IInvestmentSwitch {\r\n id?: number;\r\n type?: SwitchType;\r\n switchDate?: Date;\r\n switches?: InvestmentSwitchDetail[] | undefined;\r\n}\r\n\r\nexport class ResultSetOfInvestmentSwitch implements IResultSetOfInvestmentSwitch {\r\n count?: number;\r\n items?: InvestmentSwitch[] | undefined;\r\n\r\n constructor(data?: IResultSetOfInvestmentSwitch) {\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.count = data[\"count\"];\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(InvestmentSwitch.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ResultSetOfInvestmentSwitch {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ResultSetOfInvestmentSwitch();\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[\"count\"] = this.count;\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 return data; \r\n }\r\n}\r\n\r\nexport interface IResultSetOfInvestmentSwitch {\r\n count?: number;\r\n items?: InvestmentSwitch[] | undefined;\r\n}\r\n\r\nexport class InvestmentSwitchDetailCreateRequest implements IInvestmentSwitchDetailCreateRequest {\r\n contributionType?: ContributionType;\r\n investmentId?: string | undefined;\r\n investmentCode?: string | undefined;\r\n investmentDescription?: string | undefined;\r\n percentage?: number;\r\n\r\n constructor(data?: IInvestmentSwitchDetailCreateRequest) {\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.contributionType = data[\"contributionType\"];\r\n this.investmentId = data[\"investmentId\"];\r\n this.investmentCode = data[\"investmentCode\"];\r\n this.investmentDescription = data[\"investmentDescription\"];\r\n this.percentage = data[\"percentage\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): InvestmentSwitchDetailCreateRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new InvestmentSwitchDetailCreateRequest();\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[\"contributionType\"] = this.contributionType;\r\n data[\"investmentId\"] = this.investmentId;\r\n data[\"investmentCode\"] = this.investmentCode;\r\n data[\"investmentDescription\"] = this.investmentDescription;\r\n data[\"percentage\"] = this.percentage;\r\n return data; \r\n }\r\n}\r\n\r\nexport interface IInvestmentSwitchDetailCreateRequest {\r\n contributionType?: ContributionType;\r\n investmentId?: string | undefined;\r\n investmentCode?: string | undefined;\r\n investmentDescription?: string | undefined;\r\n percentage?: number;\r\n}\r\n\r\nexport class InvestmentSwitchCreateRequest implements IInvestmentSwitchCreateRequest {\r\n type?: SwitchType;\r\n switches?: InvestmentSwitchDetailCreateRequest[] | undefined;\r\n\r\n constructor(data?: IInvestmentSwitchCreateRequest) {\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[\"switches\"])) {\r\n this.switches = [] as any;\r\n for (let item of data[\"switches\"])\r\n this.switches!.push(InvestmentSwitchDetailCreateRequest.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): InvestmentSwitchCreateRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new InvestmentSwitchCreateRequest();\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.switches)) {\r\n data[\"switches\"] = [];\r\n for (let item of this.switches)\r\n data[\"switches\"].push(item.toJSON());\r\n }\r\n return data; \r\n }\r\n}\r\n\r\nexport interface IInvestmentSwitchCreateRequest {\r\n type?: SwitchType;\r\n switches?: InvestmentSwitchDetailCreateRequest[] | undefined;\r\n}\r\n\r\nexport enum FinancialTransactionType {\r\n Contribution = \"Contribution\",\r\n Redemption = \"Redemption\",\r\n}\r\n\r\nexport class Transaction implements ITransaction {\r\n id?: string | undefined;\r\n transactionType?: FinancialTransactionType;\r\n contributionType?: ContributionType;\r\n transactionDate?: Date;\r\n readonly grossAmount?: number;\r\n readonly netAmount?: number;\r\n investedAmount?: number;\r\n commissionAmount?: number;\r\n paymentPercentage?: number;\r\n preTaxAmount?: number;\r\n noTaxAmount?: number;\r\n taxedAmount?: number;\r\n\r\n constructor(data?: ITransaction) {\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.transactionType = data[\"transactionType\"];\r\n this.contributionType = data[\"contributionType\"];\r\n this.transactionDate = data[\"transactionDate\"] ? new Date(data[\"transactionDate\"].toString()) : undefined;\r\n (this).grossAmount = data[\"grossAmount\"];\r\n (this).netAmount = data[\"netAmount\"];\r\n this.investedAmount = data[\"investedAmount\"];\r\n this.commissionAmount = data[\"commissionAmount\"];\r\n this.paymentPercentage = data[\"paymentPercentage\"];\r\n this.preTaxAmount = data[\"preTaxAmount\"];\r\n this.noTaxAmount = data[\"noTaxAmount\"];\r\n this.taxedAmount = data[\"taxedAmount\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): Transaction {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Transaction();\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[\"transactionType\"] = this.transactionType;\r\n data[\"contributionType\"] = this.contributionType;\r\n data[\"transactionDate\"] = this.transactionDate ? this.transactionDate.toISOString() : undefined;\r\n data[\"grossAmount\"] = this.grossAmount;\r\n data[\"netAmount\"] = this.netAmount;\r\n data[\"investedAmount\"] = this.investedAmount;\r\n data[\"commissionAmount\"] = this.commissionAmount;\r\n data[\"paymentPercentage\"] = this.paymentPercentage;\r\n data[\"preTaxAmount\"] = this.preTaxAmount;\r\n data[\"noTaxAmount\"] = this.noTaxAmount;\r\n data[\"taxedAmount\"] = this.taxedAmount;\r\n return data; \r\n }\r\n}\r\n\r\nexport interface ITransaction {\r\n id?: string | undefined;\r\n transactionType?: FinancialTransactionType;\r\n contributionType?: ContributionType;\r\n transactionDate?: Date;\r\n grossAmount?: number;\r\n netAmount?: number;\r\n investedAmount?: number;\r\n commissionAmount?: number;\r\n paymentPercentage?: number;\r\n preTaxAmount?: number;\r\n noTaxAmount?: number;\r\n taxedAmount?: number;\r\n}\r\n\r\nexport class ResultSetOfTransaction implements IResultSetOfTransaction {\r\n count?: number;\r\n items?: Transaction[] | undefined;\r\n\r\n constructor(data?: IResultSetOfTransaction) {\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.count = data[\"count\"];\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(Transaction.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ResultSetOfTransaction {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ResultSetOfTransaction();\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[\"count\"] = this.count;\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 return data; \r\n }\r\n}\r\n\r\nexport interface IResultSetOfTransaction {\r\n count?: number;\r\n items?: Transaction[] | undefined;\r\n}\r\n\r\nexport enum InvitationType {\r\n All = \"All\",\r\n AllNew = \"AllNew\",\r\n Resend = \"Resend\",\r\n Selected = \"Selected\",\r\n}\r\n\r\nexport class InvitationsRequest implements IInvitationsRequest {\r\n insuredUsers?: Insured[] | undefined;\r\n invitationType?: InvitationType;\r\n\r\n constructor(data?: IInvitationsRequest) {\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[\"insuredUsers\"])) {\r\n this.insuredUsers = [] as any;\r\n for (let item of data[\"insuredUsers\"])\r\n this.insuredUsers!.push(Insured.fromJS(item));\r\n }\r\n this.invitationType = data[\"invitationType\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): InvitationsRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new InvitationsRequest();\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.insuredUsers)) {\r\n data[\"insuredUsers\"] = [];\r\n for (let item of this.insuredUsers)\r\n data[\"insuredUsers\"].push(item.toJSON());\r\n }\r\n data[\"invitationType\"] = this.invitationType;\r\n return data; \r\n }\r\n}\r\n\r\nexport interface IInvitationsRequest {\r\n insuredUsers?: Insured[] | undefined;\r\n invitationType?: InvitationType;\r\n}\r\n\r\nexport enum Grant {\r\n None = \"None\",\r\n InsuredView = \"InsuredView\",\r\n InsuredViewDetailed = \"InsuredViewDetailed\",\r\n PolicyView = \"PolicyView\",\r\n PolicyViewDetailed = \"PolicyViewDetailed\",\r\n InsuredAction = \"InsuredAction\",\r\n PolicyAction = \"PolicyAction\",\r\n Invite = \"Invite\",\r\n Questionnaire = \"Questionnaire\",\r\n PolicyDocumentView = \"PolicyDocumentView\",\r\n Member = \"Member\",\r\n Hr = \"Hr\",\r\n Backoffice = \"Backoffice\",\r\n Admin = \"Admin\",\r\n}\r\n\r\nexport declare type AccessLevel = 'Owner' | 'Contributor' | 'Member' | 'ViewOnlyAdmin' | 'Hr' | 'Backoffice' | 'Admin' | 'OwnerWithClaimRights';\r\n\r\nexport class PolicyManager implements IPolicyManager {\r\n id?: string | undefined;\r\n insuredId?: number;\r\n referenceNumber?: string | undefined;\r\n grant?: Grant;\r\n isInsured?: boolean;\r\n email?: string | undefined;\r\n userId?: string | undefined;\r\n startDate?: Date | undefined;\r\n endDate?: Date | undefined;\r\n firstName?: string | undefined;\r\n surName?: string | undefined;\r\n accessLevel?: AccessLevel;\r\n policyId?: string | undefined;\r\n\r\n constructor(data?: IPolicyManager) {\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.insuredId = data[\"insuredId\"];\r\n this.referenceNumber = data[\"referenceNumber\"];\r\n this.grant = data[\"grant\"];\r\n this.isInsured = data[\"isInsured\"];\r\n this.email = data[\"email\"];\r\n this.firstName = data[\"firstName\"];\r\n this.surName = data[\"surName\"];\r\n this.userId = data[\"userId\"];\r\n this.accessLevel = data[\"accessLevel\"];\r\n this.policyId = data[\"policyId\"];\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 }\r\n }\r\n\r\n static fromJS(data: any): PolicyManager {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PolicyManager();\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[\"insuredId\"] = this.insuredId;\r\n data[\"referenceNumber\"] = this.referenceNumber;\r\n data[\"grant\"] = this.grant;\r\n data[\"isInsured\"] = this.isInsured;\r\n data[\"email\"] = this.email;\r\n data[\"firstName\"] = this.firstName;\r\n data[\"surName\"] = this.surName;\r\n data[\"userId\"] = this.userId;\r\n data[\"accessLevel\"] = this.accessLevel;\r\n data[\"policyId\"] = this.policyId;\r\n data[\"startDate\"] = this.startDate ? this.startDate.toISOString() : undefined;\r\n data[\"endDate\"] = this.endDate ? this.endDate.toISOString() : undefined;\r\n return data; \r\n }\r\n}\r\n\r\nexport interface IPolicyManager {\r\n id?: string | undefined;\r\n insuredId?: number;\r\n referenceNumber?: string | undefined;\r\n grant?: Grant;\r\n isInsured?: boolean;\r\n email?: string | undefined;\r\n userId?: string | undefined;\r\n startDate?: Date | undefined;\r\n endDate?: Date | undefined;\r\n firstName?: string | undefined;\r\n surName?: string | undefined;\r\n accessLevel?: AccessLevel;\r\n policyId?: string | undefined;\r\n}\r\n\r\nexport enum ProvisionApprovalType {\r\n Undefined = \"Undefined\",\r\n Reject = \"Reject\",\r\n Approve = \"Approve\",\r\n}\r\n\r\nexport class ProvisionApplicationStatusChangeRequest implements IProvisionApplicationStatusChangeRequest {\r\n approvalType!: ProvisionApprovalType;\r\n remarks?: string | undefined;\r\n\r\n constructor(data?: IProvisionApplicationStatusChangeRequest) {\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.approvalType = data[\"approvalType\"];\r\n this.remarks = data[\"remarks\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ProvisionApplicationStatusChangeRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ProvisionApplicationStatusChangeRequest();\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[\"approvalType\"] = this.approvalType;\r\n data[\"remarks\"] = this.remarks;\r\n return data; \r\n }\r\n}\r\n\r\nexport interface IProvisionApplicationStatusChangeRequest {\r\n approvalType: ProvisionApprovalType;\r\n remarks?: string | undefined;\r\n}\r\n\r\nexport class QuestionnaireDetailRequest implements IQuestionnaireDetailRequest {\r\n setupItemId!: string;\r\n listTypeId?: string | undefined;\r\n listValue?: number | undefined;\r\n textValue?: string | undefined;\r\n numericValue?: number | undefined;\r\n dateValue?: Date | undefined;\r\n\r\n constructor(data?: IQuestionnaireDetailRequest) {\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.setupItemId = data[\"setupItemId\"];\r\n this.listTypeId = data[\"listTypeId\"];\r\n this.listValue = data[\"listValue\"];\r\n this.textValue = data[\"textValue\"];\r\n this.numericValue = data[\"numericValue\"];\r\n this.dateValue = data[\"dateValue\"] ? new Date(data[\"dateValue\"].toString()) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): QuestionnaireDetailRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new QuestionnaireDetailRequest();\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[\"setupItemId\"] = this.setupItemId;\r\n data[\"listTypeId\"] = this.listTypeId;\r\n data[\"listValue\"] = this.listValue;\r\n data[\"textValue\"] = this.textValue;\r\n data[\"numericValue\"] = this.numericValue;\r\n data[\"dateValue\"] = this.dateValue ? this.dateValue.toISOString() : undefined;\r\n return data; \r\n }\r\n}\r\n\r\nexport interface IQuestionnaireDetailRequest {\r\n setupItemId: string;\r\n listTypeId?: string | undefined;\r\n listValue?: number | undefined;\r\n textValue?: string | undefined;\r\n numericValue?: number | undefined;\r\n dateValue?: Date | undefined;\r\n}\r\n\r\nexport class QuestionnaireRequest implements IQuestionnaireRequest {\r\n QuestionnaireGroupTypes!: string;\r\n detailItems?: QuestionnaireDetailRequest[] | undefined;\r\n\r\n constructor(data?: IQuestionnaireRequest) {\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.QuestionnaireGroupTypes = data[\"QuestionnaireGroupTypes\"];\r\n if (Array.isArray(data[\"detailItems\"])) {\r\n this.detailItems = [] as any;\r\n for (let item of data[\"detailItems\"])\r\n this.detailItems!.push(QuestionnaireDetailRequest.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): QuestionnaireRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new QuestionnaireRequest();\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[\"QuestionnaireGroupTypes\"] = this.QuestionnaireGroupTypes;\r\n if (Array.isArray(this.detailItems)) {\r\n data[\"detailItems\"] = [];\r\n for (let item of this.detailItems)\r\n !isJsonString(item)? data[\"detailItems\"].push(item): data[\"detailItems\"].push(item.toJSON());\r\n }\r\n return data; \r\n }\r\n}\r\n\r\nexport interface IQuestionnaireRequest {\r\n QuestionnaireGroupTypes: string;\r\n detailItems?: QuestionnaireDetailRequest[] | undefined;\r\n}\r\n\r\nexport enum CustomerRelationType {\r\n Invalid = \"Invalid\",\r\n Application = \"Application\",\r\n PolicyNumber = \"PolicyNumber\",\r\n}\r\n\r\nexport enum RiskQuestionnaireFormGroupStatus {\r\n Invalid = \"Invalid\",\r\n Saved = \"Saved\",\r\n Completed = \"Completed\",\r\n}\r\n\r\nexport class QuestionnaireCustomerCardDetail implements IQuestionnaireCustomerCardDetail {\r\n id?: string | undefined;\r\n cardId?: string | undefined;\r\n setupItemId?: string | undefined;\r\n listTypeId?: string | undefined;\r\n listValue?: number | undefined;\r\n textValue?: string | undefined;\r\n numericValue?: number | undefined;\r\n dateValue?: Date | undefined;\r\n\r\n constructor(data?: IQuestionnaireCustomerCardDetail) {\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.cardId = data[\"cardId\"];\r\n this.setupItemId = data[\"setupItemId\"];\r\n this.listTypeId = data[\"listTypeId\"];\r\n this.listValue = data[\"listValue\"];\r\n this.textValue = data[\"textValue\"];\r\n this.numericValue = data[\"numericValue\"];\r\n this.dateValue = data[\"dateValue\"] ? new Date(data[\"dateValue\"].toString()) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): QuestionnaireCustomerCardDetail {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new QuestionnaireCustomerCardDetail();\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[\"cardId\"] = this.cardId;\r\n data[\"setupItemId\"] = this.setupItemId;\r\n data[\"listTypeId\"] = this.listTypeId;\r\n data[\"listValue\"] = this.listValue;\r\n data[\"textValue\"] = this.textValue;\r\n data[\"numericValue\"] = this.numericValue;\r\n data[\"dateValue\"] = this.dateValue ? this.dateValue.toISOString() : undefined;\r\n return data; \r\n }\r\n}\r\n\r\nexport interface IQuestionnaireCustomerCardDetail {\r\n id?: string | undefined;\r\n cardId?: string | undefined;\r\n setupItemId?: string | undefined;\r\n listTypeId?: string | undefined;\r\n listValue?: number | undefined;\r\n textValue?: string | undefined;\r\n numericValue?: number | undefined;\r\n dateValue?: Date | undefined;\r\n}\r\n\r\nexport class QuestionnaireCustomerCard implements IQuestionnaireCustomerCard {\r\n id?: string | undefined;\r\n groupId?: string | undefined;\r\n customerCompany?: number;\r\n customerGroup?: number;\r\n customerCode?: number;\r\n customerObjectRelation?: CustomerRelationType;\r\n insuranceObjectCompany?: number;\r\n insuranceObjectGroup?: number;\r\n insuranceObjectId?: number;\r\n insuranceObjectCode?: number;\r\n customerInuranceObjectRelation?: CustomerRelationType;\r\n originObjectCompany?: number;\r\n originObjectGroup?: number;\r\n originObjectId?: number;\r\n customerCardStatus?: RiskQuestionnaireFormGroupStatus;\r\n finalizeDate?: Date | undefined;\r\n finalizeUser?: string | undefined;\r\n insertDate?: Date | undefined;\r\n insertUser?: string | undefined;\r\n insertTransactionCode?: string | undefined;\r\n insertOperatingSystemUser?: string | undefined;\r\n insertClientIp?: string | undefined;\r\n updateDate?: Date | undefined;\r\n updateUser?: string | undefined;\r\n updateTransactionCode?: string | undefined;\r\n updateOperatingSystemUser?: string | undefined;\r\n updateClientIp?: string | undefined;\r\n detailItems?: QuestionnaireCustomerCardDetail[] | undefined;\r\n\r\n constructor(data?: IQuestionnaireCustomerCard) {\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.groupId = data[\"groupId\"];\r\n this.customerCompany = data[\"customerCompany\"];\r\n this.customerGroup = data[\"customerGroup\"];\r\n this.customerCode = data[\"customerCode\"];\r\n this.customerObjectRelation = data[\"customerObjectRelation\"];\r\n this.insuranceObjectCompany = data[\"insuranceObjectCompany\"];\r\n this.insuranceObjectGroup = data[\"insuranceObjectGroup\"];\r\n this.insuranceObjectId = data[\"insuranceObjectId\"];\r\n this.insuranceObjectCode = data[\"insuranceObjectCode\"];\r\n this.customerInuranceObjectRelation = data[\"customerInuranceObjectRelation\"];\r\n this.originObjectCompany = data[\"originObjectCompany\"];\r\n this.originObjectGroup = data[\"originObjectGroup\"];\r\n this.originObjectId = data[\"originObjectId\"];\r\n this.customerCardStatus = data[\"customerCardStatus\"];\r\n this.finalizeDate = data[\"finalizeDate\"] ? new Date(data[\"finalizeDate\"].toString()) : undefined;\r\n this.finalizeUser = data[\"finalizeUser\"];\r\n this.insertDate = data[\"insertDate\"] ? new Date(data[\"insertDate\"].toString()) : undefined;\r\n this.insertUser = data[\"insertUser\"];\r\n this.insertTransactionCode = data[\"insertTransactionCode\"];\r\n this.insertOperatingSystemUser = data[\"insertOperatingSystemUser\"];\r\n this.insertClientIp = data[\"insertClientIp\"];\r\n this.updateDate = data[\"updateDate\"] ? new Date(data[\"updateDate\"].toString()) : undefined;\r\n this.updateUser = data[\"updateUser\"];\r\n this.updateTransactionCode = data[\"updateTransactionCode\"];\r\n this.updateOperatingSystemUser = data[\"updateOperatingSystemUser\"];\r\n this.updateClientIp = data[\"updateClientIp\"];\r\n if (Array.isArray(data[\"detailItems\"])) {\r\n this.detailItems = [] as any;\r\n for (let item of data[\"detailItems\"])\r\n this.detailItems!.push(QuestionnaireCustomerCardDetail.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): QuestionnaireCustomerCard {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new QuestionnaireCustomerCard();\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[\"groupId\"] = this.groupId;\r\n data[\"customerCompany\"] = this.customerCompany;\r\n data[\"customerGroup\"] = this.customerGroup;\r\n data[\"customerCode\"] = this.customerCode;\r\n data[\"customerObjectRelation\"] = this.customerObjectRelation;\r\n data[\"insuranceObjectCompany\"] = this.insuranceObjectCompany;\r\n data[\"insuranceObjectGroup\"] = this.insuranceObjectGroup;\r\n data[\"insuranceObjectId\"] = this.insuranceObjectId;\r\n data[\"insuranceObjectCode\"] = this.insuranceObjectCode;\r\n data[\"customerInuranceObjectRelation\"] = this.customerInuranceObjectRelation;\r\n data[\"originObjectCompany\"] = this.originObjectCompany;\r\n data[\"originObjectGroup\"] = this.originObjectGroup;\r\n data[\"originObjectId\"] = this.originObjectId;\r\n data[\"customerCardStatus\"] = this.customerCardStatus;\r\n data[\"finalizeDate\"] = this.finalizeDate ? this.finalizeDate.toISOString() : undefined;\r\n data[\"finalizeUser\"] = this.finalizeUser;\r\n data[\"insertDate\"] = this.insertDate ? this.insertDate.toISOString() : undefined;\r\n data[\"insertUser\"] = this.insertUser;\r\n data[\"insertTransactionCode\"] = this.insertTransactionCode;\r\n data[\"insertOperatingSystemUser\"] = this.insertOperatingSystemUser;\r\n data[\"insertClientIp\"] = this.insertClientIp;\r\n data[\"updateDate\"] = this.updateDate ? this.updateDate.toISOString() : undefined;\r\n data[\"updateUser\"] = this.updateUser;\r\n data[\"updateTransactionCode\"] = this.updateTransactionCode;\r\n data[\"updateOperatingSystemUser\"] = this.updateOperatingSystemUser;\r\n data[\"updateClientIp\"] = this.updateClientIp;\r\n if (Array.isArray(this.detailItems)) {\r\n data[\"detailItems\"] = [];\r\n for (let item of this.detailItems)\r\n data[\"detailItems\"].push(item.toJSON());\r\n }\r\n return data; \r\n }\r\n}\r\n\r\nexport interface IQuestionnaireCustomerCard {\r\n id?: string | undefined;\r\n groupId?: string | undefined;\r\n customerCompany?: number;\r\n customerGroup?: number;\r\n customerCode?: number;\r\n customerObjectRelation?: CustomerRelationType;\r\n insuranceObjectCompany?: number;\r\n insuranceObjectGroup?: number;\r\n insuranceObjectId?: number;\r\n insuranceObjectCode?: number;\r\n customerInuranceObjectRelation?: CustomerRelationType;\r\n originObjectCompany?: number;\r\n originObjectGroup?: number;\r\n originObjectId?: number;\r\n customerCardStatus?: RiskQuestionnaireFormGroupStatus;\r\n finalizeDate?: Date | undefined;\r\n finalizeUser?: string | undefined;\r\n insertDate?: Date | undefined;\r\n insertUser?: string | undefined;\r\n insertTransactionCode?: string | undefined;\r\n insertOperatingSystemUser?: string | undefined;\r\n insertClientIp?: string | undefined;\r\n updateDate?: Date | undefined;\r\n updateUser?: string | undefined;\r\n updateTransactionCode?: string | undefined;\r\n updateOperatingSystemUser?: string | undefined;\r\n updateClientIp?: string | undefined;\r\n detailItems?: QuestionnaireCustomerCardDetail[] | undefined;\r\n}\r\n\r\nexport class QuestionnaireApprovalRequest implements IQuestionnaireApprovalRequest {\r\n disclaimer?: QuestionnaireDisclaimerType;\r\n\r\n constructor(data?: IQuestionnaireApprovalRequest) {\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.disclaimer = data[\"disclaimer\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): QuestionnaireApprovalRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new QuestionnaireApprovalRequest();\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[\"disclaimer\"] = this.disclaimer;\r\n return data; \r\n }\r\n}\r\n\r\nexport interface IQuestionnaireApprovalRequest {\r\n disclaimer?: QuestionnaireDisclaimerType;\r\n}\r\n\r\nexport class Receipt implements IReceipt {\r\n id?: string;\r\n policyId?: string;\r\n issueDate?: Date;\r\n paymentDate?: Date;\r\n paymentDueDate?: Date;\r\n readonly isPaid?: boolean;\r\n grossAmount?: number;\r\n\r\n constructor(data?: IReceipt) {\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.policyId = data[\"policyId\"];\r\n this.issueDate = data[\"issueDate\"] ? new Date(data[\"issueDate\"].toString()) : undefined;\r\n this.paymentDate = data[\"paymentDate\"] ? new Date(data[\"paymentDate\"].toString()) : undefined;\r\n this.paymentDueDate = data[\"paymentDueDate\"] ? new Date(data[\"paymentDueDate\"].toString()) : undefined;\r\n (this).isPaid = data[\"isPaid\"];\r\n this.grossAmount = data[\"grossAmount\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): Receipt {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Receipt();\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[\"policyId\"] = this.policyId;\r\n data[\"issueDate\"] = this.issueDate ? this.issueDate.toISOString() : undefined;\r\n data[\"paymentDate\"] = this.paymentDate ? this.paymentDate.toISOString() : undefined;\r\n data[\"paymentDueDate\"] = this.paymentDueDate ? this.paymentDueDate.toISOString() : undefined;\r\n data[\"isPaid\"] = this.isPaid;\r\n data[\"grossAmount\"] = this.grossAmount;\r\n return data; \r\n }\r\n}\r\n\r\nexport interface IReceipt {\r\n id?: string;\r\n policyId?: string;\r\n issueDate?: Date;\r\n paymentDate?: Date;\r\n paymentDueDate?: Date;\r\n isPaid?: boolean;\r\n grossAmount?: number;\r\n}\r\n\r\nexport class ResultSetOfReceipt implements IResultSetOfReceipt {\r\n count?: number;\r\n items?: Receipt[] | undefined;\r\n\r\n constructor(data?: IResultSetOfReceipt) {\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.count = data[\"count\"];\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(Receipt.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ResultSetOfReceipt {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ResultSetOfReceipt();\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[\"count\"] = this.count;\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 return data; \r\n }\r\n}\r\n\r\nexport interface IResultSetOfReceipt {\r\n count?: number;\r\n items?: Receipt[] | undefined;\r\n}\r\n\r\nexport class ApiException extends Error {\r\n message: string;\r\n status: number; \r\n response: string; \r\n headers: { [key: string]: any; };\r\n result: any; \r\n\r\n constructor(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 isApiException = true;\r\n\r\n static isApiException(obj: any): obj is ApiException {\r\n return obj.isApiException === true;\r\n }\r\n}\r\n\r\nfunction throwException(message: string, status: number, response: string, headers: { [key: string]: any; }, result?: any): Observable {\r\n return _observableThrow(new ApiException(message, status, response, headers, result));\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).result);\r\n observer.complete();\r\n };\r\n reader.readAsText(blob); \r\n }\r\n });\r\n}","export default \"
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\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 { PolicyInvestment, InvestmentProductType, RedemptionApplicationCreateRequest, ProvisionPaymentType, RedemptionInvestment } from 'src/app/core/services/daf-api.service';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { PolicyService, DafApiClient, NotificationService } from 'src/app/core/services';\r\nimport { Validators, FormBuilder } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'app-daf-buy-out',\r\n templateUrl: './daf-buy-out.component.html'\r\n})\r\nexport class DafBuyOutComponent implements OnInit {\r\n investments: PolicyInvestment[] = [];\r\n redemptiomForms = [];\r\n validForms = true;\r\n public busy = false;\r\n requestedAmountSum = 0;\r\n errorMessages = [];\r\n\r\n constructor(public policyService: PolicyService, private dafApiClient: DafApiClient, private fb: FormBuilder, protected notificationService: NotificationService) { }\r\n\r\n ngOnInit(): void {\r\n this.getInvestments(false);\r\n }\r\n\r\n public getInvestments(liveValuations: boolean) {\r\n this.dafApiClient.getInsured(this.policyService.selectedPolicy.id, this.policyService.dafSelectedMember.insuredId, liveValuations).subscribe(response => {\r\n this.investments = response.summary.investmentSummary.investments;\r\n this.investments.forEach((i, index) => {\r\n this.investments[index].maximumRedemptionGrossAmount = Math.round(( this.investments[index].maximumRedemptionGrossAmount + Number.EPSILON ) * 100 ) / 100;\r\n var maximumRedemptionValuation = this.investments[index].maximumRedemptionGrossAmount;\r\n // var maximumRedemptionValuation = this.investments[index].productType === InvestmentProductType.Monetary ?\r\n // this.investments[index].maximumRedemptionGrossAmount :\r\n // this.investments[index].maximumRedemptionDividends*this.investments[index].dividendValue;\r\n this.redemptiomForms[index] = this.fb.group({\r\n requestedAmount: [null, Validators.compose([Validators.max(maximumRedemptionValuation), Validators.min(0)])],\r\n value: [null]\r\n });\r\n this.investments[index].maximumRedemptionValuation = maximumRedemptionValuation;\r\n });\r\n }, (error) => console.log('DafFutureReturnsCalculationComponent', error));\r\n }\r\n\r\n onSelect(event) {\r\n console.log(event);\r\n }\r\n\r\n public gotoMemberProfile() {\r\n const url = `daf-policy/${this.policyService.selectedPolicy.id}/members/${this.policyService.dafSelectedMember.id}`;\r\n this.policyService.navigate([url]);\r\n }\r\n\r\n public calcGrossValue($event, rowIndex) {\r\n let value = this.investments[rowIndex].productType === InvestmentProductType.Monetary ?\r\n $event.target.value :\r\n $event.target.value / this.investments[rowIndex].dividendValue;\r\n this.redemptiomForms[rowIndex].controls['value'].setValue(value);\r\n }\r\n\r\n public calcRequestedAmountSum() {\r\n this.requestedAmountSum = 0;\r\n this.redemptiomForms.forEach(form => {\r\n this.requestedAmountSum += +form.get('requestedAmount').value;\r\n });\r\n }\r\n\r\n public decimalConverter(dividents: string) {\r\n if (dividents) {\r\n var integer = dividents.split('.')[0] ? dividents.split('.')[0].match(/.{1,3}/g).join(\".\") : '';\r\n var franction = dividents.split('.')[1] ? dividents.split('.')[1].substring(0,4) : '';\r\n return franction ? integer + ',' + franction : integer;\r\n }\r\n }\r\n\r\n public onSubmit() {\r\n const redemptionInvestments: RedemptionInvestment[] = [];\r\n this.errorMessages = [];\r\n this.redemptiomForms.forEach( (form, index) => {\r\n if (form.valid) {\r\n if (form.get('value').value) {\r\n let redemptionInvestment = new RedemptionInvestment({\r\n contributionType: this.investments[index].contributionType,\r\n productType: this.investments[index].productType,\r\n code: this.investments[index].code,\r\n description: this.investments[index].description,\r\n value: form.get('value').value\r\n });\r\n if (this.investments[index].productType === InvestmentProductType.Monetary) {\r\n redemptionInvestment.requestedAmount = form.get('requestedAmount').value;\r\n } else {\r\n var requestedDividends = form.get('requestedAmount').value/ this.investments[index].dividendValue;\r\n var value = requestedDividends * this.investments[index].dividendValue;\r\n redemptionInvestment.requestedDividends = Math.round((requestedDividends + Number.EPSILON) * 10000) / 10000;\r\n redemptionInvestment.value = Math.round((value + Number.EPSILON) * 100) / 100;\r\n }\r\n redemptionInvestments.push(redemptionInvestment);\r\n }\r\n } else {\r\n this.validForms = false;\r\n }\r\n });\r\n if (this.validForms && redemptionInvestments.length > 0) {\r\n this.busy = true;\r\n const redemptionApplicationCreate = new RedemptionApplicationCreateRequest({\r\n paymentType: ProvisionPaymentType.Partial,\r\n investments: redemptionInvestments\r\n });\r\n this.dafApiClient.createRedemptionApplication(this.policyService.selectedPolicy.id, this.policyService.dafSelectedMember.insuredId,\r\n redemptionApplicationCreate).subscribe(response => {\r\n this.notificationService.success('Εξαγορά', 'Η υποβολή έγινε με επιτυχία!');\r\n this.busy = false;\r\n this.policyService.goToSelectedPolicy();\r\n }, error => {\r\n if (error.result && error.result.length > 0) {\r\n this.errorMessages = error.result;\r\n }\r\n this.notificationService.error('Εξαγορά', error.message);\r\n this.busy = false;\r\n });\r\n } else {\r\n this.notificationService.warn('Εξαγορά', 'Επιβεβαιώστε ότι συμπληρώσατε σωστά τα πεδία για να συνεχίσετε.');\r\n this.busy = false;\r\n }\r\n }\r\n\r\n}\r\n","export default \"\\r\\n
\\r\\n
\\r\\n \\r\\n

\\r\\n Επενδυτικό Προφίλ:\\r\\n {{ scoreDetail?.score | translateEnum }}\\r\\n Ελεύθερο\\r\\n

\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
{{ swType | translateEnum }} Επένδυση
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
{{contrType | translateEnum}} (%)
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{investment.description}}\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Από:\\r\\n {{getInvestmentCurrentValue(contrType, investment.investmentCode) || \\\"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 - {{errorMessage}}\\r\\n
\\r\\n\\r\\n
Οι χρεώσεις που διέπουν τις αλλαγές επενδυτικής επιλογής καθώς και οι χρόνοι υλοποίησης \\r\\n περιγράφονται αναλυτικά στο booklet του συμβολαίου σας.
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n\";","export default \"
\\r\\n
\\r\\n

Δεν βρέθηκαν συμβόλαια

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

Παρακαλώ επικοινωνήστε με κάποιον εκπρόσωπο της Groupama

\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\";","import { QuestionnaireFormItem, QuestionnaireItemValueType, QuestionnaireCustomerCard, RiskQuestionnaireFormGroupStatus, QuestionnaireCustomerCardDetail, IQuestionnaireCustomerCard, CustomerRelationType, QuestionnaireRequest, IQuestionnaireRequest, QuestionnaireDetailRequest, QuestionnaireApprovalRequest, QuestionnaireDisclaimerType, QuestionnaireDetails, Insured, } from './../../../core/services/daf-api.service';\r\nimport { Component, OnInit, ViewChild, TemplateRef } from '@angular/core';\r\nimport { PolicyService, DafApiClient, NotificationService } from 'src/app/core/services';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\r\nimport { Observable, Subscription, forkJoin, of, throwError } from 'rxjs';\r\nimport { StepperSelectionEvent } from '@angular/cdk/stepper';\r\nimport { QuestionnaireGroupType, QuestionnaireForms, SustainabilityFirstQuestion, QuestionnaireGroupId } from 'src/app/app-models';\r\nimport { MatStepper } from '@angular/material/stepper';\r\nimport { catchError, concatMap } from 'rxjs/operators';\r\n\r\n\r\n@Component({\r\n selector: 'app-daf-questionnaire',\r\n templateUrl: './daf-questionnaire.component.html'\r\n})\r\nexport class DafQuestionnaireComponent implements OnInit {\r\n\r\n public formItemsByFormIndex: { [index: number]: QuestionnaireFormItem[] } = {};\r\n public questionnaireId: string;\r\n public questionnaireName: string;\r\n public questionnaireDetails: QuestionnaireDetails[];\r\n public forms: FormGroup[] = [];\r\n public disclaimer: string;\r\n public disclaimerSustainability: QuestionnaireDisclaimerType;\r\n public today = new Date();\r\n public busy = false;\r\n public requiredFieldMsg = 'Το πεδίο είναι υποχρεωτικό!';\r\n public IsFatca: boolean;\r\n public selectedStep: number = 0;\r\n private formSubscription: Subscription;\r\n public showAllQuestions: boolean = false;\r\n public isQuestionnaireCompleted: boolean = false;\r\n public isDisclaimerTypeDefined: boolean | undefined = false;\r\n public scoreDetail: QuestionnaireDetails;\r\n public sustainabilityScoreDetail: QuestionnaireDetails;\r\n public factaDetail: QuestionnaireDetails;\r\n isCompleted = false;\r\n loadFacta = false;\r\n private routeParamSubscription: Subscription;\r\n private stepParameter: string;\r\n\r\n\r\n\r\n @ViewChild('stepper') private stepper: MatStepper;\r\n @ViewChild('text', { static: true }) textTpl: TemplateRef;\r\n @ViewChild('numeric', { static: true }) numericTpl: TemplateRef;\r\n @ViewChild('list', { static: true }) listTpl: TemplateRef;\r\n @ViewChild('date', { static: true }) dateTpl: TemplateRef;\r\n @ViewChild('noinput', { static: true }) noinputTpl: TemplateRef;\r\n constructor(public policyService: PolicyService, private dafApi: DafApiClient, private dialog: MatDialog, protected notificationService: NotificationService, private route: ActivatedRoute) {\r\n this.policyService.dafSelectedMember = this.route.snapshot.data['member'] || {};\r\n }\r\n\r\n ngOnInit(): void {\r\n this.initializeForms();\r\n this.loadData();\r\n this.formSubscription = this.forms[QuestionnaireForms.SUSTAINABILITY].valueChanges.subscribe(value => {\r\n if (this.forms[QuestionnaireForms.SUSTAINABILITY]) {\r\n const formControl = this.forms[QuestionnaireForms.SUSTAINABILITY]?.get(\"15E1D0FDDB210010E063C0A80A3D1A01\");\r\n if (formControl && formControl.value == SustainabilityFirstQuestion.YES) {\r\n this.showAllQuestions = true;\r\n } \r\n else {\r\n this.showAllQuestions = false;\r\n }\r\n }\r\n });\r\n }\r\n\r\n ngAfterViewInit() {\r\n if (this.stepParameter === \"2\") {\r\n this.stepper.selectedIndex = 2;\r\n this.initializeQuestionnaire(QuestionnaireGroupId.SUSTAINABILITY, QuestionnaireForms.SUSTAINABILITY);\r\n } else {\r\n this.initializeQuestionnaire(QuestionnaireGroupId.FATCA, QuestionnaireForms.FATCA);\r\n this.loadFacta = true;\r\n }\r\n }\r\n\r\n loadData() {\r\n this.routeParamSubscription = this.route.paramMap.subscribe(params => {\r\n this.stepParameter = params.get('step'); \r\n });\r\n\r\n this.mapQuestionnaireDetails();\r\n }\r\n\r\n private initializeForms(): void {\r\n this.forms = Array(3).fill(new FormGroup({}));\r\n }\r\n\r\n private mapQuestionnaireDetails(): void {\r\n this.scoreDetail = this.policyService.dafSelectedMember.questionnaireDetails.find(group => group.type === QuestionnaireGroupType.SCORE);\r\n this.sustainabilityScoreDetail = this.policyService.dafSelectedMember.questionnaireDetails.find(group => group.type === QuestionnaireGroupType.SUSTAINABILITY);\r\n this.factaDetail = this.policyService.dafSelectedMember.questionnaireDetails.find(group => group.type === QuestionnaireGroupType.FATCA);\r\n this.disclaimer = this.scoreDetail?.disclaimerType\r\n ? this.scoreDetail?.disclaimerType\r\n : QuestionnaireDisclaimerType.Undefined;\r\n this.disclaimerSustainability = this.sustainabilityScoreDetail?.disclaimerType\r\n ? this.sustainabilityScoreDetail?.disclaimerType\r\n : QuestionnaireDisclaimerType.Undefined;\r\n }\r\n\r\n\r\n\r\n goBack(): void {\r\n if (!this.stepper) {\r\n console.error('Stepper is not defined');\r\n return;\r\n }\r\n this.stepper.previous();\r\n }\r\n\r\n goForward(): void {\r\n if (this.isFormValid(this.selectedStep)) {\r\n this.stepper.next();\r\n }\r\n else {\r\n this.stepper.selectedIndex = this.selectedStep;\r\n this.forms[this.selectedStep].markAllAsTouched();\r\n this.notificationService.warn('Συμπλήρωση ερωτηματολογίου', 'Πρέπει να συμπληρώσετε τα υποχρεωτικά πεδία για να συνεχίσετε.');\r\n }\r\n }\r\n\r\n onStepChange(event: StepperSelectionEvent): void {\r\n this.selectedStep = event.selectedIndex;\r\n if (event.selectedIndex === 0) {\r\n this.questionnaireId = QuestionnaireGroupId.FATCA\r\n this.initializeQuestionnaire(this.questionnaireId, event.selectedIndex);\r\n }\r\n if (event.selectedIndex === 1) {\r\n this.questionnaireId = QuestionnaireGroupId.SCORE\r\n this.initializeQuestionnaire(this.questionnaireId, event.selectedIndex);\r\n }\r\n if (event.selectedIndex === 2) {\r\n this.questionnaireId = QuestionnaireGroupId.SUSTAINABILITY\r\n this.initializeQuestionnaire(this.questionnaireId, event.selectedIndex);\r\n }\r\n }\r\n\r\n private isFormValid(stepIndex: number): boolean {\r\n // Check if the form at the given step index is valid\r\n return this.forms[stepIndex] && this.forms[stepIndex].valid;\r\n }\r\n\r\n showForm() {\r\n switch (this.selectedStep) {\r\n case 0:\r\n // isCompleted = this.factaDetail.completed;\r\n break;\r\n case 1:\r\n this.questionnaireId = QuestionnaireGroupId.SCORE\r\n this.scoreDetail.completed = false;\r\n this.initializeQuestionnaire(this.questionnaireId, this.selectedStep);\r\n break;\r\n case 2:\r\n this.questionnaireId = QuestionnaireGroupId.SUSTAINABILITY\r\n this.sustainabilityScoreDetail.completed = false;\r\n this.initializeQuestionnaire(this.questionnaireId, this.selectedStep);\r\n break;\r\n default:\r\n // Handle unexpected cases\r\n break;\r\n }\r\n }\r\n\r\n\r\n\r\n private initializeQuestionnaire(questionnaireId: string, formIndex: number): void {\r\n let isCompleted = false;\r\n switch (formIndex) {\r\n case 0:\r\n isCompleted = this.loadFacta;\r\n break;\r\n case 1:\r\n isCompleted = this.scoreDetail?.completed;\r\n break;\r\n case 2:\r\n isCompleted = this.sustainabilityScoreDetail?.completed;\r\n break;\r\n default:\r\n // Handle unexpected cases\r\n break;\r\n }\r\n\r\n // If the questionnaire for the current step is marked as completed, skip fetching setup\r\n if (isCompleted) {\r\n return;\r\n }\r\n this.busy = true;\r\n this.dafApi.getQuestionnaireSetup(questionnaireId).subscribe(response => {\r\n const controls: any = {};\r\n // Assign inquiryItems to formItemsByFormIndex without filtering them initially\r\n this.formItemsByFormIndex[formIndex] = response.inquiryItems;\r\n this.formItemsByFormIndex[formIndex].forEach(inquiryItem => {\r\n if (inquiryItem.itemListSetup) {\r\n inquiryItem.itemListSetup.setupValues = inquiryItem.itemListSetup.setupValues.filter(sv => sv.valueDescription);\r\n }\r\n });\r\n this.formItemsByFormIndex[formIndex].forEach(i => {\r\n const validators = i.isMandatory === 1 ? [Validators.required] : [];\r\n controls[i.itemId] = new FormControl(i.itemEditValue || '', validators);\r\n });\r\n\r\n const formGroupIndex = this.selectedStep;\r\n if (this.forms[formGroupIndex]) {\r\n Object.keys(controls).forEach(key => {\r\n if (this.forms[formGroupIndex].contains(key)) {\r\n this.forms[formGroupIndex].get(key).setValidators(controls[key].validators);\r\n this.forms[formGroupIndex].get(key).updateValueAndValidity();\r\n } else {\r\n this.forms[formGroupIndex].addControl(key, controls[key]);\r\n }\r\n });\r\n this.patchFatcaControl();\r\n } else {\r\n this.forms[formGroupIndex] = new FormGroup(controls);\r\n }\r\n this.busy = false;\r\n\r\n }, error => {\r\n this.notificationService.error('Συμπλήρωση ερωτηματολογίου', error.message);\r\n this.busy = false;\r\n });\r\n\r\n\r\n }\r\n\r\n private patchFatcaControl(): void {\r\n const formControl = this.forms[0]?.get(\"C231D85670800226E053C0A80A26A98A\");\r\n if (formControl && this.factaDetail?.fatcaResult != undefined) {\r\n // Update the value of the form control\r\n formControl.setValue(parseInt(this.factaDetail?.fatcaResult));\r\n } \r\n }\r\n\r\n public gotoSelectedMember() {\r\n const url = `daf-policy/${this.policyService.selectedPolicy.id}/members/${this.policyService.dafSelectedMember.id}`;\r\n this.policyService.navigate([url]);\r\n }\r\n\r\n public getTemplateForType(itemType?: QuestionnaireItemValueType): TemplateRef {\r\n if (!itemType) {\r\n return this.noinputTpl;\r\n } else if (itemType === QuestionnaireItemValueType.Text) {\r\n return this.textTpl;\r\n } else if (itemType === QuestionnaireItemValueType.Numeric) {\r\n return this.numericTpl;\r\n } else if (itemType === QuestionnaireItemValueType.List) {\r\n return this.listTpl;\r\n } else if (itemType === QuestionnaireItemValueType.Date) {\r\n return this.dateTpl;\r\n } else if (itemType === QuestionnaireItemValueType.NoInput) {\r\n return this.noinputTpl;\r\n } else {\r\n console.log('getTemplateForType', 'unknown form item type.');\r\n return this.noinputTpl;\r\n }\r\n }\r\n\r\n public setDetailValueForItem(item: QuestionnaireFormItem, detail: QuestionnaireCustomerCardDetail, index: number): void {\r\n if (!item || !this.forms[index]) {\r\n console.error('Item or form group is undefined');\r\n return;\r\n }\r\n\r\n const formControl = this.forms[index].get(item.itemId);\r\n if (!formControl) {\r\n console.error(`Form control for itemId ${item.itemId} not found`);\r\n return;\r\n }\r\n\r\n switch (item.itemType) {\r\n case QuestionnaireItemValueType.Text:\r\n detail.textValue = formControl.value;\r\n break;\r\n case QuestionnaireItemValueType.Numeric:\r\n detail.numericValue = formControl.value;\r\n break;\r\n case QuestionnaireItemValueType.List:\r\n detail.listTypeId = item.itemListId;\r\n detail.listValue = formControl.value;\r\n break;\r\n case QuestionnaireItemValueType.Date:\r\n detail.dateValue = formControl.value;\r\n break;\r\n case QuestionnaireItemValueType.NoInput:\r\n // No input type, handle accordingly\r\n break;\r\n default:\r\n console.error('Unknown form item type');\r\n }\r\n }\r\n\r\n\r\n submitQuestionnaire(): void {\r\n if (this.selectedStep === QuestionnaireForms.SUSTAINABILITY && !this.showAllQuestions) {\r\n Object.keys(this.forms[this.selectedStep].controls).forEach((key, i) => {\r\n if (i !== 0) { // Skip the first form control\r\n this.forms[this.selectedStep].get(key).setValue(0); // Reset the value of the form control\r\n this.forms[this.selectedStep].get(key).setValidators([]);\r\n this.forms[this.selectedStep].get(key).updateValueAndValidity();\r\n }\r\n });\r\n }\r\n if (this.forms[this.selectedStep].valid ) {\r\n this.busy = true;\r\n let questionnaireGroupType: string;\r\n switch (this.selectedStep) {\r\n case 0:\r\n questionnaireGroupType = QuestionnaireGroupType.FATCA;\r\n break;\r\n case 1:\r\n questionnaireGroupType = QuestionnaireGroupType.SCORE;\r\n break;\r\n case 2:\r\n questionnaireGroupType = QuestionnaireGroupType.SUSTAINABILITY;\r\n break;\r\n default:\r\n questionnaireGroupType = QuestionnaireGroupType.FATCA;\r\n }\r\n \r\n\r\n // Use the formItems specific to this form\r\n const formItems = this.formItemsByFormIndex[this.selectedStep];\r\n const detailItems = [];\r\n formItems.forEach(f => {\r\n if (f.itemType) {\r\n const q = new QuestionnaireDetailRequest();\r\n q.setupItemId = f.itemId;\r\n this.setDetailValueForItem(f, q, this.selectedStep);\r\n detailItems.push(q);\r\n }\r\n });\r\n\r\n const data: IQuestionnaireRequest = {\r\n QuestionnaireGroupTypes: questionnaireGroupType,\r\n detailItems: detailItems\r\n };\r\n\r\n // Return the request observable for this form\r\n this.dafApi.setQuestionnaireValues(this.policyService.selectedPolicy.id, this.policyService.dafSelectedMember.insuredId, new QuestionnaireRequest(data))\r\n .pipe(\r\n concatMap(response => {\r\n // Process the response from setQuestionnaireValues if needed\r\n if (questionnaireGroupType === QuestionnaireGroupType.FATCA) {\r\n // Now call submitFACTA and wait for it to complete before proceeding\r\n return this.submitFACTA();\r\n } else {\r\n // If not FATCA, just return an observable that completes immediately\r\n return of(null);\r\n }\r\n })\r\n )\r\n .subscribe({\r\n next: (response) => {\r\n // Handle successful completion of either setQuestionnaireValues or submitFACTA\r\n this.updateQuestionnaireDeatails().subscribe(response => {\r\n this.policyService.dafSelectedMember.questionnaireDetails = response.questionnaireDetails;\r\n this.mapQuestionnaireDetails();\r\n this.notificationService.success('Συμπλήρωση ερωτηματολογίου', 'Η υποβολή έγινε με επιτυχία!');\r\n this.busy = false;\r\n window.scrollTo(0, 0);\r\n if (this.selectedStep == 1) {\r\n this.isCompleted = true;\r\n }\r\n if (this.selectedStep!= 2) {\r\n this.goForward();\r\n }\r\n // else {\r\n // this.goBack();\r\n // }\r\n });\r\n },\r\n error: (error) => {\r\n this.notificationService.error('Συμπλήρωση ερωτηματολογίου', error.message);\r\n this.busy = false;\r\n }\r\n });\r\n }\r\n else {\r\n this.forms[this.selectedStep].markAllAsTouched();\r\n this.notificationService.warn('Συμπλήρωση ερωτηματολογίου', 'Σφάλμα στην φόρμα');\r\n } \r\n }\r\n\r\n submitFACTA(): Observable {\r\n const formControl = this.forms[QuestionnaireForms.FATCA]?.get(\"C231D85670800226E053C0A80A26A98A\");\r\n if (formControl) {\r\n return this.dafApi.postFatcaAnswer(\r\n this.policyService.selectedPolicy.id,\r\n this.policyService.dafSelectedMember.insuredId,\r\n formControl.value\r\n ).pipe(\r\n catchError(error => {\r\n this.notificationService.error('Συμπλήρωση ερωτηματολογίου', error.message);\r\n return throwError(() => new Error(error));\r\n })\r\n );\r\n } else {\r\n return of(null); // Return an Observable even when formControl is not present\r\n }\r\n }\r\n\r\n submitDisclaimer() {\r\n if (!this.disclaimer || !this.disclaimerSustainability) {\r\n this.notificationService.warn('Συμπλήρωση ερωτηματολογίου', 'Κάντε μια επιλογή για να συνεχίσετε.');\r\n return;\r\n }\r\n let disclaimerType: QuestionnaireApprovalRequest;\r\n let scoreId: string;\r\n switch (this.selectedStep) {\r\n case 1:\r\n disclaimerType = new QuestionnaireApprovalRequest({\r\n disclaimer: this.disclaimer === 'Agree' ? QuestionnaireDisclaimerType.Agree\r\n : this.disclaimer === 'Disagree' ? QuestionnaireDisclaimerType.Disagree\r\n : QuestionnaireDisclaimerType.Undefined\r\n });\r\n scoreId = this.scoreDetail?.scoreId;\r\n break;\r\n case 2:\r\n disclaimerType = new QuestionnaireApprovalRequest({\r\n disclaimer: this.disclaimerSustainability === 'Agree' ? QuestionnaireDisclaimerType.Agree\r\n : this.disclaimerSustainability === 'Disagree' ? QuestionnaireDisclaimerType.Disagree\r\n : QuestionnaireDisclaimerType.Undefined\r\n });\r\n scoreId = this.sustainabilityScoreDetail?.scoreId\r\n break;\r\n default:\r\n this.notificationService.warn('Συμπλήρωση ερωτηματολογίου', 'Λάθος βήμα επιλεγμένο.');\r\n return;\r\n }\r\n\r\n this.dafApi.customerQuestionnaireApproval(\r\n this.policyService.selectedPolicy.id,\r\n this.policyService.dafSelectedMember.insuredId,\r\n scoreId,\r\n disclaimerType\r\n ).subscribe((response: any) => {\r\n this.updateQuestionnaireDeatails().subscribe(response => {\r\n this.policyService.dafSelectedMember.questionnaireDetails = response.questionnaireDetails;\r\n this.mapQuestionnaireDetails();\r\n this.notificationService.success('Συμπλήρωση ερωτηματολογίων', 'Η υποβολή έγινε με επιτυχία!');\r\n this.busy = false;\r\n if (this.selectedStep == 2) {\r\n this.gotoSelectedMember();\r\n }\r\n });\r\n }, error => {\r\n this.notificationService.error('Συμπλήρωση ερωτηματολογίου', error.message);\r\n this.busy = false;\r\n });\r\n }\r\n\r\n updateQuestionnaireDeatails(): Observable {\r\n return this.dafApi.getInsured(this.policyService.selectedPolicy.id, this.policyService.dafSelectedMember.insuredId, false);\r\n }\r\n\r\n ngOnDestroy() {\r\n // Unsubscribe from paramMap subscription to prevent memory leaks\r\n if (this.routeParamSubscription) {\r\n this.routeParamSubscription.unsubscribe();\r\n }\r\n }\r\n}\r\n","import { Component } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n templateUrl: 'error-request.component.html'\r\n})\r\nexport class UnauthorizedComponent {\r\n public title = '401';\r\n public error = 'Δεν έχετε εξουσιοδότηση';\r\n public errorMsg = 'Δεν έχετε εξουσιοδότηση να προσπελάσετε αυτή τη σελίδα';\r\n\r\n constructor(private router: Router) {\r\n\r\n }\r\n}","export default \"\\r\\n 0\\\"\\r\\n fixedInViewport=\\\"true\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{ row?.fullName }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n {{policyService?.selectedPolicy?.policyNumber}}\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
0; else no_content\\\">\\r\\n
\\r\\n {{member.fullName}}\\r\\n cancel\\r\\n
\\r\\n 3\\\"\\r\\n (click)=\\\"toggleSideNav()\\\">...{{(selectedMembers?.length\\r\\n - 3)}} ακόμα\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n Επιλογή\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{ row?.fullName | initials}}\\r\\n {{ row?.fullName }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{ option.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 \\r\\n {{policyService?.selectedPolicy?.policyNumber}}\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
0; else no_content\\\">\\r\\n
\\r\\n {{member.fullName}}\\r\\n cancel\\r\\n
\\r\\n 3\\\"\\r\\n (click)=\\\"toggleSideNav()\\\">...{{(selectedMembers?.length\\r\\n - 3)}} ακόμα\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{ row?.surName | initials}}\\r\\n {{ row?.surName }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{ row?.firstName }} \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{ option.value }}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\";","import { Directive, Input, SimpleChanges } from \"@angular/core\";\r\nimport { Validator, AbstractControl, NG_VALIDATORS } from \"@angular/forms\";\r\nimport { ValidatorBaseDirective } from './validator-base.directive';\r\n\r\n@Directive({\r\n selector: \"[afterDate]\",\r\n providers: [\r\n { provide: NG_VALIDATORS, useExisting: AfterDateDirective, multi: true }\r\n ]\r\n})\r\nexport class AfterDateDirective extends ValidatorBaseDirective implements Validator {\r\n @Input()\r\n afterDate: Date;\r\n\r\n constructor() {\r\n super('afterDate');\r\n }\r\n validate(c: AbstractControl): { [key: string]: any } {\r\n if (this.afterDate === null || this.afterDate === undefined){ return {\r\n afterDate: true\r\n };}\r\n const age = this.CalculateAge();\r\n const days = c.value === \"Child\" ? this.CalculateDays():0;\r\n if (c.value && this.afterDate && c.value === \"Spouse\" && (age < 16 || age >= 70)) {\r\n return {\r\n afterDate: true\r\n };\r\n }\r\n if (c.value && this.afterDate && c.value === \"Child\" && (days < 14 || age >= 27)) {\r\n return {\r\n afterDate: true\r\n };\r\n }\r\n return null;\r\n }\r\n public CalculateAge(): number { \r\n if (this.afterDate) {\r\n var timeDiff = Math.abs(Date.now() - new Date(this.afterDate).getTime());\r\n return Math.floor(timeDiff / (1000 * 3600 * 24) / 365.25);\r\n }\r\n }\r\n public CalculateDays(): number {\r\n if (this.afterDate) {\r\n // The number of milliseconds in all UTC days (no DST)\r\n const ONE_DAY = 1000 * 60 * 60 * 24;\r\n // Calculate the difference in milliseconds\r\n const differenceMs = Math.abs(Date.now() - new Date(this.afterDate).getTime());\r\n // Convert back to days and return\r\n return Math.round(differenceMs / ONE_DAY);\r\n }\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { PolicyService, DafApiClient } from 'src/app/core/services';\r\nimport { InvestmentEvolution } from 'src/app/core/services/daf-api.service';\r\nimport { take } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'daf-investments-charts',\r\n templateUrl: './daf-investments-charts.component.html'\r\n})\r\nexport class ColumnsChartComponent implements OnInit {\r\n\r\n public savingsGrowth = [];\r\n public yearlyROI = [];\r\n\r\n view: any[] = [360, 260];\r\n xAxisLabel = 'Έτος';\r\n savingsYAxisLabel = 'Αποταμιεύσεις';\r\n roiYAxisLabel = 'ROI (%)';\r\n\r\n colorScheme = {\r\n domain: ['#2a6654', '#c4d600', '#1fa3a5', '#947d4b']\r\n };\r\n\r\n constructor(private policyService: PolicyService, private dafApiClient: DafApiClient) {\r\n if(window.innerWidth < 480) {\r\n this.view = [240, 165];\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this.policyService.PolicyIdWatcher().pipe(take(1)).subscribe((policyId: string) => {\r\n this.dafApiClient.getInvestmentSummary(this.policyService.selectedPolicy.id, this.policyService.dafSelectedMember.insuredId).subscribe(response => {\r\n this.populateChartData(response.items);\r\n });\r\n });\r\n }\r\n\r\n private populateChartData(items: InvestmentEvolution[]): void {\r\n if (items) {\r\n this.savingsGrowth = [];\r\n this.yearlyROI = [];\r\n items.forEach(i => {\r\n this.savingsGrowth.push({name: i.year !== undefined ? i.year.toString() : 'undefined' , value: i.grossAmount ?? 0});\r\n this.yearlyROI.push({name: i.year != undefined ? i.year.toString() : 'undefined', value: i.roiPercentage ?? 0});\r\n });\r\n this.savingsGrowth.sort(function (a, b) {\r\n return a.name - b.name;\r\n });\r\n this.yearlyROI.sort(function (a, b) {\r\n return a.name - b.name;\r\n });\r\n }\r\n }\r\n\r\n onSelect(event) {\r\n console.log(event);\r\n }\r\n\r\n onResize(event) {\r\n const innerWidth = event.target.innerWidth;\r\n console.log(innerWidth);\r\n if (innerWidth <= 480) {\r\n this.view = [240, 165];\r\n } else {\r\n this.view = [360, 260];\r\n }\r\n }\r\n\r\n}\r\n","export default \"
\\r\\n
\\r\\n

{{status}}

\\r\\n

{{description}}

\\r\\n
\\r\\n
\\r\\n\";","// https://tina-material-tree.firebaseapp.com/button\r\nimport {NgModule} from '@angular/core';\r\nimport {CdkTableModule} from '@angular/cdk/table';\r\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\r\nimport { MatBadgeModule } from '@angular/material/badge';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatButtonToggleModule } from '@angular/material/button-toggle';\r\nimport { MatCardModule } from '@angular/material/card';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { MatChipsModule } from '@angular/material/chips';\r\nimport { MatNativeDateModule } from '@angular/material/core';\r\nimport { MatDatepickerModule } from '@angular/material/datepicker';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { MatExpansionModule } from '@angular/material/expansion';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatGridListModule } from '@angular/material/grid-list';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatListModule } from '@angular/material/list';\r\nimport { MatMenuModule } from '@angular/material/menu';\r\nimport { MatPaginatorModule } from '@angular/material/paginator';\r\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\r\nimport { MatRadioModule } from '@angular/material/radio';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatSidenavModule } from '@angular/material/sidenav';\r\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle';\r\nimport { MatSliderModule } from '@angular/material/slider';\r\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\r\nimport { MatSortModule } from '@angular/material/sort';\r\nimport { MatStepperModule } from '@angular/material/stepper';\r\nimport { MatTableModule } from '@angular/material/table';\r\nimport { MatTabsModule } from '@angular/material/tabs';\r\nimport { MatToolbarModule } from '@angular/material/toolbar';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\n\r\n@NgModule({\r\n exports: [\r\n CdkTableModule,\r\n MatAutocompleteModule,\r\n MatButtonModule,\r\n MatButtonToggleModule,\r\n MatCardModule,\r\n MatCheckboxModule,\r\n MatChipsModule,\r\n MatDatepickerModule,\r\n MatNativeDateModule,\r\n MatDialogModule,\r\n MatExpansionModule,\r\n MatFormFieldModule,\r\n MatGridListModule,\r\n MatIconModule,\r\n MatInputModule,\r\n MatListModule,\r\n MatMenuModule,\r\n MatProgressBarModule,\r\n MatProgressSpinnerModule,\r\n MatRadioModule,\r\n MatSelectModule,\r\n MatSlideToggleModule,\r\n MatSliderModule,\r\n MatSidenavModule,\r\n MatSnackBarModule,\r\n MatStepperModule,\r\n MatTabsModule,\r\n MatToolbarModule,\r\n MatTooltipModule,\r\n MatPaginatorModule,\r\n MatSortModule,\r\n MatTableModule,\r\n MatBadgeModule\r\n ]\r\n})\r\nexport class MaterialModule {}\r\n","import { Directive, HostListener, OnInit } from '@angular/core';\r\nimport { NgControl } from '@angular/forms';\r\n\r\n@Directive({\r\n selector: '[appLowercaseInput]'\r\n})\r\nexport class LowercaseInputDirective implements OnInit {\r\n constructor(private ngControl: NgControl) {}\r\n\r\n ngOnInit() {\r\n // Subscribe to valueChanges of the form control to transform the value to lowercase\r\n this.ngControl.valueChanges.subscribe(value => {\r\n if (value) {\r\n this.ngControl.control.setValue(value.toLowerCase(), { emitEvent: false });\r\n }\r\n });\r\n }\r\n}","import { id } from '@swimlane/ngx-charts';\r\nimport { ProvisionStatusType, ResultSetOfClaim } from './../../../core/services/daf-api.service';\r\nimport { DafApiClient } from '../../../core/services/daf-api.service';\r\nimport { Component, ViewChild, TemplateRef } from '@angular/core';\r\nimport { NotificationService, PolicyService } from 'src/app/core/services';\r\nimport { TabbedListsComponent, TableConfigExtended } from '../tabbed-lists.component';\r\nimport { map } from 'rxjs/operators';\r\nimport {saveAs} from 'file-saver';\r\n\r\n@Component({\r\n selector: 'app-member-policy-details',\r\n templateUrl: './daf-member-policy-details.component.html'\r\n})\r\nexport class MemberPolicyDetailsComponent extends TabbedListsComponent {\r\n @ViewChild('provisions', {static: true}) provisionsTpl: TemplateRef;\r\n @ViewChild('completedProvisions', {static: true}) completedProvisionsTpl: TemplateRef;\r\n @ViewChild('claims', {static: true}) claimsTpl: TemplateRef;\r\n @ViewChild('transactions', {static: true}) transactionsTpl: TemplateRef;\r\n @ViewChild('switches', {static: true}) switchesTpl: TemplateRef;\r\n\r\n constructor(public policyService: PolicyService, private dafApiClient: DafApiClient, protected notificationService: NotificationService) {\r\n super(policyService);\r\n }\r\n\r\n protected initLists(): TableConfigExtended[] {\r\n return [\r\n new TableConfigExtended(0, 'Αιτουμενες Παροχές', this.provisionsTpl, { enabled: true, text: 'αναζήτηση με αριθμό μητρώου' },\r\n (list, policyId, memberId) => {\r\n return this.dafApiClient.getInsuredRequestedProvisions(policyId, memberId, ProvisionStatusType.Applied, list.pageIndex, list.size, list.sort, list.search)\r\n .pipe(map(response => {\r\n return { data: response.items, itemsCount: response.count };\r\n }));\r\n }),\r\n\r\n new TableConfigExtended(1, 'Εκκρεμεις Παροχές', this.provisionsTpl, { enabled: true, text: 'αναζήτηση με αριθμό μητρώου' },\r\n (list, policyId, memberId) => {\r\n return this.dafApiClient.getInsuredRequestedProvisions(policyId, memberId, ProvisionStatusType.Approved, list.pageIndex + 1, list.size, list.sort, list.search)\r\n .pipe(map(response => {\r\n return { data: response.items, itemsCount: response.count };\r\n }));\r\n }),\r\n\r\n new TableConfigExtended(2, 'Πληρωθείσες Παροχές', this.completedProvisionsTpl, { enabled: true, text: 'αναζήτηση με αριθμό μητρώου' },\r\n (list, policyId, memberId) => {\r\n return this.dafApiClient.getInsuredCompletedProvisions(policyId, memberId, list.pageIndex + 1, list.size, list.sort, list.search)\r\n .pipe(map(response => {\r\n return { data: response.items, itemsCount: response.count };\r\n }));\r\n }),\r\n\r\n new TableConfigExtended(3, 'Ενημερωτικά', this.claimsTpl, { enabled: true, text: 'αναζήτηση με αριθμό μητρώου' },\r\n (list, policyId, memberId) => {\r\n return this.dafApiClient.getInsuredClaims(policyId, memberId, undefined, undefined, undefined, list.pageIndex + 1, list.size, list.sort, list.search)\r\n .pipe(\r\n map((response) => {\r\n const filteredResult = response?.count>0 ? this.filterItemsByLastYear(response) : [];\r\n return {data: filteredResult,itemsCount: filteredResult.length,};\r\n })\r\n );\r\n }\r\n ),\r\n\r\n new TableConfigExtended(4, 'Αναλυτικές Κινήσεις (2 ετών)', this.transactionsTpl, { enabled: true, text: 'αναζήτηση με αριθμό μητρώου' },\r\n (list, policyId, memberId) => {\r\n return this.dafApiClient.getInsuredTransactions(policyId, memberId, undefined, list.pageIndex + 1, list.size, list.sort, list.search)\r\n .pipe(map(response => {\r\n return { data: response.items, itemsCount: response.count };\r\n }));\r\n }),\r\n\r\n new TableConfigExtended(5, 'Switches', this.switchesTpl, { enabled: false, text: 'αναζήτηση με αριθμό μητρώου' },\r\n (list, policyId, memberId) => {\r\n return this.dafApiClient.getInsuredSwitches(policyId, memberId)\r\n .pipe(map(response => {\r\n const switches = [];\r\n response.items.forEach(s => {\r\n if (s.switches) {\r\n s.switches.forEach(sw => {\r\n (sw).switchDate = s.switchDate;\r\n (sw).type = s.type;\r\n switches.push(sw);\r\n });\r\n }\r\n });\r\n return { data: switches, itemsCount: switches.length };\r\n }));\r\n })\r\n ];\r\n }\r\n \r\n filterItemsByLastYear(response:ResultSetOfClaim) {\r\n const lastYear = new Date().getFullYear() - 1;\r\n const filteredResult = response.items.filter((item: any) => {\r\n const reportDate = new Date(item.reportDate);\r\n return reportDate.getFullYear() === lastYear;\r\n });\r\n return filteredResult;\r\n }\r\n public downloadClaim(row) {\r\n this.dafApiClient.getInsuredClaim(this.policyService.selectedPolicy.id, this.policyService.dafSelectedMember.insuredId, row.id, row.type,\r\n undefined, undefined, undefined, undefined, undefined, undefined, undefined).subscribe(\r\n (response) => {\r\n const blob = response.data;\r\n saveAs(blob, response.fileName);\r\n }, (error) => {\r\n this.notificationService.error('Σφάλμα', 'Κάτι πήγε στραβά');\r\n });\r\n } \r\n}\r\n","import { Component } from '@angular/core';\r\nimport { NgForm } from '@angular/forms';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { MemberBaseEditComponent } from './member-base-edit-component';\r\nimport { WebApi, NotificationService, PolicyService } from 'src/app/core/services';\r\nimport { IInsuredMember, IAddress } from 'src/app/app-models';\r\nimport { formatDate } from '@angular/common';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { ChangeDetectorRef } from '@angular/core';\r\n\r\n@Component({\r\n templateUrl: 'member-edit.component.html'\r\n})\r\nexport class MemberCreateComponent extends MemberBaseEditComponent {\r\n[x: string]: any;\r\n member: IInsuredMember = {\r\n firstName: '', lastName: '', accessLevel: 'Member', isInsured: true, policyMemberAddress: {},\r\n protectedMembers: [], allowNewsletters: false, allowSensitiveDataViewing: false,\r\n };\r\n readonly = false;\r\n adminOnly = false;\r\n allowEdit = true;\r\n itsMe = false; //just keep it\r\n amIOwner = true;\r\n defaultCategory: string; \r\n changedCategory = false;\r\n changedSexType = false;\r\n consentGiven: boolean;\r\n public canEdit = false; \r\n changeDetectorRef: any;\r\n defaultSexType :string ;\r\n public isCreateMode: boolean;\r\n checkIfSalaryRequired:boolean\r\n ownerWithClaimRights: boolean;\r\n\r\n constructor(private router: Router, protected route: ActivatedRoute, public policyService: PolicyService, protected webApi: WebApi, protected notificationService: NotificationService, protected dialog: MatDialog, private cdr: ChangeDetectorRef) {\r\n super(route, dialog, webApi, notificationService);\r\n\r\n this.member.policyId = policyService.selectedPolicyId;\r\n this.member.insuredDate = policyService.selectedPolicy.dateFrom;\r\n this.member.insuredEndDate = policyService.selectedPolicy.dateTo; \r\n this.member.validFromDate = new Date(); \r\n this.canEdit = this.itsMe || this.amIOwner;\r\n this.ownerWithClaimRights=policyService.selectedPolicy.membershipStatus.accessLevel === 'OwnerWithClaimRights';\r\n this.isCreateMode = this.getMode();\r\n this.defaultSexType = this.member.sexType;\r\n if (policyService.selectedPolicy.benefits.length === 0) {\r\n policyService.getPolicyBenefits(policyService.selectedPolicyId);\r\n }\r\n this.changeDetectorRef = cdr;\r\n this.allowEdit = true;\r\n\r\n \r\n }\r\n\r\n // ngAfterContentChecked(): void{ \r\n // this.allowEdit = true;\r\n // this.changeDetectorRef.detectChanges();\r\n // this.EnableEdit('001');\r\n // }\r\n\r\n // ngOnInit(): void {\r\n // this.canEdit = true;\r\n // }\r\n\r\n EnableEdit(newCat: string) {\r\n if (newCat !== this.defaultCategory) {\r\n this.changedCategory = true;\r\n } else {\r\n this.changedCategory = false;\r\n }\r\n this.allowEdit = this.amIOwner || this.changedCategory;\r\n const t = this.member.salary;\r\n this.checkIfSalaryRequired = this.policyService.selectedPolicy.benefits.find(item => item.id === newCat).covers.some(function(el){ return el.requireSalary === '1'});\r\n }\r\n ShowPersonalDetailsSection(sexType: string) {\r\n if (sexType !== this.defaultSexType) {\r\n this.changedSexType = true;\r\n } else {\r\n this.changedSexType = false;\r\n }\r\n }\r\n \r\n \r\n\r\n submitForm(form: NgForm): void {\r\n this.member.validFromDate = new Date(formatDate(this.member.validFromDate, 'yyyy-MM-dd', 'el-GR'));\r\n this.member.birthDate = new Date(formatDate(this.member.birthDate, 'yyyy-MM-dd', 'el-GR'));\r\n this.member.insuredDate = new Date(formatDate(this.member.insuredDate, 'yyyy-MM-dd', 'el-GR'));\r\n this.member.insuredEndDate = new Date(formatDate(this.member.insuredEndDate, 'yyyy-MM-dd', 'el-GR'));\r\n this.member.firstName=this.notificationService.RemoveAccents(this.member.firstName);\r\n this.member.lastName=this.notificationService.RemoveAccents(this.member.lastName);\r\n this.member.policyMemberAddress.city=this.notificationService.RemoveAccents( this.member.policyMemberAddress.city);\r\n this.webApi.post(`${this.member.policyId || this.policyService.selectedPolicyId}/members`, this.member).subscribe(\r\n (member: IInsuredMember) => {\r\n this.notificationService.success('Δημιουργία μέλους', '');\r\n this.policyService.goToSelectedPolicy();\r\n },\r\n (error) => this.notificationService.parseAndPopError(error)\r\n );\r\n }\r\n\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n@Pipe({\r\n name: 'initials'\r\n})\r\nexport class InitialsPipe implements PipeTransform {\r\n\r\n public transform(names: ((string | undefined)[] | string), attribute: string) {\r\n if (names === undefined) {\r\n return '';\r\n }\r\n let initials = '';\r\n if (!Array.isArray(names)) {\r\n names = names.split(' ');\r\n }\r\n\r\n initials = names.filter(v => v !== undefined)\r\n .map(v => v.length > 0 ? v.charAt(0) : '')\r\n .reduce((pv, v) => `${pv}${v}`);\r\n\r\n return initials.toUpperCase();\r\n }\r\n}","import { interval } from 'rxjs/internal/observable/interval';\r\nimport { Inject, Injectable, EventEmitter } from '@angular/core';\r\nimport { UserManager, UserManagerSettings, User } from 'oidc-client';\r\nimport { environment } from '../../../environments/environment';\r\nimport { HttpRequest, HttpHandler, HttpEvent, HttpInterceptor } from '@angular/common/http';\r\nimport { map, finalize, catchError } from 'rxjs/operators';\r\nimport { NgProgress } from '@ngx-progressbar/core';\r\nimport { Router } from '@angular/router';\r\nimport { UserService } from './user.service';\r\nimport { Observable, from, throwError } from 'rxjs';\r\n\r\n// https://www.scottbrady91.com/Angular/SPA-Authentiction-using-OpenID-Connect-Angular-CLI-and-oidc-client\r\n@Injectable()\r\nexport class AuthService {\r\n\r\n public manager: UserManager = new UserManager(environment.auth_settings);\r\n userLoadededEvent: EventEmitter = new EventEmitter();\r\n private user: User = null;\r\n private _silentRenewSub: any;\r\n private _silentRenewInProgress = false;\r\n \r\n\r\n constructor(private userService: UserService, private router: Router) {\r\n this.manager = new UserManager(environment.auth_settings);\r\n this.monitorTokenExpiration();\r\n this.manager.getUser().then(user => {\r\n this.user = user;\r\n this.userService.isLoggedIn = true;\r\n this.populateUserService(this.userService, user);\r\n this.userLoadededEvent.emit(user);\r\n });\r\n this.manager.events.addUserLoaded((user) => {\r\n this.user = user;\r\n this.userService.isLoggedIn = true;\r\n this.populateUserService(this.userService, user);\r\n });\r\n }\r\n\r\n loadUser(): Promise {\r\n return this.manager.getUser().then((user) => {\r\n this.user = user;\r\n this.userService.isLoggedIn = true;\r\n this.populateUserService(this.userService, user);\r\n return user;\r\n });\r\n }\r\n\r\n currentUser(): User {\r\n return this.user;\r\n }\r\n\r\n isLoggedIn(): Observable {\r\n return from(this.manager.getUser()).pipe(map((user) => {\r\n if (user) {\r\n return !user.expired;\r\n } else {\r\n return false;\r\n }\r\n }));\r\n }\r\n\r\n getClaims(): any {\r\n return this.user.profile;\r\n }\r\n\r\n getAuthorizationHeaderValue(): string {\r\n if (this.user != null && this.user !== undefined) {\r\n return `${this.user.token_type} ${this.user.access_token}`;\r\n } else {\r\n console.log('getAuthorizationHeaderValue returned null');\r\n return '';\r\n }\r\n }\r\n\r\n // https://github.com/IdentityModel/oidc-client-js/issues/339\r\n // If signinRedirect is given a parameter that has a state property,\r\n // the value of that property will be reconstructed later on the User object.\r\n startAuthentication(data): Promise {\r\n // https://github.com/IdentityModel/oidc-client-js/issues/100 (data property)\r\n return this.manager.signinRedirect({ data: data })\r\n .catch(function (error) {\r\n console.log('startAuthentication failed');\r\n console.log(error);\r\n });\r\n }\r\n\r\n completeAuthentication(): Promise {\r\n const p = this.manager.signinRedirectCallback().then(user => {\r\n console.log('signinRedirectCallback completed :)');\r\n this.user = user;\r\n this.userService.isLoggedIn = true;\r\n this.populateUserService(this.userService, user);\r\n }, error => {\r\n console.log('signinRedirectCallback failed');\r\n console.log(error);\r\n throwError(error);\r\n });\r\n return p;\r\n }\r\n\r\n private populateUserService(userService:UserService, user:User) {\r\n if (user && user.profile) {\r\n userService.id = user.profile['sub'];\r\n userService.userName = user.profile['name'];\r\n userService.firstName = user.profile['given_name'];\r\n userService.fullName = `${user.profile['given_name']} ${user.profile['family_name']}`;\r\n userService.lastName = user.profile['family_name'];\r\n userService.email = user.profile['email'];\r\n //userService.birthDate = user.profile['birthdate'];\r\n userService.role = user.profile['role'];\r\n userService.isAdmin = user.profile['admin'] === true;\r\n }\r\n }\r\n\r\n private monitorTokenExpiration() {\r\n if (this._silentRenewInProgress) {\r\n return;\r\n }\r\n const monitor = interval(20000);\r\n this._silentRenewSub = monitor.subscribe(_i => {\r\n console.log(' token expires in: ' + this.user ? this.user.expires_in : ' EXPIRED!');\r\n if (this.user && this.user.expires_in <= 500) {\r\n console.log(' this is it - lets renew our api token ');\r\n this._silentRenewInProgress = true;\r\n this.renewToken().then(renewUser => {\r\n this.user = renewUser;\r\n this._silentRenewInProgress = false;\r\n }, (error) => {\r\n console.log('silentRenew failed');\r\n console.log(error);\r\n throwError(error);\r\n });\r\n }\r\n });\r\n }\r\n\r\n public renewToken(): Promise {\r\n return this.manager.signinSilent();\r\n }\r\n\r\n startSignout(): Promise {\r\n return this.manager.signoutRedirect()\r\n .catch(function (error) {\r\n console.log('startSignout failed');\r\n console.log(error);\r\n });\r\n }\r\n\r\n clearState(): Promise {\r\n return this.manager.clearStaleState();\r\n }\r\n\r\n completeSignout(): Promise {\r\n return this.manager.signoutRedirectCallback().then(user => {\r\n this.user = null;\r\n }, error => {\r\n console.log('completeSignout failed');\r\n console.log(error);\r\n });\r\n }\r\n\r\n getClientSettings(): UserManagerSettings {\r\n return environment.auth_settings;\r\n }\r\n}\r\n\r\n// for use with HTTPCLIENT!\r\n@Injectable()\r\nexport class ApiAuthInterceptor implements HttpInterceptor {\r\n private progress = 0;\r\n constructor(@Inject(AuthService) private authService: AuthService,\r\n @Inject(NgProgress) private ngProgress: NgProgress,\r\n @Inject(Router) private router: Router) {\r\n }\r\n\r\n newGuid() {\r\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {\r\n const r = Math.random() * 16 || 0, v = c === 'x' ? r : (r && 0x3 || 0x8);\r\n return v.toString(16);\r\n });\r\n }\r\n\r\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n var _skipProgress = false;\r\n if(request.url.includes('members/invite'))\r\n _skipProgress = true;\r\n this.progress++;\r\n const progressRef = this.ngProgress.ref('root');\r\n if (progressRef && !progressRef.isStarted && !_skipProgress) {\r\n progressRef.start();\r\n }\r\n let authRequest = null;\r\n if (request.url.indexOf('i18n') >= 0) {\r\n authRequest = request;\r\n } else {\r\n authRequest = request.clone({\r\n headers: request.headers.set('Authorization', this.authService.getAuthorizationHeaderValue()).set('Accept-Language', 'el'),\r\n params: request.params\r\n });\r\n // authRequest = request.clone({ headers: request.headers.set('Authorization', this.authService.getAuthorizationHeaderValue()),\r\n // params: request.params.set('v', this.newGuid()) });\r\n }\r\n return next.handle(authRequest)\r\n .pipe(\r\n finalize(() => {\r\n this.progress--;\r\n if (this.progress === 0) {\r\n if (progressRef && progressRef.isStarted && !_skipProgress) {\r\n progressRef.complete();\r\n }\r\n }\r\n }),\r\n catchError((err: any) => {\r\n if (!environment.production) {\r\n console.log(' error caught in interceptor : ' + JSON.stringify(err));\r\n }\r\n // return the error to the method that called it\r\n if (err && err.status && (err.status === 401 || err.status === 403)) {\r\n //this.router.navigate(['/forbidden']);\r\n }\r\n //throw(err);\r\n return throwError(err);\r\n })\r\n );\r\n }\r\n}\r\n","import { Component, Inject } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { PolicyService, NotificationService } from 'src/app/core/services';\r\nimport { IProtectedMember } from '../app-models';\r\nimport { WebApiService } from '../core/services/web-api.service';\r\n\r\n@Component({\r\n templateUrl: 'require-consent-dialog.component.html'\r\n})\r\n\r\n\r\nexport class RequireConsentDialogComponent {\r\n info = '';\r\n email: string;\r\n constructor(private dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public pMember: IProtectedMember,\r\n private webApi: WebApiService,\r\n private notificationService: NotificationService,\r\n private policyService: PolicyService) {\r\n this.email = this.pMember.email;\r\n this.info = `Το εξαρτώμενο μέλος ${pMember.fullName} δεν έχει δώσει συγκατάθεση για την επεξεργασία των προσωπικών του δεδομένων υγείας και τη χρήση της ηλεκτρονικής πλατφόρμας για λογαριασμό του. Παρακαλώ συμπληρώστε έγκυρο email του εξαρτώμενου μέλους για την ενημέρωσή του και τη λήψη συγκατάθεσης. Θα ζητηθεί η συμπλήρωση του Αριθμού Ομαδικού Συμβολαίου και του δικού σας Α.Φ.Μ.`;\r\n }\r\n sendConfirmationEmail(): void {\r\n const url = `${this.policyService.selectedPolicyId}/members/${this.pMember.policyMemberId}/protected/${this.pMember.insuredId}/consentProtected`;\r\n this.webApi.post(url, this.email, true).subscribe(\r\n (success) => this.dialogRef.close(true),\r\n (error) => this.close()\r\n );\r\n }\r\n close(): void {\r\n this.dialogRef.close(false);\r\n }\r\n}\r\n","export default \"\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
{{ row?.description | nullOrEmpty }}
\\r\\n
\\r\\n \\r\\n {{ row?.contributionType | translateEnum | nullOrEmpty }}\\r\\n \\r\\n \\r\\n {{ row?.valuationDate | date | nullOrEmpty }}\\r\\n \\r\\n \\r\\n {{ (row.productType == 'Monetary' ? (row?.maximumRedemptionGrossAmount | currency:'EUR') : decimalConverter(row?.maximumRedemptionDividends.toString())) }}\\r\\n \\r\\n \\r\\n {{ (row?.maximumRedemptionValuation | currency:'EUR') | nullOrEmpty }}\\r\\n \\r\\n \\r\\n \\r\\n
0\\\" [formGroup]=\\\"redemptiomForms[rowIndex]\\\" name=\\\"redemptionForm\\\"> \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n {{ ((row.productType == 'Monetary' ? (redemptiomForms[rowIndex].controls['value']?.value | currency:'EUR') : decimalConverter(redemptiomForms[rowIndex].controls['value']?.value?.toString())) | nullOrEmpty) }}\\r\\n \\r\\n \\r\\n
\\r\\n
0\\\">Σύνολο Μικτού Ποσού Εξαγοράς: {{ requestedAmountSum | currency:'EUR' }}
\\r\\n
\\r\\n - {{errorMessage}}\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\";","import { Component, Input, OnInit } from \"@angular/core\";\r\n\r\n@Component({\r\n selector: 'gg-member-benefits',\r\n templateUrl: 'member-benefits.component.html'\r\n})\r\nexport class MemberBenefitsComponent implements OnInit {\r\n @Input() policyService: any = {};\r\n enableMemberActions: boolean = true;\r\n\r\n isMember: boolean;\r\n\r\n ngOnInit(): void {\r\n this.isMember = this.policyService.selectedPolicy.membershipStatus.accessLevel === 'Member';\r\n this.policyService.getPolicyBenefits();\r\n }\r\n\r\n\r\n benefitClick(event: Event) {\r\n if (event && event.currentTarget && event.currentTarget['parentNode']) {\r\n const parent = event.currentTarget['parentNode'];\r\n parent.classList.toggle('open');\r\n }\r\n }\r\n}","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { RelationshipType, ClaimStatusType, DocumentType } from 'src/app/app-models';\r\n\r\n@Pipe({ name: 'enumToString' })\r\nexport class EnumToStringPipe implements PipeTransform {\r\n transform(value: string, enumType: string = ''): string {\r\n let returnValue = '';\r\n let v = -1;\r\n\r\n const isString = typeof (value) === 'string';\r\n const isNumber = typeof (value) === 'number';\r\n const isBoolean = typeof (value) === 'boolean';\r\n\r\n if (isNumber) {\r\n v = parseInt(value);\r\n } else if (isBoolean) {\r\n v = value ? 1 : 0;\r\n } else if (isString) {\r\n v = parseInt(value);\r\n if (isNaN(v)) {\r\n return value;\r\n }\r\n }\r\n switch (enumType.toLowerCase()) {\r\n case 'relationshiptype': {\r\n returnValue = RelationshipType[v];\r\n break;\r\n }\r\n //case 'policydocumenttype': {\r\n // returnValue = DocumentType[v];\r\n // break;\r\n //}\r\n case 'claimstatustype': {\r\n returnValue = ClaimStatusType[v];\r\n break;\r\n }\r\n //case 'sextype': {\r\n // returnValue = Models.SexType[v];\r\n //}\r\n default:\r\n break;\r\n }\r\n return returnValue;\r\n }\r\n}\r\n\r\n\r\n@Pipe({ name: 'translateEnum' })\r\nexport class TranslateEnumPipe implements PipeTransform {\r\n transform(value: any) {\r\n const translations: any = {\r\n 'Male': 'Άντρας',\r\n 'Female': 'Γυναίκα',\r\n 'Spouse': 'Σύζυγος',\r\n 'Child': 'Παιδί',\r\n 'Draft': 'Πρόχειρο',\r\n 'Submitted': 'Υποβλήθηκε',\r\n 'Reviewing': 'Υπό επεξεργασία',\r\n 'Pending': 'Εκκρεμής',\r\n 'Rejected': 'Απορρίφθηκε',\r\n 'Closed': 'Ολοκληρώθηκε',\r\n 'Inactive': 'Aδρανής',\r\n 'Active': 'Ενεργό',\r\n 'ReviewIncomplete': 'Υπό επεξεργασία',\r\n 'ProcessIncomplete':'Υπό επεξεργασία',\r\n 'All': 'Όλα',\r\n 'NewMember': 'Νέο Μέλος',\r\n 'InsuranceEnd': 'Λήξη Ασφάλισης',\r\n 'TransferOrEnd': 'Μεταφορά/Λήξη',\r\n 'SalaryChange': 'Αλλαγή Μισθού',\r\n 'InformationChange': 'Αλλαγή Στοιχείων',\r\n 'Doctor': 'Ιατρος',\r\n 'DiagnosticExaminations': 'Διαγνωστικες εξετασεις',\r\n 'Medicine': 'Φαρμακα',\r\n 'ChildBirth': 'Τοκετος',\r\n 'Accident' : 'Ιατροφαρμακευτικα Εξοδα Ατυχηματος',\r\n 'Other': 'Αλλο',\r\n 'PhysioSpeechTherapy': \"Φυσικοθεραπείες / Λογοθεραπείες\",\r\n 'TherapeuticMeans': \"Θεραπευτικά Μέσα \",\r\n 'OvernightΗospitalΕxpenses' : \"Έξοδα Νοσηλείας με Διανυκτέρευση\",\r\n 'DayHospitalDaySurgeryCosts' : \"Έξοδα ημερήσια νοσηλείας / χειρουργείο μιας ημέρας\",\r\n 'Emergency' : \"Επείγον / Εκτατό περιστατικό \",\r\n 'MaternityBenefit' : \"Επίδομα Μητρότητας\",\r\n 'SurgicalBenefit' : \"Χειρουργικό Επίδομα\",\r\n 'LossOfIncome' : \"Απώλεια Εισοδήματος\",\r\n 'HospitalBeneft': \"Νοσοκομειακό Επίδομα\",\r\n 'Policy': 'Συμβόλαιο',\r\n 'AdditionalAct': 'Πρόσθετη πράξη',\r\n 'Booklet': 'Booklet',\r\n 'InvestmentInfoDoc' :'PRIIP KID',\r\n 'ContractorManual' : 'Manual Συμβ.',\r\n 'InsuredManual' : 'Manual Ασφ.',\r\n 'EducationalMaterial' : 'Εκπαιδευτικό Υλικό',\r\n 'Doc152' :'Έγγραφο 152',\r\n 'Rest': 'Λοιπά Έντυπα',\r\n 'EmployerRegular': 'Τακτική Εργοδότη',\r\n 'EmployerUrgent': 'Έκτακτη Εργοδότη',\r\n 'EmployeeRegular': 'Τακτική Ασφαλισμένου',\r\n 'EmployeeUrgent': 'Έκτακτη Ασφαλισμένου',\r\n 'VeryConservative': 'Πολύ Συντηρητικό',\r\n 'Conservative': 'Συντηρητικό',\r\n 'Balanced': 'Ισορροπημένο',\r\n 'Aggressive': 'Επιθετικό',\r\n 'VeryAggressive': 'Πολύ Επιθετικό',\r\n 'Unchanged': 'Τρέχουσα',\r\n 'Different': 'Άλλη',\r\n 'Current': 'Τρέχουσα',\r\n 'Future': 'Μελλοντική',\r\n 'Dividends': 'Μερίδια',\r\n 'Monetary': 'Ποσό €',\r\n 'Partial': 'Μερική',\r\n 'Total': 'Ολική',\r\n 'Contribution': 'Εισφορά',\r\n 'Redemption': 'Εξαγορά',\r\n 'Yearly': 'Ετήσιο',\r\n \"Normal\": 'Κανονική',\r\n \"Early\": 'Πρόωρη',\r\n \"None\": 'Καμία προτίμηση',\r\n \"BalancedPreference\": 'Ισορροπημένη προτίμηση',\r\n \"Strong\": 'Ισχυρή προτίμηση'\r\n };\r\n return translations[value] || '';\r\n }\r\n}","import { Component, Inject } from '@angular/core';\r\nimport { AppPolicyType, IPolicy } from '../app-models';\r\nimport { TableConfig, IResultSet } from '../core/core-models';\r\nimport { WebApiService } from '../core/services/web-api.service';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { DafApiClient } from '../core/services';\r\n\r\n@Component({\r\n templateUrl: 'policy-selector-dialog.component.html'\r\n})\r\nexport class PolicySelectorDialogComponent {\r\n policies: IPolicy[] = [];\r\n dafPolicies: [] = [];\r\n selectedPolicyId = '';\r\n policyListOptions: TableConfig = new TableConfig();\r\n selectedPolicy = [];\r\n isSearch :boolean;\r\n selectedPolicyType: AppPolicyType;\r\n local_messages = {\r\n // Message to show when array is presented\r\n // but contains no values\r\n emptyMessage: 'Δεν υπάρχουν δεδομένα',\r\n // Footer total message\r\n totalMessage: 'σύνολο',\r\n // Footer selected message\r\n selectedMessage: 'επιλεγμένο'\r\n };\r\n pageLimitOptions = [{ value: 5 }, { value: 10 }, { value: 15 }, { value: 20 }];\r\n\r\n constructor(private dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data: IPolicy, private webApi: WebApiService, private dafApiClient: DafApiClient) {\r\n this.selectedPolicyType = AppPolicyType.GroupPolicy;\r\n this.onPolicySearch(false);\r\n }\r\n\r\n onPolicySelect({ seletected }): void {\r\n this.selectedPolicyId = this.selectedPolicy[0].id;\r\n }\r\n\r\n onPolicySearch(Search :boolean) : void {\r\n if(Search){\r\n this.InitializePageOptions();\r\n }\r\n \r\n if(this.selectedPolicyType === AppPolicyType.GroupPolicy){\r\n this.webApi.getList('', this.policyListOptions).subscribe(\r\n (success: IResultSet) => {\r\n this.policies = success.items;\r\n this.policyListOptions.setTotalItems(success.count);\r\n \r\n }\r\n \r\n )\r\n } else {\r\n this.dafApiClient.getPolicies(this.policyListOptions.page, this.policyListOptions.size,\r\n this.policyListOptions.sort, this.policyListOptions.search).subscribe(\r\n (success) => {\r\n this.policies = success.items.map(item => {\r\n return {\r\n description: item.description || `ΕΠΕΝΔΥΤΙΚΟ ΣΥΜΒΟΛΑΙΟ ${item.policyIdentifier}`,\r\n appPolicyType: AppPolicyType.DafPolicy,\r\n id: item.policyIdentifier,\r\n policyNumber: item.policyIdentifier,\r\n name: item.description,\r\n dateFrom: item.startDate,\r\n dateTo: undefined,\r\n company: { name: item.description, tin: item.vatNumber },\r\n vatNumber: item.vatNumber,\r\n onlyGuaranteedPrincipal: item.onlyGuaranteedPrincipal,\r\n membershipStatus: {\r\n isInsured: item.membershipStatus.isInsured,\r\n accessLevel: item.membershipStatus.role,\r\n policyMemberId: item.membershipStatus.isInsured ? item.membershipStatus.insuredId.toString() : null\r\n }\r\n };\r\n })\r\n this.policyListOptions.setTotalItems(success.count);\r\n }\r\n )\r\n }\r\n }\r\n private InitializePageOptions() {\r\n this.policyListOptions.page = 1;\r\n this.policyListOptions.totalElements = 0;\r\n this.policyListOptions.totalPages = 1;\r\n this.policyListOptions.pageIndex = 0;\r\n }\r\n\r\n onPolicyPageChange(pageInfo): void {\r\n const listOpts = this.policyListOptions;\r\n listOpts.pageIndex = pageInfo.offset;\r\n listOpts.page = this.policyListOptions.pageIndex + 1;\r\n this.onPolicySearch(false);\r\n }\r\n onPolicySort(event): void {\r\n this.policyListOptions.setSorting(event);\r\n this.onPolicySearch(false);\r\n }\r\n onPolicyPageSizeChange(limit: any): void {\r\n this.policyListOptions.size = parseInt(limit, undefined);\r\n this.onPolicySearch(true)\r\n }\r\n save(): void {\r\n this.dialogRef.close(this.selectedPolicyId);\r\n }\r\n close(): void {\r\n this.dialogRef.close();\r\n }\r\n policyTypeFilter(event) {\r\n if (event.currentTarget.id === AppPolicyType.GroupPolicy) {\r\n this.selectedPolicyType = AppPolicyType.GroupPolicy;\r\n } else {\r\n this.selectedPolicyType = AppPolicyType.DafPolicy;\r\n }\r\n this.policyListOptions = new TableConfig();\r\n this.onPolicySearch(false);\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\nconst url = `${window.location.protocol}//${window.location.host}`;\r\nexport const environment = {\r\n production: false,\r\n dafApiUrl: 'https://groupama-orch-daf-sandbox.azurewebsites.net',\r\n webApiUrl: 'https://groupama-orch-group-policy-sandbox.azurewebsites.net/v1/group-policies',\r\n auth_settings: {\r\n authority: 'https://identity-sandbox.groupama.gr',\r\n client_id: 'group-policies-spa',\r\n redirect_uri: `${url}/auth-callback`,\r\n post_logout_redirect_uri: `${url}/logged-out`,\r\n response_type: 'id_token token',\r\n // scope: 'openid profile gaia:group_policies membership',\r\n scope: 'openid profile gaia:group_policies gaia:daf membership',\r\n filterProtocolClaims: true,\r\n loadUserInfo: true,\r\n silent_redirect_uri: `${url}/auth-renew`,\r\n }\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/dist/zone-error'; // Included with Angular CLI.\r\n","export default \"
\\r\\n
\\r\\n
\\r\\n
{{policyService?.selectedPolicy?.company?.name | nullOrEmpty}}
\\r\\n
{{policyService?.selectedMember?.fullName | nullOrEmpty}}
\\r\\n
{{policyService?.selectedMember?.code | nullOrEmpty}}
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Συμβόλαιο
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\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, ViewChild} from '@angular/core';\r\nimport {IChartCategory, IPolicyService, AppPolicyType} from '../../../app-models';\r\nimport * as _ from 'lodash';\r\nimport {ChartComponent} from './chart.component';\r\nimport { PolicyService } from '../../../core/services/policy.service';\r\nimport { MatCheckboxChange } from '@angular/material/checkbox';\r\nimport { take } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'gg-policy-stats',\r\n templateUrl: 'policy-stats.component.html'\r\n})\r\nexport class PolicyStatsComponent implements OnInit {\r\n @Input() policyService: PolicyService;\r\n\r\n selectedChartIndex = 0;\r\n selectedChartCode = 'ALL';\r\n selectedChartCategory: IChartCategory = {title: ''};\r\n selectedStats = {};\r\n filteredStats = null;\r\n selectedYears = {};\r\n @ViewChild('stats') stats: ChartComponent;\r\n\r\n temp: any;\r\n\r\n ngOnInit() {\r\n //this.onStatsChange('ALL');\r\n this.policyService.PolicyIdWatcher().pipe(take(1)).subscribe((policyId: string) => {\r\n this.selectedChartCode = 'ALL';\r\n this.onStatsChange('ALL');\r\n });\r\n }\r\n\r\n constructor() {\r\n // if (this.policyService.policyStatisticsSelections) {\r\n // this.onStatsChange({value: 'ALL'});\r\n // }\r\n\r\n }\r\n\r\n\r\n onStatsChange(code: string) {\r\n if (this.policyService.selectedPolicy.appPolicyType !== AppPolicyType.GroupPolicy) {\r\n return;\r\n }\r\n const categories = this.policyService.policyStatisticsSelections.filter((v) => v.code === code);\r\n this.selectedChartCategory = categories[0];\r\n (this.selectedChartCategory.years || []).forEach((y) => this.selectedYears[y] = true);\r\n if (!this.selectedChartCategory.code) {\r\n return;\r\n }\r\n const exists = Object.keys(this.policyService.selectedPolicy.statistics || {}).includes(this.selectedChartCategory.code);\r\n if (!exists) {\r\n this.policyService.getPolicyStatistics(this.policyService.selectedPolicyId, this.selectedChartCategory.code).subscribe(\r\n (success) => {\r\n const k = success['name'];\r\n const data = success['data'];\r\n if (!this.policyService.selectedPolicy.statistics) {\r\n this.policyService.selectedPolicy.statistics = {};\r\n }\r\n this.policyService.selectedPolicy.statistics[k] = data;\r\n this.filteredStats = _.cloneDeep(this.policyService.selectedPolicy.statistics[k]);\r\n this.selectedStats = _.cloneDeep(this.policyService.selectedPolicy.statistics[k]);\r\n this.showHideYearNoData(this.selectedStats);\r\n }\r\n );\r\n } else {\r\n this.filteredStats = _.cloneDeep(this.policyService.selectedPolicy.statistics[this.selectedChartCategory.code]);\r\n this.selectedStats = _.cloneDeep(this.policyService.selectedPolicy.statistics[this.selectedChartCategory.code]);\r\n }\r\n }\r\n\r\n showHideYear(data: MatCheckboxChange) {\r\n const year = data.source.value;\r\n const toAdd = data.checked;\r\n this.shoWHideYearProcess(toAdd, year); }\r\n\r\n showHideYearNoData(selectedStats : {}) {\r\n const year = new Date().getFullYear().toString();\r\n const toAdd = true;\r\n const unique = (value, index, self) => {\r\n return self.indexOf(value) === index\r\n }\r\n this.selectedChartCategory.years = this.filteredStats[0].series.map(s => s.year).filter(unique);\r\n (this.selectedChartCategory.years || []).forEach((y) => this.selectedYears[y] = true);\r\n this.shoWHideYearProcess(toAdd, year); }\r\n\r\n\r\n private shoWHideYearProcess(toAdd: boolean, year: string) {\r\n const keys = Object.keys(this.selectedStats);\r\n for (let k = 0; k < keys.length; k++) {\r\n const key = keys[k];\r\n if (toAdd) {\r\n const _resultsToAdd: any[] = this.selectedStats[key].series.filter((s) => s.year === year);\r\n const _existingResults: any[] = this.filteredStats[key].series;\r\n this.filteredStats[key].series = _.sortBy(_existingResults.concat(_resultsToAdd), ['year']);\r\n }\r\n else {\r\n const notVissible = Object.keys(this.selectedYears).filter((y) => !this.selectedYears[y]);\r\n this.filteredStats[key].series = Object.assign([], this.selectedStats[key].series.filter((s) => notVissible.indexOf(s.year) === -1)).sort();\r\n }\r\n }\r\n this.stats.results = this.filteredStats;\r\n this.stats.update();\r\n }\r\n\r\n\r\n\r\n}\r\n","export default \"
\\r\\n
\\r\\n
\\r\\n Συγκατάθεση για την επεξεργασία προσωπικών στοιχείων μέλους\\r\\n
\\r\\n
\\r\\n {{ info }} \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\";","import { Component } from '@angular/core';\r\nimport { PolicyService } from '../services';\r\nimport { AuthService } from 'src/app/core/services';\r\n\r\n@Component({\r\n templateUrl: './no-policies.component.html'\r\n})\r\nexport class NoPoliciesComponent {\r\n constructor(public policyService: PolicyService, public authService: AuthService) {\r\n\r\n }\r\n}\r\n","import { Component } from '@angular/core';\r\nimport { NgForm } from '@angular/forms';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { MemberBaseEditComponent } from './member-base-edit-component';\r\nimport { WebApi, NotificationService, PolicyService, User } from 'src/app/core/services';\r\nimport { IInsuredMember, IAddress } from 'src/app/app-models';\r\nimport { formatDate } from '@angular/common';\r\nimport { MatDialog } from '@angular/material/dialog';\r\n\r\n@Component({\r\n templateUrl: 'member-edit.component.html'\r\n})\r\nexport class MemberEditComponent extends MemberBaseEditComponent {\r\n member: IInsuredMember = {\r\n policyMemberAddress: {},\r\n protectedMembers: []\r\n };\r\n readonly: boolean;\r\n adminOnly: boolean;\r\n isViewOnlyAdmin : boolean;\r\n changedCategory = false;\r\n itsMe: boolean;\r\n amIOwner: boolean;\r\n ownerWithClaimRights: boolean;\r\n consentGiven: boolean;\r\n allowEdit = false;\r\n defaultCategory: string;\r\n public canEdit = false;\r\n defaultSexType :string ;\r\n changedSexType = false;\r\n checkIfSalaryRequired:boolean\r\n\r\n public isCreateMode: boolean;\r\n\r\n\r\n constructor(private router: Router, protected route: ActivatedRoute, public policyService: PolicyService, public user: User, protected webApi: WebApi, protected notificationService: NotificationService, protected dialog: MatDialog) {\r\n super(route, dialog, webApi, notificationService);\r\n this.member = route.snapshot.data['member'];\r\n this.member.validFromDate = new Date();\r\n this.member.protectedMembers = route.snapshot.data['protected']['items'];\r\n this.defaultCategory = this.member.policyCategoryId;\r\n this.canEdit = this.itsMe || this.amIOwner;\r\n this.isCreateMode = false;\r\n\r\n this.itsMe = this.policyService.selectedPolicy.membershipStatus.policyMemberId === this.member.id;\r\n this.amIOwner = policyService.selectedPolicy.membershipStatus.accessLevel === 'Owner';\r\n this.ownerWithClaimRights = policyService.selectedPolicy.membershipStatus.accessLevel === 'OwnerWithClaimRights';\r\n this.adminOnly = user.isAdmin || user.role === 'Administrator';\r\n this.isViewOnlyAdmin = this.policyService.selectedPolicy.membershipStatus.accessLevel === 'ViewOnlyAdmin';\r\n this.allowEdit = this.amIOwner || this.changedCategory;\r\n\r\n this.readonly = policyService.selectedPolicy.membershipStatus.accessLevel === 'Member' || policyService.selectedPolicy.membershipStatus.accessLevel === 'ViewOnlyAdmin' ||\r\n (this.itsMe && policyService.selectedPolicy.membershipStatus.isInsured && !this.amIOwner);\r\n\r\n if (policyService.selectedPolicy.benefits.length === 0) {\r\n policyService.getPolicyBenefits(policyService.selectedPolicyId);\r\n }\r\n this.consentGiven = this.member.allowSensitiveDataViewing;\r\n }\r\n ngOnInit(): void {\r\n this.canEdit =true;\r\n }\r\n ShowPersonalDetailsSection(sexType: string) {\r\n if (sexType !== this.defaultSexType) {\r\n this.changedSexType = true;\r\n } else {\r\n this.changedSexType = false;\r\n }\r\n }\r\n EnableEdit(newCat: string) {\r\n if (newCat !== this.defaultCategory) {\r\n this.changedCategory = true;\r\n } else {\r\n this.changedCategory = false;\r\n }\r\n this.allowEdit = this.amIOwner || this.changedCategory;\r\n const t = this.member.salary;\r\n this.checkIfSalaryRequired = this.policyService.selectedPolicy.benefits.find(item => item.id === newCat).covers.some(function(el){ return el.requireSalary === '1'});\r\n \r\n }\r\n submitForm(form: NgForm) {\r\n if(form.dirty){\r\n this.member.firstName=this.notificationService.RemoveAccents(this.member.firstName);\r\n this.member.lastName=this.notificationService.RemoveAccents(this.member.lastName);\r\n this.member.bankAccount && (this.member.bankAccount = this.member.bankAccount.replace(/\\s/g, ''));\r\n this.member.policyMemberAddress.city=this.notificationService.RemoveAccents( this.member.policyMemberAddress.city);\r\n this.member.policyMemberAddress.line1=this.notificationService.RemoveAccents( this.member.policyMemberAddress.line1);\r\n this.member.validFromDate = new Date(formatDate(this.member.validFromDate, 'yyyy-MM-dd', 'el-GR'));\r\n this.member.birthDate = new Date(formatDate(this.member.birthDate, 'yyyy-MM-dd', 'el-GR'));\r\n this.member.insuredDate = new Date(formatDate(this.member.insuredDate, 'yyyy-MM-dd', 'el-GR'));\r\n this.member.insuredEndDate = new Date(formatDate(this.member.insuredEndDate, 'yyyy-MM-dd', 'el-GR'));\r\n this.webApi.put(`${this.member.policyId}/members/${this.member.id}`, this.member).subscribe(\r\n (member: IInsuredMember) => {\r\n this.notificationService.success('Ενημέρωση μέλους', '');\r\n this.policyService.goToSelectedPolicy();\r\n },\r\n (error) => this.notificationService.parseAndPopError(error)\r\n );\r\n }\r\n }\r\n\r\n public downloadCarta():void {\r\n const fullNames = [`${this.member.firstName} ${this.member.lastName}`,...this.member.protectedMembers.map(member => `${member.firstName} ${member.lastName}`)];\r\n const codes = [`${this.member.code}`,...this.member.protectedMembers.map(member => `${member.code}`)];\r\n this.policyService.downloadCartaPDF(this.policyService?.selectedPolicy?.company?.name, fullNames,codes);\r\n }\r\n\r\n\r\n}\r\n\r\n \r\n","import { Directive, Input, SimpleChanges } from \"@angular/core\";\r\nimport { Validator, AbstractControl, NG_VALIDATORS } from \"@angular/forms\";\r\nimport { ValidatorBaseDirective } from './validator-base.directive';\r\nimport { validateIBAN } from \"ngx-iban-validator\";\r\n@Directive({\r\n selector: \"[iban]\",\r\n providers: [\r\n { provide: NG_VALIDATORS, useExisting: IbanDirecive, multi: true },\r\n ],\r\n})\r\nexport class IbanDirecive extends ValidatorBaseDirective implements Validator {\r\n @Input()\r\n iban: string;\r\n\r\n constructor() {\r\n super(\"iban\");\r\n }\r\n\r\n validate(c: AbstractControl): { [key: string]: any } {\r\n if (c.value && this.iban ) {\r\n const ibanIsInvalid = validateIBAN({\r\n value: c.value,\r\n }).ibanInvalid;\r\n if (ibanIsInvalid) {\r\n return { iban: true };\r\n }\r\n }\r\n return null;\r\n }\r\n}\r\n \r\n\r\n\r\n","import { QuestionnaireDetails, QuestionnaireDisclaimerType, SwitchType } from './../../../core/services/daf-api.service';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { PolicyService, DafApiClient, NotificationService } from 'src/app/core/services';\r\nimport { Investment, InvestmentSwitchCreateRequest, InvestmentSwitchDetailCreateRequest } from 'src/app/core/services/daf-api.service';\r\nimport { FormGroup, FormBuilder, FormControl, FormArray } from '@angular/forms';\r\nimport { QuestionnaireGroupType } from 'src/app/app-models';\r\n\r\n@Component({\r\n selector: 'app-daf-initial-investment',\r\n templateUrl: './daf-initial-investment.component.html'\r\n})\r\n\r\nexport class DafInitialInvestmentComponent implements OnInit {\r\n investment = new Investment();\r\n contributionTypes = [];\r\n investments = [];\r\n investmentForms = [];\r\n isFreeInvestmentProfile: boolean;\r\n public busy = false;\r\n validForms = true;\r\n errorMessages = [];\r\n scoreDetail : QuestionnaireDetails\r\n\r\n constructor(public policyService: PolicyService, private dafApiClient: DafApiClient, private fb: FormBuilder, protected notificationService: NotificationService) {}\r\n\r\n ngOnInit(): void {\r\n this.dafApiClient.getInsuredInvestments(this.policyService.selectedPolicy.id, this.policyService.dafSelectedMember.insuredId).subscribe(response => {\r\n this.investment.newOptions = response.newOptions;\r\n this.investment.currentOptions = response.currentOptions;\r\n this.contributionTypes = this.investment.newOptions.map(i => i.contributionType)\r\n .filter((value, index, self) => self.indexOf(value) === index);\r\n this.investment.newOptions.forEach(i => {\r\n let investment = this.investments.find(inv => {\r\n return inv.description === i.description;\r\n })\r\n if (investment) {\r\n let index = this.investments.indexOf(investment);\r\n this.investments[index].allowedContrTypes.push(i.contributionType);\r\n } else {\r\n investment = {\r\n description: i.description,\r\n allowedContrTypes: [i.contributionType],\r\n profileValid: i.profileValid,\r\n investmentCode: i.code\r\n }\r\n this.investments.push(investment);\r\n }\r\n });\r\n this.contributionTypes.forEach(cT => {\r\n this.investmentForms[cT] = this.fb.group({\r\n percentages: this.fb.array([])\r\n });\r\n this.investments.forEach (i => {\r\n let disabled = !i.allowedContrTypes.some(c => c === cT);\r\n (this.investmentForms[cT].get('percentages')).push(new FormControl({ value: null, disabled: disabled }))\r\n this.investmentForms[cT].get('percentages').setValidators(this.sumValidation(cT));\r\n });\r\n });\r\n });\r\n this.scoreDetail = this.policyService.dafSelectedMember.questionnaireDetails.find(group => group.type === QuestionnaireGroupType.SCORE);\r\n if(this.scoreDetail?.disclaimerType === QuestionnaireDisclaimerType.Disagree){\r\n this.isFreeInvestmentProfile = true;\r\n }\r\n }\r\n\r\n sumValidation(cT: string) {\r\n return (formArray: FormArray): {[key: string]: any} => {\r\n let sum = 0;\r\n for(let control in formArray.controls) {\r\n sum += formArray.get(control).value ?? 0;\r\n }\r\n return sum !== 100 ? { notValid: true} : null\r\n }\r\n }\r\n\r\n public gotoMemberProfile() {\r\n const url = `daf-policy/${this.policyService.selectedPolicy.id}/members/${this.policyService.dafSelectedMember.id}`;\r\n this.policyService.navigate([url]);\r\n }\r\n\r\n public onSubmit() {\r\n const investmentSwitchDetailRequest: InvestmentSwitchDetailCreateRequest[] = []\r\n this.errorMessages = [];\r\n this.validForms = true;\r\n this.contributionTypes.forEach(cT => {\r\n if (this.investmentForms[cT].valid) {\r\n this.investmentForms[cT].get('percentages').controls.forEach((control, index) => {\r\n // if (control.value) {\r\n let investmentSwitch = new InvestmentSwitchDetailCreateRequest({\r\n contributionType: cT,\r\n investmentId: this.investments[index].investmentCode,\r\n investmentCode: this.investments[index].investmentCode,\r\n investmentDescription: this.investments[index].description,\r\n percentage: control.value ?? 0\r\n });\r\n investmentSwitchDetailRequest.push(investmentSwitch);\r\n // }\r\n });\r\n } else {\r\n this.validForms = false;\r\n }\r\n });\r\n if (this.validForms) {\r\n this.busy = true;\r\n const investmentSwitchCreateRequest = new InvestmentSwitchCreateRequest({\r\n type: SwitchType.Future,\r\n switches: investmentSwitchDetailRequest\r\n });\r\n this.dafApiClient.createInsuredSwitch(this.policyService.selectedPolicy.id, this.policyService.dafSelectedMember.insuredId,\r\n investmentSwitchCreateRequest).subscribe(response => {\r\n this.notificationService.success('Αρχική Επένδυση', 'Η υποβολή έγινε με επιτυχία!');\r\n this.busy = false;\r\n this.policyService.goToSelectedPolicy();\r\n }, error => {\r\n if (error.result && error.result.length > 0) {\r\n this.errorMessages = error.result;\r\n }\r\n this.notificationService.error('Αρχική Επένδυση', error.message);\r\n this.busy = false;\r\n });\r\n } else {\r\n this.notificationService.error('Αρχική Επένδυση', 'Το άθροισμα των επενδυτικών επιλογών ανά στήλη πρέπει να είναι 100%');\r\n this.busy = false;\r\n }\r\n }\r\n}\r\n","export default \"\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\";","export default \"
\\r\\n

Προσωπικό αρχείο

\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n {{list.totalElements}}\\r\\n αποτελέσματα\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{ option.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 {{row?.insuredName+' '+row?.insuredSurname | initials}}\\r\\n {{ row?.insuredName+' '+row?.insuredSurname }}\\r\\n \\r\\n \\r\\n \\r\\n {{ row?.registryNumber }}\\r\\n \\r\\n \\r\\n {{ row?.applicationDate | date | nullOrEmpty }}\\r\\n \\r\\n \\r\\n {{ row?.paymentType | translateEnum }}\\r\\n \\r\\n \\r\\n {{ row?.paymentSort | translateEnum }}\\r\\n \\r\\n \\r\\n {{ row?.paymentAmount | currency:'EUR' }}\\r\\n \\r\\n \\r\\n {{ row?.paymentDividends }}\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{row.insuredName+' '+row.insuredSurname | initials}}\\r\\n {{ row?.insuredName+' '+row?.insuredSurname }}\\r\\n \\r\\n \\r\\n \\r\\n {{ row?.registryNumber }}\\r\\n \\r\\n \\r\\n {{ row?.paymentDate | date | nullOrEmpty }}\\r\\n \\r\\n \\r\\n {{ row?.redemptionGrossAmount | currency:'EUR' }}\\r\\n \\r\\n \\r\\n {{ row?.taxAmount }}\\r\\n \\r\\n \\r\\n {{ row?.warrantyContribution }}\\r\\n \\r\\n \\r\\n {{ row?.netAmount | currency:'EUR' }}\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{row.insuredName+' '+row.insuredSurname | initials}}\\r\\n {{ row?.insuredName+' '+row?.insuredSurname }}\\r\\n \\r\\n \\r\\n \\r\\n {{ row?.insuredRegistryCode }}\\r\\n \\r\\n \\r\\n {{ row?.reportDate | date | nullOrEmpty }}\\r\\n \\r\\n \\r\\n {{ row?.type | translateEnum }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n {{ row?.transactionDate | date | nullOrEmpty }}\\r\\n \\r\\n \\r\\n {{ row?.transactionType | translateEnum }}\\r\\n \\r\\n \\r\\n {{ row?.grossAmount | currency:'EUR' }}\\r\\n \\r\\n \\r\\n {{ row?.netAmount | currency:'EUR' }}\\r\\n \\r\\n \\r\\n {{ row?.investedAmount | currency:'EUR' }}\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n {{ row?.switchDate | date | nullOrEmpty }}\\r\\n \\r\\n \\r\\n {{ row?.type | translateEnum | nullOrEmpty }}\\r\\n \\r\\n \\r\\n {{ row?.contributionType | translateEnum | nullOrEmpty }}\\r\\n \\r\\n \\r\\n \\r\\n {{ row?.investmentDescription | nullOrEmpty }}\\r\\n \\r\\n \\r\\n \\r\\n {{ (row?.percentage | number) || \\\"0\\\" }} %\\r\\n \\r\\n \\r\\n \";","import { Component } from '@angular/core';\r\nimport { CustomMatPaginatorIntl } from 'src/app/shared/components/custom-mat-paginator-int';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { TableConfig, IResultSet } from 'src/app/core/core-models';\r\nimport { WebApi, NotificationService, PolicyService } from 'src/app/core/services';\r\nimport { IMessage, AppPolicyType } from 'src/app/app-models';\r\nimport { PageEvent, MatPaginatorIntl } from '@angular/material/paginator';\r\nimport { ConfirmDialogService } from '../shared/components/confirmation-dialog/confirm-dialog.service';\r\n\r\n@Component({\r\n templateUrl: './messages.component.html',\r\n providers: [{ provide: MatPaginatorIntl, useClass: CustomMatPaginatorIntl }]\r\n})\r\nexport class MessagesComponent {\r\n messages: IMessage[] = [];\r\n listOptions: TableConfig = new TableConfig();\r\n\r\n\r\n \r\n\r\n constructor(private route: ActivatedRoute, private webApi: WebApi, public policyService: PolicyService, private notificationService: NotificationService,private dialogService: ConfirmDialogService,) {\r\n if (route.snapshot.data['messages']) {\r\n this.messages = route.snapshot.data['messages']['items'] || [];\r\n this.listOptions.totalElements = route.snapshot.data['messages']['count'];\r\n this.listOptions.size = this.messages.length;\r\n this.listOptions.setTotalItems(this.listOptions.totalElements);\r\n }\r\n \r\n }\r\n deleteMessage(msg: IMessage) {\r\n\r\n const options = {\r\n title: 'Διαγραφή Ειδοποίησης ',\r\n message: 'Θέλετε να προχωρήσετε σε Διαγραφή?',\r\n cancelText: 'Ακυρο',\r\n confirmText: 'Ναι'\r\n };\r\n \r\n this.dialogService.open(options);\r\n \r\n this.dialogService.confirmed().subscribe(confirmed => {\r\n if (confirmed) {\r\n this.webApi.delete(`${this.policyService.selectedPolicyId}/messages`, msg.id).subscribe(\r\n (success) => this.onSuccess()\r\n \r\n );\r\n }\r\n });\r\n }\r\n\r\n //event.stopPropagation();\r\n //console.log('deleting message with messageId: ');\r\n \r\n\r\n onSuccess() {\r\n const queryParams: any = { size: 10 };\r\n this.fetchMessages(queryParams);\r\n this.notificationService.inform('Διαγραφή Μηνυματος', 'Το μήνυμα διεγράφη.')\r\n }\r\n markAsRead(m: IMessage) {\r\n if (!m.isRead) {\r\n this.webApi.put(`${this.policyService.selectedPolicyId}/messages/${m.id}`, null).subscribe(\r\n (success) => m.isRead = true,\r\n (error) => this.notificationService.parseAndPopError(error)\r\n );\r\n }\r\n }\r\n onSearch(): void {\r\n this.fetchMessages();\r\n }\r\n onPageChange(pageInfo: PageEvent): void {\r\n this.listOptions.size = pageInfo.pageSize;\r\n this.listOptions.page = pageInfo.pageIndex + 1;\r\n this.fetchMessages();\r\n }\r\n private fetchMessages(queryParams = this.listOptions.getListOptions()) {\r\n if(this.policyService.selectedPolicy.appPolicyType === AppPolicyType.GroupPolicy) {\r\n this.webApi.getList(`/${this.policyService.selectedPolicyId}/messages`, queryParams).subscribe(\r\n (success: IResultSet) => {\r\n this.messages = success.items;\r\n this.listOptions.setTotalItems(success.count);\r\n });\r\n } else {\r\n this.messages = [];\r\n this.listOptions.setTotalItems(0);\r\n }\r\n }\r\n\r\n}\r\n","/* tslint:disable */\r\n//----------------------\r\n// \r\n// Generated using the NSwag toolchain v12.0.0.0 (NJsonSchema v9.12.2.0 (Newtonsoft.Json v11.0.0.0)) (http://NSwag.org)\r\n// \r\n//----------------------\r\n// ReSharper disable InconsistentNaming\r\n\r\n\r\n\r\nexport interface ResultSetOfPolicy {\r\n count?: number | null;\r\n items?: Policy[] | null;\r\n}\r\n\r\nexport interface Policy {\r\n id?: string | null;\r\n policyNumber: string;\r\n dateFrom: Date;\r\n dateTo?: Date | null;\r\n payment?: string | null;\r\n name?: string | null;\r\n nextPaymentDate: Date;\r\n paymentAmount: number;\r\n company?: Company | null;\r\n membershipStatus?: MembershipStatus | null;\r\n benefits?: Benefit[] | null;\r\n documents?: PolicyDocument[] | null;\r\n members?: InsuredMember[] | null;\r\n statisticsCovers?: PolicyCover[] | null;\r\n}\r\n\r\nexport interface Company {\r\n tin?: string | null;\r\n name?: string | null;\r\n group?: string | null;\r\n}\r\n\r\nexport interface MembershipStatus {\r\n accessLevel?: MembershipStatusAccessLevel | null;\r\n isInsured?: boolean | null;\r\n policyMemberId?: string | null;\r\n}\r\n\r\nexport interface Benefit {\r\n id?: string | null;\r\n title?: string | null;\r\n}\r\n\r\nexport interface PolicyDocument {\r\n id?: string | null;\r\n policyId?: string | null;\r\n policyMemberId?: string | null;\r\n type: PolicyDocumentType;\r\n category?: string | null;\r\n categoryType?: PolicyDocumentCategoryType | null;\r\n title: string;\r\n subtype: string;\r\n issueDate: Date;\r\n paymentDate?: Date | null;\r\n paymentDueDate?: Date | null;\r\n amount?: number | null;\r\n requestedAmount?: number | null;\r\n referenceNumber?: string | null;\r\n patientName: string;\r\n}\r\n\r\nexport interface InsuredMember {\r\n id?: string | null;\r\n policyId: string;\r\n userId?: string | null;\r\n email?: string | null;\r\n invitationSendDate?: Date | null;\r\n accessLevel?: InsuredMemberAccessLevel | null;\r\n isInsured?: boolean | null;\r\n policyCategoryId: string;\r\n insuredId?: number | null;\r\n familyId?: string | null;\r\n referenceNumber?: string | null;\r\n firstName: string;\r\n lastName: string;\r\n fullName?: string | null;\r\n birthDate: Date;\r\n sex?: string | null;\r\n sexType?: InsuredMemberSexType | null;\r\n afm?: string | null;\r\n amka?: string | null;\r\n code: string;\r\n registryNumber?: string | null;\r\n bankAccount: string;\r\n salary?: number | null;\r\n mobile?: string | null;\r\n insuredDate: Date;\r\n insuredEndDate: Date;\r\n hasPendingChanges?: boolean | null;\r\n allowNewsletters?: boolean | null;\r\n allowSensitiveDataViewing?: boolean | null;\r\n policyMemberAddress?: PolicyMemberAddress | null;\r\n protectedMembers?: ProtectedMember[] | null;\r\n}\r\n\r\nexport interface PolicyCover {\r\n id?: number | null;\r\n code?: string | null;\r\n title?: string | null;\r\n applyToProtectedMembers?: boolean | null;\r\n requireSalary:string | null;\r\n benefits?: Benefit[] | null;\r\n}\r\n\r\nexport interface PolicyMemberAddress {\r\n line1: string;\r\n line2?: string | null;\r\n number?: string | null;\r\n postCode: string;\r\n city: string;\r\n state: string;\r\n country: string;\r\n}\r\n\r\nexport interface ProtectedMember {\r\n id?: string | null;\r\n policyMemberId?: string | null;\r\n referenceNumber: string;\r\n familyId?: string | null;\r\n firstName: string;\r\n lastName: string;\r\n fullName?: string | null;\r\n birthDate: Date;\r\n sex?: string | null;\r\n sexType?: ProtectedMemberSexType | null;\r\n afm?: string | null;\r\n amka?: string | null;\r\n code?: string | null;\r\n insuredId?: number | null;\r\n insuredDate?: Date | null;\r\n insuredEndDate?: Date | null;\r\n relationship?: string | null;\r\n relationshipType: ProtectedMemberRelationshipType;\r\n allowNewsletters?: boolean | null;\r\n allowSensitiveDataViewing?: boolean | null;\r\n overSixteen?: boolean | null;\r\n email?: string | null;\r\n}\r\n\r\nexport interface ResultSetOfPolicyCategory {\r\n count?: number | null;\r\n items?: PolicyCategory[] | null;\r\n}\r\n\r\nexport interface PolicyCategory {\r\n id?: string | null;\r\n code?: string | null;\r\n title?: string | null;\r\n covers?: PolicyCover[] | null;\r\n}\r\n\r\nexport interface ResultSetOfClaimRequest {\r\n count?: number | null;\r\n items?: ClaimRequest[] | null;\r\n}\r\n\r\nexport interface ClaimRequest {\r\n id?: string | null;\r\n policyId?: string | null;\r\n policyMemberId: string;\r\n insuredId?: number | null;\r\n protectedMemberId?: string | null;\r\n status?: string | null;\r\n statusType?: ClaimRequestStatusType | null;\r\n dateOccured: Date;\r\n dateReported?: Date | null;\r\n damageType: string;\r\n damage?: string | null;\r\n damageTypes?: DamageTypes[] | null;\r\n allowNewsletters?: boolean | null;\r\n allowSensitiveDataViewing?: boolean | null;\r\n messages?: GroupPolicyMessage[] | null;\r\n folderId?: number | null;\r\n code?: string | null;\r\n}\r\n\r\nexport interface GroupPolicyMessage {\r\n id?: string | null;\r\n policyId?: string | null;\r\n claimRequestId?: string | null;\r\n title: string;\r\n body: string;\r\n messageType?: GroupPolicyMessageMessageType | null;\r\n insertDate?: Date | null;\r\n isRead?: boolean | null;\r\n dateRead?: Date | null;\r\n isDeleted?: boolean | null;\r\n dateDeleted?: Date | null;\r\n}\r\n\r\nexport interface ResultSetOfGroupPoliciesFile {\r\n count?: number | null;\r\n items?: GroupPoliciesFile[] | null;\r\n}\r\n\r\nexport interface GroupPoliciesFile {\r\n id?: string | null;\r\n fileName?: string | null;\r\n contentType?: string | null;\r\n body?: string | null;\r\n}\r\n\r\nexport interface ResultSetOfPolicyDocument {\r\n count?: number | null;\r\n items?: PolicyDocument[] | null;\r\n}\r\n\r\nexport interface ResultSetOfInsuredMember {\r\n count?: number | null;\r\n items?: InsuredMember[] | null;\r\n}\r\n\r\nexport interface ResultSetOfPolicyImportedMember {\r\n count?: number | null;\r\n items?: PolicyImportedMember[] | null;\r\n}\r\n\r\nexport interface PolicyImportedMember {\r\n id: string;\r\n familyId?: string | null;\r\n personId?: string | null;\r\n afm?: string | null;\r\n amka?: string | null;\r\n registryNumber?: string | null;\r\n applNo?: string | null;\r\n policyNo?: number | null;\r\n cosrCenter?: string | null;\r\n cosrCenterDate?: Date | null;\r\n relationship?: string | null;\r\n relationshipType?: PolicyImportedMemberRelationshipType | null;\r\n timoCat?: string | null;\r\n startDate?: Date | null;\r\n endDate?: Date | null;\r\n recordType?: string | null;\r\n memberRecordType?: PolicyImportedMemberMemberRecordType | null;\r\n customerno?: number | null;\r\n surname?: string | null;\r\n name?: string | null;\r\n fathername?: string | null;\r\n motherName?: string | null;\r\n motherSurname?: string | null;\r\n sex?: string | null;\r\n birthDate?: Date | null;\r\n oikogKat?: string | null;\r\n homeAddress?: string | null;\r\n homeNo?: string | null;\r\n hometk?: string | null;\r\n homeCity?: string | null;\r\n phone?: string | null;\r\n mobile?: string | null;\r\n iban?: string | null;\r\n salary?: number | null;\r\n salaryType?: string | null;\r\n salaryChangeDate?: Date | null;\r\n asfForeas?: string | null;\r\n status?: string | null;\r\n statusType?: PolicyImportedMemberStatusType | null;\r\n insertUser?: string | null;\r\n insertDate?: Date | null;\r\n updateUser?: string | null;\r\n updateDate?: Date | null;\r\n policyId: string;\r\n userId?: string | null;\r\n email?: string | null;\r\n accessLevel?: PolicyImportedMemberAccessLevel | null;\r\n isInsured?: boolean | null;\r\n invitationSendDate?: Date | null;\r\n}\r\n\r\nexport interface ResultSetOfProtectedMember {\r\n count?: number | null;\r\n items?: ProtectedMember[] | null;\r\n}\r\n\r\nexport interface InvitationMembersRequest {\r\n members?: PolicyMember[] | null;\r\n invitationType?: InvitationMembersRequestInvitationType | null;\r\n}\r\n\r\nexport interface PolicyMember {\r\n id: string;\r\n policyId: string;\r\n userId?: string | null;\r\n email: string;\r\n accessLevel: PolicyMemberAccessLevel;\r\n isInsured: boolean;\r\n invitationSendDate?: Date | null;\r\n}\r\n\r\nexport interface ResultSetOfGroupPolicyMessage {\r\n count?: number | null;\r\n items?: GroupPolicyMessage[] | null;\r\n}\r\n\r\nexport interface PolicyOwner {\r\n id?: string | null;\r\n insuredId?: number | null;\r\n referenceNumber?: string | null;\r\n accessLevel?: PolicyOwnerAccessLevel | null;\r\n isInsured?: boolean | null;\r\n email?: string | null;\r\n userId?: string | null;\r\n startDate?: Date | null;\r\n endDate?: Date | null;\r\n}\r\n\r\nexport interface ChartSeries {\r\n name?: string | null;\r\n series?: SeriesItem[] | null;\r\n}\r\n\r\nexport interface SeriesItem {\r\n name?: string | null;\r\n value?: number | null;\r\n year?: string | null;\r\n}\r\n\r\nexport interface ResultSetOfString {\r\n count?: number | null;\r\n items?: string[] | null;\r\n}\r\n\r\nexport interface RedeemConsentsRequest {\r\n token?: string | null;\r\n policyNumber?: string | null;\r\n customerNumber?: string | null;\r\n afm?: string | null;\r\n allowNewsletters?: boolean | null;\r\n allowSensitiveDataViewing?: boolean | null;\r\n}\r\nexport interface RedeemConsentsRequestUnderAge {\r\n insuredId?: number | null;\r\n policyMemberId?: string | null;\r\n ΟwnerMemberId: string | null;\r\n CustomerNumber?: string | null;\r\n afm?: string | null;\r\n allowNewsletters?: boolean | null;\r\n allowSensitiveDataViewing?: boolean | null;\r\n firstName?: string | null;\r\n lastName?: string | null;\r\n\r\n}\r\n\r\n export interface RedeemConsentsRequestByOwnerForPrimary{\r\n insuredId?: number | null;\r\n policyMemberId?: string | null;\r\n ΟwnerMemberId: string | null;\r\n CustomerNumber?: string | null;\r\n afm?: string | null;\r\n allowNewsletters?: boolean | null;\r\n allowSensitiveDataViewing?: boolean | null;\r\n firstName?: string | null;\r\n lastName?: string | null;\r\n isPrimary?: boolean | null;\r\n OverSixteen:boolean | null;\r\n \r\n}\r\n\r\nexport interface RedeemConsentsResponse {\r\n result?: RedeemConsentsResponseResult | null;\r\n}\r\n\r\nexport interface InvitationInsuredRequest {\r\n insuredId?: number | null;\r\n groupPolicyId?: string | null;\r\n email?: string | null;\r\n}\r\n\r\nexport interface InvitationState {\r\n policyId?: string | null;\r\n policyName?: string | null;\r\n accessLevel?: InvitationStateAccessLevel | null;\r\n isInsured?: boolean | null;\r\n}\r\n\r\nexport interface RedeemInvitationRequest {\r\n token?: string | null;\r\n}\r\n\r\nexport interface RedeemInvitationResponse {\r\n result?: RedeemInvitationResponseResult | null;\r\n}\r\n\r\n//export enum Status {\r\n// Draft = \"Draft\",\r\n// Submitted = \"Submitted\",\r\n// Reviewing = \"Reviewing\",\r\n// Pending = \"Pending\",\r\n// Rejected = \"Rejected\",\r\n// Closed = \"Closed\",\r\n//}\r\n\r\n///** The Groupama.Models.GroupPolicies.PolicyDocument type */\r\n//export enum Type {\r\n// General = \"General\",\r\n// Certificate = \"Certificate\",\r\n// Receipt = \"Receipt\",\r\n//}\r\n\r\n///** The Groupama.Models.GroupPolicies.PolicyDocument type */\r\n//export enum Type2 {\r\n// General = \"General\",\r\n// Certificate = \"Certificate\",\r\n// Receipt = \"Receipt\",\r\n//}\r\n\r\n//export enum Status2 {\r\n// Draft = \"Draft\",\r\n// Submitted = \"Submitted\",\r\n// Reviewing = \"Reviewing\",\r\n// Pending = \"Pending\",\r\n// Rejected = \"Rejected\",\r\n// Closed = \"Closed\",\r\n//}\r\n\r\n///** The Groupama.Models.GroupPolicies.PolicyDocument type */\r\n//export enum Type3 {\r\n// General = \"General\",\r\n// Certificate = \"Certificate\",\r\n// Receipt = \"Receipt\",\r\n//}\r\n\r\nexport enum MembershipStatusAccessLevel {\r\n Member = \"Member\",\r\n Contributor = \"Contributor\",\r\n ViewOnlyAdmin = \"ViewOnlyAdmin\",\r\n Owner = \"Owner\",\r\n SysAdmin = \"SysAdmin\"\r\n}\r\n\r\nexport enum PolicyDocumentType {\r\n General = \"General\",\r\n Certificate = \"Certificate\",\r\n Receipt = \"Receipt\",\r\n}\r\n\r\nexport enum PolicyDocumentCategoryType {\r\n Policy = \"Policy\",\r\n AdditionalAct = \"AdditionalAct\",\r\n Booklet = \"Booklet\",\r\n Rest = \"Rest\",\r\n}\r\n\r\nexport enum InsuredMemberAccessLevel {\r\n Member = \"Member\",\r\n Contributor = \"Contributor\",\r\n ViewOnlyAdmin = \"ViewOnlyAdmin\",\r\n Owner = \"Owner\",\r\n SysAdmin = \"SysAdmin\",\r\n}\r\n\r\nexport enum InsuredMemberSexType {\r\n Male = \"Male\",\r\n Female = \"Female\",\r\n}\r\n\r\nexport enum ProtectedMemberSexType {\r\n Male = \"Male\",\r\n Female = \"Female\",\r\n}\r\n\r\nexport enum ProtectedMemberRelationshipType {\r\n Main = \"Main\",\r\n Spouse = \"Spouse\",\r\n Child = \"Child\",\r\n}\r\n\r\nexport enum ClaimRequestStatusType {\r\n Draft = \"Draft\",\r\n Submitted = \"Submitted\",\r\n Reviewing = \"Reviewing\",\r\n Pending = \"Pending\",\r\n Rejected = \"Rejected\",\r\n Closed = \"Closed\",\r\n}\r\n\r\nexport enum DamageTypes {\r\n Doctor = \"Doctor\",\r\n DiagnosticExaminations = \"DiagnosticExaminations\",\r\n Medicine = \"Medicine\",\r\n ChildBirth = \"ChildBirth\",\r\n Accident = \"Accident\",\r\n PhysioSpeechTherapy = \"PhysioSpeechTherapy\",\r\n TherapeuticMeans = \"TherapeuticMeans\",\r\n OvernightΗospitalΕxpenses = \"OvernightΗospitalΕxpenses\",\r\n Emergency = \"Emergency\",\r\n MaternityBenefit = \"MaternityBenefit\",\r\n SurgicalBenefit = \"SurgicalBenefit\",\r\n LossOfIncome = \"LossOfIncome\",\r\n HospitalBeneft = \"HospitalBeneft\",\r\n DayHospitalDaySurgeryCosts = \"DayHospitalDaySurgeryCosts\",\r\n Other = \"Other\",\r\n}\r\n\r\nexport enum DamageCode{\r\n Doctor = \"1\",\r\n DiagnosticExaminations = \"2\",\r\n Medicine = \"3\",\r\n ChildBirth = \"4\",\r\n Accident = \"5\",\r\n PhysioSpeechTherapy = \"6\",\r\n TherapeuticMeans = \"7\",\r\n OvernightΗospitalΕxpenses = \"8\",\r\n DayHospitalDaySurgeryCosts = \"9\",\r\n Emergency = \"10\",\r\n MaternityBenefit = \"11\",\r\n SurgicalBenefit = \"12\",\r\n LossOfIncome = \"13\",\r\n HospitalBeneft = \"14\",\r\n Other = \"99\"\r\n}\r\n\r\nexport interface DamageObject {\r\n damageCode: DamageCode;\r\n hasAutoSettlement: boolean;\r\n description: DamageTypes;\r\n }\r\n\r\nexport interface claimKinds {\r\n valueCode : string;\r\n valueDescription : string;\r\n}\r\n\r\nexport enum GroupPolicyMessageMessageType {\r\n Private = \"Private\",\r\n Announcement = \"Announcement\",\r\n}\r\n\r\nexport enum PolicyImportedMemberRelationshipType {\r\n Main = \"Main\",\r\n Spouse = \"Spouse\",\r\n Child = \"Child\",\r\n}\r\n\r\nexport enum PolicyImportedMemberMemberRecordType {\r\n All = \"All\",\r\n NewMember = \"NewMember\",\r\n InsuranceEnd = \"InsuranceEnd\",\r\n TransferOrEnd = \"TransferOrEnd\",\r\n SalaryChange = \"SalaryChange\",\r\n InformationChange = \"InformationChange\",\r\n}\r\n\r\nexport enum PolicyImportedMemberStatusType {\r\n Inactive = \"Inactive\",\r\n Active = \"Active\",\r\n Pending = \"Pending\",\r\n}\r\n\r\nexport enum PolicyImportedMemberAccessLevel {\r\n Member = \"Member\",\r\n Contributor = \"Contributor\",\r\n ViewOnlyAdmin = \"ViewOnlyAdmin\",\r\n Owner = \"Owner\",\r\n SysAdmin = \"SysAdmin\",\r\n}\r\n\r\nexport enum InvitationMembersRequestInvitationType {\r\n All = \"All\",\r\n AllNew = \"AllNew\",\r\n Resend = \"Resend\",\r\n Selected = \"Selected\"\r\n}\r\n\r\nexport enum PolicyMemberAccessLevel {\r\n Member = \"Member\",\r\n Contributor = \"Contributor\",\r\n ViewOnlyAdmin = \"ViewOnlyAdmin\",\r\n Owner = \"Owner\",\r\n SysAdmin = \"SysAdmin\",\r\n}\r\n\r\nexport enum PolicyOwnerAccessLevel {\r\n Member = \"Member\",\r\n Contributor = \"Contributor\",\r\n ViewOnlyAdmin = \"ViewOnlyAdmin\",\r\n Owner = \"Owner\",\r\n SysAdmin = \"SysAdmin\",\r\n}\r\n\r\nexport enum RedeemConsentsResponseResult {\r\n Invalid = \"Invalid\",\r\n Expired = \"Expired\",\r\n Success = \"Success\",\r\n MismatchedFields = \"MismatchedFields\",\r\n AlreadyAccepted = \"AlreadyAccepted\",\r\n NotFound = \"NotFound\",\r\n}\r\n\r\nexport enum InvitationStateAccessLevel {\r\n Member = \"Member\",\r\n Contributor = \"Contributor\",\r\n ViewOnlyAdmin = \"ViewOnlyAdmin\",\r\n Owner = \"Owner\",\r\n SysAdmin = \"SysAdmin\",\r\n}\r\n\r\nexport enum RedeemInvitationResponseResult {\r\n Invalid = \"Invalid\",\r\n Expired = \"Expired\",\r\n Success = \"Success\",\r\n MismatchedEmail = \"MismatchedEmail\",\r\n AlreadyAccepted = \"AlreadyAccepted\",\r\n NotFound = \"NotFound\",\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 interface FileContentResult {\r\n\r\n}\r\nexport interface Chart {\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { MatPaginatorIntl } from '@angular/material/paginator';\r\n\r\n@Injectable()\r\nexport class CustomMatPaginatorIntl extends MatPaginatorIntl {\r\n constructor() {\r\n super();\r\n this.getCustomTexts();\r\n }\r\n\r\n getCustomTexts() {\r\n this.itemsPerPageLabel = 'Αποτελέσματα ανά σελίδα';\r\n this.nextPageLabel = 'Επόμενη σελίδα';\r\n this.previousPageLabel = 'Προησούμενη σελίδα';\r\n this.changes.next();\r\n }\r\n\r\n getRangeLabel = (page: number, pageSize: number, length: number) => {\r\n if (length === 0 || pageSize === 0) {\r\n return `0 / ${length}`;\r\n }\r\n length = Math.max(length, 0);\r\n const startIndex = page * pageSize;\r\n const endIndex = startIndex < length ? Math.min(startIndex + pageSize, length) : startIndex + pageSize;\r\n return `${startIndex + 1} - ${endIndex} από ${length}`;\r\n }\r\n}\r\n","import { Component, Input, Output, EventEmitter } from '@angular/core';\r\nimport { IProtectedMember } from '../../../app-models';\r\n\r\n@Component({\r\n selector: 'gg-member-protected-edit',\r\n templateUrl: 'member-protected-edit.component.html'\r\n})\r\nexport class MemberProtectedEditComponent {\r\n @Input() policyService: any = {};\r\n @Input() protectedMembers: IProtectedMember[] = [];\r\n @Output() add = new EventEmitter();\r\n @Output() edit = new EventEmitter();\r\n @Output() delete = new EventEmitter();\r\n public amIOwner: boolean; \r\n public ownerWithClaimRights:boolean; \r\n\r\n local_messages = {\r\n // Message to show when array is presented\r\n // but contains no values\r\n emptyMessage: 'Δεν υπάρχουν δεδομένα',\r\n // Footer total message\r\n totalMessage: 'σύνολο',\r\n // Footer selected message\r\n selectedMessage: 'επιλεγμένο'\r\n };\r\n\r\n ngOnInit() {\r\n this.amIOwner = this.policyService.selectedPolicy.membershipStatus.accessLevel === 'Owner';\r\n this.ownerWithClaimRights = this.policyService.selectedPolicy.membershipStatus.accessLevel === 'OwnerWithClaimRights';\r\n }\r\n \r\n\r\n addProtectedMember() {\r\n this.add.emit();\r\n }\r\n editProtectedMember(idx: number) {\r\n this.edit.emit(idx);\r\n }\r\n deleteProtectedMember(idx: number) {\r\n this.delete.emit(idx);\r\n }\r\n}","import { HttpErrorResponse } from '@angular/common/http';\r\n\r\nexport class ErrorHandlingExtension {\r\n \r\n public static GetErrorMessagesObj(errorResponse: HttpErrorResponse, reporter: string = '') {\r\n const result = { title: '', description: '' };\r\n \r\n try {\r\n // Default title includes the reporter and HTTP status text\r\n result.title = reporter + (reporter ? ' ' : '') + (errorResponse.statusText || 'Error');\r\n \r\n if (errorResponse.error) {\r\n const errorObj = errorResponse.error;\r\n \r\n // Check if the error object contains a title\r\n if (errorObj.title) {\r\n result.title = errorObj.title;\r\n }\r\n \r\n // Handle validation errors (400)\r\n if (errorResponse.status === 400 && errorObj.errors) {\r\n const errorMessages = Object.keys(errorObj.errors).map(key =>\r\n `${key}: ${errorObj.errors[key].join(', ')}`\r\n );\r\n result.title = 'Εσφαλμενη κατασταση'; // Greek for \"Bad state\"\r\n result.description = errorMessages.join(' - ');\r\n }\r\n // Handle other cases with a general description\r\n else if (errorObj.message) {\r\n result.description = errorObj.message;\r\n } else if (typeof errorObj === 'string') {\r\n result.description = errorObj;\r\n } else {\r\n result.description = 'An error occurred, but no additional details were provided.';\r\n }\r\n } else {\r\n // Fallback if no error object is present\r\n result.description = errorResponse.message || 'An unknown error occurred.';\r\n }\r\n \r\n // Special cases for specific statuses\r\n switch (errorResponse.status) {\r\n case 401:\r\n result.title = 'Unauthorized';\r\n result.description = 'Unauthorized access to resource.';\r\n break;\r\n case 403:\r\n result.title = 'Forbidden';\r\n result.description = 'Forbidden access to resource.';\r\n break;\r\n case 404:\r\n result.title = 'Δεν βρεθηκε'; // Greek for \"Not found\"\r\n result.description = `Resource not found at: ${errorResponse.url}`;\r\n break;\r\n case 500:\r\n result.title = 'Internal Server Error';\r\n result.description = 'An internal server error occurred.';\r\n break;\r\n case 0:\r\n result.title = 'Αγνωστο Σφαλμα'; // Greek for \"Unknown error\"\r\n result.description = errorResponse.message || 'An unknown error occurred.';\r\n break;\r\n default:\r\n if (!result.description) {\r\n result.description = `Unhandled error (HTTP ${errorResponse.status}) occurred.`;\r\n }\r\n break;\r\n }\r\n } catch (ex) {\r\n result.title = 'Error Processing Response';\r\n result.description = 'An unexpected error occurred while processing the error response.';\r\n }\r\n \r\n return result;\r\n }\r\n \r\n} ","import { Component } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { PolicyService } from 'src/app/core/services';\r\nimport { IPolicyCategory } from 'src/app/app-models';\r\n\r\n@Component({\r\n templateUrl: 'member.component.html'\r\n})\r\nexport class MemberComponent {\r\n //enableMemberActions = false;\r\n //isMember = false;\r\n //memberCategory: IPolicyCategory = {};\r\n constructor(private route: ActivatedRoute, public policyService: PolicyService) {\r\n //this.memberId = route.snapshot.params['memberId'];\r\n this.policyService.selectedMember = this.route.snapshot.data['member'] || {};\r\n if (this.route.snapshot.data['protected']) {\r\n this.policyService.selectedMember.protectedMembers = route.snapshot.data['protected']['items'];\r\n }\r\n //const itsMe = this.policyService.selectedPolicy.membershipStatus.policyMemberId === this.memberId;\r\n //this.isMember = this.policyService.selectedPolicy.membershipStatus.accessLevel === 'Member';\r\n //this.enableMemberActions = policyService.selectedPolicy.membershipStatus.isInsured\r\n //this.memberCategory = policyService.selectedPolicy.benefits.filter((cat) => cat.id === policyService.selectedMember.policyCategoryId)[0];\r\n if (policyService.selectedPolicy.benefits.length === 0) {\r\n policyService.getPolicyBenefits(policyService.selectedPolicyId);\r\n }\r\n }\r\n}","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { MemberComponent } from './member.component';\r\nimport { MemberCreateComponent } from './member-create.component';\r\nimport { MemberEditComponent } from './member-edit.component';\r\nimport { IsLoggedInAuthGuard } from '../core/services/logged-in-guard.service';\r\nimport { PoliciesLoadedGuard } from '../core/services/policies-loaded-guard.service';\r\nimport { PolicyOwnerAuthGuard } from '../core/services/policy-owner-guard.service';\r\nimport { PolicyMemberResolver, ProtectedMembersResolver, DafPolicyMemberResolver } from '../core/services/data-resolver.service';\r\nimport { ConsentProtectedComponent } from './consent-protected.component';\r\nimport { DafMemberProfileComponent } from '../policy/daf/daf-member-profile/daf-member-profile.component';\r\nimport { DafQuestionnaireComponent } from '../policy/daf/daf-questionnaire/daf-questionnaire.component';\r\n\r\nconst ROUTES: Routes = [\r\n {\r\n path: 'policy/:policyId/members',\r\n canActivate: [IsLoggedInAuthGuard],\r\n canActivateChild: [IsLoggedInAuthGuard, PoliciesLoadedGuard],\r\n children: [\r\n { path: 'create', component: MemberCreateComponent, canActivate: [PolicyOwnerAuthGuard] },\r\n {\r\n path: ':memberId/edit', component: MemberEditComponent,\r\n resolve: { member: PolicyMemberResolver, protected: ProtectedMembersResolver },\r\n },\r\n {\r\n path: ':memberId', component: MemberComponent,\r\n resolve: { member: PolicyMemberResolver, protected: ProtectedMembersResolver }\r\n }\r\n ]\r\n },\r\n {\r\n path: 'policy/:policyId/consent-protected',\r\n component: ConsentProtectedComponent\r\n }\r\n];\r\n\r\nexport const RoutableComponents = [MemberComponent, MemberEditComponent, MemberCreateComponent, ConsentProtectedComponent];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(ROUTES)],\r\n exports: [RouterModule]\r\n})\r\nexport class MemberRoutingModule { }\r\n","export default \"
\\r\\n \\r\\n
\\r\\n

Οδηγίες Χρήσης

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

\\r\\n Η «Ενδεικτική Εξέλιξη Λογαριασμού» είναι ένα εργαλείο προσομοίωσης μελλοντικών αποδόσεων το οποίο\\r\\n λαμβάνει υπόψιν διαφορετικά επενδυτικά σενάρια ανεξαρτήτως του επενδυτικό σας προφίλ.
\\r\\n

\\r\\n

\\r\\n Για τη λειτουργία της Ενδεικτικής Εξέλιξης Λογαριασμού συμπληρώνετε:
\\r\\n 1. τον αριθμό ετών για τον οποίο θα γίνει ο υπολογισμός (από 1 μέχρι και 30 έτη)
\\r\\n 2. Το μείγμα επενδύσεων ανά χαρτοφυλάκιο προέλευσης εισφορών (Τακτική Ασφαλισμένου, Τακτική Εργοδότη,\\r\\n Έκτακτη Ασφαλισμένου, Έκτακτη Εργοδότη) – αυτό μπορεί να είναι το τρέχον, ή οποιοδήποτε άλλο σύμφωνα με\\r\\n τα προϊόντα που διατίθενται στο συμβόλαιο σας. Σε περίπτωση που σε κάποιο χαρτοφυλάκιο επιλέξετε την\\r\\n επιλογή «Τρέχουσα», η «Ενδεικτική Εξέλιξη Λογαριασμού» θα υπολογιστεί σύμφωνα με τα τρέχοντα ποσοστά του\\r\\n χαρτοφυλακίου ανά Επενδυτικό Προϊόν, τα οποία θα βρείτε προσυμπληρωμένα. Σε περίπτωση που σε κάποιο\\r\\n χαρτοφυλάκιο επιλέξετε την επιλογή «Άλλο» θα πρέπει να συμπληρώσετε τα ποσοστά ανά Επενδυτικό Προϊόν με\\r\\n τα οποία επιθυμείτε να υπολογιστεί η «Ενδεικτική Εξέλιξη Λογαριασμού».
\\r\\n 3. Υπόθεση αύξησης μισθού/εισφορών ανά έτος σε ποσοστό
\\r\\n 4. Υπόθεση έκτακτων καταβολών (σε ποσό) για τα χαρτοφυλάκια “Έκτακτη Ασφαλισμένου” και “Έκτακτη\\r\\n Συμβαλλομένου” (συμπληρώνετε εφάπαξ ποσό)\\r\\n

\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\";","import { Component, ViewChild, OnInit, Renderer2 } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { PartialMemberCreateDialogComponent } from './partial-member-dialog.component';\r\nimport { IDictionary, TableConfig, IResultSet } from 'src/app/core/core-models';\r\nimport { WebApi, NotificationService, PolicyService } from 'src/app/core/services';\r\nimport { IPolicyMember, IInsuredMember, InvitationType } from 'src/app/app-models';\r\nimport { PolicyMemberAccessLevel } from '../app-models-1';\r\nimport { MatSidenav } from '@angular/material/sidenav';\r\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\r\nimport { MatSelectChange } from '@angular/material/select';\r\nimport { IPolicyManager, PolicyManager } from '../core/services/daf-api.service';\r\nimport { switchMap, take, tap } from 'rxjs/operators';\r\nimport { ConfirmationDialogComponent } from '../shared/components/confirmation-dialog/confirmation-dialog.component';\r\n\r\n@Component({\r\n templateUrl: 'manage.component.html'\r\n})\r\nexport class ManageComponent implements OnInit {\r\n public selectedPolicyId = '';\r\n public countPolicyManagers = 0;\r\n public memberListOptions: TableConfig = new TableConfig(20);\r\n public membersLoadingIndicator = false;\r\n public selectedMembers = [];\r\n public pageLimitOptions = [\r\n { value: 5 },\r\n { value: 10 },\r\n { value: 15 },\r\n { value: 20 },\r\n ];\r\n local_messages = {\r\n // Message to show when array is presented\r\n // but contains no values\r\n emptyMessage: 'Δεν υπάρχουν δεδομένα',\r\n\r\n // Footer total message\r\n totalMessage: 'σύνολο',\r\n\r\n // Footer selected message\r\n selectedMessage: 'επιλεγμένο'\r\n };\r\n\r\n public menu: IDictionary = {\r\n 0: 'Ασφαλισμένοι',\r\n 1: 'Διαχειριστές εκτός ασφαλισμένης ομάδας'\r\n };\r\n public menuList: string[] = Object.keys(this.menu);\r\n public listOptions: IDictionary = {\r\n 0: new TableConfig(), //'Ασφαλισμένοι',\r\n 1: new TableConfig(), //'Αιτουμενες Αποζημιώσεις', \r\n };\r\n\r\n public selectedIndex: number;\r\n private selectedListItem: number;\r\n\r\n canEdit: boolean = false;\r\n\r\n scroll: number;\r\n @ViewChild('sidenav') sidenav: MatSidenav;\r\n constructor(protected route: ActivatedRoute, protected router: Router, public policyService: PolicyService, protected webApi: WebApi, protected notificationService: NotificationService, protected dialog: MatDialog, private renderer: Renderer2) {\r\n this.selectedPolicyId = route.snapshot.params['id'];\r\n this.getManagersCountAndLoadMembers();\r\n \r\n \r\n }\r\n desiredToggleStates: Map = new Map();\r\n ngOnInit() {\r\n this.renderer.listen(window, 'scroll', () => {\r\n this.scroll = window.scrollY;\r\n });\r\n this.memberListOptions.sort='fullName+';\r\n this.canEdit = this.policyService.selectedPolicy.membershipStatus.accessLevel === 'Owner' || this.policyService.selectedPolicy.membershipStatus.accessLevel === 'OwnerWithClaimRights' || this.policyService.selectedPolicy.membershipStatus.accessLevel === 'ViewOnlyAdmin' ;\r\n }\r\n \r\n public getManagersCountAndLoadMembers(){\r\n this.policyService.countPolicyManagers(this.policyService.selectedPolicyId).subscribe(\r\n (data) => {\r\n this.countPolicyManagers = data.value;\r\n this.fetchPolicyMembers();\r\n }\r\n );\r\n }\r\n\r\n public sendInvitations(invitationType?: InvitationType): void {\r\n const members: IPolicyMember[] = [];\r\n if (invitationType === undefined || invitationType == null) {\r\n this.selectedMembers.forEach((member: IInsuredMember) => {\r\n members.push({\r\n email: member.email,\r\n policyId: member.policyId,\r\n isInsured: member.isInsured,\r\n accessLevel: 'Member',\r\n id: member.id\r\n });\r\n });\r\n }\r\n this.webApi.post(`${this.policyService.selectedPolicyId}/members/invite`, { members: members, invitationType: invitationType }).subscribe();\r\n\r\n this.notificationService.inform('Πρόσκληση μελων', 'Το αιτημα σας προωθήθηκε');\r\n }\r\n \r\n public changeUserStatus(row: IInsuredMember,e): void {\r\n this.dialog.open(ConfirmationDialogComponent, {\r\n data: {\r\n cancelText: \"Οχι\",\r\n confirmText: \"Ναι\",\r\n message: \"Ο ορισμός Διαχειριστή δίδει τη δυνατότητα πρόσβασης σε δεδομένα των εργαζομένων.\\n Είστε σίγουροι ότι θέλετε να προχωρήσετε στην αλλαγή;\",\r\n title: \"Αλλαγή ρόλου\"\r\n }\r\n }).afterClosed().pipe().subscribe((result: boolean) => {\r\n if (result) {\r\n const member = Object.assign({}, row);\r\n let countPolicyManagersInitial = this.countPolicyManagers;\r\n var status = '';\r\n if (member.accessLevel === 'Member') {\r\n status = 'Promote';\r\n this.countPolicyManagers ++;\r\n } else if (member.accessLevel === 'Owner' || member.accessLevel === 'OwnerWithClaimRights' ) {\r\n status = 'Demote';\r\n this.countPolicyManagers --;\r\n } else if (!member.accessLevel) {\r\n status = 'Promote';\r\n this.countPolicyManagers ++;\r\n \r\n }\r\n if(status == 'Demote' && countPolicyManagersInitial===1)\r\n {\r\n this.notificationService.error('Πρόσκληση μελων', 'Πρέπει να υπάρχει τουλάχιστον 1 διαχειριστής ομάδας');\r\n }\r\n else{\r\n this.webApi.put(`${row.policyId}/members/${row.id}/status/${status}`, {}).subscribe(\r\n (success) => {\r\n this.countPolicyManagers = status == 'Promote'? this.countPolicyManagers++ :this.countPolicyManagers-- ;\r\n row.accessLevel = status === 'Promote' ? 'Owner' : 'Member';\r\n this.notificationService.success('Κατάσταση μέλους', 'Η κατάστση του μέλους ενημερώθηκε');\r\n this.desiredToggleStates.set(row.id, status === 'Promote');\r\n },\r\n (error) => this.notificationService.parseAndPopError(error)\r\n );\r\n } \r\n \r\n }\r\n else{\r\n this.desiredToggleStates.set(row.id, row.accessLevel === 'Owner');\r\n }\r\n });\r\n \r\n }\r\n\r\n public changeManagerStatus( e,row: IPolicyManager): void {\r\n if (confirm(\"Είστε σίγουροι πως θέλετε να διαγραφεί;\")) {\r\n\r\n const member = Object.assign({}, row);\r\n let status = '';\r\n if (member.accessLevel === 'Member') {\r\n status = 'Promote';\r\n } else if (member.accessLevel === 'Owner' || member.accessLevel === 'OwnerWithClaimRights') {\r\n status = 'Demote';\r\n } else if (!member.accessLevel) {\r\n status = 'Promote';\r\n }\r\n this.webApi.put(`${row.policyId}/members/${row.id}/status/${status}`, {}).subscribe(\r\n (success) => {\r\n row.accessLevel = status === 'Promote' ? 'Owner' : 'Member';\r\n this.notificationService.success('Κατάσταση μέλους', 'Η κατάστση του μέλους ενημερώθηκε');\r\n this.fetchPolicyManagers();\r\n },\r\n (error) => this.notificationService.parseAndPopError(error)\r\n );\r\n \r\n \r\n }\r\n }\r\n\r\n\r\n public onPolicyChange(policyId: MatSelectChange): void {\r\n this.policyService.policyIdChanged(policyId.value);\r\n this.selectedMembers = [];\r\n this.policyService.goToPolicyManagement();\r\n this.getManagersCountAndLoadMembers();\r\n }\r\n public addMemberToInvitationPool(row: IInsuredMember) {\r\n this.selectedMembers.push(row);\r\n }\r\n public disable(row): boolean {\r\n return this.selectedMembers.filter((m: IInsuredMember) => m.id === row.id).length > 0;\r\n }\r\n public onMemberPageChange(pageInfo): void {\r\n this.memberListOptions.pageIndex = pageInfo.offset;\r\n this.memberListOptions.page = this.memberListOptions.pageIndex + 1;\r\n this.getManagersCountAndLoadMembers();\r\n }\r\n public onMemberSort(event): void {\r\n this.memberListOptions.setSorting(event);\r\n this.getManagersCountAndLoadMembers();\r\n }\r\n\r\n public onManagerSort(event): void {\r\n this.memberListOptions.setSorting(event);\r\n this.getManagersCountAndLoadMembers();\r\n }\r\n\r\n public onMemberSearch(): void {\r\n this.getManagersCountAndLoadMembers();\r\n }\r\n \r\n public onPageSizeChange(limit: any): void {\r\n this.memberListOptions.size = parseInt(limit, undefined);\r\n this.getManagersCountAndLoadMembers();\r\n }\r\n protected fetchPolicyMembers() {\r\n this.membersLoadingIndicator = true;\r\n this.policyService.getPolicyMembers(this.memberListOptions.getListOptions()).subscribe(\r\n (success: IResultSet) => {\r\n this.policyService.selectedPolicy.members = success.items;\r\n this.memberListOptions.setTotalItems(success.count);\r\n this.membersLoadingIndicator = false;\r\n this.initializeDesiredToggleStates(this.policyService.selectedPolicy.members);\r\n }\r\n );\r\n }\r\n initializeDesiredToggleStates(members: IInsuredMember[]) {\r\n members.forEach(member => {\r\n this.desiredToggleStates.set(member.id, member.accessLevel === 'Owner' || member.accessLevel === 'OwnerWithClaimRights');\r\n });\r\n }\r\n\r\n protected fetchPolicyManagers() {\r\n this.membersLoadingIndicator = true;\r\n this.policyService.getPolicyManagers(this.memberListOptions.getListOptions()).subscribe(\r\n (success: IResultSet) => {\r\n this.policyService.selectedPolicy.managers = success.items;\r\n this.memberListOptions.setTotalItems(success.count);\r\n this.membersLoadingIndicator = false;\r\n }\r\n );\r\n }\r\n\r\n\r\n public removeMember(idx: number): void {\r\n if (idx >= 0) {\r\n this.selectedMembers.splice(idx, 1);\r\n this.selectedMembers = [...this.selectedMembers];\r\n }\r\n }\r\n public addNewPolicyMember(): void {\r\n this.dialog.open(\r\n PartialMemberCreateDialogComponent,\r\n {\r\n //width: '250px',\r\n autoFocus: true,\r\n disableClose: true,\r\n data: { firstName: '', lastName: '', email: '', policyId: this.selectedPolicyId, accessLevel: PolicyMemberAccessLevel.Owner, isInsured: false }\r\n }).afterClosed()\r\n .pipe(take(1))\r\n .subscribe(\r\n (result: IInsuredMember) => {\r\n if (result) {\r\n this.webApi.post(`${result.policyId}/policy-owners`, result).subscribe(\r\n (success) => {this.notificationService.success('User creation', 'Created');\r\n this.fetchPolicyManagers()},\r\n (error) => this.notificationService.parseAndPopError(error)\r\n );\r\n }\r\n });\r\n }\r\n\r\n\r\n toggleSideNav() {\r\n this.sidenav.toggle();\r\n // to trigger ngx datatable refresh lol...\r\n this.selectedMembers = [...this.selectedMembers];\r\n }\r\n\r\n openSideNav() {\r\n this.sidenav.open();\r\n }\r\n\r\n closeSideNav() {\r\n this.sidenav.close();\r\n }\r\n\r\n\r\n\r\n public onSelectedIndexChange(idx: number, triggerApiCall: boolean = true): void {\r\n this.selectedListItem = idx;\r\n this.selectedIndex = idx;\r\n const emptyMembers = (!this.policyService.selectedPolicy.members || this.policyService.selectedPolicy.members.length === 0);\r\n if (idx === 0 && (triggerApiCall || emptyMembers)) {\r\n this.policyService.getPolicyMembers(this.listOptions[idx].getListOptions()).subscribe(\r\n (success: IResultSet) => {\r\n this.policyService.selectedPolicy.members = success.items;\r\n this.listOptions[idx].setTotalItems(success.count);\r\n this.memberListOptions= this.listOptions[idx];\r\n }\r\n );\r\n }\r\n\r\n const emptyManagers = (!this.policyService.selectedPolicy.managers || this.policyService.selectedPolicy.managers.length === 0);\r\n if (idx === 1 && (triggerApiCall || emptyManagers)) {\r\n this.policyService.getPolicyManagers(this.listOptions[idx].getListOptions()).subscribe(\r\n (success: IResultSet) => {\r\n this.policyService.selectedPolicy.managers = success.items;\r\n this.listOptions[idx].setTotalItems(success.count);\r\n this.memberListOptions= this.listOptions[idx];\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 { PolicyService } from 'src/app/core/services';\r\nimport { DafApiClient } from 'src/app/core/services';\r\nimport { take } from 'rxjs/operators';\r\n\r\n\r\n@Component({\r\n selector: 'daf-documents',\r\n templateUrl: 'daf-documents.component.html'\r\n})\r\nexport class DafPolicyDocumentsComponent implements OnInit {\r\n\r\n constructor(public policyService: PolicyService, private dafApi: DafApiClient) {\r\n }\r\n\r\n searchForDocument(data): void {\r\n const term = (event.target).value;\r\n this.policyService.selectedPolicyDocuments.searchForDocument(term);\r\n }\r\n\r\n ngOnInit() {\r\n this.policyService.PolicyIdWatcher().pipe(take(1)).subscribe((policyId: string) => {\r\n this.policyService.getPolicyGeneralDocuments();\r\n });\r\n }\r\n}\r\n","import { Component } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n templateUrl: 'error-request.component.html'\r\n})\r\nexport class ServerErrorComponent {\r\n public title = '500';\r\n public error = 'Internal Server Error';\r\n public errorMsg = 'Επικοινωνήστε με το διαχειριστή του συστήματος.';\r\n\r\n constructor(private router: Router) {\r\n\r\n }\r\n}","export default \"
\\r\\n
\\r\\n Επενδυτικό Συμβόλαιο\\r\\n \\r\\n ΟΑ {{ policyService.selectedPolicy.policyNumber }}\\r\\n ΕΣ {{ policyService.selectedPolicy.policyNumber }}\\r\\n \\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 { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\n\r\nimport { BadRequestComponent } from './http-status-components/bad-request.component';\r\nimport { UnauthorizedComponent } from './http-status-components/unauthorized.component';\r\nimport { ForbiddenComponent } from './http-status-components/forbidden.component';\r\nimport { NotFoundComponent } from './http-status-components/not-found.component';\r\nimport { ServerErrorComponent } from './http-status-components/server-error.component';\r\n\r\nimport { IsLoggedInAuthGuard } from './services';\r\nimport { AuthCallbackComponent } from './components/auth-callback.component';\r\nimport { AuthRenewComponent } from './components/auth-renew.component';\r\nimport { LoggedOutComponent } from './components/logged-out.component';\r\nimport { NoPoliciesComponent } from './components/no-policies.component';\r\n\r\n\r\nconst coreRoutes: Routes = [\r\n { path: 'auth-callback', component: AuthCallbackComponent },\r\n { path: 'auth-renew', component: AuthRenewComponent },\r\n { path: 'logged-out', component: LoggedOutComponent },\r\n { path: 'no-policies', component: NoPoliciesComponent, canActivate: [IsLoggedInAuthGuard] },\r\n //{ path: '400', pathMatch: 'full', component: BadRequestComponent },\r\n { path: '401', pathMatch: 'full', component: UnauthorizedComponent },\r\n { path: '403', pathMatch: 'full', component: ForbiddenComponent, canActivate: [IsLoggedInAuthGuard] },\r\n { path: '404', pathMatch: 'full', component: NotFoundComponent },\r\n { path: '500', pathMatch: 'full', component: ServerErrorComponent, canActivate: [IsLoggedInAuthGuard] },\r\n //{ path: 'bad-request', pathMatch: 'full', redirectTo: '400', },\r\n { path: 'unauthorized', pathMatch: 'full', redirectTo: '401', },\r\n { path: 'forbidden', pathMatch: 'full', redirectTo: '403', },\r\n { path: 'not-found', pathMatch: 'full', redirectTo: '404', },\r\n { path: 'server-error', pathMatch: 'full', redirectTo: '500', },\r\n];\r\nexport const coreRoutableComponents = [\r\n BadRequestComponent,\r\n UnauthorizedComponent,\r\n ForbiddenComponent,\r\n NotFoundComponent,\r\n ServerErrorComponent,\r\n AuthCallbackComponent,\r\n AuthRenewComponent,\r\n LoggedOutComponent,\r\n NoPoliciesComponent\r\n];\r\n@NgModule({\r\n imports: [RouterModule.forChild(coreRoutes)],\r\n exports: [RouterModule]\r\n})\r\nexport class CoreRoutingModule { }","export default \"
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\";","export default \"
\\r\\n

Εξαρτώμενα μελη

\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n {{ row?.fullName | initials}}\\r\\n {{ row?.fullName }}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n {{ row?.sexType | translateEnum | nullOrEmpty }}\\r\\n \\r\\n \\r\\n {{ row?.referenceNumber | nullOrEmpty }}\\r\\n \\r\\n \\r\\n {{ row?.birthDate | date | nullOrEmpty }}\\r\\n \\r\\n \\r\\n {{ row?.insuredDate | date | nullOrEmpty }}\\r\\n \\r\\n \\r\\n {{ row?.relationshipType | translateEnum | nullOrEmpty\\r\\n }}\\r\\n \\r\\n \\r\\n {{ row?.afm | nullOrEmpty }}\\r\\n \\r\\n \\r\\n {{ row?.amka | nullOrEmpty}}\\r\\n \\r\\n
\\r\\n
\";","import { Component, Input, OnInit } from \"@angular/core\";\r\n\r\n@Component({\r\n selector: 'gg-member-info',\r\n templateUrl: 'member-info.component.html'\r\n})\r\nexport class MemberInfoComponent implements OnInit {\r\n @Input() policyService: any = {};\r\n showSalary: boolean = false;\r\n \r\n ngOnInit(): void {\r\n }\r\n\r\n toggleSalaryVisibility() {\r\n this.showSalary = !this.showSalary;\r\n }\r\n\r\n}","export default \"\\r\\n\\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, Inject } from '@angular/core';\r\nimport { IProtectedMember } from '../app-models';\r\nimport { NgForm } from '@angular/forms';\r\nimport { WebApiService } from '../core/services/web-api.service';\r\nimport { NotificationService } from '../core/services/notification.service';\r\nimport { PolicyService } from '../core/services/policy.service';\r\nimport { formatDate } from '@angular/common';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\n\r\n\r\n\r\n@Component({\r\n templateUrl: 'protected-members-delete-dialog.component.html'\r\n})\r\nexport class ProtectedMembersDeleteDialogComponent {\r\n private isInsuredMemberInEditMode: boolean;\r\n readonly: boolean;\r\n itsMe: boolean;\r\n amIOwner: boolean;\r\n minDate = new Date(new Date().getFullYear(), new Date().getMonth() - 1, 1);\r\n maxDate = new Date(new Date().setDate(new Date().getDate() + 45));\r\n userAnswer : boolean = false;\r\n userHasMemberId:boolean;\r\n\r\n constructor(private dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public pMember: IProtectedMember, private webApi: WebApiService, private notificationService: NotificationService, public policyService: PolicyService) {\r\n this.isInsuredMemberInEditMode = !!pMember['isEditMode'];\r\n this.pMember.validFromDate = new Date();\r\n this.amIOwner = policyService.selectedPolicy.membershipStatus.accessLevel === 'Owner';\r\n this.itsMe = this.policyService.selectedPolicy.membershipStatus.policyMemberId === this.policyService.selectedMember.id;\r\n this.readonly = policyService.selectedPolicy.membershipStatus.accessLevel === 'Member' || policyService.selectedPolicy.membershipStatus.accessLevel === 'ViewOnlyAdmin' ||\r\n (this.itsMe && policyService.selectedPolicy.membershipStatus.isInsured && !this.amIOwner);\r\n this.userAnswer = false;\r\n this.userHasMemberId = this.pMember.id !== undefined;\r\n\r\n }\r\n\r\n public save(form: NgForm): void {\r\n\r\n\r\n\r\n if(!this.userAnswer && this.userHasMemberId)\r\n {\r\n this.userAnswer = true; \r\n return;\r\n }\r\n if (!this.userAnswer && !this.userHasMemberId) {\r\n\r\n this.notificationService.success('Διαγραφη', ' Το προστατευόμενο μέλος διεγραφη'),\r\n this.dialogRef.close(this.pMember);\r\n return;\r\n }\r\n if (form.invalid) {\r\n return;\r\n }\r\n if (!this.isInsuredMemberInEditMode) {\r\n this.dialogRef.close(this.pMember);\r\n return;\r\n }\r\n const validFromDate = new Date(formatDate(this.pMember.validFromDate, 'yyyy-MM-dd', 'el-GR'));\r\n this.policyService.deleteProtectedMember(this.pMember.policyMemberId,this.pMember.id,validFromDate).subscribe(() => {\r\n //maybe add slice\r\n this.close();\r\n });\r\n }\r\n\r\n\r\n public close(): void {\r\n this.dialogRef.close();\r\n }\r\n}\r\n","import { HttpHeaders } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { v4 as uuidv4 } from 'uuid';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n })\r\n\r\nexport class CorrelationService {\r\n private correlationIdKey = 'X-Correlation-ID';\r\n private storedCorrelationId: string | null = null;\r\n\r\n constructor() {}\r\n\r\n public getCorrelationId(headers?: HttpHeaders): string {\r\n if (this.storedCorrelationId) {\r\n return this.storedCorrelationId;\r\n }\r\n\r\n const correlationId = headers?.get(this.correlationIdKey);\r\n if (correlationId) {\r\n this.storedCorrelationId = correlationId;\r\n return correlationId;\r\n }\r\n\r\n return this.generateCorrelationId();\r\n }\r\n\r\n private generateCorrelationId(): string {\r\n const newCorrelationId = uuidv4();\r\n this.storedCorrelationId = newCorrelationId;\r\n return newCorrelationId;\r\n }\r\n\r\n public addCorrelationId(headers: HttpHeaders): HttpHeaders {\r\n const correlationId = this.getCorrelationId(headers);\r\n return headers.set(this.correlationIdKey, correlationId);\r\n }\r\n}\r\n","export default \"
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{ row?.policyNumber }}\\r\\n \\r\\n \\r\\n {{ row?.name }}\\r\\n \\r\\n \\r\\n {{ row?.company?.tin }}\\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 { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { RouterModule } from '@angular/router';\r\n\r\nimport { DetailsValueComponent } from './components/details-value.component';\r\nimport { ErrorDisplayComponent } from './components/error-messages.component';\r\n\r\nimport { PolicyHeaderComponent } from './components/policy-header/policy-header.component';\r\nimport { PolicyOverviewComponent } from './components/policy-overview/policy-overview.component';\r\nimport { PolicyStatsComponent } from './components/policy-stats/policy-stats.component';\r\nimport { ChartComponent } from './components/policy-stats/chart.component';\r\nimport { PolicyBenefitsComponent } from './components/policy-benefits/policy-benefits.component';\r\nimport { PolicyManagementComponent } from './components/policy-mgmt/policy-mgmt.component';\r\n//import { PolicyDocumentsComponent } from './components/policy-documents/policy-documents.component';\r\n\r\nimport { MemberHeaderComponent } from './components/member-header/member-header.component';\r\nimport { MemberPolicyInfoComponent } from './components/member-policy-info/member-policy-info.compontnt';\r\nimport { MemberBenefitsComponent } from './components/member-benefits/member-benefits.component';\r\nimport { MemberProtectedComponent } from './components/member-protected/member-protected.component';\r\nimport { MemberInfoComponent } from './components/member-info/member-info.component';\r\nimport { MemberPersonalFileComponent } from 'src/app/shared/components/member-personal-file/member-personal-file.component';\r\nimport { MemberProtectedEditComponent } from 'src/app/shared/components/member-protected/member-protected-edit.component';\r\n\r\nimport { SysAdminComponent } from './components/sys-admin/sys-admin.component';\r\n\r\nimport { EnumToStringPipe, TranslateEnumPipe } from './pipes/enum-to-sting.pipe';\r\nimport { NullOrEmptyPipe } from './pipes/null-or-empty.pipe';\r\nimport {nullOrEmptyHardCopy} from './pipes/null-or-empty-hardcopy.pipe';\r\nimport { BenefitCategoryPipe, BenefitCategory1Pipe } from './pipes/benefit-category.pipe';\r\nimport { EncodeURIPipe } from './pipes/uriEncode.pipe';\r\nimport { InitialsPipe } from './pipes/initials.pipe';\r\nimport { TruncatePipe } from './pipes/truncate.pipe';\r\nimport { DdMmYYYYDatePipe } from './pipes/dd-mm-yyyy-date.pipe';\r\n\r\nimport { MaterialModule } from './material.module';\r\n\r\nimport { NgxChartsModule } from '@swimlane/ngx-charts';\r\nimport { NgxDatatableModule } from '@swimlane/ngx-datatable';\r\nimport { FileUploadModule } from 'ng2-file-upload';\r\nimport { ConfirmDialogModule } from './confirm-dialog.module';\r\nimport { OnlyNumberDirective } from '../Directives/OnlyNumberDirective';\r\nimport {MatStepperModule} from '@angular/material/stepper';\r\nimport { LowercaseInputDirective } from '../Directives/lowercase-input.directive';\r\n\r\n\r\n@NgModule({\r\n imports: [CommonModule, FormsModule, RouterModule, MaterialModule, NgxDatatableModule, FileUploadModule, NgxChartsModule,MatStepperModule],\r\n declarations: [\r\n EnumToStringPipe, NullOrEmptyPipe, BenefitCategoryPipe, BenefitCategory1Pipe, EncodeURIPipe, InitialsPipe, TruncatePipe, TranslateEnumPipe,\r\n DetailsValueComponent, ErrorDisplayComponent,\r\n PolicyHeaderComponent, PolicyOverviewComponent, PolicyStatsComponent, ChartComponent, PolicyBenefitsComponent, PolicyManagementComponent,// PolicyDocumentsComponent,\r\n MemberHeaderComponent, MemberPolicyInfoComponent, MemberInfoComponent, MemberBenefitsComponent, MemberProtectedComponent, MemberPersonalFileComponent, MemberProtectedEditComponent,\r\n SysAdminComponent,OnlyNumberDirective,nullOrEmptyHardCopy,DdMmYYYYDatePipe,LowercaseInputDirective\r\n ],\r\n exports: [\r\n CommonModule, FormsModule,\r\n MaterialModule,\r\n NgxDatatableModule, FileUploadModule,\r\n DetailsValueComponent, ErrorDisplayComponent,\r\n EnumToStringPipe, NullOrEmptyPipe, BenefitCategoryPipe, BenefitCategory1Pipe, EncodeURIPipe, InitialsPipe, TruncatePipe, TranslateEnumPipe,\r\n PolicyHeaderComponent, PolicyOverviewComponent, PolicyStatsComponent, PolicyBenefitsComponent, PolicyManagementComponent,// PolicyDocumentsComponent,\r\n MemberHeaderComponent, MemberPolicyInfoComponent, MemberInfoComponent, MemberBenefitsComponent, MemberProtectedComponent, MemberPersonalFileComponent, MemberProtectedEditComponent,\r\n SysAdminComponent,ConfirmDialogModule,OnlyNumberDirective,nullOrEmptyHardCopy,DdMmYYYYDatePipe,LowercaseInputDirective\r\n ]\r\n})\r\nexport class SharedModule { }\r\n","export default \"
\\r\\n
\\r\\n

{{title}}

\\r\\n

{{error}}

\\r\\n

{{errorMsg}}

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\";","import { Injectable } from '@angular/core';\r\nimport { CanActivate, CanActivateChild, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\nimport { AuthService } from './auth.service';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class IsLoggedInAuthGuard implements CanActivate, CanActivateChild {\r\n constructor(private authService: AuthService) { }\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean | Observable | Promise {\r\n const obs = this.authService.isLoggedIn();\r\n obs.subscribe((result) => {\r\n if (!result) {\r\n this.authService.startAuthentication({ url: window.location.href });\r\n }\r\n });\r\n return obs;\r\n }\r\n\r\n canActivateChild(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean | Observable | Promise {\r\n const obs = this.authService.isLoggedIn();\r\n obs.subscribe((result) => {\r\n if (!result) {\r\n this.authService.startAuthentication({ url: route.url.map(u => u.path), query: route.queryParams });\r\n }\r\n });\r\n return obs;\r\n }\r\n}\r\n","export default \"
\\r\\n
\\r\\n
ΕΞΕΛΙΞΗ ΑΤΟΜΙΚΟΥ ΛΟΓΑΡΙΑΣΜΟΥ
\\r\\n \\r\\n \\r\\n
{{model.name}}
\\r\\n
{{model.value | currency:'EUR'}}
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\";","import { NgModule } from '@angular/core';\r\nimport { ClaimRequestRoutingModule, RoutableComponents } from './claim-request-routing.module';\r\nimport { SharedModule } from '../shared/shared.module';\r\nimport { RequireConsentDialogComponent } from './require-consent-dialog.component';\r\nimport { RequireConsentDialogComponentForPrimaryByOwner } from './require-consent-dialog-for-primary-by-ownerWithClaimRights.component';\r\n\r\n@NgModule({\r\n imports: [SharedModule, ClaimRequestRoutingModule],\r\n declarations: [RoutableComponents, RequireConsentDialogComponent,RequireConsentDialogComponentForPrimaryByOwner],\r\n entryComponents: [RequireConsentDialogComponent,RequireConsentDialogComponentForPrimaryByOwner]\r\n})\r\nexport class ClaimRequestModule {\r\n\r\n}","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({ name: 'nullOrEmptyHardCopy' })\r\nexport class nullOrEmptyHardCopy implements PipeTransform {\r\n transform(value: any): string {\r\n let result = 'Hard copy';\r\n result = value || 'Hard copy';\r\n return result;\r\n }\r\n}","import { NgModule } from '@angular/core';\r\nimport { MemberRoutingModule, RoutableComponents } from './member-routing.module';\r\nimport { SharedModule } from '../shared/shared.module';\r\nimport { ProtectedMembersEditDialogComponent } from './protected-members-edit-dialog.component';\r\nimport { ProtectedMembersDeleteDialogComponent } from './protected-members-delete-dialog.component';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { AfterDateDirective } from './custom-validators/protected-member.directive';\r\nimport { ValidatorBaseDirective } from './custom-validators/validator-base.directive';\r\nimport { IbanDirecive } from './custom-validators/iban.directive';\r\nimport { DeleteMemberDialogComponent } from '../shared/components/policy-mgmt/policy-mgmt-delete-dialog.component';\r\n\r\n@NgModule({\r\n imports: [SharedModule, MemberRoutingModule, FormsModule,ReactiveFormsModule],\r\n declarations: [RoutableComponents, ProtectedMembersEditDialogComponent,AfterDateDirective,IbanDirecive,ValidatorBaseDirective,ProtectedMembersDeleteDialogComponent,DeleteMemberDialogComponent],\r\n entryComponents: [ProtectedMembersEditDialogComponent,ProtectedMembersDeleteDialogComponent,DeleteMemberDialogComponent]\r\n})\r\nexport class MemberModule {\r\n\r\n}","import { Component } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n templateUrl: 'error-request.component.html'\r\n})\r\nexport class NotFoundComponent {\r\n public title = '404';\r\n public error: string; //= 'Not Found';\r\n public errorMsg = 'Η σελιδα που ζητησατε δεν υπαρχει';\r\n\r\n constructor(private router: Router) {\r\n\r\n }\r\n}","import { Subscription } from 'rxjs';\r\nimport { Component, ViewChild, AfterViewInit, AfterContentInit, Renderer2, OnInit, OnDestroy } from '@angular/core';\r\nimport { Router, Event, NavigationStart, NavigationEnd, NavigationCancel, NavigationError, ActivatedRoute } from '@angular/router';\r\nimport { NgProgressComponent } from '@ngx-progressbar/core';\r\nimport { filter } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: '#approot',\r\n templateUrl: './app.component.html'\r\n})\r\nexport class AppComponent implements OnInit, OnDestroy {\r\n\r\n loadingColor = 'primary';\r\n loadingMode = 'indeterminate';\r\n loadingValue = 50;\r\n loadingBuffer = 75;\r\n cssClass = undefined;\r\n routerSubscription: Subscription;\r\n constructor(private router: Router, private activatedRoute: ActivatedRoute, private renderer: Renderer2) {\r\n\r\n }\r\n\r\n\r\n ngOnInit(): void {\r\n this.routerSubscription = this.router.events.pipe(\r\n filter(event => event instanceof NavigationEnd)).\r\n subscribe((evt: NavigationEnd) => {\r\n this.addCssClassFromRoute(evt);\r\n if (typeof window !== 'undefined') {\r\n window.scrollTo(0, 0);\r\n }\r\n });\r\n\r\n }\r\n\r\n addCssClassFromRoute(event: NavigationEnd) {\r\n const url = (event.urlAfterRedirects || '');\r\n const segments = url.substring(0, url.indexOf('?') > -1 ? url.indexOf('?') : url.length)\r\n .split('/')\r\n .filter(seg => /^[A-Za-z\\-]+/gi.test(seg)).map(seg => seg.toLowerCase());\r\n if ((segments.length === 1 && (segments[0] === 'policy' || segments[0] === 'daf-policy')) || (segments[0] === 'daf-policy' && segments[1] === 'members')) {\r\n segments.push('hub');\r\n }\r\n (document.body.className || '').split(' ').forEach((css) => {\r\n if (css) {\r\n this.renderer.removeClass(document.body, css);\r\n }\r\n });\r\n this.renderer.addClass(document.body, 'page');\r\n segments.forEach(css => {\r\n if (css) {\r\n this.renderer.addClass(document.body, css);\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n this.routerSubscription.unsubscribe();\r\n }\r\n\r\n}\r\n","import { Component } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { PolicyService } from '../core/services/policy.service';\r\nimport { WebApi, NotificationService } from 'src/app/core/services';\r\nimport { formatDate } from '@angular/common';\r\n\r\n@Component({\r\n templateUrl: 'invitation-inspect.component.html'\r\n})\r\nexport class InvitationInspectComponent {\r\n private token: any;\r\n public birthDate: Date;\r\n public userEmail: string;\r\n public tokenResponse: any = {};\r\n public now: Date = new Date();\r\n\r\n constructor(private route: ActivatedRoute, private router: Router, private webApi: WebApi, private notificationService: NotificationService, public policyService: PolicyService) {\r\n this.token = route.snapshot.queryParams['token'];\r\n this.tokenResponse = route.snapshot.data['tokenResponse'];\r\n }\r\n\r\n public redeemInvitation(): void {\r\n this.webApi.post(`invitation/redeem`, { token: this.token, email: this.userEmail, birthDate: formatDate(this.birthDate, 'yyyy-MM-dd', 'el-GR') }, true).subscribe(\r\n (success) => this.policyService.goToRoot(),\r\n (error) => this.notificationService.parseAndPopError(error),\r\n );\r\n }\r\n}","export default \"
0\\\">
\\r\\n\\r\\n {{displayErrorMessage(errorKey)}}\\r\\n\\r\\n\";","export default \"
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 τους όρους χρήσης του daf portal.\\r\\n
\\r\\n
\\r\\n Πατήστε εδώ για να δείτε \\r\\n το ενημερωτικό κείμενο σχετικά με την επεξεργασία δεδομένων προσωπικού χαρακτήρα..\\r\\n
\\r\\n
\\r\\n\";","export default \"
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Άνδρας\\r\\n Γυναίκα\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Σύζυγος\\r\\n Παιδί\\r\\n \\r\\n
Δεν πληρούνται ηλικιακά κριτήρια
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\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 { PolicyService } from 'src/app/core/services';\r\nimport { take } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'gg-policy-documents',\r\n templateUrl: 'policy-documents.component.html'\r\n})\r\nexport class PolicyDocumentsComponent implements OnInit {\r\n\r\n constructor(public policyService: PolicyService) {\r\n }\r\n\r\n searchForDocument(data): void {\r\n const term = (event.target).value;\r\n this.policyService.selectedPolicyDocuments.searchForDocument(term);\r\n }\r\n\r\n ngOnInit() {\r\n this.policyService.PolicyIdWatcher().pipe(take(1)).subscribe((policyId: string) => {\r\n this.policyService.getPolicyGeneralDocuments();\r\n });\r\n }\r\n}\r\n","export default \"\\r\\n\\r\\n
\\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, Inject,ChangeDetectionStrategy, HostListener, Output } from '@angular/core';\r\nimport { MatDialogRef, MatDialog, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\n\r\n@Component({\r\n selector: 'app-confirmation-dialog',\r\n templateUrl: './confirmation-dialog.component.html',\r\n styles: [`\r\n .header, .dialog-message {\r\n text-transform: lowercase;\r\n }\r\n .header::first-letter, .dialog-message::first-letter,.btn {\r\n text-transform: uppercase;\r\n }\r\n .btn-cancel {\r\n background-color: red;\r\n color: #fff;\r\n }\r\n .btn-ok {\r\n background-color: 153961;\r\n color: #fff;\r\n }\r\n`]\r\n})\r\nexport class ConfirmationDialogComponent {\r\n\r\n constructor(@Inject(MAT_DIALOG_DATA) public data: {\r\n cancelText: string,\r\n confirmText: string,\r\n message: string,\r\n title: string\r\n}, private mdDialogRef: MatDialogRef) { }\r\npublic cancel() {\r\nthis.close(false);\r\n}\r\npublic close(value) {\r\nthis.mdDialogRef.close(value);\r\n}\r\npublic confirm() {\r\nthis.close(true);\r\n}\r\n@HostListener(\"keydown.esc\") \r\npublic onEsc() {\r\nthis.close(false);\r\n}\r\n}\r\n\r\n\r\n","export default \"
\\r\\n

Προσωπικό αρχείο

\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n {{listOptions[m].totalElements}}\\r\\n αποτελέσματα\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n {{ allowShowFromStatus(row) }}\\r\\n \\r\\n \\r\\n {{getFor(row.protectedMemberId ||\\r\\n row.policyMemberId)}}\\r\\n \\r\\n \\r\\n \\r\\n {{ row?.dateOccured | date | nullOrEmpty }}\\r\\n \\r\\n \\r\\n \\r\\n {{ row?.dateReported | date | nullOrEmpty\\r\\n }}\\r\\n \\r\\n \\r\\n \\r\\n {{ row?.statusType | translateEnum |\\r\\n nullOrEmpty}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{ option.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 {{listOptions[m].totalElements}}\\r\\n αποτελέσματα\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n {{ row?.code\\r\\n | nullOrEmpty }}\\r\\n \\r\\n \\r\\n {{ row?.folderId\\r\\n | nullOrEmpty }}\\r\\n \\r\\n \\r\\n {{getFor(row.protectedMemberId ||\\r\\n row.policyMemberId)}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{ row?.dateOccured | date | nullOrEmpty }}\\r\\n \\r\\n \\r\\n \\r\\n {{ row?.statusType | translateEnum |\\r\\n nullOrEmpty\\r\\n }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{ option.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 {{listOptions[m].totalElements}}\\r\\n αποτελέσματα\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n {{ row?.referenceNumber | nullOrEmpty }}\\r\\n \\r\\n \\r\\n \\r\\n {{ row?.claimId | nullOrEmptyHardCopy }}\\r\\n \\r\\n \\r\\n \\r\\n {{getFor(row.protectedMemberId ||\\r\\n row.policyMemberId)}}\\r\\n \\r\\n \\r\\n \\r\\n {{ row?.paymentDate | date | nullOrEmpty }}\\r\\n \\r\\n \\r\\n \\r\\n {{ row?.paymentDate | date | nullOrEmpty }} \\r\\n \\r\\n \\r\\n \\r\\n {{ row?.totalCostAmount | nullOrEmpty }} €\\r\\n \\r\\n \\r\\n \\r\\n {{ row?.requestedAmount | nullOrEmpty }} €\\r\\n \\r\\n \\r\\n \\r\\n {{ row?.deductibleAmount | nullOrEmpty }} €\\r\\n \\r\\n \\r\\n \\r\\n {{ row?.amount | nullOrEmpty }} €\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{ option.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 {{listOptions[m].totalElements}}\\r\\n αποτελέσματα\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n {{ row?.personId | nullOrEmpty }}\\r\\n \\r\\n \\r\\n {{ row?.fullName || (row?.surname + ' ' +\\r\\n row?.name) | nullOrEmpty }}\\r\\n \\r\\n \\r\\n {{ row?.insertDate | date | nullOrEmpty }}\\r\\n \\r\\n \\r\\n \\r\\n {{ row?.memberRecordType | translateEnum |\\r\\n nullOrEmpty }}\\r\\n \\r\\n \\r\\n {{ row?.statusType | translateEnum | nullOrEmpty\\r\\n }}\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{ option.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 {{listOptions[m].totalElements}}\\r\\n αποτελέσματα\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{ row?.category | nullOrEmpty }}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\";","export default \"
0\\\">\\r\\n

Παροχές συμβολαίου

\\r\\n \\r\\n \\r\\n
0\\\">\\r\\n
\\r\\n
\\r\\n

{{cov?.code}}

\\r\\n
\\r\\n \\r\\n {{cov?.title}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
    0\\\">\\r\\n
  • \\r\\n {{benefit?.title}}
  • \\r\\n
\\r\\n
\\r\\n
0\\\">\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\";","import { Component, OnInit } from '@angular/core';\r\nimport { AuthService } from '../services/auth.service';\r\nimport { PolicyService } from '../services';\r\n\r\n@Component({\r\n selector: 'app-logged-out',\r\n templateUrl: './logged-out.component.html'\r\n})\r\nexport class LoggedOutComponent implements OnInit {\r\n status = 'παρακαλώ περιμένετε...';\r\n finished = false;\r\n user: any;\r\n constructor(private authService: AuthService, public policyService:PolicyService) { }\r\n\r\n ngOnInit() {\r\n this.user = this.authService.currentUser();\r\n if (this.user) {\r\n this.policyService.goToRoot();\r\n } else {\r\n this.authService.completeSignout().then(() => {\r\n this.status = 'Σας ευχαριστούμε που χρησιμοποιήσατε την εφαρμογή για τα Ομαδικά Συμβόλαια.';\r\n this.finished = true;\r\n });\r\n }\r\n }\r\n\r\n}\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ggp-sub-footer',\r\n templateUrl: 'sub-footer.component.html'\r\n})\r\nexport class SubFooterComponent { }\r\n","import { SimpleChanges, OnChanges, Directive, Inject } from '@angular/core';\r\n\r\n@Directive({ selector: 'validatorBase' })\r\nexport class ValidatorBaseDirective implements OnChanges {\r\n private inputs: string[];\r\n\r\n onChange: () => void;\r\n\r\n constructor(@Inject([]) ...inputs: string[]) {\r\n this.inputs = inputs;\r\n }\r\n\r\n registerOnValidatorChange(fn: () => void): void {\r\n this.onChange = fn;\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (this.inputs.some((input) => input in changes) && this.onChange) {\r\n this.onChange();\r\n }\r\n }\r\n}","import { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gg-member-protected',\r\n templateUrl: 'member-protected.component.html'\r\n})\r\nexport class MemberProtectedComponent {\r\n @Input() policyService: any = {};\r\n enableMemberActions: boolean = true;\r\n\r\n local_messages = {\r\n // Message to show when array is presented\r\n // but contains no values\r\n emptyMessage: 'Δεν υπάρχουν δεδομένα',\r\n\r\n // Footer total message\r\n totalMessage: 'σύνολο',\r\n\r\n // Footer selected message\r\n selectedMessage: 'επιλεγμένο'\r\n };\r\n}","import { Injectable } from '@angular/core';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { ErrorHandlingExtension } from '../extensions/error-handling-extentions';\r\n\r\n@Injectable()\r\nexport class NotificationService {\r\n constructor(private toastr: ToastrService) {\r\n\r\n }\r\n public inform(title?: string, message?: string): void {\r\n this.toastr.info(message, title);\r\n }\r\n public success(title?: string, message?: string): void {\r\n this.toastr.success(message, title);\r\n }\r\n public warn(title?: string, message?: string): void {\r\n this.toastr.warning(message, title);\r\n }\r\n public error(title?: string, message?: string): void {\r\n this.toastr.error(message, title);\r\n }\r\n public parseAndPopError(error): void {\r\n const errObj = ErrorHandlingExtension.GetErrorMessagesObj(error);\r\n this.toastr.error(errObj.description, errObj.title);\r\n }\r\n public RemoveAccents(str: string) {\r\n if (str != null || str != undefined) {\r\n let containsNonLatinCodepoints = /[^\\u0000-\\u00ff]/.test(str);\r\n return !containsNonLatinCodepoints ? str.normalize('NFD').replace(/([\\u0300-\\u036f]|[^0-9a-zA-Z \\-\\/])/g, '') : str.normalize('NFD').replace(/([\\u0300-\\u036f]|[^0-9α-ωΑ-Ω \\-\\/])/g, '');\r\n }\r\n }\r\n}\r\n\r\n","export default \"
\\r\\n
\\r\\n \\r\\n {{ chart.title }}\\r\\n \\r\\n\\r\\n
\\r\\n {{year}}\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\";","export default \"
\\r\\n

Παροχές συμβολαίου

\\r\\n \\r\\n \\r\\n
0\\\">\\r\\n
\\r\\n
\\r\\n

{{cov?.code}}

\\r\\n
\\r\\n \\r\\n {{cov?.title}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
    0\\\">\\r\\n
  • \\r\\n {{benefit?.title}}
  • \\r\\n
\\r\\n
\\r\\n
0\\\">\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
0\\\">\\r\\n
\\r\\n
\\r\\n

{{cov?.code}}

\\r\\n
\\r\\n \\r\\n {{cov?.title}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
    0\\\">\\r\\n
  • \\r\\n {{benefit?.title}}
  • \\r\\n
\\r\\n
\\r\\n
0\\\">\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\";","export default \"
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n access_time\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n\";","export default \"
{{label}}
\\r\\n
{{value}}
\\r\\n\";","import { NgModule, LOCALE_ID, } from '@angular/core';\r\nimport { registerLocaleData } from '@angular/common';\r\nimport { BrowserModule, Title } from '@angular/platform-browser';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\n\r\nimport { AppRoutingModule, routableComponents } from './app-routing.module';\r\nimport { CoreModule } from './core/core.module';\r\nimport { AppComponent } from './app.component';\r\nimport { HeaderComponent } from './layout/header.component';\r\nimport { FooterComponent } from './layout/footer.component';\r\nimport { SubFooterComponent } from './layout/sub-footer.component';\r\n\r\n\r\n// Business Modules\r\nimport { PolicyModule } from './policy/policy.module';\r\nimport { MemberModule } from './member/member.module';\r\nimport { ClaimRequestModule } from './claim-request/claim-request.module';\r\n\r\nimport { SharedModule } from './shared/shared.module';\r\n\r\nimport localeEl from '@angular/common/locales/el';\r\nimport localeElExtra from '@angular/common/locales/extra/el';\r\nregisterLocaleData(localeEl, 'el-GR', localeElExtra);\r\n\r\nimport { NgProgressModule } from '@ngx-progressbar/core';\r\nimport { HTTP_INTERCEPTORS } from '@angular/common/http';\r\n\r\n/* increase defaultTimeout*/\r\nimport { Inject, Injectable, InjectionToken } from '@angular/core';\r\nimport { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http';\r\nimport { timeout } from 'rxjs/operators';\r\nimport { Observable } from 'rxjs';\r\n\r\nexport const DEFAULT_TIMEOUT = new InjectionToken('defaultTimeout');\r\n\r\n\r\n@Injectable()\r\nexport class TimeoutInterceptor implements HttpInterceptor {\r\n constructor(@Inject(DEFAULT_TIMEOUT) protected defaultTimeout: number) {\r\n }\r\n\r\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\r\n const timeoutValue = req.headers.get('timeout') || this.defaultTimeout;\r\n const timeoutValueNumeric = Number(timeoutValue);\r\n\r\n return next.handle(req).pipe(timeout(timeoutValueNumeric));\r\n }\r\n}\r\n\r\n@NgModule({\r\n imports: [\r\n BrowserModule,\r\n BrowserAnimationsModule,\r\n CoreModule,\r\n NgProgressModule,\r\n PolicyModule, \r\n MemberModule,\r\n ClaimRequestModule,\r\n AppRoutingModule,\r\n SharedModule\r\n ],\r\n declarations: [AppComponent, HeaderComponent, FooterComponent, SubFooterComponent, routableComponents ],\r\n providers: [Title,\r\n [{ provide: LOCALE_ID, useValue: 'el-GR' }],\r\n [{ provide: HTTP_INTERCEPTORS, useClass: TimeoutInterceptor, multi: true }],\r\n [{ provide: DEFAULT_TIMEOUT, useValue: 60000 }]],\r\n bootstrap: [AppComponent]\r\n})\r\nexport class AppModule {\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { CanActivate, CanActivateChild, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\nimport { PolicyService } from './policy.service';\r\nimport { NotificationService } from './notification.service';\r\n\r\n@Injectable()\r\nexport class PolicyOwnerAuthGuard implements CanActivate, CanActivateChild {\r\n constructor(private policyService: PolicyService, private notificationService: NotificationService) {\r\n }\r\n canActivateChild(next: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\r\n return this.canActivate(next, state);\r\n }\r\n canActivate(next: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\r\n const canActivate = this.policyService.selectedPolicy.membershipStatus.accessLevel === 'Owner' || this.policyService.selectedPolicy.membershipStatus.accessLevel === 'OwnerWithClaimRights';\r\n if (!canActivate) {\r\n this.notificationService.warn('403', 'Δεν έχετε δικαίωμα να προσπελάσετε αυτή τη σελίδα');\r\n }\r\n return canActivate;\r\n }\r\n}","export default \"
\\r\\n
\\r\\n
\\r\\n Με την ολοκλήρωση της εντολής η {{this.data.investments.type | translateEnum }} Επένδυση σας θα διαμορφωθεί ως εξής:\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
{{contrType | translateEnum }}
{{getInvestmentDescriptiom(investment.code)}}\\r\\n {{investment.type[contrType][0].percentage !== 0 ? investment.type[contrType][0].percentage + '%' : ''}}\\r\\n \\r\\n {{getInvestmentCurrentValue(contrType, investment.code) }}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Επιθυμείτε να συνεχίσετε;
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\";","import {Component, Input, ChangeDetectionStrategy, OnInit, ViewChild, ElementRef, Inject} from '@angular/core';\r\nimport {FileUploader, FileUploaderOptions, FileItem, ParsedResponseHeaders} from 'ng2-file-upload';\r\nimport {IDictionary, TableConfig, IResultSet} from 'src/app/core/core-models';\r\nimport {\r\n IInsuredMember,\r\n IPolicyDocument,\r\n IClaimRequest,\r\n DocumentType,\r\n IInsuredMemberHistoryChange,\r\n ClaimStatusType,\r\n IProtectedMember,\r\n ScrollModel\r\n} from 'src/app/app-models';\r\nimport {WebApiService} from 'src/app/core/services/web-api.service';\r\nimport {NotificationService} from 'src/app/core/services/notification.service';\r\nimport { MatCheckboxChange } from '@angular/material/checkbox';\r\nimport { take } from 'rxjs/operators';\r\nimport { ConfirmationDialogComponent } from '../confirmation-dialog/confirmation-dialog.component';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { DeleteMemberDialogComponent } from './policy-mgmt-delete-dialog.component';\r\n\r\n@Component({\r\n selector: 'gg-policy-mgmt',\r\n templateUrl: 'policy-mgmt.component.html'\r\n})\r\nexport class PolicyManagementComponent implements OnInit {\r\n @Input() policyService: any = {\r\n scrollModel: new ScrollModel()\r\n };\r\n\r\n public fileUploader: FileUploader;\r\n private uploaderOptions: FileUploaderOptions = {autoUpload: true, allowedFileType: ['xls']};\r\n\r\n isOwner = false;\r\n isOwnerWithClaimRights = false;\r\n isMember = false;\r\n public canEdit = false;\r\n public itsMe = false;\r\n\r\n public menu: IDictionary = {\r\n 0: 'Ασφαλισμένοι',\r\n 1: 'Αιτουμενες Αποζημιώσεις',\r\n 2: 'Εκκρεμεις Αποζημιώσεις',\r\n 3: 'Πληρωθείσες Αποζημιώσεις',\r\n 4: 'Ιστορικο Αποδειξεων',\r\n 5: 'Εκκρεμείς μεταβολές',\r\n };\r\n public menuList: string[] = Object.keys(this.menu);\r\n public listOptions: IDictionary = {\r\n 0: new TableConfig(), //'Ασφαλισμένοι',\r\n 1: new TableConfig(), //'Αιτουμενες Αποζημιώσεις',\r\n 2: new TableConfig(), //'Εκκρεμεις Αποζημιώσεις',\r\n 3: new TableConfig(), //'Αποζημιώσεις',\r\n 4: new TableConfig(), //'Ιστορικο Αποδειξεων',\r\n 5: new TableConfig(), //'Εκκρεμείς μεταβολές'\r\n };\r\n private selectedListItem: number;\r\n public selectedIndex: number;\r\n public loadingTableIndicator = false;\r\n public selectedChartIndex = 0;\r\n public pageLimitOptions = [\r\n {value: 5},\r\n {value: 10},\r\n {value: 15},\r\n {value: 20},\r\n ];\r\n \r\n public panelOpenState = false;\r\n public uploadError = '';\r\n local_messages = {\r\n // Message to show when array is presented\r\n // but contains no values\r\n emptyMessage: 'Δεν υπάρχουν δεδομένα',\r\n // Footer total message\r\n totalMessage: 'σύνολο',\r\n // Footer selected message\r\n selectedMessage: 'επιλεγμένο'\r\n };\r\n filteredItems = 0;\r\n\r\n public claimsSummary = 0;\r\n\r\n @ViewChild('fileInput') uploadElRef: ElementRef;\r\n\r\n constructor(private webApi: WebApiService, private notificationService: NotificationService,private dialog: MatDialog) {\r\n this.listOptions[0].sort = 'lastName';\r\n this.listOptions[1].sort = 'dateReported-';\r\n this.listOptions[2].sort = 'dateOccured-';\r\n this.listOptions[3].sort = 'paymentDate-';\r\n this.listOptions[4].sort = 'issueDate-';\r\n this.listOptions[1].filter['status'] = [ClaimStatusType.Submitted, ClaimStatusType.Draft, ClaimStatusType.Rejected, ClaimStatusType.Closed ,ClaimStatusType.ReviewIncomplete,ClaimStatusType.ProcessIncomplete];\r\n this.listOptions[2].filter['status'] = [ClaimStatusType.Reviewing, ClaimStatusType.Pending,];\r\n this.listOptions[3].filter['status'] = [ClaimStatusType.Reviewing, ClaimStatusType.Pending, ClaimStatusType.Rejected];\r\n this.listOptions[4].setSize(20); //'Ιστορικο Αποδειξεων' show 20 items from the start\r\n\r\n this.canEdit = false;\r\n\r\n }\r\n\r\n ngOnInit() {\r\n \r\n this.initUploader();\r\n this.policyService.PolicyIdWatcher().pipe(take(1)).subscribe((policyId: string) => {\r\n this.onSelectedIndexChange(0, true);\r\n });\r\n\r\n this.isOwner = this.policyService.selectedPolicy.membershipStatus.accessLevel === 'Owner';\r\n this.isOwnerWithClaimRights = this.policyService.selectedPolicy.membershipStatus.accessLevel === 'OwnerWithClaimRights';\r\n this.isMember = this.policyService.selectedPolicy.membershipStatus.accessLevel === 'Member' ;\r\n this.canEdit = this.isOwner || this.isMember || this.isOwnerWithClaimRights;\r\n this.itsMe = this.policyService.selectedPolicy.membershipStatus.policyMemberId === this.policyService.selectedMember.id;\r\n }\r\n\r\n public initUploader(): void {\r\n const settings = this.webApi.getUploadSettingsForNg2Upload(`${this.policyService.selectedPolicyId}/members/import`);\r\n this.uploaderOptions = Object.assign(this.uploaderOptions, settings, this.uploaderOptions);\r\n this.fileUploader = new FileUploader(this.uploaderOptions);\r\n //add option to prevent CORS error\r\n // this.fileUploader.onAfterAddingFile = (item => {\r\n // item.remove();\r\n // this.fileUploader.queue = [];\r\n // });\r\n this.fileUploader.onWhenAddingFileFailed = (item, filter, options) => {\r\n // Check if the failure is due to file type restriction\r\n if (!this.uploaderOptions.allowedFileType.includes(item.type)) {\r\n // Set the error message\r\n this.uploadError = 'Invalid file type. Only xls files are allowed.';\r\n }\r\n };\r\n this.fileUploader.onBeforeUploadItem = (item) => {\r\n item.withCredentials = false;\r\n };\r\n this.fileUploader.onErrorItem = (item: FileItem, response: string, status: number, headers: ParsedResponseHeaders) => {\r\n switch (status) {\r\n case 400:\r\n const errors = [];\r\n const responeObj = JSON.parse(response);\r\n for (const key of Object.keys(responeObj)) {\r\n for (const error of responeObj[key]) {\r\n errors.push(error);\r\n }\r\n }\r\n this.uploadError = item['errors'] = errors.join(' ');\r\n this.notificationService.error('File upload', `File ${item.file.name} has errors. ${errors.join(' ')}`);\r\n break;\r\n default:\r\n this.notificationService.error('File upload', `Unknown error occured in file ${item.file.name}.`);\r\n break;\r\n }\r\n };\r\n this.fileUploader.onSuccessItem = (item: FileItem, response: string, status: number, headers: ParsedResponseHeaders) => {\r\n this.notificationService.success('File upload', `File ${item.file.name} uploaded.`);\r\n };\r\n\r\n this.fileUploader.onCompleteAll = () => this.fileUploader.clearQueue();\r\n\r\n //for adding the same file multiple times\r\n this.fileUploader.onAfterAddingFile = (item => {\r\n this.uploadElRef.nativeElement.value = '';\r\n });\r\n\r\n //this.onSelectedIndexChange(0);\r\n }\r\n\r\n\r\n deleteClaimRequest(claimRequestId: string) {\r\n this.dialog.open(ConfirmationDialogComponent, {\r\n data: {\r\n cancelText: \"Οχι\",\r\n confirmText: \"Ναι\",\r\n message: \"Θέλετε να διαγράψετε την αιτουμένη αίτηση?\",\r\n title: \"Διαγραφή Αίτησης\"\r\n }}).afterClosed().pipe().subscribe((result: boolean) => {\r\n if (result) {\r\n // Handle the result\r\n this.policyService.deleteClaimRequest(claimRequestId).subscribe(\r\n () => {\r\n const index = this.policyService.selectedPolicy.claimRequests.findIndex(request => request.id === claimRequestId);\r\n if (index !== -1) {\r\n this.policyService.selectedPolicy.claimRequests.splice(index, 1);\r\n }\r\n },\r\n (error) => {\r\n // Handle the error\r\n }\r\n );\r\n }\r\n });\r\n }\r\n\r\n deleteRequest(claimRow : IInsuredMember){\r\n this.dialog.open(DeleteMemberDialogComponent, {\r\n data: claimRow\r\n }).afterClosed().pipe().subscribe((result:boolean) => {\r\n if (result) {\r\n // Handle the result\r\n const index = this.policyService.selectedPolicy.members.findIndex(request => request.id === claimRow.id);\r\n if (index !== -1) {\r\n this.policyService.selectedPolicy.members.splice(index, 1);\r\n }\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n public editClaimRequest(claimRequest:any): void {\r\n this.policyService.goToClaimRequestEdit(claimRequest.policyMemberId, claimRequest.id);\r\n }\r\n\r\n\r\n //#region for management\r\n public createMember(): void {\r\n this.policyService.goToMemberCreate();\r\n }\r\n\r\n public goToMemberDetails(memberId: string): void {\r\n this.policyService.goToMemberDetails(memberId);\r\n }\r\n\r\n public goToMemberEdit(row: IInsuredMember): void {\r\n this.policyService.goToMemberEdit(row.id);\r\n }\r\n\r\n public deleteMember(row: IInsuredMember): void {\r\n this.policyService.deleteMember(row.id.toString());\r\n }\r\n\r\n public goToMemberPendingChanges(memberId:string): void{\r\n if(this.isOwner || this.isOwnerWithClaimRights){\r\n this.policyService.shouldScroll = true;\r\n this.policyService.target = 'members-file-section';\r\n }\r\n this.policyService.goToMemberDetails(memberId);\r\n }\r\n\r\n public onFilter(data: MatCheckboxChange): void {\r\n if (data.checked) {\r\n this.filteredItems += 1;\r\n } else {\r\n this.filteredItems -= 1;\r\n }\r\n if (data.source['value']) {\r\n if (data.source.checked) {\r\n const d: string[] = (this.listOptions[this.selectedListItem].filter[data.source.name] || '').split(',');\r\n d.push(data.source['value']);\r\n this.listOptions[this.selectedListItem].filter[data.source.name] = d.filter((v) => !!v).join(',');\r\n } else {\r\n let d: string[] = (this.listOptions[this.selectedListItem].filter[data.source.name] + '').split(',');\r\n d = d.filter((v) => v !== data.source['value']);\r\n this.listOptions[this.selectedListItem].filter[data.source.name] = d.filter((v) => !!v).join(',');\r\n }\r\n } else {\r\n this.listOptions[this.selectedListItem].filter[data.source.name] = data.checked;\r\n }\r\n this.onSelectedIndexChange(this.selectedListItem, true);\r\n }\r\n\r\n public onPageChange(pageInfo): void {\r\n const listOpts = this.listOptions[this.selectedListItem];\r\n listOpts.pageIndex = pageInfo.offset;\r\n listOpts.page = this.listOptions[this.selectedListItem].pageIndex + 1;\r\n this.onSelectedIndexChange(this.selectedListItem, true);\r\n }\r\n\r\n public onSort(event): void {\r\n this.listOptions[this.selectedListItem].setSorting(event);\r\n this.onSelectedIndexChange(this.selectedListItem, true);\r\n }\r\n\r\n public onSearch(): void {\r\n this.onSelectedIndexChange(this.selectedListItem, true);\r\n }\r\n\r\n public onPageSizeChange(limit: any): void {\r\n this.listOptions[this.selectedListItem].size = parseInt(limit, undefined);\r\n this.onSelectedIndexChange(this.selectedListItem, true);\r\n }\r\n\r\n\r\n public onSelectedIndexChange(idx: number, triggerApiCall: boolean = true): void {\r\n this.selectedListItem = idx;\r\n this.selectedIndex = idx;\r\n this.claimsSummary = 0;\r\n const emptyMembers = (!this.policyService.selectedPolicy.members || this.policyService.selectedPolicy.members.length === 0);\r\n if (idx === 0 && (triggerApiCall || emptyMembers)) {\r\n this.policyService.getPolicyMembers(this.listOptions[idx].getListOptions()).subscribe(\r\n (success: IResultSet) => {\r\n this.policyService.selectedPolicy.members = success.items;\r\n this.listOptions[idx].setTotalItems(success.count);\r\n }\r\n );\r\n }\r\n\r\n const emptyClaimRequests = (!this.policyService.selectedPolicy.claimRequests || this.policyService.selectedPolicy.claimRequests.length === 0);\r\n if (idx === 1 && (triggerApiCall || emptyClaimRequests)) {\r\n this.policyService.getPolicyClaimRequest(this.policyService.selectedPolicyId, this.listOptions[idx].getListOptions()).subscribe(\r\n (success: IResultSet) => {\r\n this.policyService.selectedPolicy.claimRequests = success.items;\r\n this.listOptions[idx].setTotalItems(success.count);\r\n }\r\n );\r\n }\r\n\r\n const emptyClaimRequestsPending = (!this.policyService.selectedPolicy.claimRequestsPending || this.policyService.selectedPolicy.claimRequestsPending.length === 0);\r\n if (idx === 2 && (triggerApiCall || emptyClaimRequestsPending)) {\r\n this.policyService.getPolicyClaimRequest(this.policyService.selectedPolicyId, this.listOptions[idx].getListOptions()).subscribe(\r\n (success: IResultSet) => {\r\n this.policyService.selectedPolicy.claimRequestsPending = success.items;\r\n this.listOptions[idx].setTotalItems(success.count);\r\n }\r\n );\r\n }\r\n\r\n const emptyInsuranceDocuments = (!this.policyService.selectedPolicy.insuranceDocuments || this.policyService.selectedPolicy.insuranceDocuments.length === 0);\r\n if (idx === 3 && (triggerApiCall || emptyInsuranceDocuments)) {\r\n this.policyService.getPolicyDocumentsByType(DocumentType.Certificate, this.listOptions[idx].getListOptions()).subscribe(\r\n (success: IResultSet) => {\r\n this.policyService.selectedPolicy.insuranceDocuments = success.items;\r\n this.listOptions[idx].setTotalItems(success.count);\r\n this.getCertificatesAmountSummary();\r\n }\r\n );\r\n }\r\n\r\n const emptyCertificateDocuments = (!this.policyService.selectedPolicy.certificateDocuments || this.policyService.selectedPolicy.certificateDocuments.length === 0);\r\n if (idx === 4 && (triggerApiCall || emptyCertificateDocuments)) {\r\n this.policyService.getPolicyDocumentsByType(DocumentType.Insurance, this.listOptions[idx].getListOptions()).subscribe(\r\n (success: IResultSet) => {\r\n this.policyService.selectedPolicy.certificateDocuments = success.items;\r\n this.listOptions[idx].setTotalItems(success.count);\r\n }\r\n );\r\n }\r\n\r\n const emptyMembersHistoryChanges = (!this.policyService.selectedPolicy.membersHistoryChanges || this.policyService.selectedPolicy.membersHistoryChanges.length === 0);\r\n if (idx === 5 && (triggerApiCall || emptyMembersHistoryChanges)) {\r\n this.policyService.getMembersHistoryChanges(this.policyService.selectedPolicyId, this.listOptions[idx].getListOptions()).subscribe(\r\n (success: IResultSet) => {\r\n this.policyService.selectedPolicy.membersHistoryChanges = success.items;\r\n this.listOptions[idx].setTotalItems(success.count);\r\n }\r\n );\r\n }\r\n }\r\n\r\n private getCertificatesAmountSummary() {\r\n this.policyService.getPolicyCertificatesTotalAmount(this.policyService.selectedPolicyId).subscribe(\r\n (success) => {\r\n this.claimsSummary = success;\r\n }\r\n );\r\n }\r\n//end onSelectedIndexChange\r\n //#endregion\r\n}\r\n","export default \".icon-error_outline {\\n color: #c4d600 !important;\\n /* Set the color */\\n}\\n\\n.custom-tooltip {\\n max-width: 600px !important;\\n white-space: pre-line;\\n color: #c4d600 !important;\\n}\\n\\n.no-underline h5 {\\n padding-right: 5px;\\n font-weight: normal;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY2xhaW0tcmVxdWVzdC9jbGFpbS1yZXF1ZXN0LWNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UseUJBQUE7RUFBMkIsa0JBQUE7QUFFN0I7O0FBR0U7RUFDRSwyQkFBQTtFQUNBLHFCQUFBO0VBQ0EseUJBQUE7QUFBSjs7QUFJSTtFQUNJLGtCQUFBO0VBQ0EsbUJBQUE7QUFEUiIsImZpbGUiOiJzcmMvYXBwL2NsYWltLXJlcXVlc3QvY2xhaW0tcmVxdWVzdC1jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5pY29uLWVycm9yX291dGxpbmUge1xyXG4gIGNvbG9yOiAjYzRkNjAwICFpbXBvcnRhbnQ7IC8qIFNldCB0aGUgY29sb3IgKi9cclxuXHJcbn1cclxuXHJcbiAgXHJcbiAgLmN1c3RvbS10b29sdGlwIHtcclxuICAgIG1heC13aWR0aDogNjAwcHggIWltcG9ydGFudDsgXHJcbiAgICB3aGl0ZS1zcGFjZTogcHJlLWxpbmU7XHJcbiAgICBjb2xvcjogI2M0ZDYwMCAhaW1wb3J0YW50O1xyXG4gIH1cclxuICBcclxuICAubm8tdW5kZXJsaW5le1xyXG4gICAgaDV7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogNXB4O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICB9XHJcbiAgfSJdfQ== */\";","import { Component, Inject } from '@angular/core';\r\nimport { IInsuredMember } from '../app-models';\r\nimport { NgForm } from '@angular/forms';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { IPolicyManager } from '../core/services/daf-api.service';\r\n\r\n@Component({\r\n templateUrl: 'partial-member-dialog.component.html'\r\n})\r\nexport class PartialMemberCreateDialogComponent {\r\n constructor(private dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data: IPolicyManager) {\r\n\r\n }\r\n public save(form: NgForm): void {\r\n if (form.invalid) {\r\n return;\r\n }\r\n this.dialogRef.close(this.data);\r\n }\r\n public close(): void { this.dialogRef.close(); }\r\n}\r\n","export default \"\\r\\n
\\r\\n
\\r\\n \\r\\n

\\r\\n Επενδυτικό Προφίλ:\\r\\n {{ scoreDetail?.score | translateEnum }}\\r\\n Ελεύθερο\\r\\n

\\r\\n \\r\\n
\\r\\n
\\r\\n
{{contrType | translateEnum}} (%)
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{investment.description}}\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\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 { IMenuItem } from './../../../core/core-models';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { PolicyService, AuthService, DafApiClient, NotificationService } from 'src/app/core/services';\r\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\r\nimport { PolicySelectorDialogComponent } from '../../policy-selector-dialog.component';\r\n\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { take } from 'rxjs/operators';\r\n\r\n\r\n@Component({\r\n templateUrl: './daf-member-profile.component.html'\r\n})\r\nexport class DafMemberProfileComponent implements OnInit {\r\n\r\n isSysAdmin = false;\r\n isMember = false;\r\n isOwner = false;\r\n isViewOnlyAdmin = false;\r\n public policyActions: IMenuItem[];\r\n public policySubActions: IMenuItem[];\r\n constructor(public policyService: PolicyService, public dafApiClient: DafApiClient, private user: AuthService, private dialog: MatDialog, protected notificationService: NotificationService, private route: ActivatedRoute, private router: Router) {\r\n this.policyService.dafSelectedMember = this.route.snapshot.data['member'] || {};\r\n this.router.routeReuseStrategy.shouldReuseRoute = () => false;\r\n }\r\n\r\n ngOnInit(): void {\r\n // this.dialog.open(ConfirmationDialogComponent, {\r\n // data: {\r\n // // cancelText: \"Οχι\",\r\n // confirmText: \"ΟΚ\",\r\n // message: \"Σας γνωρίζουμε ότι η αποτίμηση του λογαριασμού σας δεν είναι προσωρινά διαθέσιμη λόγω ετήσιας διαδικασίας κλεισίματος αποθεμάτων.Ευχαριστούμε για την κατανόηση.\",\r\n // title: \"Ενημέρωση\"\r\n // }\r\n // })\r\n\r\n this.isMember = this.policyService.selectedPolicy.membershipStatus.accessLevel === 'Member';\r\n this.isOwner = this.policyService.selectedPolicy.membershipStatus.accessLevel === 'Owner';\r\n this.isViewOnlyAdmin = this.policyService.selectedPolicy.membershipStatus.accessLevel === 'ViewOnlyAdmin';\r\n this.isSysAdmin = this.policyService.selectedPolicy.membershipStatus.accessLevel === 'Admin';\r\n // this.dafApiClient.isMember152ComplianceStatusOk(this.policyService.selectedPolicyId, this.policyService.selectedPolicy.membershipStatus.policyMemberId).subscribe(\r\n // (result: any) => {\r\n // if(!result)\r\n // this.show152ComplianceDialog(); \r\n // });\r\n\r\n this.policyActions = [\r\n { key: 'action2', text: 'Πρότυπα PDF / Ένταξη – Δικαιούχοι', icon: 'picture_as_pdf', tooltip: 'Συνοδευτικά Pdf Αρχεία για ένταξη ασφαλισμένων στο συμβόλαιο', hasChildren: true },\r\n { key: 'action3', text: 'Πρότυπα PDF / Αλλαγή Εισφοράς', icon: 'picture_as_pdf', tooltip: 'Συνοδευτικά Pdf Αρχεία για αλλαγές των εισφορών', hasChildren: true },\r\n { key: 'action4', text: 'Πρότυπα PDF / Έντυπα Παροχής', icon: 'picture_as_pdf', tooltip: 'Συνοδευτικά Pdf Αρχεία για χρήση των παροχών των συμβολαίων ', hasChildren: true },\r\n { key: 'action6', text: 'Έντυπα Βασικών Πληροφοριών ΑΚ', icon: 'picture_as_pdf', tooltip: '', path: '/mutual-prips', hasChildren: false, visible: true },\r\n ];\r\n this.policySubActions = [\r\n { key: 'insurance_application', parentKey: 'action2', text: 'Αίτηση Ασφάλισης', icon: 'get_app'},\r\n { key: 'set_beneficiaries_application', parentKey: 'action2', text: 'Αίτηση Αλλαγής Δικαιούχων', icon: 'get_app'},\r\n { key: 'set_contribution_application', parentKey: 'action3', text: 'Αίτηση Αλλαγής Εισφοράς', icon: 'get_app'},\r\n //{ key: 'urgent_contribution_application', parentKey: 'action4', text: 'Αίτηση Έκτακτης Εισφοράς', icon: 'get_app'},\r\n { key: 'partial_redemption_application', parentKey: 'action4', text: 'Αίτηση Μερικής Εξαγοράς', icon: 'get_app'},\r\n { key: 'deposit_info', parentKey: 'action4', text: 'Δήλωση Στοιχείων Κατάθεσης', icon: 'get_app'}\r\n ];\r\n }\r\n\r\n public actionClick(actionKey) {\r\n console.log('daf policy component received an actionClicked event from the header component', actionKey);\r\n switch (actionKey) {\r\n case 'action1':\r\n break;\r\n case 'action2':\r\n case 'action3':\r\n case 'action4':\r\n console.log('do sth common for actions 1, 2 & 3');\r\n //this.router.navigateByUrl(this.policyActions[actionKey].path);\r\n window.open(this.policyActions.find(a => a.key === actionKey)?.path, \"_blank\");\r\n break;\r\n case 'action5':\r\n break;\r\n case 'action6':\r\n console.log('action6'); \r\n const path = this.policyActions.find(a => a.key === actionKey)?.path;\r\n const url = `daf-policy/${this.policyService.selectedPolicy.id}/members/${this.policyService.dafSelectedMember.id}${path}`;\r\n \r\n this.policyService.navigate([url]);\r\n break;\r\n }\r\n // do your stuff here!\r\n }\r\n\r\n showPoliciesSelector() {\r\n this.dialog.open(\r\n PolicySelectorDialogComponent,\r\n { width: 'auto', minWidth: '800px', maxWidth: '1500px', autoFocus: true, disableClose: false, data: {} })\r\n .afterClosed()\r\n .pipe(take(1))\r\n .subscribe(\r\n (result: any) => {\r\n this.policyService.policyIdChanged(result);\r\n this.policyService.goToSelectedPolicy();\r\n }\r\n );\r\n }\r\n\r\n\r\n // show152ComplianceDialog() {\r\n // this.dialog.open(\r\n // Compliance152DialogComponent,\r\n // { width: 'auto', minWidth: '800px', maxWidth: '900px', autoFocus: true, disableClose: true, data: {} })\r\n // .afterClosed()\r\n // .pipe(take(1))\r\n // .subscribe(\r\n // (result: any) => {\r\n // this.policyService.policyIdChanged(result);\r\n // this.policyService.goToSelectedPolicy();\r\n // }\r\n // );\r\n // }\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams, HttpErrorResponse, HttpResponse, HttpResponseBase } from '@angular/common/http';\r\nimport { throwError } from 'rxjs/internal/observable/throwError';\r\nimport { catchError, mergeMap } from 'rxjs/operators';\r\nimport { environment } from '../../../environments/environment';\r\nimport { IResultSet } from '../core-models';\r\nimport { NotificationService } from './notification.service';\r\nimport { ErrorHandlingExtension } from '../extensions/error-handling-extentions';\r\nimport { AuthService } from './auth.service';\r\nimport { Observable } from 'rxjs/internal/Observable';\r\nimport { of } from 'rxjs/internal/observable/of';\r\nimport { CorrelationService } from './correlation.service';\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\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 const reader = new FileReader();\r\n reader.onload = function () {\r\n observer.next(this.result);\r\n observer.complete();\r\n };\r\n reader.readAsText(blob);\r\n }\r\n });\r\n}\r\n\r\n@Injectable()\r\nexport class WebApiService {\r\n private ApiURL = '';\r\n private IdentityApiURL = '';\r\n constructor(private httpClient: HttpClient, private notificationService: NotificationService, private authService: AuthService,protected correlationService:CorrelationService) {\r\n this.ApiURL = environment.webApiUrl;\r\n this.IdentityApiURL = environment.auth_settings.authority + '/api/';\r\n const endsWithSlash = this.ApiURL[this.ApiURL.length - 1] === '/';\r\n if (!endsWithSlash) {\r\n this.ApiURL += '/';\r\n }\r\n }\r\n\r\n public getList(type: string, params?: any): Observable> {\r\n const url = this.ApiURL + type;\r\n return this.getInternal(url, params);\r\n }\r\n public get(type: string, id?: string, params?: any): Observable {\r\n const url = this.ApiURL + type + (!!id ? '/' + id : '');\r\n return this.getInternal(url, params);\r\n }\r\n private getInternal(type: string, params: any, ): Observable {\r\n const options = { headers: this.getHeaders() };\r\n if (params) {\r\n const urlParams = this.getRequestParams(params);\r\n //options.search = urlParams;\r\n options.params = urlParams;\r\n }\r\n //if (queryParams) {\r\n // options.params = queryParams;\r\n //}\r\n if (type.endsWith('/')) {\r\n type = type.substring(0, type.length - 1);\r\n }\r\n //console.log(`Loading started: ${type}`);\r\n return this.httpClient.get(type, options)\r\n .pipe(\r\n //tap(v => console.log(`Loading finito!: ${type}`)),\r\n catchError((error: HttpErrorResponse) => {\r\n this.notificationService.parseAndPopError(error);\r\n return of(/*this.notificationService.parseAndPopError(error)*/[]); //this ends here since the request is invalid\r\n })\r\n );\r\n }\r\n\r\n public profileUpdate(entity: any, cascadeErrorHandling: boolean = false): Observable {\r\n const url = this.IdentityApiURL + 'manage/profile';\r\n const data = entity ? JSON.stringify(entity) : null;\r\n const options: any = {\r\n observe: 'response',\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n }),\r\n body: data\r\n };\r\n return this.httpClient.request('POST', url, options)\r\n .pipe(\r\n catchError((error: HttpErrorResponse) => {\r\n const errorObj = ErrorHandlingExtension.GetErrorMessagesObj(error);\r\n this.notificationService.error(errorObj.title, errorObj.description);\r\n if (cascadeErrorHandling) {\r\n return throwError(error); //this goes to error of the subscription\r\n } else {\r\n return of(); //this ends here since the request is invalid\r\n }\r\n })\r\n );\r\n }\r\n\r\n public post(type: string, entity: any, cascadeErrorHandling: boolean = false,addCorrelationId: boolean = false): Observable {\r\n const url = this.ApiURL + type;\r\n let headers = this.getHeaders();\r\n\r\n // Add X-Correlation-ID if the flag is true\r\n if (addCorrelationId) {\r\n const correlationId = this.correlationService.getCorrelationId();\r\n headers = headers.set('X-Correlation-ID', correlationId);\r\n }\r\n const options = { headers };\r\n const data = entity ? JSON.stringify(entity) : null;\r\n return this.httpClient.post(url, data, options)\r\n .pipe(\r\n catchError((error: HttpErrorResponse) => {\r\n const errorObj = ErrorHandlingExtension.GetErrorMessagesObj(error);\r\n this.notificationService.error(errorObj.title, errorObj.description);\r\n if (cascadeErrorHandling) {\r\n return throwError(error); //this goes to error of the subscription\r\n } else {\r\n return of(); //this ends here since the request is invalid\r\n }\r\n })\r\n );\r\n }\r\n public put(type: string, entity: any, cascadeErrorHandling: boolean = false,addCorrelationId: boolean = false): Observable {\r\n const url = this.ApiURL + type;\r\n let headers = this.getHeaders();\r\n\r\n // Add X-Correlation-ID if the flag is true\r\n if (addCorrelationId) {\r\n const correlationId = this.correlationService.getCorrelationId();\r\n headers = headers.set('X-Correlation-ID', correlationId);\r\n }\r\n const options = { headers:headers };\r\n const data = entity ? JSON.stringify(entity) : null;\r\n return this.httpClient.put(url, data, options)\r\n .pipe(\r\n catchError((error: HttpErrorResponse) => {\r\n const errorObj = ErrorHandlingExtension.GetErrorMessagesObj(error);\r\n this.notificationService.error(errorObj.title, errorObj.description);\r\n if (cascadeErrorHandling) {\r\n return throwError(error); //this goes to error of the subscription\r\n } else {\r\n return of(); //this ends here since the request is invalid\r\n }\r\n })\r\n );\r\n }\r\n public delete(type: string, id: string, date?:Date, cascadeErrorHandling: boolean = false,addCorrelationId: boolean = false): Observable {\r\n const url = this.ApiURL + type + (!!id ? '/' + id : '');\r\n const data = date ? JSON.stringify(date) : null;\r\n let headers = this.getHeaders();\r\n\r\n // Add X-Correlation-ID if the flag is true\r\n if (addCorrelationId) {\r\n const correlationId = this.correlationService.getCorrelationId();\r\n headers = headers.set('X-Correlation-ID', correlationId);\r\n }\r\n const options = data!==undefined && data !== null ? { headers: headers,body:data }: { headers: headers};\r\n return this.httpClient.delete(url, options)\r\n .pipe(\r\n catchError((error: HttpErrorResponse) => {\r\n const errorObj = ErrorHandlingExtension.GetErrorMessagesObj(error);\r\n this.notificationService.error(errorObj.title, errorObj.description);\r\n if (cascadeErrorHandling) {\r\n return throwError(error); //this goes to error of the subscription\r\n } else {\r\n return of(); //this ends here since the request is invalid\r\n }\r\n })\r\n );\r\n }\r\n\r\n public getUploadSettingsForNg2Upload(type: string): any {\r\n const settings = {\r\n url: `${this.ApiURL}${type}`,\r\n authToken: this.authService.getAuthorizationHeaderValue(),\r\n headers: [{ name: 'X-Correlation-ID', value: this.correlationService.getCorrelationId()}]\r\n };\r\n return settings;\r\n }\r\n\r\n\r\n\r\n public getDownloadFile(type: string, cascadeErrorHandling: boolean = false): Observable {\r\n const url = this.ApiURL + type;\r\n const options_: any = {\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.httpClient.request('get', url, options_).pipe(\r\n mergeMap((response_: any) => {\r\n return this.processDownloadHttpResponse(response_);\r\n }),\r\n catchError((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processDownloadHttpResponse(response_);\r\n } catch (e) {\r\n return >throwError(e);\r\n }\r\n } else {\r\n return >throwError(response_);\r\n }\r\n }));\r\n }\r\n\r\n protected processDownloadHttpResponse(response: HttpResponseBase): Observable {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response).error instanceof Blob ? (response).error : undefined;\r\n\r\n const _headers: any = {}; if (response.headers) { for (const 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 const fileNameMatch = contentDisposition ? /filename='?([^']*?)'?(;|$)/g.exec(contentDisposition) : undefined;\r\n const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1].replace(/\"/g, '') : undefined;\r\n return of({ fileName: fileName, data: responseBlob, status: status, headers: _headers });\r\n } else if (status === 401) {\r\n const contentDisposition = response.headers ? response.headers.get('content-disposition') : undefined;\r\n const fileNameMatch = contentDisposition ? /filename='?([^']*?)'?(;|$)/g.exec(contentDisposition) : undefined;\r\n const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n return of({ fileName: fileName, data: responseBlob, status: status, headers: _headers });\r\n } else if (status === 403) {\r\n const contentDisposition = response.headers ? response.headers.get('content-disposition') : undefined;\r\n const fileNameMatch = contentDisposition ? /filename='?([^']*?)'?(;|$)/g.exec(contentDisposition) : undefined;\r\n const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n return of({ fileName: fileName, data: responseBlob, status: status, headers: _headers });\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(mergeMap(_responseText => {\r\n return throwError({ message: 'An unexpected server error occurred.', status: status, response: _responseText, headers: _headers });\r\n }));\r\n }\r\n return of(null);\r\n }\r\n\r\n private getHeaders(extraHeaders?: { [key: string]: string }): HttpHeaders {\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n 'Access-Control-Allow-Origin': '*',\r\n });\r\n \r\n // Add extra headers if provided\r\n if (extraHeaders) {\r\n Object.keys(extraHeaders).forEach((key) => {\r\n headers = headers.set(key, extraHeaders[key]);\r\n });\r\n }\r\n \r\n return headers;\r\n }\r\n private getRequestParams(params?: any): HttpParams {\r\n const urlParams: any = {}; //: HttpParams = new HttpParams();\r\n const notNull = params ? true : false;\r\n const isObj = typeof (params) === 'object';\r\n if (!isObj) {\r\n return undefined;\r\n }\r\n if (params) {\r\n const parentProps = Object.keys(params);\r\n for (let i = 0; i < parentProps.length; i++) {\r\n const parentParamName = parentProps[i];\r\n const parentParamValue = params[parentParamName];\r\n if (!parentParamValue) { continue; }\r\n if (typeof (parentParamValue) === 'object') {\r\n const childProps = Object.keys(parentParamValue);\r\n for (let j = 0; j < childProps.length; j++) {\r\n const childParamName = childProps[j];\r\n const childParamVal = parentParamValue[childParamName];\r\n //urlParams.set(parentParamName + '.' + childParamName, childParamVal);\r\n urlParams[parentParamName + '.' + childParamName] = childParamVal;\r\n }\r\n } else {\r\n //urlParams.set(parentParamName, parentParamValue);\r\n urlParams[parentParamName] = parentParamValue;\r\n }\r\n }\r\n }\r\n return urlParams;\r\n }\r\n}\r\n","export default \"
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\";","import { map } from 'rxjs/operators';\r\nimport { DafApiClient, ResultSetOfPolicy, Policy as DafPolicy } from './daf-api.service';\r\nimport { Injectable, Inject, forwardRef } from '@angular/core';\r\nimport { WebApiService } from './web-api.service';\r\nimport { ActivatedRouteSnapshot, RouterStateSnapshot, Resolve } from '@angular/router';\r\nimport { IResultSet } from '../core-models';\r\nimport { IInsuredMember, IProtectedMember, IMessage } from '../../app-models';\r\nimport { PolicyService } from './policy.service';\r\nimport { Observable, from, of } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class GroupPoliciesListResolver implements Resolve> {\r\n constructor(private _webApiService: WebApiService) {\r\n }\r\n resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable> {\r\n console.log('GroupPoliciesListResolver');\r\n const entityState: string = route.data['api'] || '';\r\n const queryParams: any = {size:5000};\r\n const groupPolicies = this._webApiService.getList(entityState, queryParams);\r\n //TODO: add map logic to add a discriminator for policy type!\r\n return groupPolicies;\r\n }\r\n}\r\n\r\n@Injectable()\r\nexport class DafPoliciesListResolver implements Resolve {\r\n constructor(private dafApiClient: DafApiClient) {\r\n }\r\n resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable {\r\n console.log('DafPoliciesListResolver');\r\n const dafPolicies = this.dafApiClient.getPolicies(undefined, undefined, undefined, undefined);\r\n //TODO: add map logic to add a discriminator for policy type!\r\n return dafPolicies;\r\n }\r\n}\r\n\r\n@Injectable()\r\nexport class GroupPolicyResolver implements Resolve {\r\n constructor(private _webApiService: WebApiService, private _dafApiClient: DafApiClient) { }\r\n\r\n resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable {\r\n const entityState: string = route.data['api'] || '';\r\n const id = route.params['id'] || route.params['token'];\r\n const queryParams: any = {};\r\n\r\n //TODO: check route to see whether we should call the \"classic\" web api or use the daf api client\r\n return this._webApiService.get(entityState, id, queryParams);\r\n }\r\n}\r\n\r\n@Injectable()\r\nexport class ClaimRequestResolver implements Resolve {\r\n constructor(private _webApiService: WebApiService) { }\r\n\r\n resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable {\r\n const entityState = 'claim-requests';\r\n const policyId = route.params['policyId'];\r\n const id = route.params['claimRequestId'];\r\n\r\n return this._webApiService.get(`${policyId}/${entityState}`, id, {});\r\n }\r\n}\r\n\r\n@Injectable()\r\nexport class PolicyMemberResolver implements Resolve {\r\n constructor(private _webApiService: WebApiService) { }\r\n\r\n resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable {\r\n const entityState = 'members';\r\n const policyId = route.params['policyId'];\r\n const memberId = route.params['memberId'];\r\n return this._webApiService.get(`${policyId}/${entityState}`, memberId, {});\r\n }\r\n}\r\n\r\n@Injectable()\r\nexport class DafPolicyMemberResolver implements Resolve {\r\n constructor(private dafApiClient: DafApiClient) { }\r\n\r\n resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable {\r\n const policyId = route.params['id'];\r\n const memberId = route.params['memberId'];\r\n return this.dafApiClient.getInsured(policyId, memberId, undefined);\r\n }\r\n}\r\n\r\n@Injectable()\r\nexport class ProtectedMembersResolver implements Resolve> {\r\n constructor(private _webApiService: WebApiService) { }\r\n\r\n resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable {\r\n const entityState = 'members';\r\n const policyId = route.params['policyId'];\r\n const memberId = route.params['memberId'];\r\n const queryParams: any = {};\r\n\r\n return this._webApiService.get(`${policyId}/${entityState}/${memberId}/protected`, '', queryParams);\r\n }\r\n}\r\n\r\n@Injectable()\r\nexport class TokenResolver implements Resolve {\r\n constructor(private _webApiService: WebApiService) { }\r\n\r\n resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable {\r\n const entityState: string = route.data['api'] || '';\r\n const token = route.params['token'] || route.queryParams['token'];\r\n const queryParams: any = { token: token };\r\n\r\n return this._webApiService.get(entityState, '', queryParams);\r\n }\r\n}\r\n\r\n@Injectable()\r\nexport class DafTokenResolver implements Resolve {\r\n constructor(private dafApiClient: DafApiClient) { }\r\n\r\n resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable {\r\n const token = route.params['token'] || route.queryParams['token'];\r\n\r\n return this.dafApiClient.inspectInvitation(token);\r\n }\r\n}\r\n\r\n@Injectable()\r\nexport class MessagesResolver implements Resolve> {\r\n constructor(private webApiService: WebApiService, private policyService: PolicyService) { }\r\n\r\n resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): IResultSet | Observable> | Promise> {\r\n const entityState: string = route.data['api'] || 'messages';\r\n const policyId = route.params['policyId'] || this.policyService.selectedPolicyId;\r\n const queryParams: any = { size: 10 };\r\n\r\n return this.webApiService.getList(`${policyId}/${entityState}`, queryParams);\r\n }\r\n\r\n}\r\n","import { Summary } from './../../../core/services/daf-api.service';\r\nimport { DafApiClient, PolicyService } from 'src/app/core/services';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { TranslateEnumPipe } from 'src/app/shared/pipes/enum-to-sting.pipe';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { take } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'daf-contributions-charts',\r\n templateUrl: './daf-contributions-chart.component.html'\r\n})\r\nexport class ContributionsChartComponent implements OnInit {\r\n\r\n public contributionSummary = [];\r\n public investmentsSummary = [];\r\n view: any[] = [360, 260];\r\n colorScheme = {\r\n domain: ['#2a6654', '#c4d600', '#1fa3a5', '#947d4b']\r\n };\r\n\r\n constructor(private policyService: PolicyService, private dafApiClient: DafApiClient, private router: Router, private route: ActivatedRoute) {\r\n if(window.innerWidth < 480) {\r\n this.view = [300, 220];\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this.policyService.PolicyIdWatcher().pipe(take(1)).subscribe((policyId: string) => {\r\n if (this.policyService.isMember || this.router.url.includes('/members/')) {\r\n this.populateChartData(this.policyService.dafSelectedMember.summary);\r\n } else {\r\n this.dafApiClient.getPolicy(this.policyService.selectedPolicy.id).subscribe(response => {\r\n this.populateChartData(response.summary);\r\n }, (error) => console.log('ContributionsChartComponent', error));\r\n }\r\n });\r\n }\r\n\r\n private populateChartData(summary: Summary): void {\r\n if (summary && summary.contributionSummary && summary.contributionSummary.contributions) {\r\n this.contributionSummary = [];\r\n summary.investmentSummary.investments.forEach(c => {\r\n var item = this.contributionSummary.find(inv => {\r\n return inv.name === new TranslateEnumPipe().transform(c.contributionType);\r\n });\r\n this.contributionSummary.push({name: new TranslateEnumPipe().transform(c.contributionType) ?? 'undefined', value: c.currentGrossValue ? Math.round(c.currentGrossValue) : 0});\r\n if(!item) {\r\n } else {\r\n let index = this.contributionSummary.indexOf(item);\r\n this.contributionSummary[index].value += c.currentGrossValue ? Math.round(c.currentGrossValue) : 0;\r\n }\r\n });\r\n }\r\n \r\n if (summary && summary.investmentSummary && summary.investmentSummary.investments) {\r\n this.investmentsSummary = [];\r\n summary.investmentSummary.investments.forEach(i => {\r\n var item = this.investmentsSummary.find(inv => {\r\n return inv.name === i.description;\r\n });\r\n if(!item) {\r\n this.investmentsSummary.push({name: i.description ?? 'undefined', value: i.percentage ? i.percentage : 0});\r\n } else {\r\n let index = this.investmentsSummary.indexOf(item);\r\n this.investmentsSummary[index].value += i.percentage ? i.percentage : 0;\r\n }\r\n });\r\n this.investmentsSummary.forEach(i => {\r\n i.value = (Math.round(( i.value + Number.EPSILON ) * 100 ) / 100);\r\n i.value = i.value * 100;\r\n const splitValue = i.value.toString().split(\".\");\r\n if(splitValue[1]) {\r\n const firstTwoDecimals = splitValue[1].substring(0,2);\r\n if (splitValue[1].length >= 2 && firstTwoDecimals !== '00') {\r\n i.value = i.value.toString().match(/^-?\\d+(?:\\.\\d{0,2})?/)[0];\r\n } else if (firstTwoDecimals === '00') {\r\n i.value = splitValue[0];\r\n }\r\n }\r\n });\r\n }\r\n }\r\n\r\n \r\n onSelect(event) {\r\n console.log(event);\r\n }\r\n\r\n onResize(event) {\r\n const innerWidth = event.target.innerWidth;\r\n console.log(innerWidth);\r\n if (innerWidth <= 480) {\r\n this.view = [300, 220];\r\n } else {\r\n this.view = [360, 260];\r\n }\r\n }\r\n}\r\n","import {Component, ViewEncapsulation} from '@angular/core';\r\nimport {ActivatedRoute, Router} from '@angular/router';\r\nimport {ClaimRequestBaseComponent} from './claim-request-base.component';\r\nimport {WebApi, NotificationService, PolicyService} from 'src/app/core/services';\r\nimport {MatDialog} from '@angular/material/dialog';\r\nimport { ConfirmDialogService } from '../shared/components/confirmation-dialog/confirm-dialog.service';\r\nimport { ConfirmationDialogComponent } from '../shared/components/confirmation-dialog/confirmation-dialog.component';\r\n\r\n\r\n@Component({\r\n templateUrl: 'claim-request-create.component.html',\r\n styleUrls: ['claim-request-component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n \r\n\r\n})\r\nexport class ClaimRequestEditComponent extends ClaimRequestBaseComponent {\r\n\r\n constructor(protected route: ActivatedRoute, private router: Router, protected webApi: WebApi, protected notificationService: NotificationService, protected policyService: PolicyService, protected dialog: MatDialog,protected confirmDialog: ConfirmDialogService) {\r\n super(route, webApi, notificationService, policyService, dialog,confirmDialog);\r\n this.loadAttachments();\r\n this.initializeInitEntityValues();\r\n }\r\n\r\n public goToStep2() {\r\n if(!this.entity.damageType || !this.entity.claimKind){\r\n this.showWarning = true;\r\n return;\r\n }\r\n else {\r\n this.showWarning = false;\r\n //checks if the values does not changes and skip the put request and does not delete the files \r\n if(this.entity.damageType == this.initEntityValues.damageType && this.entity.claimKind == this.initEntityValues.claimKind){\r\n this.step1 = false;\r\n this.step2 = true;\r\n return;\r\n }\r\n if (this.uploader.queue?.length) {\r\n this.dialog\r\n .open(ConfirmationDialogComponent, {\r\n data: {\r\n cancelText: \"Ακύρωση\",\r\n confirmText: \"ΟΚ\",\r\n message: \"Η αλλαγή κατηγορίας θα αφαιρέσει ό,τι έντυπα έχετε επισυνάψει\",\r\n title: \"Ενημέρωση\"\r\n }\r\n })\r\n .afterClosed()\r\n .subscribe((result: boolean) => {\r\n if (result) {\r\n this.uploader.queue.forEach((file) => this.removeAttachment(file));\r\n \r\n this.updateClaimRequest();\r\n }\r\n });\r\n } else {\r\n this.updateClaimRequest();\r\n }\r\n }\r\n }\r\n}\r\n","function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"crnd\";","import { WebApiService } from './web-api.service';\r\nimport { IsLoggedInAuthGuard } from './logged-in-guard.service';\r\nimport { PolicyOwnerAuthGuard } from './policy-owner-guard.service';\r\nimport { SysAdminAuthGuard } from './sys-admin-guard.service';\r\nimport { PoliciesLoadedGuard } from './policies-loaded-guard.service';\r\nimport { UserService } from './user.service';\r\nimport { GroupPoliciesListResolver, GroupPolicyResolver, TokenResolver, DafPoliciesListResolver } from './data-resolver.service';\r\nimport { NotificationService } from './notification.service';\r\nimport { PolicyService } from './policy.service';\r\nimport { AuthService } from './auth.service';\r\nimport { DafApiClient } from './daf-api.service';\r\n\r\nexport {\r\n WebApiService as WebApi,\r\n DafApiClient,\r\n IsLoggedInAuthGuard,\r\n PolicyOwnerAuthGuard,\r\n SysAdminAuthGuard,\r\n PoliciesLoadedGuard,\r\n UserService as User,\r\n GroupPoliciesListResolver, GroupPolicyResolver, TokenResolver,\r\n DafPoliciesListResolver,\r\n NotificationService,\r\n PolicyService,\r\n AuthService\r\n};\r\n","import { Component } from '@angular/core';\r\nimport { PolicyService } from 'src/app/core/services/policy.service';\r\n\r\n@Component({\r\n selector: 'ggp-footer',\r\n templateUrl: 'footer.component.html'\r\n})\r\nexport class FooterComponent {\r\n constructor(public policyService: PolicyService) { }\r\n}","export default \"
\\r\\n
\\r\\n
\\r\\n \\r\\n

Νέα αίτηση αποζημίωσης

\\r\\n

Aίτηση αποζημίωσης

\\r\\n
\\r\\n
Επιλέξτε τον Ασφαλισμένο που αφορά η\\r\\n αποζημίωση
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{member.fullName}}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
Έναρξη
\\r\\n
{{selectedPolicyMember.insuredDate | date | nullOrEmpty}}
\\r\\n
\\r\\n
\\r\\n
Λήξη
\\r\\n
{{selectedPolicyMember.insuredEndDate | date | nullOrEmpty}}
\\r\\n
\\r\\n
\\r\\n
ΑΦΜ
\\r\\n
{{selectedPolicyMember.afm | nullOrEmpty}}
\\r\\n
\\r\\n
\\r\\n
Αρ. Μητρώου
\\r\\n
{{selectedPolicyMember.code | nullOrEmpty}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
Στοιχεία συμβάντος
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{claim.valueDescription}}\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n {{ condition.description }}\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n {{ condition }}\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
Έντυπα
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Υποδείγματα έντυπων:\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
Ανεβάστε εδώ τα απαραίτητα έντυπα για το συμβάν που επιλέξατε:
\\r\\n
\\r\\n\\r\\n \\r\\n
*Συνολικό μέγεθος επισυναπτόμενων <5ΜΒ\\r\\n (jpg,jpeg,png,pdf)
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n {{uploadError}}\\r\\n
\\r\\n
\\r\\n \\r\\n
    \\r\\n
  • \\r\\n
    \\r\\n {{ item?.file?.name }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
  • \\r\\n
    \\r\\n
    ΠΡΟΣΟΧΗ ! Ο τρόπος υποβολής\\r\\n των δικαιολογητικών έχει αλλάξει.\\r\\n
    \\r\\n Για κάθε αίτημα θα πρέπει να υποβάλλετε διαφορετικό (e-claim). Επίσης όλα τα επισυναπτόμενα\\r\\n παραστατικά πρέπει να είναι σκαναρισμένα σε ένα αρχείο (π.χ. απόδειξη ιατρού & γνωμάτευση μαζί)\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    Δεν έχετε επισυνάψει κάποιο αρχείο ακόμα
    \\r\\n
    \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
Επιλέξτε :
\\r\\n -Στοιχεία συμβάντος (Ασθένεια ή Ατύχημα)
\\r\\n -Κατηγορία συμβάντος (π.χ. Ιατρός)
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Ολοκλήρωση Επεξεργασίας\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n

Η αίτησή σας καταχωρήθηκε με επιτυχία.

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

Ο αριθμός καταχώρησης είναι #{{entity?.referenceId || entity?.code}}

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

Παραλάβαμε τα δικαιολογητικά της αποζημίωσης και προωθούνται προς έλεγχο

\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\";","export default \"
\\r\\n
\\r\\n
ΠΡΟΕΛΕΥΣΗ ΕΙΣΦΟΡΩΝ + ΕΝΕΡΓΗΤΙΚΟ
\\r\\n \\r\\n \\r\\n
{{model.name}}
\\r\\n
{{model.value | currency:'EUR'}}
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
ΚΑΤΑΝΟΜΗ ΕΠΕΝΔΥΣΕΩΝ
\\r\\n \\r\\n \\r\\n
{{model.name}}
\\r\\n
{{model.value }} %
\\r\\n
\\r\\n \\r\\n
\\r\\n
\";","import { Directive, ElementRef, HostListener, Input } from '@angular/core';\r\nimport { NgControl } from '@angular/forms';\r\n\r\n@Directive({\r\n selector: '[numbersOnly]'\r\n})\r\nexport class OnlyNumberDirective {\r\n\r\n constructor(private el: ElementRef) { }\r\n\t@HostListener('input', ['$event']) onInputChange(event) {\r\n\t\tconst initalValue = this.el.nativeElement.value;\r\n\t\tthis.el.nativeElement.value = initalValue.replace(/[^0-9]*/g, '');\r\n\t\tif (initalValue !== this.el.nativeElement.value) {\r\n\t\t\tevent.stopPropagation();\r\n\t\t}\r\n\t}\r\n}","import { NgModule } from '@angular/core';\r\nimport { PolicyRoutingModule, RoutableComponents } from './policy-routing.module';\r\nimport { SharedModule } from '../shared/shared.module';\r\nimport { PolicyDocumentsComponent } from '../policy/policy-documents/policy-documents.component';\r\nimport { PartialMemberCreateDialogComponent } from './partial-member-dialog.component';\r\nimport { PartialBirthDateDialogComponent } from './partial-birthdate-dialog.component.';\r\nimport { PolicySelectorDialogComponent } from 'src/app/policy/policy-selector-dialog.component';\r\nimport { Compliance152DialogComponent } from 'src/app/policy/152-compliance-dialog.component';\r\nimport { DafPolicyComponent } from './daf/daf-policy/daf-policy.component';\r\nimport { ContributionsChartComponent } from './daf/daf-contributions-chart/daf-contributions-chart.component';\r\nimport { DafPolicyDocumentsComponent } from './daf/daf-documents/daf-documents.component';\r\nimport { ColumnsChartComponent } from './daf/daf-investments-charts/daf-investments-charts.component';\r\nimport { DafPolicyOverviewComponent } from './daf/daf-policy-overview/daf-policy-overview.component';\r\nimport { DafMemberInfoComponent } from './daf/daf-member-info/daf-member-info.component';\r\nimport { MemberInvestmentDetailsComponent } from './daf/daf-member-investment-details/daf-member-investment-details.component';\r\nimport { DafMemberProfileComponent } from './daf/daf-member-profile/daf-member-profile.component';\r\nimport { NgxChartsModule } from '@swimlane/ngx-charts';\r\nimport { MemberPolicyDetailsComponent } from './daf/daf-member-policy-details/daf-member-policy-details.component';\r\nimport { DafPolicyDetailsComponent } from './daf/daf-policy-details/daf-policy-details.component';\r\nimport { DafManageMembersComponent } from './daf/daf-manage-members/daf-manage-members.component';\r\nimport { PripsTable } from './daf/daf-mutual-prips/daf-mutual-prips.component';\r\nimport { DafQuestionnaireComponent } from './daf/daf-questionnaire/daf-questionnaire.component';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\nimport { DafBuyOutComponent } from './daf/daf-buy-out/daf-buy-out.component';\r\nimport { DafInitialInvestmentComponent } from './daf/daf-initial-investment/daf-initial-investment.component';\r\nimport { DafSwitchComponent } from './daf/daf-switch/daf-switch.component';\r\nimport { DafFutureReturnsCalculationComponent } from './daf/daf-future-returns-calculation/daf-future-returns-calculation.component';\r\nimport { DafInvitationReviewComponent } from './daf/daf-invitation-review/daf-invitation-review.component';\r\nimport { FlexLayoutModule } from '@angular/flex-layout';\r\nimport { DafSwitchConfirmationDialogComponent } from './daf/daf-switch/confirmation-dialog/daf-switch-confirmation-dialog.component'\r\n\r\n\r\n@NgModule({\r\n imports: [PolicyRoutingModule, SharedModule, NgxChartsModule, ReactiveFormsModule, FlexLayoutModule],\r\n declarations: [RoutableComponents, PartialMemberCreateDialogComponent, PolicySelectorDialogComponent, Compliance152DialogComponent, PartialBirthDateDialogComponent, DafPolicyComponent, ContributionsChartComponent, DafPolicyDocumentsComponent, ColumnsChartComponent, DafPolicyOverviewComponent, DafMemberInfoComponent, MemberInvestmentDetailsComponent, DafMemberProfileComponent, MemberPolicyDetailsComponent, DafPolicyDetailsComponent, DafManageMembersComponent, DafQuestionnaireComponent, DafBuyOutComponent,PripsTable, DafInitialInvestmentComponent, DafSwitchComponent, DafFutureReturnsCalculationComponent, DafInvitationReviewComponent,PolicyDocumentsComponent, DafSwitchConfirmationDialogComponent],\r\n entryComponents: [PartialMemberCreateDialogComponent, PolicySelectorDialogComponent, Compliance152DialogComponent, PartialBirthDateDialogComponent],\r\n exports: [PolicyRoutingModule]\r\n})\r\nexport class PolicyModule { }\r\n","import { ResultSetOfPolicy as DafPolicies } from './core/services/daf-api.service';\r\nimport {Component} from '@angular/core';\r\nimport {ActivatedRoute} from '@angular/router';\r\nimport { IPolicy, AppPolicyType } from './app-models';\r\nimport {PolicyService} from './core/services/policy.service';\r\nimport {DateTimeExtensions} from 'src/app/core/extensions/date-time-extensions';\r\nimport {NotificationService} from 'src/app/core/services';\r\nimport {WebApi, User, AuthService} from 'src/app/core/services';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { concat } from 'lodash';\r\n\r\n@Component({\r\n template: `\r\n `\r\n})\r\nexport class AppRoutingSelectorComponent {\r\n constructor(private webApi: WebApi, public authService: AuthService, public user: User, private route: ActivatedRoute, private policyService: PolicyService, private dialog: MatDialog, protected notificationService: NotificationService) {\r\n const groupPolicies: IPolicy[] = route.snapshot.data['contracts'] && route.snapshot.data['contracts']['items'] || [];\r\n const dafPolicies: DafPolicies = route.snapshot.data['dafContracts'] && route.snapshot.data['dafContracts'] || { count: 0, items: []};\r\n\r\n const dtex = new DateTimeExtensions();\r\n const policies = concat(\r\n groupPolicies.map(item => {\r\n item.appPolicyType = AppPolicyType.GroupPolicy;\r\n const from = dtex.parseDateIfString(item.dateFrom);\r\n const to = dtex.parseDateIfString(item.dateTo);\r\n item.dateFrom = from;\r\n item.dateTo = to;\r\n return item; }),\r\n dafPolicies.items.map(item => {\r\n return {\r\n description: item.description || `ΕΠΕΝΔΥΤΙΚΟ ΣΥΜΒΟΛΑΙΟ ${item.policyIdentifier}`,\r\n appPolicyType: AppPolicyType.DafPolicy,\r\n id: item.policyIdentifier,\r\n policyNumber: item.policyIdentifier,\r\n name: item.policyIdentifier,\r\n dateFrom: item.startDate,\r\n onlyGuaranteedPrincipal: item.onlyGuaranteedPrincipal,\r\n dateTo: undefined,\r\n company: { name: `ΕΠΕΝΔΥΤΙΚΟ ΣΥΜΒΟΛΑΙΟ ${item.policyIdentifier}` },\r\n vatNumber: item.vatNumber, \r\n membershipStatus: {\r\n isInsured: item.membershipStatus.isInsured,\r\n accessLevel: item.membershipStatus.role,\r\n policyMemberId: item.membershipStatus.isInsured ? item.membershipStatus.insuredId.toString() : null\r\n }\r\n };\r\n })\r\n );\r\n\r\n\r\n // TODO : WTF !?\r\n if (policies.length === 0) {\r\n policyService.goToNoPolicies();\r\n return; //<--DONT DELETE\r\n }\r\n\r\n if (!policyService.hasPolicies()) {\r\n let policyId = '';\r\n const policyURL = (route.snapshot.queryParams['requestUrl']);\r\n if (!!policyURL && (policyURL.includes('/policy/') || policyURL.includes('/daf-policy/'))) {\r\n const policyAR = policyURL.split('/');\r\n if (policyAR[1] === 'policy' || policyAR[1] === 'daf-policy') {\r\n policyId = policyAR[2];\r\n }\r\n }\r\n policyService.setPolicies(policies, policyId);\r\n policyService.goToSelectedPolicy();\r\n }\r\n\r\n if (!!route.snapshot.queryParams['requestUrl']) {\r\n policyService.goToPolicyRequestURL(`${route.snapshot.queryParams['requestUrl']}`);\r\n return; //<--DONT DELETE\r\n }\r\n \r\n if(this.route.children.length === 0){\r\n policyService.goToSelectedPolicy();\r\n }\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'truncate'\r\n})\r\nexport class TruncatePipe implements PipeTransform {\r\n\r\n transform(value: any, limit: number = 10, trail: string = '...'): string {\r\n if (value == null) {\r\n return '';\r\n }\r\n return value.length > limit ? value.substring(0, limit) + trail : value;\r\n }\r\n\r\n}","export default \"
\\r\\n
\\r\\n

Προσυμβατική ενημέρωση

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

\\r\\n \\r\\n Πριν την είσοδο σας στο GROUPAMA DAF PORTAL παρακαλούμε να διαβάσετε προσεκτικά το\\r\\n Ενημερωτικό έντυπο πληροφοριών του Άρθρου 152 του N. 4364/2016 και του άρθρου 4θ Ν.2251/1994.\\r\\n Παρακαλούμε επίσης να συμβουλευτείτε τα έγγραφα βασικών πληροφοριών του συμβολαίου (PRIIP KID), \\r\\n τους όρους χρήσης του daf portal και το Ενημερωτικό κείμενο σχετικά με την επεξεργασία δεδομένων προσωπικού χαρακτήρα.\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Έχω λάβει γνώση του Ενημερωτικού εντύπου πληροφοριών του Άρθρου 152 Ν. 4364/2016 και του Άρθρου 4θ Ν.2251/1994, των εγγράφων βασικών πληροφοριών του συμβολαίου και του Ενημερωτικού κειμένου σχετικά με την επεξεργασία δεδομένων προσωπικού χαρακτήρα και αποδέχομαι τους όρους χρήσης του daf portal. \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\";","import { Injectable } from '@angular/core';\r\n//import { Observable } from 'rxjs/observable';\r\n//import { BehaviorSubject, Subject } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class UserService {\r\n public isLoggedIn: boolean;\r\n public id: string;\r\n public userName: string;\r\n public firstName: string;\r\n public fullName: string;\r\n public lastName: string;\r\n public email: string;\r\n public role: string;\r\n public isAdmin: boolean;\r\n //public birthDate: Date;\r\n //public isLoggedInSubject: Subject;\r\n\r\n constructor() {\r\n //this.isLoggedInSubject = new BehaviorSubject(this.isLoggedIn);\r\n }\r\n}\r\n","export default \"
\\r\\n

Εξαρτώμενα μελη

\\r\\n \\r\\n \\r\\n \\r\\n {{ row?.firstName }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{ row?.lastName }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{ (row?.sexType || row?.sex) | translateEnum | nullOrEmpty }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{ row?.referenceNumber | nullOrEmpty }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{ row?.birthDate | date }}\\r\\n \\r\\n \\r\\n \\r\\n {{ row?.insuredDate | date | nullOrEmpty }}\\r\\n \\r\\n \\r\\n \\r\\n {{ row?.relationshipType | translateEnum | nullOrEmpty }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{ row?.afm | nullOrEmpty }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{ row?.amka | nullOrEmpty }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\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 { ProvisionApprovalType, Contribution } from './../../../core/services/daf-api.service';\r\nimport { Component, OnInit, ViewChild, TemplateRef } from '@angular/core';\r\nimport { PolicyService, DafApiClient, NotificationService } from 'src/app/core/services';\r\nimport { ProvisionStatusType, ProvisionApplicationStatusChangeRequest } from 'src/app/core/services/daf-api.service';\r\nimport { TableConfigExtended, TabbedListsComponent } from '../tabbed-lists.component';\r\nimport { map } from 'rxjs/operators';\r\nimport { Router } from '@angular/router';\r\nimport {saveAs} from 'file-saver';\r\nimport { UserService } from 'src/app/core/services/user.service';\r\n\r\n@Component({\r\n selector: 'app-daf-policy-details',\r\n templateUrl: './daf-policy-details.component.html'\r\n})\r\nexport class DafPolicyDetailsComponent extends TabbedListsComponent {\r\n @ViewChild('members', {static: true}) membersTpl: TemplateRef;\r\n @ViewChild('provisionsWithApproval', {static: true}) provisionsWithApprovalTpl: TemplateRef;\r\n @ViewChild('provisions', {static: true}) provisionsTpl: TemplateRef;\r\n @ViewChild('receipts', {static: true}) receiptsTpl: TemplateRef;\r\n @ViewChild('membersTable') membersTable: any;\r\n @ViewChild('provisionsTable') provisionsTable: any;\r\n isViewOnlyAdmin: boolean;\r\n public contributions: Contribution[];\r\n public valuationSum = 0;\r\n itsMe: boolean;\r\n viewHrId : string = 'c58e7519-6249-475a-b1a0-5026805583a0';\r\n constructor(public policyService: PolicyService, private dafApiClient: DafApiClient, private router: Router, private notificationService: NotificationService, private userService: UserService) {\r\n super(policyService);\r\n this.isViewOnlyAdmin = this.policyService.selectedPolicy.membershipStatus.accessLevel === 'Backoffice';\r\n\r\n this.dafApiClient.getPolicy(this.policyService.selectedPolicy.id).subscribe(response => {\r\n this.contributions = response.summary.contributionSummary.contributions;\r\n this.valuationSum = response.summary.valuationSummary;\r\n });\r\n \r\n }\r\n\r\n protected initLists(): TableConfigExtended[] {\r\n return [\r\n new TableConfigExtended(0, 'Ασφαλισμένοι', this.membersTpl, { enabled: true, text: 'αναζήτηση με αριθμό μητρώου' },\r\n (list, policyId, memberId) => {\r\n return this.dafApiClient.getInsuredList(policyId, list.pageIndex + 1, list.size, list.sort, list.search)\r\n .pipe(map(response => {\r\n console.log('members data', response);\r\n return { data: response.items, itemsCount: response.count };\r\n }));\r\n }),\r\n\r\n new TableConfigExtended(1, 'Αιτούμενες Παροχές', this.provisionsWithApprovalTpl, { enabled: true, text: 'αναζήτηση με αριθμό μητρώου' },\r\n (list, policyId, memberId) => {\r\n return this.dafApiClient.getProvisionApplications(policyId, ProvisionStatusType.Applied, list.pageIndex + 1, list.size, list.sort, list.search)\r\n .pipe(map(response => {\r\n return { data: response.items, itemsCount: response.count };\r\n }));\r\n }),\r\n\r\n new TableConfigExtended(2, 'Εκκρεμείς Παροχές', this.provisionsTpl, { enabled: true, text: 'αναζήτηση γενικά και αόριστα' },\r\n (list, policyId, memberId) => {\r\n return this.dafApiClient.getProvisionApplications(policyId, ProvisionStatusType.Approved, list.pageIndex + 1, list.size, list.sort, list.search)\r\n .pipe(map(response => {\r\n return { data: response.items, itemsCount: response.count };\r\n }));\r\n }),\r\n\r\n new TableConfigExtended(3, 'Πληρωθείσες Παροχές', this.provisionsTpl, { enabled: true, text: 'αναζήτηση γενικά και αόριστα' },\r\n (list, policyId, memberId) => {\r\n return this.dafApiClient.getProvisions(policyId, list.pageIndex + 1, list.size, list.sort, list.search)\r\n .pipe(map(response => {\r\n console.log('Πληρωθείσες Παροχές', response);\r\n return { data: response.items, itemsCount: response.count };\r\n }));\r\n }),\r\n\r\n new TableConfigExtended(4, 'Ιστορικό Αποδείξεων', this.receiptsTpl, { enabled: true, text: 'αναζήτηση ' },\r\n (list, policyId, memberId) => {\r\n return this.dafApiClient.getReceipts(policyId, list.pageIndex + 1, list.size, list.sort, list.search)\r\n .pipe(map(response => {\r\n return { data: response.items, itemsCount: response.count };\r\n }));\r\n })\r\n ];\r\n }\r\n\r\n toggleMemberDetails(row, expanded) {\r\n if (!expanded) {\r\n this.loadPersonalInvestmentSummary(row);\r\n }\r\n this.membersTable.rowDetail.toggleExpandRow(row);\r\n }\r\n\r\n toggleProvisionActions(row) {\r\n if(!row.statusChangeRequest) {\r\n row.statusChangeRequest = new ProvisionApplicationStatusChangeRequest();\r\n //i'm in a positive mood... (trying to get out of the validation hasle)\r\n row.statusChangeRequest.approvalType = ProvisionApprovalType.Approve;\r\n }\r\n this.provisionsTable.rowDetail.toggleExpandRow(row);\r\n }\r\n\r\n loadPersonalInvestmentSummary(row) {\r\n if(!row.personalInvestmentSummary) {\r\n row.busy = true;\r\n this.dafApiClient.getInsured(this.policyService.selectedPolicy.id, row.id, false)\r\n .subscribe(response => {\r\n row.personalInvestmentSummary = response.personalInvestmentSummary;\r\n row.busy = false;\r\n }, error => {\r\n row.error = error;\r\n row.busy = false;\r\n });\r\n }\r\n }\r\n\r\n gotoMemberDetails(row) {\r\n this.itsMe = (this.policyService.selectedPolicy.membershipStatus.policyMemberId === row.id.toString() || this.userService.id === this.viewHrId) ;\r\n if ( this.itsMe )\r\n this.policyService.navigate([`/daf-policy/${this.policyService.selectedPolicy.id}/members/${row.id}`]);\r\n }\r\n\r\n updateRequestStatus(row) {\r\n row.busy = true;\r\n console.log(row.statusChangeRequest);\r\n this.dafApiClient.updateProvisionApplicationStatus(this.policyService.selectedPolicy.id, row.id, row.statusChangeRequest)\r\n .subscribe(response => {\r\n //close the expanded panel (the row will soon disappear - hopefully - move to another tab that is)\r\n this.toggleProvisionActions(row);\r\n //notify user\r\n this.notificationService.success('H ενημέρωση της αίτησης εγινε επιτυχώς!');\r\n //i should NOT assume it's the current list - it's an async operation and we DO allow the user to select another tab.\r\n this.refreshList(1);\r\n //perhaps we'll need to refresh another tab e.g. the pending for completion requests list... !\r\n //this.refreshList(2);\r\n //signal not busy anymore!\r\n row.busy = false;\r\n }, error => {\r\n console.log(error);\r\n this.notificationService.error('Σφάλμα κατα την ενημέρωση της αίτησης, παρακαλώ δοκιμάστε αργότερα ή ενημερώστε τον διαχειριστή του συστήματος!');\r\n row.busy = false;\r\n });\r\n }\r\n\r\n \r\n public downloadReceipt(row) {\r\n this.dafApiClient.getReceipt(this.policyService.selectedPolicy.id, row.id).subscribe(\r\n (response) => {\r\n const blob = response.data;\r\n saveAs(blob, response.fileName);\r\n }, (error) => {\r\n this.notificationService.error('Σφάλμα', 'Κάτι πήγε στραβά');\r\n });\r\n } \r\n\r\n}\r\n","export default \"
\\r\\n
\\r\\n

Σύνολο Αποτίμησης: {{ valuationSum | currency:'EUR' }}

\\r\\n
\\r\\n\\r\\n
0\\\" class=\\\"grid marg-top-30\\\">\\r\\n \\r\\n \\r\\n {{ row?.type | translateEnum | nullOrEmpty }}\\r\\n \\r\\n \\r\\n {{ row?.sumAmount | currency:'EUR' }}\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n

Πληροφορίες Μελών

\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n {{list.totalElements}}\\r\\n αποτελέσματα\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{ option.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
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n {{row.surname + ' ' + row.name | initials}} \\r\\n {{ row?.surname }} {{ row?.name }}\\r\\n \\r\\n \\r\\n \\r\\n {{ row?.vatNumber }}\\r\\n \\r\\n \\r\\n {{ row?.registryNumber }}\\r\\n \\r\\n \\r\\n {{ row?.birthDate | date | nullOrEmpty }}\\r\\n \\r\\n \\r\\n {{ row?.salary | currency:'EUR' }}\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n {{inv.contributionType | translateEnum | nullOrEmpty}}\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Παρακαλώ επιλέξτε την κατάσταση του αιτήματος
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n thumb_up_alt Έγκριση\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n thumb_down_alt Απόρριψη\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{row.insuredName+' '+row.insuredSurname | initials}} \\r\\n {{ row?.insuredSurname | nullOrEmpty }} {{ row?.insuredName | nullOrEmpty }}\\r\\n \\r\\n \\r\\n {{ row?.insuredId | nullOrEmpty }}\\r\\n \\r\\n \\r\\n {{ row?.applicationDate | date | nullOrEmpty }}\\r\\n \\r\\n \\r\\n {{ row?.paymentType | translateEnum | nullOrEmpty }}\\r\\n \\r\\n \\r\\n {{ row?.paymentSort | nullOrEmpty | translateEnum }}\\r\\n \\r\\n \\r\\n {{ row?.paymentAmount | currency:'EUR' }}\\r\\n \\r\\n \\r\\n {{ row?.paymentDividends | nullOrEmpty }}\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n {{ row?.insuredSurname | nullOrEmpty }} {{ row?.insuredName | nullOrEmpty }}\\r\\n \\r\\n \\r\\n {{ row?.registryNumber | nullOrEmpty }}\\r\\n \\r\\n \\r\\n {{ row?.paymentDate | date | nullOrEmpty }}\\r\\n \\r\\n \\r\\n {{ (row?.redemptionGrossAmount | currency:'EUR') | nullOrEmpty }}\\r\\n \\r\\n \\r\\n {{ (row?.taxAmount | currency:'EUR') | nullOrEmpty }}\\r\\n \\r\\n \\r\\n {{ (row?.warrantyContribution | currency:'EUR') | nullOrEmpty }}\\r\\n \\r\\n \\r\\n {{ (row?.netAmount | currency:'EUR') | nullOrEmpty }}\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n {{ row?.id | nullOrEmpty }}\\r\\n \\r\\n \\r\\n {{ row?.issueDate | date | nullOrEmpty }}\\r\\n \\r\\n \\r\\n {{ row?.paymentDate | date | nullOrEmpty }}\\r\\n \\r\\n \\r\\n {{ row?.grossAmount | currency:'EUR' }}\\r\\n \\r\\n \\r\\n {{ row?.isPaid ? \\\"Ναι\\\" : \\\"\\\" | nullOrEmpty }}\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\";","export default \"
\\r\\n
\\r\\n

{{title}}

\\r\\n

{{info}}

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\";","export default \"
\\r\\n
\\r\\n \\r\\n
\\r\\n

{{ data.message }}

\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\";","import { Component, Inject } from '@angular/core';\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\r\nimport { PolicyService } from 'src/app/core/services';\r\nimport { IInsuredMember } from 'src/app/app-models';\r\nimport { formatDate } from '@angular/common';\r\nimport { Observable, forkJoin, } from 'rxjs';\r\n\r\n\r\n\r\n@Component({\r\n selector: 'policy-mgmt-delete-dialog.compoment',\r\n templateUrl: 'policy-mgmt-delete-dialog.component.html',\r\n})\r\nexport class DeleteMemberDialogComponent {\r\n\r\n minDate = new Date(new Date().getFullYear(), new Date().getMonth() - 1, 1);\r\n validFromDate = new Date();\r\n haveProctecedMembers = false;\r\n userAnswer = false;\r\n \r\n constructor(\r\n private dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public member: IInsuredMember,\r\n private policyService: PolicyService,\r\n ) {\r\n this.haveProctecedMembers = this.member.protectedMembersCount > 0;\r\n }\r\n \r\n public delete(): void {\r\n\r\n if(!this.userAnswer )\r\n {\r\n this.userAnswer = true;\r\n return;\r\n }\r\n const validFromDate = new Date(formatDate(this.validFromDate, 'yyyy-MM-dd', 'el-GR'));\r\n\r\n let deleteObservable: Observable;\r\n deleteObservable = this.policyService.deleteMember(this.member.id, validFromDate);\r\n\r\n deleteObservable.subscribe(() => {\r\n this.close(true);\r\n }, (error) => {\r\n this.close(false);\r\n });\r\n }\r\n \r\n goToEdit():void{\r\n this.close(false)\r\n this.policyService.shouldScroll = true;\r\n this.policyService.target = 'members-file-section';\r\n this.policyService.goToMemberDetails(this.member.id);\r\n }\r\n \r\n public close(value:boolean): void {\r\n this.dialogRef.close(value);\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { Observable } from 'rxjs';\r\nimport { map, take } from 'rxjs/operators';\r\nimport { ConfirmationDialogComponent } from './confirmation-dialog.component';\r\n@Injectable()\r\nexport class ConfirmDialogService {\r\n constructor(private dialog: MatDialog) { }\r\n dialogRef: MatDialogRef;\r\n \r\n public open(options) {\r\n this.dialogRef = this.dialog.open(ConfirmationDialogComponent, { \r\n data: {\r\n title: options.title,\r\n message: options.message,\r\n cancelText: options.cancelText,\r\n confirmText: options.confirmText,\r\n \r\n \r\n },\r\n disableClose: options.disableClose ? options.disableClose : false\r\n });\r\n }\r\n public confirmed(): Observable {\r\n \r\n return this.dialogRef.afterClosed().pipe(take(1), map(res => {\r\n return res;\r\n }\r\n ));\r\n }\r\n}","export default \"
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\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, ViewEncapsulation } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { PolicyService } from '../core/services/policy.service';\r\nimport { ClaimRequestBaseComponent } from './claim-request-base.component';\r\nimport { WebApi, NotificationService } from 'src/app/core/services';\r\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\r\nimport { ConfirmDialogService } from '../shared/components/confirmation-dialog/confirm-dialog.service';\r\nimport { RequireConsentDialogComponentForPrimaryByOwner } from './require-consent-dialog-for-primary-by-ownerWithClaimRights.component';\r\nimport { take } from 'rxjs/internal/operators/take';\r\nimport { ConfirmationDialogComponent } from '../shared/components/confirmation-dialog/confirmation-dialog.component';\r\n\r\n@Component({\r\n templateUrl: 'claim-request-create.component.html',\r\n styleUrls: ['claim-request-component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n \r\n})\r\n\r\n\r\nexport class ClaimRequestCreateComponent extends ClaimRequestBaseComponent {\r\n\r\n gdpr: boolean;\r\n constructor(protected route: ActivatedRoute, private router: Router, protected webApi: WebApi, protected notificationService: NotificationService, protected policyService: PolicyService, protected dialog: MatDialog, protected dialogConsent: ConfirmDialogService) {\r\n super(route, webApi, notificationService, policyService, dialog, dialogConsent);\r\n this.uploaderOptions.autoUpload = true;\r\n this.uploader.options.autoUpload = true;\r\n if ((this.policyMembers || []).length > 0) {\r\n this.selectedPolicyMember = this.policyMembers[0];\r\n }\r\n\r\n if (this.selectedPolicyMember.isPrimary && !this.isOwnerWithClaimRights && !this.selectedPolicyMember.allowSensitiveDataViewing && this.itsMe) {\r\n this.OpenConsentDialogForPrimary(this.selectedPolicyMember, 'false')\r\n }\r\n if (this.selectedPolicyMember.isPrimary && this.isOwnerWithClaimRights && !this.selectedPolicyMember.allowSensitiveDataViewing && !this.itsMe) {\r\n this.OpenConsentDialogForPrimary(this.selectedPolicyMember, 'true')\r\n }\r\n if (this.selectedPolicyMember.isPrimary && !this.isOwnerWithClaimRights && !this.selectedPolicyMember.allowSensitiveDataViewing && !this.itsMe) {\r\n this.notificationService.warn('Δεν έχει δωθεί συγκατάθεση προσωπικών δεδομένων υγείας', ' Συγκατάθεση προσωπικών δεδομένων υγείας');\r\n this.policyService.goToSelectedPolicy();\r\n }\r\n }\r\n\r\n \r\n\r\n public goToStep2() {\r\n if(!this.entity.damageType || !this.entity.claimKind){\r\n this.showWarning = true;\r\n return;\r\n }\r\n this.showWarning = false;\r\n const isAlreadyCreated = !this.entity.id;\r\n if (isAlreadyCreated) {\r\n this.webApi.post(`${this.entity.policyId}/claim-requests`, this.entity, false, true).subscribe(\r\n (success) => {\r\n this.entity = success;\r\n this.initializeInitEntityValues();\r\n const settings = this.webApi.getUploadSettingsForNg2Upload(`${this.policyService.selectedPolicyId}/claim-requests/${this.entity.id}/attachments`);\r\n this.uploaderOptions = Object.assign(this.uploaderOptions, settings, this.uploaderOptions);\r\n this.uploader.setOptions(this.uploaderOptions);\r\n this.uploader.onWhenAddingFileFailed = (item, filter, options) => {\r\n // Check if the failure is due to file type restriction\r\n if (!this.uploaderOptions.allowedFileType.includes(item.type)) {\r\n // Set the error message\r\n this.uploadError = 'Μη έγκυρος τύπος αρχείου. Επιτρέπονται μόνο αρχεία jpg, jpeg, png, pdf.';\r\n }\r\n if (item.size > this.uploaderOptions.maxFileSize) {\r\n this.uploadError = 'Το αρχείο υπερβαίνει το μέγιστο όριο μεγέθους των 5 MB.';\r\n return false; // This will prevent the file from being added to the queue\r\n }\r\n }\r\n },\r\n (error) => this.notificationService.parseAndPopError(error),\r\n () => {\r\n this.step1 = false;\r\n this.step2 = true;\r\n }\r\n );\r\n } else {\r\n //checks if the values does not changes and skip the put request and does not delete the files \r\n if(this.entity.damageType == this.initEntityValues.damageType && this.entity.claimKind == this.initEntityValues.claimKind){\r\n this.step1 = false;\r\n this.step2 = true;\r\n return;\r\n }\r\n if (this.uploader.queue?.length) {\r\n this.dialog\r\n .open(ConfirmationDialogComponent, {\r\n data: {\r\n cancelText: \"Ακύρωση\",\r\n confirmText: \"ΟΚ\",\r\n message: \"Η αλλαγή κατηγορίας θα αφαιρέσει ό,τι έντυπα έχετε επισυνάψει\",\r\n title: \"Ενημέρωση\"\r\n }\r\n })\r\n .afterClosed()\r\n .subscribe((result: boolean) => {\r\n if (result) {\r\n this.uploader.queue.forEach((file) => this.removeAttachment(file));\r\n\r\n this.updateClaimRequest();\r\n }\r\n });\r\n } else {\r\n this.updateClaimRequest();\r\n }\r\n\r\n }\r\n }\r\n\r\n\r\n}\r\n@Component({ template: `` })\r\nexport class ClaimRequestReCreateComponent {\r\n constructor(private route: ActivatedRoute, private policyService: PolicyService) {\r\n const memberId = route.snapshot.params['memberId'];\r\n policyService.goToClaimRequestCreate(memberId);\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {\r\n IPolicyDocument,\r\n IPolicy,\r\n DocumentType,\r\n IPolicyCategory,\r\n Policy,\r\n ICompany,\r\n IInsuredMember,\r\n IChartCategory, ClaimStatusType, AppPolicyType, IDafInsuredMember, ScrollModel\r\n} from '../../app-models';\r\nimport {IDictionary, IResultSet, ITableConfig, TableConfig} from '../core-models';\r\nimport {saveAs} from 'file-saver';\r\nimport {catchError, groupBy, mergeMap, tap, toArray} from 'rxjs/operators';\r\nimport {WebApiService} from './web-api.service';\r\nimport {from, Observable, of, throwError} from 'rxjs';\r\nimport {Router, NavigationExtras, ActivatedRoute} from '@angular/router';\r\nimport {NotificationService} from './notification.service';\r\nimport {BehaviorSubject} from 'rxjs/internal/BehaviorSubject';\r\nimport { DafApiClient, DocumentSubType, IPolicyManager, MembershipStatus, PolicyDocumentType, ProvisionStatusType } from './daf-api.service';\r\nimport { MembershipStatusAccessLevel } from 'src/app/app-models-1';\r\nimport pdfMake from \"pdfmake/build/pdfmake\";\r\nimport pdfFonts from \"pdfmake/build/vfs_fonts\";\r\n\r\n\r\n\r\n@Injectable()\r\nexport class PolicyService {\r\n private _policyWatcher = new BehaviorSubject(null);\r\n private _policyIdWatcher = new BehaviorSubject('');\r\n public selectedPolicyId: string;\r\n public selectedPolicy: IPolicy = new Policy();\r\n public policyStatisticsSelections: IChartCategory[] = [{\r\n code: 'ALL',\r\n title: 'Ολες οι καλυψεις',\r\n years: [new Date().getFullYear().toString()]\r\n }];\r\n public selectedPolicyDocuments: PolicyDocumentHelper;\r\n public selectedMember: IInsuredMember = {};\r\n\r\n public isMember: boolean;\r\n public policyMemberId: string;\r\n public isOwner: boolean;\r\n public isOwnerWithClaimRights: boolean;\r\n public isViewOnlyAdmin: boolean;\r\n public isSysAdmin: boolean;\r\n public _policies: IPolicy[] = [];\r\n public listOptions: IDictionary = {\r\n 0: new TableConfig(), //'Ασφαλισμένοι',\r\n 1: new TableConfig(), //'Αιτουμενες Αποζημιώσεις',\r\n 2: new TableConfig(), //'Εκκρεμεις Αποζημιώσεις',\r\n 3: new TableConfig(), //'Αποζημιώσεις',\r\n 4: new TableConfig(), //'Ιστορικο Αποδειξεων',\r\n 5: new TableConfig(), //'Εκκρεμείς μεταβολές'\r\n };\r\n public busy = false;\r\n\r\n private _dafSelectedMember: IDafInsuredMember;\r\n\r\n public get dafSelectedMember(): IDafInsuredMember {\r\n return this._dafSelectedMember;\r\n }\r\n\r\n public set dafSelectedMember(value: IDafInsuredMember) {\r\n //edw tha tou allaxo ta fwta!\r\n value.insuredId = +value.id;\r\n //opote opoios diavasei to public property dafSelectedMember - tha exei timh pleon to insuredId...\r\n this._dafSelectedMember = value;\r\n }\r\n\r\n public PolicyIdWatcher(): Observable {\r\n return this._policyIdWatcher.asObservable();\r\n }\r\n\r\n public PolicyWatcher(): Observable {\r\n return this._policyWatcher.asObservable();\r\n }\r\n\r\n private scrollState: ScrollModel = new ScrollModel();\r\n\r\n public get shouldScroll(): boolean {\r\n return this.scrollState.shouldScroll;\r\n }\r\n\r\n public set shouldScroll(value: boolean) {\r\n this.scrollState.shouldScroll = value;\r\n }\r\n\r\n public get target(): string {\r\n return this.scrollState.target;\r\n }\r\n\r\n public set target(value: string) {\r\n this.scrollState.target = value;\r\n }\r\n\r\n constructor(private router: Router, private route: ActivatedRoute, private webApi: WebApiService, private dafApiClient: DafApiClient, private notificationService: NotificationService) {\r\n this._policyWatcher = new BehaviorSubject(this.selectedPolicy);\r\n this.listOptions[0].sort = 'lastName';\r\n this.listOptions[2].filter['status'] = [ClaimStatusType.Submitted, ClaimStatusType.Draft,/* ClaimStatusType.Pending,ClaimStatusType.ReviewIncomplete,ClaimStatusType.ProcessIncomplete*/];\r\n this.listOptions[3].filter['status'] = [ClaimStatusType.Reviewing, ClaimStatusType.Rejected,];\r\n this.dafSelectedMember = this.route.snapshot.data['member'] || {};\r\n }\r\n\r\n public hasPolicies(): boolean {\r\n return this._policies.length > 0;\r\n }\r\n\r\n\r\n // TODO: refactor to support AppPolicyType conditional loading of information\r\n public policyIdChanged(policyId: string): void {\r\n console.log('policy Service policyIdChanged', policyId, this._policies);\r\n if(!policyId || (this.selectedPolicyId === policyId)) {\r\n return;\r\n }\r\n\r\n //this.busy = true;\r\n //COMMON for all policy types!\r\n this.selectedPolicyId = policyId;\r\n this.selectedPolicy = this._policies.filter((pol) => pol.id === policyId)[0];\r\n console.log('policyIdChanged : selectedPolicy', this.selectedPolicy);\r\n this.isMember = this.selectedPolicy.membershipStatus.accessLevel === 'Member';\r\n this.policyMemberId = (this.selectedPolicy.membershipStatus.policyMemberId === undefined || this.selectedPolicy.membershipStatus.policyMemberId === null) ? '0' : this.selectedPolicy.membershipStatus.policyMemberId ;\r\n this.isOwner = this.selectedPolicy.membershipStatus.accessLevel === 'Owner';\r\n this.isOwnerWithClaimRights = this.selectedPolicy.membershipStatus.accessLevel === 'OwnerWithClaimRights';\r\n this.isViewOnlyAdmin = this.selectedPolicy.membershipStatus.accessLevel === 'ViewOnlyAdmin';\r\n\r\n if(this.selectedPolicy.appPolicyType === AppPolicyType.GroupPolicy) {\r\n console.log('selectedPolicy.appPolicyType === AppPolicyType.GroupPolicy');\r\n if (this.selectedPolicy && this.selectedPolicy.statisticsCovers && this.selectedPolicy.statisticsCovers.length > 0) {\r\n this.policyStatisticsSelections = this.selectedPolicy.statisticsCovers;\r\n }\r\n if (!this.isMember) {\r\n this.getPolicyStatisticsCategories(policyId);\r\n this.getPolicyMembers(this.listOptions[0].getListOptions()).subscribe(\r\n (success: IResultSet) => {\r\n this.selectedPolicy.members = success.items;\r\n }\r\n );\r\n this.getPolicyBenefits();\r\n this.getPolicyGeneralDocuments();\r\n }\r\n this.selectedPolicyDocuments = new PolicyDocumentHelper(this.selectedPolicy); // reset the documents to refresh the document list in the component;\r\n } else {\r\n // data calls for DAF POLICIES here!\r\n console.log('selectedPolicy.appPolicyType === AppPolicyType.DafPolicy');\r\n }\r\n\r\n // ok notify all interested parties about the change!\r\n this._policyWatcher.next(this.selectedPolicy);\r\n this._policyIdWatcher.next(policyId);\r\n // signal finished\r\n //this.busy = false;\r\n }\r\n\r\n public setPolicies(policies: IPolicy[], policyId: string): void {\r\n this._policies = policies;\r\n let selectedPolicyId = this._policies[0].id;\r\n if (this._policies.length > 0) {\r\n if (policyId !== '') {\r\n selectedPolicyId = policyId;\r\n }\r\n this.policyIdChanged(selectedPolicyId);\r\n }\r\n }\r\n\r\n public getPolicyBenefits(policyId?: string): void {\r\n this.webApi.getList(`${policyId || this.selectedPolicyId}/benefits`, {}).subscribe(\r\n (success) => this.selectedPolicy.benefits = success['items'],\r\n (error) => this.notificationService.parseAndPopError(error)\r\n );\r\n }\r\n\r\n public getPolicyStatisticsCategories(policyId: string): void {\r\n // if(this.selectedPolicy.id === policyId && this.selectedPolicy.appPolicyType === AppPolicyType.GroupPolicy) {\r\n this.webApi.getList(`${policyId}/statistics-categories`).subscribe(\r\n (success: IResultSet) => {\r\n if (success && success.items.length > 0) {\r\n this.selectedPolicy.statisticsCovers = success.items;\r\n this.policyStatisticsSelections = success.items;\r\n //let v2017 = { categories: success.items, year: '2017' };\r\n //let v2018 = { categories: success.items, year: '2018' };\r\n //this.selectedPolicy.statisticsCoversGrp = [v2017, v2018];\r\n }\r\n },\r\n (error) => this.notificationService.parseAndPopError(error)\r\n );\r\n // }\r\n }\r\n\r\n public getPolicyStatistics(policyId: string, category?: any): Observable {\r\n return this.webApi.get(`${policyId}/statistics/${category}`);\r\n }\r\n\r\n public getPolicyMembers(listOptions: ITableConfig): Observable> {\r\n if(this.selectedPolicy && this.selectedPolicy.appPolicyType === AppPolicyType.GroupPolicy) {\r\n return this.webApi.getList(`${this.selectedPolicyId}/members`, listOptions);\r\n } else {\r\n of([]);\r\n }\r\n }\r\n\r\n public countPolicyManagers(policyId: string): Observable {\r\n return this.webApi.get(`${this.selectedPolicyId}/count-admin-members/`);\r\n }\r\n\r\n public getPolicyManagers(listOptions: ITableConfig): Observable> {\r\n if(this.selectedPolicy && this.selectedPolicy.appPolicyType === AppPolicyType.GroupPolicy) {\r\n return this.webApi.getList(`${this.selectedPolicyId}/managers`, listOptions);\r\n } else {\r\n of([]);\r\n }\r\n }\r\n\r\n\r\n public getPolicyGeneralDocuments(policyId?: string): void {\r\n if (this.selectedPolicy.appPolicyType === AppPolicyType.GroupPolicy) {\r\n this.webApi.getList(`${policyId || this.selectedPolicyId}/documents/type/${DocumentType.General}`, {}).subscribe(\r\n (success) => {\r\n this.selectedPolicy.documents = success['items'];\r\n //this.selectedPolicy.documents.forEach((d) => d.category = undefined)\r\n this.selectedPolicy.documents.forEach((d) => !d.category ? d.category = 'Γενικά' : d.category);\r\n this.selectedPolicyDocuments = new PolicyDocumentHelper(this.selectedPolicy);\r\n this.selectedPolicyDocuments.onDocumentCategoryChange(0);\r\n },\r\n (error) => this.notificationService.parseAndPopError(error)\r\n );\r\n } else {\r\n this.dafApiClient.getPolicyDocuments(this.selectedPolicyId, PolicyDocumentType.General, undefined, undefined, undefined, undefined).subscribe(\r\n (response) => {\r\n this.selectedPolicy.documents = response.items.map(item => {\r\n return {\r\n id: item.id,\r\n policyId: item.policyId,\r\n policyMemberId: item.policyMemberId,\r\n type: item.type,\r\n subtype: item.subtype,\r\n title: item.title\r\n };\r\n });\r\n this.selectedPolicyDocuments = new PolicyDocumentHelper(this.selectedPolicy);\r\n },\r\n (error) => {}\r\n );\r\n }\r\n }\r\n\r\n public getPolicyDocumentsByType(type: DocumentType, listOptions: ITableConfig) {\r\n return this.webApi.getList(`${this.selectedPolicyId}/documents/type/${type}`, listOptions);\r\n }\r\n\r\n public getPolicyCertificatesTotalAmount(policyId: string): Observable {\r\n return this.webApi.get(`${policyId}/documents/certificates-amount`);\r\n }\r\n\r\n public getPolicyClaimRequest(policyId: string, listOptions: ITableConfig) {\r\n return this.webApi.getList(`${this.selectedPolicyId}/claim-requests`, listOptions);\r\n }\r\n\r\n public getMemberDocumentsByType(memberId: string, type: DocumentType, listOptions: ITableConfig) {\r\n return this.webApi.getList(`${this.selectedPolicyId}/members/${memberId}/documents/type/${type}`, listOptions);\r\n }\r\n\r\n public getMemberClaimRequest(policyId: string, memberId: string, listOptions: ITableConfig) {\r\n return this.webApi.getList(`${policyId}/members/${memberId}/claim-requests`, listOptions);\r\n }\r\n\r\n \r\n public getMemberClaimRequestByID(policyId: string, memberId: string) {\r\n return this.webApi.get(`${policyId}/members/${memberId}`);\r\n }\r\n\r\n public getMembersHistoryChanges(policyId: string, listOptions: ITableConfig, memberId?: string) {\r\n memberId = memberId ? `/${memberId}/` : '/';\r\n return this.webApi.getList(`${policyId}/members${memberId}history-changes`, listOptions);\r\n }\r\n\r\n\r\n\r\n public deleteMember(id: string,validFromDate?:Date): Observable {\r\n return this.webApi.delete(`${this.selectedPolicyId}/members`, id,validFromDate).pipe(\r\n tap(() => this.notificationService.success('Διαγραφη', 'Το μέλος διαγράφτηκε')),\r\n catchError((error) => {\r\n this.notificationService.parseAndPopError(error);\r\n return throwError(error); // Return the error as an observable\r\n })\r\n );\r\n }\r\n\r\n\r\n\r\n public deleteProtectedMember(memberId: string, protectedId: string, validFromDate: Date): Observable {\r\n return this.webApi.delete(`${this.selectedPolicyId}/members/${memberId}/protected`, protectedId, validFromDate).pipe(\r\n tap(() => this.notificationService.success('Διαγραφη', 'Το προστατευόμενο μέλος διαγράφτηκε')),\r\n catchError((error) => {\r\n this.notificationService.parseAndPopError(error);\r\n return throwError(error); // Return the error as an observable\r\n })\r\n );\r\n }\r\n\r\n\r\n\r\n public deleteClaimRequest(claimRequestId: string): Observable {\r\n return this.webApi.delete(`${this.selectedPolicyId}/claim-requests`, claimRequestId).pipe(\r\n tap(() => this.notificationService.success('Διαγραφη', 'H αίτηση διαγράφηκε επιτυχώς.')),\r\n catchError((error) => {\r\n this.notificationService.parseAndPopError(error);\r\n return throwError(error); // Return the error as an observable\r\n })\r\n );\r\n }\r\n\r\n public printDocument(documentId: string, documentType: string, subType?: string): void {\r\n if (this.selectedPolicy.appPolicyType === AppPolicyType.GroupPolicy) {\r\n let url = `${this.selectedPolicyId}/documents/${documentId}/type/${documentType}`;\r\n if (!!subType) {\r\n url += `?subtype=${encodeURIComponent(subType)}`;\r\n }\r\n \r\n this.webApi.getDownloadFile(url)\r\n .subscribe((response) => {\r\n if (response.status === 200 || response.status === 206) {\r\n const blob = response.data;\r\n saveAs(blob, response.fileName);\r\n }\r\n }, (error) => {\r\n this.notificationService.error(error.message);\r\n });\r\n } else {\r\n this.dafApiClient.downloadDocument(this.selectedPolicyId, +documentId, PolicyDocumentType[documentType], DocumentSubType[subType]).subscribe(\r\n (response) => {\r\n const blob = response.data;\r\n saveAs(blob, response.fileName);\r\n }, (error) => {\r\n this.notificationService.error('Σφάλμα', 'Κάτι πήγε στραβά');\r\n }\r\n );\r\n }\r\n }\r\n\r\n public donwloadClaimRequestAttachment(selectedPolicyId: string, claimRequestId: string, attachmentId: string) {\r\n const url = `${selectedPolicyId}/claim-requests/${claimRequestId}/attachments/${attachmentId}`;\r\n this.webApi.getDownloadFile(url)\r\n .subscribe((response) => {\r\n if (response.status === 200 || response.status === 206) {\r\n const blob = response.data;\r\n saveAs(blob, response.fileName);\r\n }\r\n }, (error) => {\r\n this.notificationService.error(error.message);\r\n });\r\n }\r\n\r\n public inviteMember(memberId: string): void {\r\n this.webApi.post(`${this.selectedPolicyId}/members/${memberId}/invite`, null).subscribe(\r\n (success) => this.notificationService.success('Πρόσκληση χρήστη', 'Η πρόσκληση στάλθηκε με επιτυχία'),\r\n (error) => this.notificationService.parseAndPopError(error)\r\n );\r\n }\r\n\r\n public goToSelectedPolicy(): void {\r\n this.busy = true;\r\n console.log('goToSelectedPolicy', this.selectedPolicy);\r\n if (!this.selectedPolicyId){\r\n this.navigate([`/policy`]);\r\n return;\r\n }\r\n const policyRoute = this.selectedPolicy.appPolicyType === AppPolicyType.GroupPolicy ? `/policy/${this.selectedPolicyId}` :\r\n this.selectedPolicy.membershipStatus.accessLevel !== 'Member' ? `/daf-policy/${this.selectedPolicyId}` :\r\n `/daf-policy/${this.selectedPolicyId}/members/${+this.selectedPolicy.membershipStatus.policyMemberId}`\r\n console.log('goToSelectedPolicy route: ', policyRoute);\r\n this.navigate([policyRoute]);\r\n }\r\n\r\n public goToPolicyManagement(): void {\r\n const view = this.selectedPolicy.appPolicyType === AppPolicyType.GroupPolicy ? 'policy' : 'daf-policy';\r\n const policyRoute = `/${view}/${this.selectedPolicyId}/manage`;\r\n this.navigate([policyRoute]);\r\n }\r\n\r\n public goToClaimRequestCreate(memberId: string): void {\r\n this.navigate([`policy/${this.selectedPolicyId}/members/${memberId}/claim-request/create`]);\r\n }\r\n\r\n public goToClaimRequestReCreate(memberId: string): void {\r\n this.navigate([`policy/${this.selectedPolicyId}/members/${memberId}/claim-request/re-create`]);\r\n }\r\n\r\n public goToClaimRequestEdit(memberId: string, claimRequestId: string): void {\r\n this.navigate([`policy/${this.selectedPolicyId}/members/${memberId}/claim-request/${claimRequestId}/edit`]);\r\n }\r\n\r\n public goToMemberCreate(): void {\r\n this.navigate([`/policy/${this.selectedPolicyId}/members/create`]);\r\n }\r\n\r\n public goToMemberEdit(memberId: string): void {\r\n this.navigate([`/policy/${this.selectedPolicyId}/members/${memberId}/edit`]);\r\n }\r\n\r\n public goToMemberDetails(memberId: string, params?: any): void {\r\n this.router.navigate(\r\n [`/policy/${this.selectedPolicyId}/members/${memberId}`],\r\n { queryParams: params }\r\n );\r\n }\r\n\r\n public goToRoot(): void {\r\n this.navigate([`/`]);\r\n }\r\n\r\n public goToMessagesList(): void {\r\n this.navigate(['/messages']);\r\n }\r\n\r\n public goToPolicyLoader(url: string): void {\r\n this.navigate([`/policy`], {queryParams: {requestUrl: url}});\r\n }\r\n\r\n public goToNoPolicies() {\r\n this.navigate(['/no-policies']);\r\n }\r\n\r\n public goToPolicyRequestURL(requestedUrl: string): void {\r\n if (requestedUrl.indexOf('?') > -1) {\r\n const parts = requestedUrl.split('?');\r\n const route = parts[0];\r\n const params = parts[1].split('&').map((p) => {\r\n const item = {};\r\n const pParts = p.split('=');\r\n item[pParts[0]] = pParts[1];\r\n return item;\r\n }).reduce((pv, cv) => {\r\n if (!pv) {\r\n pv = {};\r\n }\r\n const keys = Object.keys(cv);\r\n pv[keys[0]] = cv[keys[0]];\r\n return pv;\r\n });\r\n\r\n this.navigate([route], {queryParams: params});\r\n } else {\r\n this.navigate([requestedUrl]);\r\n }\r\n }\r\n\r\n public navigate(commands: any[], extras?: NavigationExtras) {\r\n this.busy = true;\r\n this.router.navigate(commands, extras).then( _ => {\r\n this.busy = false;\r\n }, _ => {\r\n this.busy = false;\r\n });\r\n }\r\n\r\n // public downloadXLSX(fullVersion: boolean = false): void {\r\n // this.webApi.getDownloadFile(`${this.selectedPolicyId}/members/export${(fullVersion ? '?exportType=full' : '')}`)\r\n // .subscribe((response) => {\r\n // if (response.status === 200 || response.status === 206) {\r\n // const blob = response.data;\r\n // saveAs(blob, response.fileName);\r\n // }\r\n\r\n // }, (error) => {\r\n // this.notificationService.error(error.message);\r\n // });\r\n // }\r\n\r\n\r\n public downloadXLSX(version: String = ''): void {\r\n let queryStringVersion = '';\r\n switch (version.toLocaleLowerCase()) {\r\n case 'empty':\r\n queryStringVersion = '?exportType=empty';\r\n break;\r\n case 'full':\r\n queryStringVersion = '?exportType=full';\r\n break;\r\n case 'light':\r\n default:\r\n queryStringVersion = '?exportType=light';\r\n break;\r\n }\r\n this.webApi.getDownloadFile(`${this.selectedPolicyId}/members/export${queryStringVersion}`)\r\n .subscribe((response) => {\r\n if (response.status === 200 || response.status === 206) {\r\n const blob = response.data;\r\n saveAs(blob, response.fileName);\r\n }\r\n\r\n }, (error) => {\r\n this.notificationService.error(error.message);\r\n });\r\n }\r\n\r\n public downloadCartaPDF(companyName: string, fullNames: string[], codes: string[]): void {\r\n pdfMake.vfs = pdfFonts.pdfMake.vfs;\r\n fetch('assets/img/me-carte.jpg')\r\n .then(response => response.blob())\r\n .then(blob => {\r\n const reader = new FileReader();\r\n reader.onloadend = () => {\r\n const base64data = reader.result;\r\n // Initialize the document definition with an empty content array\r\n var docDefinition = {\r\n pageSize: 'A4',\r\n content: [],\r\n defaultStyle: {\r\n fontSize: 10,\r\n }\r\n };\r\n \r\n // Function to add a page for each member or protected member\r\n const addPage = (companyName, fullName, code) => {\r\n docDefinition.content.push({\r\n image: base64data,\r\n width: 596,\r\n alignment: 'center',\r\n }, {\r\n text: fullName,\r\n absolutePosition: { x: 103, y: 153 }\r\n }, {\r\n text: companyName,\r\n absolutePosition: { x: 83, y: 630 }\r\n }, {\r\n text: fullName,\r\n absolutePosition: { x: 83, y: 650 }\r\n }, {\r\n text: code,\r\n absolutePosition: { x: 83, y: 680 }\r\n });\r\n \r\n // Add a new page\r\n docDefinition.content.push({ text: '', pageBreak: 'before' });\r\n };\r\n \r\n // Add pages for each member and protected member\r\n fullNames.forEach((fullNames, index) => {\r\n addPage(companyName, fullNames,codes[index]);\r\n });\r\n\r\n // Remove the last page break if it's the end of the document\r\n if (docDefinition.content.length > 0) {\r\n docDefinition.content.pop();\r\n \r\n pdfMake.createPdf(docDefinition).download(`ma-carta.pdf`);\r\n };\r\n };\r\n reader.readAsDataURL(blob);\r\n }).catch(e => {\r\n console.log(e);\r\n return e;\r\n });\r\n }\r\n}\r\n\r\nclass PolicyDocumentHelper {\r\n private documents: IDictionary = {'': []};\r\n public categories: any[] = [];\r\n public selectedCategory = '';\r\n private searchTerm = '';\r\n private filteredDocuments = [];\r\n\r\n constructor(selectedPolicy: IPolicy) {\r\n const source = from((selectedPolicy.documents || []).filter((f) => f.type === DocumentType.General || f.type.toString() === DocumentType[DocumentType.General]))\r\n const example = source.pipe(\r\n groupBy(person => selectedPolicy.appPolicyType === AppPolicyType.GroupPolicy ? person.categoryType : person.subtype),\r\n mergeMap(group => group.pipe(toArray()))\r\n );\r\n const subscribe = example.subscribe(doc => {\r\n if (selectedPolicy.appPolicyType === AppPolicyType.GroupPolicy) {\r\n this.assignGroupPoliciesDocumentCategory(doc);\r\n } else if (selectedPolicy.appPolicyType === AppPolicyType.DafPolicy) {\r\n if(selectedPolicy.membershipStatus.accessLevel !== MembershipStatusAccessLevel.Member){\r\n if(doc[0].subtype !== DocumentSubType.InsuredManual && doc[0].subtype !== DocumentSubType.EducationalMaterial && doc[0].subtype !== DocumentSubType.Booklet)\r\n this.assignDocumentCategory(doc);\r\n } else {\r\n if(doc[0].subtype !== DocumentSubType.Policy && doc[0].subtype !== DocumentSubType.AdditionalAct && doc[0].subtype !== DocumentSubType.ContractorManual){\r\n this.assignDocumentCategory(doc);\r\n }\r\n }\r\n } else {\r\n this.assignDocumentCategory(doc);\r\n }\r\n });\r\n subscribe.unsubscribe();\r\n if (this.categories.length > 0) {\r\n //this.selectedCategory = this.categories[0];\r\n this.onDocumentCategoryChange(0);\r\n }\r\n }\r\n\r\n private assignDocumentCategory(docs: IPolicyDocument[]): void{\r\n this.categories.push(docs[0].subtype);\r\n this.documents[docs[0].subtype] = docs;\r\n }\r\n\r\n\r\n private assignGroupPoliciesDocumentCategory(docs: IPolicyDocument[]): void{\r\n this.categories.push(docs[0].categoryType);\r\n this.documents[docs[0].categoryType] = docs;\r\n }\r\n\r\n public onDocumentCategoryChange(idx: number): void {\r\n this.selectedCategory = this.categories[idx];\r\n this.categories.forEach(element =>\r\n this.filteredDocuments[element] = this.documents[element]\r\n );\r\n //This line bellow searches when changing tabs, remove to not search when changing tabs\r\n const list = this.documents[this.selectedCategory];\r\n const filterdList = (list || []).filter(d => (d.title || '').toLowerCase().includes(this.searchTerm));\r\n this.filteredDocuments[this.selectedCategory] = filterdList;\r\n }\r\n\r\n public searchForDocument(term: string): void {\r\n this.searchTerm = term.toLowerCase();\r\n\r\n if (!this.selectedCategory) {\r\n return;\r\n }\r\n\r\n const list = this.documents[this.selectedCategory];\r\n const filterdList = (list || []).filter(d => (d.title || '').toLowerCase().includes(this.searchTerm));\r\n this.filteredDocuments[this.selectedCategory] = filterdList;\r\n //this.filteredDocuments[this.selectedCategory] = this.documents[this.selectedCategory].filter(d => d.title.toLowerCase().includes(this.searchTerm));\r\n }\r\n}\r\n","import {\r\n Component,\r\n Input,\r\n Output,\r\n EventEmitter,\r\n ViewEncapsulation,\r\n HostListener,\r\n ChangeDetectionStrategy,\r\n ContentChild,\r\n TemplateRef\r\n} from '@angular/core';\r\nimport {trigger, style, animate, transition} from '@angular/animations';\r\nimport {scaleLinear, scalePoint, scaleTime} from 'd3-scale';\r\nimport {curveMonotoneX} from 'd3-shape';\r\nimport { BaseChartComponent, ViewDimensions, ColorHelper, calculateViewDimensions, id } from '@swimlane/ngx-charts';\r\n\r\n@Component({\r\n selector: 'chart',\r\n templateUrl: './chart.component.html',\r\n styleUrls: ['./base-chart.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n animations: [\r\n trigger('animationState', [\r\n transition(':leave', [\r\n style({\r\n opacity: 1,\r\n }),\r\n animate(500, style({\r\n opacity: 0\r\n }))\r\n ])\r\n ])\r\n ]\r\n})\r\nexport class ChartComponent extends BaseChartComponent {\r\n\r\n @Input() legend = true;\r\n @Input() legendTitle = '';\r\n @Input() state;\r\n @Input() xAxis = true;\r\n @Input() yAxis = true;\r\n @Input() baseValue: any = 'auto';\r\n @Input() autoScale;\r\n @Input() showXAxisLabel;\r\n @Input() showYAxisLabel;\r\n @Input() xAxisLabel;\r\n @Input() yAxisLabel;\r\n @Input() timeline;\r\n @Input() gradient = true;\r\n @Input() showGridLines = false;\r\n @Input() curve: any = curveMonotoneX;\r\n @Input() activeEntries: any[] = [];\r\n @Input() schemeType: string;\r\n @Input() xAxisTickFormatting: any;\r\n @Input() yAxisTickFormatting: any;\r\n @Input() xAxisTicks: any[];\r\n @Input() yAxisTicks: any[];\r\n @Input() roundDomains = false;\r\n @Input() tooltipDisabled = false;\r\n @Input() xScaleMin: any;\r\n @Input() xScaleMax: any;\r\n @Input() yScaleMin: number;\r\n @Input() yScaleMax: number;\r\n @Input() showGridLinesX = true;\r\n\r\n @Output() activate: EventEmitter = new EventEmitter();\r\n @Output() deactivate: EventEmitter = new EventEmitter();\r\n\r\n @ContentChild('tooltipTemplate') tooltipTemplate: TemplateRef;\r\n @ContentChild('seriesTooltipTemplate') seriesTooltipTemplate: TemplateRef;\r\n\r\n dims: ViewDimensions;\r\n xSet: any;\r\n xDomain: any;\r\n yDomain: any;\r\n seriesDomain: any;\r\n xScale: any;\r\n yScale: any;\r\n transform: string;\r\n colors: ColorHelper;\r\n clipPathId: string;\r\n clipPath: string;\r\n scaleType: string;\r\n series: any;\r\n margin = [10, 20, 10, 20];\r\n hoveredVertical: any; // the value of the x axis that is hovered over\r\n xAxisHeight = 0;\r\n yAxisWidth = 0;\r\n filteredDomain: any;\r\n legendOptions: any;\r\n\r\n timelineWidth: any;\r\n timelineHeight = 50;\r\n timelineXScale: any;\r\n timelineYScale: any;\r\n timelineXDomain: any;\r\n timelineTransform: any;\r\n timelinePadding = 10;\r\n scheme = {\r\n domain: ['#2a6654', '#c4d600', '#1fa3a5', '#947d4b']\r\n };\r\n schemeClass: any;\r\n\r\n update(): void {\r\n super.update();\r\n // if (this.results && this.results.length > 0) {\r\n this.dims = calculateViewDimensions({\r\n width: this.width,\r\n height: this.height,\r\n margins: this.margin,\r\n showXAxis: this.xAxis,\r\n showYAxis: this.yAxis,\r\n xAxisHeight: this.xAxisHeight,\r\n yAxisWidth: this.yAxisWidth,\r\n showXLabel: this.showXAxisLabel,\r\n showYLabel: this.showYAxisLabel,\r\n showLegend: this.legend,\r\n legendType: this.schemeType\r\n });\r\n\r\n if (this.timeline) {\r\n this.dims.height -= (this.timelineHeight + this.margin[2] + this.timelinePadding);\r\n }\r\n\r\n this.xDomain = this.getXDomain();\r\n if (this.filteredDomain) {\r\n this.xDomain = this.filteredDomain;\r\n }\r\n\r\n this.yDomain = this.getYDomain();\r\n this.seriesDomain = this.getSeriesDomain();\r\n\r\n this.xScale = this.getXScale(this.xDomain, this.dims.width);\r\n this.yScale = this.getYScale(this.yDomain, this.dims.height);\r\n\r\n this.updateTimeline();\r\n\r\n this.setColors();\r\n this.legendOptions = this.getLegendOptions();\r\n\r\n this.transform = `translate(${this.dims.xOffset}, ${this.margin[0]})`;\r\n\r\n this.clipPathId = 'clip' + id().toString();\r\n this.clipPath = `url(#${this.clipPathId})`;\r\n // }\r\n }\r\n\r\n updateTimeline(): void {\r\n if (this.timeline) {\r\n this.timelineWidth = this.dims.width;\r\n this.timelineXDomain = this.getXDomain();\r\n this.timelineXScale = this.getXScale(this.timelineXDomain, this.timelineWidth);\r\n this.timelineYScale = this.getYScale(this.yDomain, this.timelineHeight);\r\n this.timelineTransform = `translate(${this.dims.xOffset}, ${-this.margin[2]})`;\r\n }\r\n }\r\n\r\n getXDomain(): any[] {\r\n let values = this.getUniqueXDomainValues();\r\n if (values.length > 0) {\r\n this.scaleType = this.getScaleType(values);\r\n let domain = [];\r\n\r\n if (this.scaleType === 'linear') {\r\n values = values.map(v => Number(v));\r\n }\r\n\r\n let min;\r\n let max;\r\n if (this.scaleType === 'time' || this.scaleType === 'linear') {\r\n min = this.xScaleMin\r\n ? this.xScaleMin\r\n : Math.min(...values);\r\n\r\n max = this.xScaleMax\r\n ? this.xScaleMax\r\n : Math.max(...values);\r\n }\r\n\r\n if (this.scaleType === 'time') {\r\n domain = [new Date(min), new Date(max)];\r\n this.xSet = [...values].sort((a, b) => {\r\n const aDate = a.getTime();\r\n const bDate = b.getTime();\r\n if (aDate > bDate) {\r\n return 1;\r\n }\r\n if (bDate > aDate) {\r\n return -1;\r\n }\r\n return 0;\r\n });\r\n } else if (this.scaleType === 'linear') {\r\n domain = [min, max];\r\n // Use compare function to sort numbers numerically\r\n this.xSet = [...values].sort((a, b) => (a - b));\r\n } else {\r\n domain = values;\r\n this.xSet = values;\r\n }\r\n\r\n return domain;\r\n }\r\n return [];\r\n }\r\n\r\n getYDomain(): any[] {\r\n if (this.results && this.results.length > 0) {\r\n const domain = [];\r\n\r\n for (const results of this.results) {\r\n for (const d of results.series) {\r\n if (!domain.includes(d.value)) {\r\n domain.push(d.value);\r\n }\r\n }\r\n }\r\n\r\n const values = [...domain];\r\n if (!this.autoScale) {\r\n values.push(0);\r\n }\r\n if (this.baseValue !== 'auto') {\r\n values.push(this.baseValue);\r\n }\r\n\r\n const min = this.yScaleMin\r\n ? this.yScaleMin\r\n : Math.min(...values);\r\n\r\n const max = this.yScaleMax\r\n ? this.yScaleMax\r\n : Math.max(...values);\r\n\r\n return [min, max];\r\n }\r\n return [0, 0];\r\n }\r\n\r\n getSeriesDomain(): any[] {\r\n return this.results.map(d => d.name);\r\n }\r\n\r\n getXScale(domain, width): any {\r\n let scale;\r\n\r\n if (this.scaleType === 'time') {\r\n scale = scaleTime();\r\n } else if (this.scaleType === 'linear') {\r\n scale = scaleLinear();\r\n } else if (this.scaleType === 'ordinal') {\r\n scale = scalePoint()\r\n .padding(0.1);\r\n } else { //temp fix\r\n scale = scalePoint()\r\n .padding(0.1);\r\n }\r\n\r\n scale.range([0, width])\r\n .domain(domain);\r\n\r\n return this.roundDomains ? scale.nice() : scale;\r\n }\r\n\r\n getYScale(domain, height): any {\r\n const scale = scaleLinear()\r\n .range([height, 0])\r\n .domain(domain);\r\n return this.roundDomains ? scale.nice() : scale;\r\n }\r\n\r\n getScaleType(values): string {\r\n let date = true;\r\n let num = true;\r\n for (const value of values) {\r\n if (!this.isDate(value)) {\r\n date = false;\r\n }\r\n if (typeof value !== 'number') {\r\n num = false;\r\n }\r\n }\r\n\r\n if (date) {\r\n return 'time';\r\n }\r\n\r\n if (num) {\r\n return 'linear';\r\n }\r\n\r\n return 'ordinal';\r\n }\r\n\r\n isDate(value): boolean {\r\n if (value instanceof Date) {\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n updateDomain(domain): void {\r\n this.filteredDomain = domain;\r\n this.xDomain = this.filteredDomain;\r\n this.xScale = this.getXScale(this.xDomain, this.dims.width);\r\n }\r\n\r\n updateHoveredVertical(item): void {\r\n this.hoveredVertical = item.value;\r\n this.deactivateAll();\r\n }\r\n\r\n @HostListener('mouseleave')\r\n hideCircles(): void {\r\n this.hoveredVertical = null;\r\n this.deactivateAll();\r\n }\r\n\r\n onClick(data, series?): void {\r\n if (series) {\r\n data.series = series.name;\r\n }\r\n\r\n this.select.emit(data);\r\n }\r\n\r\n trackBy(index, item): string {\r\n return item.name;\r\n }\r\n\r\n setColors(): void {\r\n let domain;\r\n if (this.schemeType === 'ordinal') {\r\n domain = this.seriesDomain;\r\n } else {\r\n domain = this.yDomain;\r\n }\r\n\r\n this.colors = new ColorHelper(this.scheme, this.schemeType, domain, this.customColors);\r\n this.schemeClass = ['green', 'light-green', 'blue', 'orange'];\r\n }\r\n\r\n getLegendOptions() {\r\n const opts = {\r\n scaleType: this.schemeType,\r\n colors: undefined,\r\n domain: [],\r\n title: undefined\r\n };\r\n if (opts.scaleType === 'ordinal') {\r\n opts.domain = this.seriesDomain;\r\n opts.colors = this.colors;\r\n opts.title = this.legendTitle;\r\n } else {\r\n opts.domain = this.yDomain;\r\n opts.colors = this.colors.scale;\r\n }\r\n return opts;\r\n }\r\n\r\n updateYAxisWidth({width}): void {\r\n this.yAxisWidth = width;\r\n this.update();\r\n }\r\n\r\n updateXAxisHeight({height}): void {\r\n this.xAxisHeight = height;\r\n this.update();\r\n }\r\n\r\n onActivate(item) {\r\n const idx = this.activeEntries.findIndex(d => {\r\n return d.name === item.name && d.value === item.value;\r\n });\r\n if (idx > -1) {\r\n return;\r\n }\r\n\r\n this.activeEntries = [item, ...this.activeEntries];\r\n this.activate.emit({value: item, entries: this.activeEntries});\r\n }\r\n\r\n onDeactivate(item) {\r\n const idx = this.activeEntries.findIndex(d => {\r\n return d.name === item.name && d.value === item.value;\r\n });\r\n\r\n this.activeEntries.splice(idx, 1);\r\n this.activeEntries = [...this.activeEntries];\r\n\r\n this.deactivate.emit({value: item, entries: this.activeEntries});\r\n }\r\n\r\n deactivateAll() {\r\n this.activeEntries = [...this.activeEntries];\r\n for (const entry of this.activeEntries) {\r\n this.deactivate.emit({value: entry, entries: []});\r\n }\r\n this.activeEntries = [];\r\n }\r\n\r\n\r\n getUniqueXDomainValues(): any[] {\r\n const valueSet = new Set();\r\n if (this.results && this.results.length > 0 && (this.results[0].series.length > 0 || this.results[1].series.length > 0)) {\r\n let i = 0;\r\n let y = 0;\r\n let status = 1;\r\n while (status === 1) {\r\n let currentValueA = '99999999';\r\n let currentValueB = '99999999';\r\n if (this.results[0].series[i]) {\r\n currentValueA = this.results[0].series[i].name;\r\n }\r\n if ( this.results[1] && this.results[1].series[y]) {\r\n currentValueB = this.results[1].series[y].name;\r\n }\r\n\r\n if (this.results[1] && currentValueA > currentValueB) {\r\n valueSet.add(this.results[1].series[y].name);\r\n y++;\r\n } else if (currentValueA < currentValueB) {\r\n valueSet.add(this.results[0].series[i].name);\r\n i++;\r\n } else {\r\n valueSet.add(this.results[0].series[i].name);\r\n i++;\r\n y++;\r\n }\r\n\r\n if (!this.results[0].series[i] && !this.results[1].series[y]) {\r\n status = 0;\r\n }\r\n }\r\n }\r\n return Array.from(valueSet);\r\n }\r\n}\r\n","import { OnInit, TemplateRef, Directive } from '@angular/core';\r\nimport { PolicyService } from 'src/app/core/services';\r\nimport { TableConfig } from 'src/app/core/core-models';\r\nimport { Observable } from 'rxjs';\r\nimport { take } from 'rxjs/operators';\r\n\r\n\r\nexport class TableConfigExtended extends TableConfig {\r\n public data?: any;\r\n\r\n constructor(public index: number,\r\n public title: string,\r\n public template: TemplateRef,\r\n public searchOptions: {enabled: boolean, text?: string},\r\n private _loadData: (list: TableConfigExtended, policyId: string, memberId?: number) => Observable<{data: any, itemsCount: number}>,\r\n public size: number = 5) {\r\n super(size);\r\n }\r\n\r\n public loadData(policyId: string, memberId?: number): void {\r\n this._loadData(this, policyId, memberId).subscribe(response => {\r\n this.data = response.data;\r\n this.setTotalItems(response.itemsCount);\r\n }, error => {\r\n console.log(error);\r\n throw new Error(`Σφάλμα κατα την λήψη των στοιχείων: ${this.title}`);\r\n });\r\n }\r\n}\r\n\r\n\r\n@Directive()\r\nexport abstract class TabbedListsComponent implements OnInit {\r\n public lists: TableConfigExtended[];\r\n public pageLimitOptions = [\r\n {value: 5},\r\n {value: 10},\r\n {value: 15},\r\n {value: 20},\r\n ];\r\n public local_messages = {\r\n // Message to show when array is presented but contains no values\r\n emptyMessage: 'Δεν υπάρχουν δεδομένα',\r\n\r\n // Footer total message\r\n totalMessage: 'σύνολο',\r\n\r\n // Footer selected message\r\n selectedMessage: 'επιλεγμένο'\r\n };\r\n private _selectedListIndex: number;\r\n\r\n constructor(protected policyService: PolicyService) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.policyService.PolicyIdWatcher().pipe(take(1)).subscribe((policyId: string) => {\r\n this.lists = this.initLists();\r\n this._loadListData(0);\r\n });\r\n }\r\n\r\n protected abstract initLists(): TableConfigExtended[];\r\n\r\n public onPageChange(pageInfo: any, list: TableConfigExtended): void {\r\n list.pageIndex = pageInfo.offset;\r\n list.page = list.pageIndex + 1;\r\n this._loadListData(list.index, true);\r\n }\r\n\r\n public onSort(event: any, list: TableConfigExtended): void {\r\n list.setSorting(event);\r\n list.pageIndex = 0;\r\n this._loadListData(list.index, true);\r\n }\r\n\r\n public onSearch(list: TableConfigExtended): void {\r\n this._loadListData(list.index, true);\r\n }\r\n\r\n public onPageSizeChange(size: any, list: TableConfigExtended): void {\r\n list.size = parseInt(size, undefined);\r\n // list.pageIndex = Math.floor(list.page / list.size);\r\n this._loadListData(list.index, true);\r\n }\r\n\r\n // refreshes the data for the specified list index (does not change the selected list index)\r\n public refreshList(listIndex: number) {\r\n this._loadListData(listIndex, true);\r\n }\r\n\r\n // refreshes the data for the CURRENT list index\r\n public refreshCurrentList() {\r\n this._loadListData(this._selectedListIndex, true);\r\n }\r\n\r\n\r\n // this solely updates current list index and triggers data load (or refresh)\r\n public onSelectedIndexChange(listIndex: number, forceRefresh: boolean = false): void {\r\n this._selectedListIndex = listIndex;\r\n this._loadListData(listIndex, forceRefresh);\r\n }\r\n\r\n private _loadListData(listIndex: number, forceRefresh: boolean = false) {\r\n const list = this.lists[listIndex];\r\n if (!list.data || forceRefresh) {\r\n try {\r\n list.loadData(this.policyService.selectedPolicy.id, this.policyService.dafSelectedMember.insuredId);\r\n } catch (error) {\r\n // TODO: kati kalytero gia error handling edw isws ?\r\n console.log(error);\r\n }\r\n }\r\n }\r\n}\r\n","import { ActivatedRoute } from '@angular/router';\r\nimport { FileUploader, FileUploaderOptions, FileItem, ParsedResponseHeaders } from 'ng2-file-upload';\r\nimport { DateTimeExtensions } from 'src/app/core/extensions/date-time-extensions';\r\nimport { IDictionary, IResultSet } from 'src/app/core/core-models';\r\nimport { WebApi, NotificationService, PolicyService } from 'src/app/core/services';\r\nimport { claimKinds, DamageCode, DamageObject, DamageTypes, RedeemConsentsResponseResult } from '../app-models-1';\r\nimport {\r\n IInsuredMember,\r\n IProtectedMember,\r\n IClaimRequest,\r\n ICommonMemberDetails,\r\n ClaimStatusType,\r\n ClaimStatusType2, IAttachment,\r\n DamageTypes2\r\n} from 'src/app/app-models';\r\nimport {RequireConsentDialogComponent} from './require-consent-dialog.component';\r\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\r\nimport { MatCheckboxChange } from '@angular/material/checkbox';\r\nimport { take } from 'rxjs/operators';\r\nimport { ConfirmDialogService } from '../shared/components/confirmation-dialog/confirm-dialog.service';\r\nimport { RedeemConsentsRequestUnderAge } from '../app-models-1';\r\nimport {conditionsDetails} from './list-of-conditions-details'\r\nimport { RequireConsentDialogComponentForPrimaryByOwner } from './require-consent-dialog-for-primary-by-ownerWithClaimRights.component';\r\n\r\n\r\n\r\n\r\nclass ClaimRequestMember {\r\n public id: string;\r\n public policyMemberId: string;\r\n public insuredId: number;\r\n public firstName: string;\r\n public lastName: string;\r\n public fullName: string;\r\n public afm: string;\r\n public code: string;\r\n public insuredDate: Date;\r\n public insuredEndDate: Date;\r\n public isPrimary = false;\r\n public allowNewsletters: boolean;\r\n public allowSensitiveDataViewing: boolean;\r\n public overSixteen: boolean;\r\n public email: string;\r\n public damageType: string;\r\n public claimType: string;\r\n\r\n\r\n constructor(member: IInsuredMember | IProtectedMember) {\r\n this.id = member.id;\r\n this.firstName = member.firstName;\r\n this.lastName = member.lastName;\r\n this.afm = member.afm;\r\n this.email = member.email;\r\n this.fullName = member.fullName;\r\n this.insuredDate = member.insuredDate;\r\n this.insuredEndDate = member.insuredEndDate;\r\n this.code = member.code;\r\n this.allowNewsletters = member.allowNewsletters;\r\n this.allowSensitiveDataViewing = member.allowSensitiveDataViewing;\r\n this.insuredId = member.insuredId;\r\n this.damageType = member.damageType;\r\n this.claimType = member.claimType;\r\n }\r\n}\r\n\r\nexport abstract class ClaimRequestBaseComponent {\r\n public entity: IClaimRequest = {\r\n allowSensitiveDataViewing: false,\r\n allowNewsletters: false,\r\n damageTypes: [],\r\n damageType: '',\r\n statusType: 'Draft',\r\n claimKind: '',\r\n autoSettlement : null\r\n };\r\n public initEntityValues:IClaimRequest = {\r\n damageType: '',\r\n claimKind: '',\r\n };\r\n public primaryHasGivenConsent: boolean;\r\n public policyMembers: ClaimRequestMember[] = [];\r\n public selectedPolicyMember: ClaimRequestMember = {};\r\n public protectedMemberUnderAge: RedeemConsentsRequestUnderAge = {};\r\n\r\n\r\n public selectedPolicyMemberId: string;\r\n public step1 = true;\r\n public step2 = false;\r\n public submitted = false;\r\n public fullName: string = '';\r\n public isInEditMode: boolean;\r\n public showWarning : boolean = false;\r\n\r\n RedeemConsentsEnum = RedeemConsentsResponseResult\r\n public conditions: DamageObject[];\r\n public claimKindsList: claimKinds[] = [\r\n { valueCode: \"3\", valueDescription: \"Ασθένεια\" },\r\n { valueCode: \"2\", valueDescription: \"Ατύχημα\" }]\r\n\r\n public oldConditions : string[] = ['Ιατρός', 'Διαγνωστικές εξετάσεις', 'Φάρμακα', 'Τοκετός', 'Άλλο',]\r\n\r\n //public conditions2: DamageTypes2[] = ['Doctor', 'ChildBirth', 'DiagnosticExaminations', 'Medicine', 'Other'];\r\n public conditionsDetails = conditionsDetails;\r\n public selectedConditions: any = {};\r\n public oldSelectedConditions: any = {};\r\n protected memberId: string;\r\n protected claimRequestId: string;\r\n\r\n public allFilesUploaded = false;\r\n public uploader: FileUploader;\r\n protected uploaderOptions = {\r\n autoUpload: false,\r\n allowedFileType: ['image', 'pdf'],\r\n maxFileSize: 5 * 1024 * 1024 // 5MB in bytes,\r\n };\r\n protected attachments: any[] = [];\r\n public tooltipInfo: string[] = [];\r\n claimType: ClaimStatusType2;\r\n public isOwnerWithClaimRights: boolean;\r\n itsMe: boolean;\r\n public uploadError = '';\r\n // public uploadedFiles: File[];\r\n\r\n constructor(protected route: ActivatedRoute, protected webApi: WebApi, protected notificationService: NotificationService, protected policyService: PolicyService, protected dialog: MatDialog, protected dialogConsent: ConfirmDialogService ) {\r\n policyService.selectedMember = route.snapshot.data['member'];\r\n this.isInEditMode = route.snapshot.url.filter(v => v.path.indexOf('edit') > -1).length === 1;\r\n policyService.selectedMember.protectedMembers = route.snapshot.data['protected']['items'];\r\n this.memberId = route.snapshot.params['memberId'];\r\n this.claimRequestId = route.snapshot.params['claimRequestId'];\r\n const isNewClaimRequest = !this.claimRequestId;\r\n this.isOwnerWithClaimRights = policyService.selectedPolicy.membershipStatus.accessLevel === 'OwnerWithClaimRights';\r\n this.itsMe = this.policyService.selectedPolicy.membershipStatus.policyMemberId === this.memberId;\r\n this.conditions = this.policyService.selectedMember.damages;\r\n if (isNewClaimRequest) {\r\n this.entity.policyId = policyService.selectedMember.policyId;\r\n this.entity.insuredId = policyService.selectedMember.insuredId;\r\n this.entity.policyMemberId = this.memberId;\r\n this.entity.dateOccured = DateTimeExtensions.parseDateOnly(new Date());\r\n this.selectedPolicyMemberId = this.memberId;\r\n\r\n } else {\r\n this.entity = route.snapshot.data['claimRequest'];\r\n this.selectedPolicyMemberId = this.entity.protectedMemberId || this.entity.policyMemberId;\r\n\r\n if (this.entity.statusType === 'Submitted' || this.entity.statusType === 'Pending' || this.entity.statusType === 'Rejected' || this.entity.statusType === 'Reviewing' || this.entity.statusType === 'Closed' || this.entity.statusType === 'ReviewIncomplete' || this.entity.statusType === 'ProcessIncomplete') {\r\n this.step1 = false;\r\n this.step2 = true;\r\n }\r\n }\r\n\r\n if (policyService.selectedMember) {\r\n const asfalismenos = new ClaimRequestMember(policyService.selectedMember);\r\n asfalismenos.isPrimary = true;\r\n this.policyMembers.push(asfalismenos);\r\n for (let i = 0; i < policyService.selectedMember.protectedMembers.length; i++) {\r\n const pm: IProtectedMember = policyService.selectedMember.protectedMembers[i];\r\n const m = new ClaimRequestMember(pm);\r\n //m.insuredDate = policyService.selectedMember.insuredDate;\r\n //m.insuredEndDate = policyService.selectedMember.insuredEndDate;\r\n m.overSixteen = pm.overSixteen;\r\n this.policyMembers.push(m);\r\n }\r\n }\r\n\r\n this.oldConditions.forEach((condition: any) => {\r\n this.oldSelectedConditions[condition] = (this.entity.damageType || []).indexOf(condition) > -1;\r\n });\r\n\r\n\r\n this.conditionsDetails = conditionsDetails;\r\n\r\n \r\n if (!isNewClaimRequest) {\r\n this.loadSelectedUser(this.selectedPolicyMemberId);\r\n }\r\n\r\n\r\n\r\n //file uploader\r\n this.uploader = new FileUploader(this.uploaderOptions);\r\n\r\n this.uploader.onAfterAddingFile = (item) => {\r\n if (this.isUploadDisabled) {\r\n this.uploader.removeFromQueue(item);\r\n this.uploadError = 'Δεν επιτρέπεται η πολλαπλή εισαγωγή αρχείων με το επιλεγμένος τύπος ζημιάς';\r\n return false;\r\n }\r\n }\r\n\r\n // https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/withCredentials\r\n this.uploader.onBeforeUploadItem = (item) => {\r\n item.withCredentials = false;\r\n };\r\n\r\n if (!isNewClaimRequest) {\r\n const settings = webApi.getUploadSettingsForNg2Upload(`${this.entity.policyId}/claim-requests/${this.claimRequestId}/attachments`);\r\n this.uploaderOptions = Object.assign(this.uploaderOptions, settings, this.uploaderOptions);\r\n this.uploader = new FileUploader(this.uploaderOptions);\r\n this.uploader.onWhenAddingFileFailed = (item, filter, options) => {\r\n // Check if the failure is due to file type restriction\r\n if (!this.uploaderOptions.allowedFileType.includes(item.type)) {\r\n // Set the error message\r\n this.uploadError = 'Μη έγκυρος τύπος αρχείου. Επιτρέπονται μόνο αρχεία jpg, jpeg, png, pdf.';\r\n }\r\n if (item.size > this.uploaderOptions.maxFileSize) {\r\n this.uploadError = 'Το αρχείο υπερβαίνει το μέγιστο όριο μεγέθους των 5 MB.';\r\n return false; // This will prevent the file from being added to the queue\r\n }\r\n \r\n }\r\n }\r\n this.uploader.onErrorItem = (item: FileItem, response: string, status: number, headers: ParsedResponseHeaders) => {\r\n switch (status) {\r\n case 400:\r\n const errors = [];\r\n const responeObj = JSON.parse(response);\r\n for (const key of Object.keys(responeObj)) {\r\n for (const error of responeObj[key]) {\r\n errors.push(error);\r\n }\r\n }\r\n //console.error(errors)\r\n item['errors'] = errors.join(' ');\r\n this.notificationService.error('File upload', `File ${item.file.name} has errors. ${errors.join(' ')}`);\r\n break;\r\n case 500:\r\n this.notificationService.error('File upload', `Δεν επιτρέπεται η πολλαπλή εισαγωγή αρχείων με τοn επιλεγμένο τύπο ζημιάς`);\r\n break;\r\n default:\r\n this.notificationService.error('File upload', `Unknown error occured in file ${item.file.name}.`);\r\n break;\r\n }\r\n };\r\n this.uploader.onSuccessItem = (item: FileItem, response: string, status: number, headers: ParsedResponseHeaders) => {\r\n this.notificationService.success('File upload', `File ${item.file.name} uploaded.`);\r\n this.allFilesUploaded = this.uploader.queue.length === this.uploader.queue.filter((fi) => fi.isUploaded && fi.isSuccess).length;\r\n };\r\n this.uploader.onCompleteAll = () => {\r\n this.allFilesUploaded = this.uploader.queue.length === this.uploader.queue.filter((fi) => fi.isUploaded && fi.isSuccess).length;\r\n this.loadAttachments();\r\n };\r\n }\r\n\r\n getTooltipContent(conditionKey: string): string {\r\n return this.conditionsDetails[conditionKey] \r\n ? this.conditionsDetails[conditionKey].join('\\n')\r\n : 'No details available';\r\n }\r\n \r\n public initializeInitEntityValues(): void {\r\n this.initEntityValues.damageType = this.entity.damageType;\r\n this.initEntityValues.claimKind = this.entity.claimKind;\r\n }\r\n\r\n\r\n public removeAttachment(fileItem: FileItem): void {\r\n const attachmentId = fileItem._file['attachmentId'];\r\n \r\n if (attachmentId) {\r\n \r\n this.webApi.delete(\r\n `${this.entity.policyId}/claim-requests/${this.entity.id}/attachments`,\r\n attachmentId,null,null,true\r\n \r\n ).subscribe(\r\n (success) => {\r\n fileItem.remove();\r\n this.allFilesUploaded = this.uploader.queue.length === this.uploader.queue.filter((fi) => fi.isUploaded && fi.isSuccess).length;\r\n },\r\n (error) => this.notificationService.parseAndPopError(error)\r\n );\r\n } else {\r\n fileItem.remove();\r\n }\r\n }\r\n\r\n public loadAttachments(): void {\r\n this.webApi.getList(`${this.entity.policyId}/claim-requests/${this.entity.id}/attachments`).subscribe(\r\n (attachments: IResultSet) => {\r\n const fileAttachments: FileItem[] = attachments.items.map((fa) => {\r\n const f = new FileItem(this.uploader, new File([fa.body || ''], fa.fileName, {type: fa.contentType}), this.uploaderOptions);\r\n f['attachmentId'] = fa.id;\r\n return f;\r\n }\r\n );\r\n const files = fileAttachments.map((v) => {\r\n const f = v._file;\r\n f['attachmentId'] = v['attachmentId'];\r\n return f;\r\n });\r\n\r\n this.uploaderOptions.autoUpload = false;\r\n this.uploader.options.autoUpload = false;\r\n this.uploader.onBeforeUploadItem = (item) => {\r\n item.withCredentials = false;\r\n };\r\n // this.uploadedFiles = files;\r\n this.uploader.clearQueue();\r\n this.uploader.addToQueue(files);\r\n this.uploader.queue.forEach((fi) => {\r\n fi.isUploaded = fi.isSuccess = true;\r\n });\r\n this.allFilesUploaded = this.uploader.queue.length === this.uploader.queue.filter((fi) => fi.isUploaded && fi.isSuccess).length;\r\n this.uploaderOptions.autoUpload = true;\r\n this.uploader.options.autoUpload = true;\r\n },\r\n (error) => this.notificationService.parseAndPopError(error),\r\n );\r\n }\r\n\r\n get isUploadDisabled(): boolean {\r\n if(this.entity.statusType === 'Pending' ){\r\n return false;\r\n }\r\n const selectedCondition = this.conditions.find(c => c.damageCode === this.entity?.damageType);\r\n \r\n return (selectedCondition.hasAutoSettlement && this.uploader.queue.length >= 2);\r\n }\r\n\r\n convertDate(inputDate: Date) {\r\n this.entity.dateOccured = DateTimeExtensions.parseDateOnly(inputDate);\r\n }\r\n\r\n onConditionChange(data: MatCheckboxChange) {\r\n if (data.checked) {\r\n this.entity.damageType = data.source.value;\r\n } else {\r\n this.entity.damageType = null;\r\n }\r\n\r\n const selectedCondition = this.conditions.find(\r\n (c) => c.damageCode === this.entity.damageType\r\n );\r\n }\r\n \r\n\r\n public stopExpanding(event) {\r\n event.stopPropagation();\r\n }\r\n\r\n public updateClaimRequest(): void {\r\n this.webApi\r\n .put(\r\n `${this.entity.policyId}/claim-requests/${this.entity.id}`,\r\n this.entity,\r\n false,\r\n true\r\n )\r\n .subscribe(\r\n (success) => (this.entity = success),\r\n (error) => this.notificationService.parseAndPopError(error),\r\n () => {\r\n this.step1 = false;\r\n this.step2 = true;\r\n }\r\n );\r\n }\r\n\r\n public loadSelectedUser(data: string) {\r\n this.selectedPolicyMember = this.policyMembers.filter((m) => m.id === data || m.insuredId.toString() === data)[0];\r\n this.entity.insuredId = this.selectedPolicyMember.insuredId;\r\n this.entity.allowNewsletters = this.selectedPolicyMember.allowNewsletters;\r\n this.entity.allowSensitiveDataViewing = this.selectedPolicyMember.allowSensitiveDataViewing;\r\n this.fullName = this.selectedPolicyMember.fullName;\r\n if (!this.selectedPolicyMember.isPrimary) {\r\n this.entity.protectedMemberId = this.selectedPolicyMember.insuredId.toString();\r\n this.selectedPolicyMember.policyMemberId = this.entity.policyMemberId; \r\n } else {\r\n this.entity.protectedMemberId = null;\r\n }\r\n this.primaryHasGivenConsent= this.policyMembers.some(function(el){ return el.isPrimary === true && el.allowSensitiveDataViewing===true});\r\n\r\n \r\n\r\n if(!this.selectedPolicyMember.isPrimary && this.selectedPolicyMember.overSixteen && !this.selectedPolicyMember.allowSensitiveDataViewing && this.isOwnerWithClaimRights) {\r\n this.OpenConsentDialogForPrimary(this.selectedPolicyMember, 'true');\r\n }\r\n \r\n\r\n\r\n if (!this.selectedPolicyMember.isPrimary && this.selectedPolicyMember.overSixteen && !this.selectedPolicyMember.allowSensitiveDataViewing && !this.isOwnerWithClaimRights) {\r\n this.dialog.open(RequireConsentDialogComponent,\r\n {\r\n autoFocus: true, disableClose: true, width: '600px',\r\n data: this.selectedPolicyMember\r\n }).afterClosed()\r\n .pipe(take(1))\r\n .subscribe(\r\n (ok) => {\r\n if (ok) {\r\n this.notificationService.success('Email send', 'Check your email');\r\n } else {\r\n this.policyService.goToMemberDetails(this.memberId);\r\n }\r\n }\r\n );\r\n }\r\n\r\n \r\n\r\n \r\n if (!this.selectedPolicyMember.allowSensitiveDataViewing && !this.selectedPolicyMember.overSixteen && this.primaryHasGivenConsent && (this.isOwnerWithClaimRights || this.itsMe) && !this.isInEditMode){\r\n let pMember = {};\r\n pMember = {\r\n ...this.selectedPolicyMember,\r\n ΟwnerMemberId: this.policyService.policyMemberId,\r\n allowSensitiveDataViewing:true\r\n \r\n }\r\n const url= this.isOwnerWithClaimRights ?`${this.entity.policyId}/redeem/by-owner` : `${this.entity.policyId}/redeem/primary-underage`;\r\n \r\n this.webApi.post(url, pMember,false,true).subscribe(\r\n (response) => {\r\n if( response.result === this.RedeemConsentsEnum.Success ){\r\n this.selectedPolicyMember.allowSensitiveDataViewing=true;\r\n this.entity.allowSensitiveDataViewing =true;\r\n }\r\n else{\r\n this.notificationService.error(\"Παρακαλώ επικοινωνήστε με το Support \");\r\n } \r\n \r\n },\r\n (error) => {\r\n return this.notificationService.error(error.message);\r\n \r\n }\r\n );\r\n }\r\n \r\n}\r\n\r\n public goToStep1() {\r\n this.step1 = true;\r\n this.step2 = false;\r\n }\r\n\r\n public goToTheEnd() {\r\n this.entity.statusType = 'Submitted';\r\n this.webApi.put(`${this.entity.policyId}/claim-requests/${this.entity.id}`, this.entity,false,true).subscribe(\r\n (success) => {\r\n this.step2 = false;\r\n this.submitted = true;\r\n },\r\n (error) => this.notificationService.parseAndPopError(error)\r\n );\r\n }\r\n\r\n downloadAttachment(f: FileItem) {\r\n const attachmentId = f._file['attachmentId'];\r\n this.policyService.donwloadClaimRequestAttachment(this.entity.policyId, this.entity.id, attachmentId);\r\n }\r\n\r\n public OpenConsentDialogForPrimary(selectedPolicyMember: any , isOwner:string){\r\n this.dialog.open(RequireConsentDialogComponentForPrimaryByOwner,\r\n {\r\n autoFocus: true, disableClose: true, width: '600px',\r\n data: {pMember:selectedPolicyMember, isOwner:isOwner}\r\n }).afterClosed()\r\n .pipe(take(1))\r\n .subscribe(\r\n (ok) => {\r\n if (ok) {\r\n this.notificationService.success('Eπιτυχής καταχώρηση', '');\r\n this.selectedPolicyMember.allowSensitiveDataViewing=true;\r\n this.primaryHasGivenConsent\r\n } else {\r\n this.policyService.goToMemberDetails(this.memberId);\r\n }\r\n }\r\n );\r\n }\r\n\r\n}\r\n","export default \" \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\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 { ContributionType, FutureROICalculation, ROICalculationData, IROICalculationData, ExtraPayments, FutureInvestmentOptions, InvestmentMix, Investment } from './../../../core/services/daf-api.service';\r\nimport { FormGroup, FormBuilder, Validators, FormControl, FormArray } from '@angular/forms';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { PolicyService, DafApiClient, NotificationService } from 'src/app/core/services';\r\nimport { ProjectionInstructionsDialogComponent } from '../../projection-instructions.component';\r\nimport { MatDialog, MatDialogConfig , DialogPosition} from '@angular/material/dialog';\r\nimport { NoopScrollStrategy } from '@angular/cdk/overlay';\r\nimport { ActivatedRoute } from '@angular/router';\r\n\r\n\r\n@Component({\r\n selector: 'app-daf-future-returns-calculation',\r\n templateUrl: './daf-future-returns-calculation.component.html'\r\n})\r\nexport class DafFutureReturnsCalculationComponent implements OnInit {\r\n public futureReturns = [\r\n {\r\n 'name': '2021',\r\n 'value': 16000\r\n },\r\n {\r\n 'name': '2022',\r\n 'value': 22000\r\n },\r\n {\r\n 'name': '2023',\r\n 'value': 23300\r\n },\r\n {\r\n 'name': '2024',\r\n 'value': 45000\r\n },\r\n {\r\n 'name': '2025',\r\n 'value': 60000\r\n },\r\n {\r\n 'name': '2026',\r\n 'value': 78000\r\n }\r\n ];\r\n\r\n isEditable = true;\r\n allowedContributionTypes = [];\r\n regularContributionTypes = [];\r\n urgentContributionTypes = [];\r\n switches = [];\r\n investments = [];\r\n investment = new Investment();\r\n groupForms = [];\r\n currentYear = new Date();\r\n yearLabels = [];\r\n showDiagram = false;\r\n validForms = true;\r\n investmentMixOptions;\r\n public requiredFieldMsg = 'Το πεδίο είναι υποχρεωτικό!';\r\n currentValidator;\r\n otherValidator;\r\n public smallLayout = false;\r\n yearStep = 1;\r\n yearsPeriod = 1;\r\n public busy = false;\r\n errorMessages = [];\r\n dialogPosition : DialogPosition;\r\n \r\n view: any[] = [600, 400];\r\n\r\n colorScheme = {\r\n domain: ['#2a6654', '#c4d600', '#1fa3a5', '#947d4b']\r\n };\r\n\r\n constructor(public policyService: PolicyService, private dafApiClient: DafApiClient, private fb: FormBuilder, protected notificationService: NotificationService,private dialog: MatDialog,private route: ActivatedRoute) {\r\n this.investmentMixOptions = Object.keys(InvestmentMix);\r\n this.smallLayout = window.innerWidth <= 1030;\r\n window.onresize = () => this.smallLayout = window.innerWidth <= 1030;\r\n // this.dialogPosition.right = '0px';\r\n //this.dialogPosition.top = '10';\r\n }\r\n\r\n ngOnInit(): void {\r\n this.dafApiClient.getPolicy(this.policyService.selectedPolicy.id).subscribe(response => {\r\n this.allowedContributionTypes = response.allowedContributionTypes.sort((a,b) => a.includes('Urgent') ? 1 : (b.includes('Urgent') ? -1 : 0));\r\n this.allowedContributionTypes.forEach(cT => {\r\n this.switches[cT] = [];\r\n this.groupForms[cT] = this.fb.group({\r\n investmentMix: [this.investmentMixOptions[0], Validators.required]\r\n });\r\n if (cT.includes('Regular')) {\r\n this.regularContributionTypes.push(cT);\r\n // this.groupForms[cT].addControl('yearsPeriod', new FormControl(1, Validators.required));\r\n this.groupForms[cT].addControl('contributionRaisePercentage', new FormControl('', Validators.required));\r\n } else {\r\n this.urgentContributionTypes.push(cT);\r\n this.groupForms[cT].addControl('extraPayments', this.fb.array([new FormControl('')]));\r\n const nextYear = new Date(this.currentYear.getFullYear() + 1, this.currentYear.getMonth(), this.currentYear.getDate());\r\n this.yearLabels[cT] = [nextYear.getFullYear()];\r\n }\r\n });\r\n if(isNaN(this.policyService.dafSelectedMember.insuredId)){\r\n this.policyService.dafSelectedMember = this.route.snapshot.data['member'] ||{ };\r\n }\r\n this.dafApiClient.getInsuredInvestments(this.policyService.selectedPolicy.id, this.policyService.dafSelectedMember.insuredId).subscribe(response => {\r\n this.investment.newOptions = response.newOptions;\r\n this.investment.currentOptions = response.currentOptions;\r\n this.investment.newOptions.forEach(i => {\r\n let investment = this.investments.find(inv => {\r\n return inv.description === i.description;\r\n })\r\n if (investment) {\r\n let index = this.investments.indexOf(investment);\r\n this.investments[index].allowedContrTypes.push(i.contributionType);\r\n } else {\r\n investment = {\r\n description: i.description,\r\n allowedContrTypes: [i.contributionType],\r\n profileValid: i.profileValid,\r\n investmentCode: i.code\r\n }\r\n this.investments.push(investment);\r\n }\r\n });\r\n this.allowedContributionTypes.forEach(cT => {\r\n this.currentValidator = this.groupForms[cT].controls['investmentMix'].value === InvestmentMix.Unchanged ? true : false;\r\n this.otherValidator = this.groupForms[cT].controls['investmentMix'].value === InvestmentMix.Different ? true : false;\r\n this.investments.forEach(inv => {\r\n const current = this.investment.currentOptions.find(i => i.code === inv.investmentCode && i.contributionType === cT);\r\n const percentage = current ? current.percentage : 0;\r\n this.groupForms[cT].addControl(inv.investmentCode, new FormControl(Math.round(percentage)));\r\n this.groupForms[cT].addControl(inv.investmentCode + '-other', new FormControl({value: null, disabled: this.groupForms[cT].controls['investmentMix'].value === InvestmentMix.Unchanged}));\r\n });\r\n this.groupForms[cT].setValidators(this.switchesSumValidator(cT));\r\n });\r\n });\r\n }, (error) => console.log('DafFutureReturnsCalculationComponent', error));\r\n }\r\n\r\n onSelect(event) {\r\n console.log(event);\r\n }\r\n\r\n public gotoMemberProfile() {\r\n this.dialog.closeAll();\r\n const url = `daf-policy/${this.policyService.selectedPolicy.id}/members/${this.policyService.dafSelectedMember.id}`;\r\n this.policyService.navigate([url]);\r\n }\r\n\r\n public onYearsChange(event) {\r\n const newYearsPeriod = +event.target.value;\r\n this.showDiagram = false;\r\n this.urgentContributionTypes.forEach(cT => {\r\n const lastItemIndex = this.yearLabels[cT].length - 1;\r\n const currentYearsPeriod = this.yearLabels[cT][lastItemIndex] - this.currentYear.getFullYear();\r\n if(newYearsPeriod < currentYearsPeriod) {\r\n this.yearStep = this.yearsPeriod > 10 ? 5 : 1;\r\n if (this.groupForms[cT].controls['extraPayments'].length > 1) {\r\n this.groupForms[cT].controls['extraPayments'].removeAt(this.groupForms[cT].controls['extraPayments'].length - 1);\r\n this.yearLabels[cT].pop();\r\n }\r\n } else {\r\n this.yearStep = this.yearsPeriod >= 9 ? 5 : 1;\r\n var yearsToAdd = newYearsPeriod <= 10 ? 1 : 5;\r\n const nextYear = new Date(this.yearLabels[cT][lastItemIndex] + yearsToAdd, this.currentYear.getMonth(), this.currentYear.getDate());\r\n if(newYearsPeriod > 1) {\r\n this.yearLabels[cT].push(nextYear.getFullYear());\r\n this.groupForms[cT].controls['extraPayments'].push(new FormControl(''));\r\n }\r\n }\r\n });\r\n }\r\n\r\n switchesSumValidator(cT: string) {\r\n return (group: FormGroup): {[key: string]: any} => {\r\n let sumCurrent = 0;\r\n let sumOther = 0;\r\n this.investments.forEach(inv => {\r\n sumCurrent += group.controls[inv.investmentCode].value;\r\n sumOther += group.controls[inv.investmentCode + '-other'].value;\r\n });\r\n return ((this.groupForms[cT].controls['investmentMix'].value === InvestmentMix.Unchanged && sumCurrent !== 100) || \r\n (this.groupForms[cT].controls['investmentMix'].value === InvestmentMix.Different && sumOther !== 100)) ? { notValid: true} : null\r\n // : sumCurrent !== 100 ? { currentNotValid: true}\r\n // : { otherNotValid: true}\r\n }\r\n }\r\n\r\n onMixChange(cT: string) {\r\n this.investments.forEach(inv => {\r\n if (this.groupForms[cT].controls['investmentMix'].value === InvestmentMix.Unchanged) {\r\n this.groupForms[cT].controls[inv.investmentCode].enable();\r\n this.groupForms[cT].controls[inv.investmentCode + '-other'].disable();\r\n } else {\r\n this.groupForms[cT].controls[inv.investmentCode].disable();\r\n this.groupForms[cT].controls[inv.investmentCode + '-other'].enable();\r\n }\r\n });\r\n }\r\n\r\n public onSubmit() {\r\n const roiCalculationData = [];\r\n this.allowedContributionTypes.forEach(cT => {\r\n if (this.groupForms[cT].valid && this.yearsPeriod >= 1) {\r\n const data: IROICalculationData = {\r\n contributionType: cT,\r\n investmentMix: this.groupForms[cT].controls['investmentMix'].value,\r\n yearsPeriod: 0,\r\n contributionRaisePercentage: 0,\r\n extraPayments: [],\r\n futureInvestmentOptions: []\r\n }\r\n this.investments.forEach(inv => {\r\n data.futureInvestmentOptions.push(new FutureInvestmentOptions({\r\n investmentCode: inv.investmentCode,\r\n investmentPercentage: this.groupForms[cT].controls['investmentMix'].value === InvestmentMix.Unchanged \r\n ? this.groupForms[cT].controls[inv.investmentCode].value\r\n : this.groupForms[cT].controls[inv.investmentCode + '-other'].value\r\n }));\r\n });\r\n if (cT.includes('Regular')) {\r\n data.yearsPeriod = this.yearsPeriod;\r\n data.contributionRaisePercentage = this.groupForms[cT].controls['contributionRaisePercentage'].value;\r\n } else {\r\n this.groupForms[cT].controls['extraPayments'].value.forEach( (eP, index) => {\r\n var yearsToAdd = index < 10 ? 1 : 5;\r\n data.extraPayments.push(new ExtraPayments({\r\n extraPaymentAmount: eP ? eP : 0,\r\n year: new Date(data.extraPayments.length > 0 ? data.extraPayments[index - 1].year + yearsToAdd : this.currentYear.getFullYear() + 1, this.currentYear.getMonth(), this.currentYear.getDate()).getFullYear()\r\n }));\r\n });\r\n }\r\n roiCalculationData.push(new ROICalculationData(data));\r\n } else {\r\n this.groupForms[cT].markAllAsTouched();\r\n this.validForms = false;\r\n }\r\n });\r\n if (this.validForms) {\r\n this.busy = true;\r\n const futureROICalculation = new FutureROICalculation({\r\n policyIdentifier: this.policyService.selectedPolicy.id,\r\n insuredId: this.policyService.dafSelectedMember.insuredId,\r\n roiCalculationData: roiCalculationData\r\n });\r\n this.dafApiClient.getFutureROICalculation(this.policyService.selectedPolicy.id, this.policyService.dafSelectedMember.insuredId,\r\n futureROICalculation).subscribe(response => {\r\n this.notificationService.success('Ενδεικτική Εξέλιξη Λογαριασμού', 'Η υποβολή έγινε με επιτυχία!');\r\n this.busy = false;\r\n this.showDiagram = true;\r\n this.futureReturns = [];\r\n response.items.forEach(i => {\r\n this.futureReturns.push({name: i.year.toString() ?? 'undefined', value: i.investmentGrossValue ?? 0});\r\n });\r\n }, error => {\r\n if (error.result && error.result.length > 0) {\r\n this.errorMessages = error.result;\r\n }\r\n this.notificationService.error('Ενδεικτική Εξέλιξη Λογαριασμού', error.message);\r\n this.busy = false;\r\n });\r\n } else {\r\n this.notificationService.warn('Ενδεικτική Εξέλιξη Λογαριασμού', 'Επιβεβαιώστε ότι συμπληρώσατε σωστά τα πεδία για να συνεχίσετε.');\r\n this.validForms = true;\r\n this.busy = false;\r\n }\r\n }\r\n\r\n public showProjectionInstructionDialog() {\r\n \r\n this.dialog.open(\r\n ProjectionInstructionsDialogComponent,\r\n { panelClass: 'custom-dialog-container' , width: 'auto', minWidth: '300px', maxWidth: '360px', height: '85vh', \r\n autoFocus:true, disableClose: true, \r\n position : {\r\n top: '130px' ,\r\n right: '0'\r\n },\r\n // role: 'alertdialog',\r\n hasBackdrop:false,\r\n scrollStrategy: new NoopScrollStrategy(),\r\n data: {} })\r\n // .afterClosed()\r\n // .pipe(take(1))\r\n // .subscribe(\r\n // (result: any) => {\r\n // this.policyService.policyIdChanged(result);\r\n // this.policyService.goToSelectedPolicy();\r\n // }\r\n // );\r\n }\r\n}","import { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ggp-details-value',\r\n templateUrl: 'details-value.component.html'\r\n})\r\nexport class DetailsValueComponent {\r\n @Input() label: string;\r\n @Input() value: string;\r\n @Input() gpclass: string;\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { PolicyService, AuthService, DafApiClient, NotificationService } from 'src/app/core/services';\r\nimport { WebApiService } from 'src/app/core/services/web-api.service';\r\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\r\nimport { PolicySelectorDialogComponent } from '../../policy-selector-dialog.component';\r\n\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { IMenuItem } from 'src/app/core/core-models';\r\nimport { take } from 'rxjs/operators';\r\n\r\n\r\nexport class ActionKeys {\r\n public static INVITE_MEMBER = 'INVITE_MEMBER';\r\n}\r\n\r\n@Component({\r\n templateUrl: './daf-policy.component.html'\r\n})\r\nexport class DafPolicyComponent implements OnInit {\r\n\r\n isSysAdmin = false;\r\n isMember = false;\r\n isHr = false;\r\n isViewOnlyAdmin = false;\r\n public policyActions: IMenuItem[];\r\n public policySubActions: IMenuItem[];\r\n constructor(public policyService: PolicyService, private webApi: WebApiService, private user: AuthService, private dafApi: DafApiClient, private dialog: MatDialog, protected notificationService: NotificationService, private router: Router, private route: ActivatedRoute) {\r\n this.router.routeReuseStrategy.shouldReuseRoute = () => false;\r\n }\r\n\r\n ngOnInit() {\r\n // this.dialog.open(ConfirmationDialogComponent, {\r\n // data: {\r\n // // cancelText: \"Οχι\",\r\n // confirmText: \"ΟΚ\",\r\n // message: \"Σας γνωρίζουμε ότι η αποτίμηση του λογαριασμού σας δεν είναι προσωρινά διαθέσιμη λόγω ετήσιας διαδικασίας κλεισίματος αποθεμάτων.Ευχαριστούμε για την κατανόηση.\",\r\n // title: \"Ενημέρωση\"\r\n // }\r\n // })\r\n console.log('selectedPolicy', this.policyService.selectedPolicy);\r\n this.isMember = this.policyService.selectedPolicy.membershipStatus.accessLevel === 'Member';\r\n this.isHr = this.policyService.selectedPolicy.membershipStatus.accessLevel === 'Hr';\r\n this.isViewOnlyAdmin = this.policyService.selectedPolicy.membershipStatus.accessLevel === 'ViewOnlyAdmin' || this.policyService.selectedPolicy.membershipStatus.accessLevel === 'Backoffice';\r\n this.isSysAdmin = this.policyService.selectedPolicy.membershipStatus.accessLevel === 'Admin';\r\n // TODO take into account the user role and init the actions array accordingly\r\n this.policyActions = [\r\n { key: 'contributions_file', text: 'Πρότυπο Αρχείο Εισφορών', icon: 'get_app', tooltip: 'Κατέβασμα άδειου πρότυπου αρχείου Εισφορών' },\r\n { key: 'action3', text: 'Πρότυπα PDF / Ένταξη – Δικαιούχοι', icon: 'picture_as_pdf', tooltip: 'Συνοδευτικά Pdf Αρχεία για ένταξη ασφαλισμένων στο συμβόλαιο', hasChildren: true },\r\n { key: 'action4', text: 'Πρότυπα PDF / Αλλαγή Εισφοράς', icon: 'picture_as_pdf', tooltip: 'Συνοδευτικά Pdf Αρχεία για αλλαγές των εισφορών', hasChildren: true },\r\n { key: 'action5', text: 'Πρότυπα PDF / Έντυπα Παροχής', icon: 'picture_as_pdf', tooltip: 'Συνοδευτικά Pdf Αρχεία για χρήση των παροχών των συμβολαίων ', hasChildren: true },\r\n { key: 'divider' },\r\n { key: ActionKeys.INVITE_MEMBER, text: 'Πρόσκληση Εγγραφής', icon: 'person_add', tooltip: 'Μεταφορά στην οθόνη αποστολής προσκλήσεων σε ασφαλισμένους για εγγραφή στο portal'}\r\n ];\r\n this.policySubActions = [\r\n { key: 'insurance_application', parentKey: 'action3', text: 'Αίτηση Ασφάλισης', icon: 'get_app'},\r\n { key: 'set_beneficiaries_application', parentKey: 'action3', text: 'Αίτηση Αλλαγής Δικαιούχων', icon: 'get_app'},\r\n { key: 'set_contribution_application', parentKey: 'action4', text: 'Αίτηση Αλλαγής Εισφοράς', icon: 'get_app'},\r\n // { key: 'urgent_contribution_application', parentKey: 'action5', text: 'Αίτηση Έκτακτης Εισφοράς', icon: 'get_app'},\r\n { key: 'partial_redemption_application', parentKey: 'action5', text: 'Αίτηση Μερικής Εξαγοράς', icon: 'get_app'},\r\n { key: 'deposit_info', parentKey: 'action5', text: 'Δήλωση Στοιχείων Κατάθεσης', icon: 'get_app'}\r\n ];\r\n }\r\n\r\n public actionClick(actionKey) {\r\n console.log('daf policy component received an actionClicked event from the header component', actionKey);\r\n \r\n if(actionKey === ActionKeys.INVITE_MEMBER){\r\n this.policyService.navigate([`/daf-policy/${this.policyService.selectedPolicy.id}/manage`]);\r\n return;\r\n }\r\n\r\n var fileExtension = 'pdf';\r\n\r\n if(actionKey === 'contributions_file'){\r\n fileExtension = 'xlsx';\r\n }\r\n\r\n const fileURL = `/assets/daf-files/${actionKey}.${fileExtension}`;\r\n window.open(fileURL, '_blank');\r\n }\r\n\r\n showPoliciesSelector() {\r\n this.dialog.open(\r\n PolicySelectorDialogComponent,\r\n { width: 'auto', minWidth: '800px', maxWidth: '1500px', autoFocus: true, disableClose: false, data: {} })\r\n .afterClosed()\r\n .pipe(take(1))\r\n .subscribe(\r\n (result: any) => {\r\n this.policyService.policyIdChanged(result);\r\n this.policyService.goToSelectedPolicy();\r\n }\r\n );\r\n }\r\n}\r\n","export default \"
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n Προστατευόμενα μέλη\\r\\n {{member.protectedMembersCount}} people\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\";","export default \"\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\";","import { DafApiClient, PolicyService } from 'src/app/core/services';\r\nimport { Component, OnInit, Input, EventEmitter, Output } from '@angular/core';\r\nimport { MatSelectChange } from '@angular/material/select';\r\nimport { UserService } from '../../../core/services/user.service';\r\nimport { Compliance152DialogComponent } from '../../152-compliance-dialog.component';\r\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\r\nimport { take } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'app-daf-policy-overview',\r\n templateUrl: './daf-policy-overview.component.html'\r\n})\r\nexport class DafPolicyOverviewComponent implements OnInit {\r\n isSysAdmin = true;\r\n isMember = false;\r\n isHr = false;\r\n isViewOnlyAdmin = false;\r\n policyMemberId : string;\r\n @Output() policySwitcher = new EventEmitter();\r\n\r\n onSwitchPolicy = () => this.policySwitcher.emit();\r\n\r\n constructor(public policyService: PolicyService, private user: UserService, private dafApiClient: DafApiClient,private dialog: MatDialog) { }\r\n\r\n ngOnInit(): void {\r\n this.isSysAdmin = this.policyService.selectedPolicy.membershipStatus.accessLevel === 'Admin';\r\n this.isMember = this.policyService.selectedPolicy.membershipStatus.accessLevel === 'Member';\r\n this.isHr = this.policyService.selectedPolicy.membershipStatus.accessLevel === 'Hr';\r\n this.isViewOnlyAdmin = this.policyService.selectedPolicy.membershipStatus.accessLevel === 'ViewOnlyAdmin' || this.policyService.selectedPolicy.membershipStatus.accessLevel === 'Backoffice';\r\n this.policyMemberId = this.policyService.isMember ? this.policyService.dafSelectedMember.id : this.policyService.policyMemberId;\r\n this.dafApiClient.isMember152ComplianceStatusOk(this.policyService.selectedPolicyId, this.policyMemberId ).subscribe(\r\n (result: any) => {\r\n if(!result)\r\n this.show152ComplianceDialog(); \r\n });\r\n }\r\n\r\n onPolicyChange(policyId: MatSelectChange): void {\r\n console.log('onPolicyChange', policyId);\r\n this.policyService.policyIdChanged(policyId.value);\r\n if (this.policyService.isMember) {\r\n this.dafApiClient.getInsured(this.policyService.selectedPolicy.id, this.policyService.dafSelectedMember.insuredId, false).subscribe(response => {\r\n this.policyService.dafSelectedMember.summary = response.summary;\r\n this.policyService.dafSelectedMember.personalInvestmentSummary = response.personalInvestmentSummary;\r\n this.policyService.dafSelectedMember.questionnaireDetails = response.questionnaireDetails;\r\n });\r\n }\r\n this.policyService.goToSelectedPolicy();\r\n }\r\n\r\n show152ComplianceDialog() {\r\n this.dialog.open(\r\n Compliance152DialogComponent,\r\n { width: 'auto', minWidth: '800px', maxWidth: '900px', autoFocus: true, disableClose: true, data: {} })\r\n .afterClosed()\r\n .pipe(take(1))\r\n .subscribe(\r\n (result: any) => {\r\n this.policyService.policyIdChanged(result);\r\n this.policyService.goToSelectedPolicy();\r\n }\r\n );\r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { AuthService } from '../services/auth.service';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-auth-renew',\r\n template: '
'\r\n})\r\nexport class AuthRenewComponent implements OnInit {\r\n\r\n constructor(private authService: AuthService, private router: Router) { }\r\n\r\n ngOnInit() {\r\n console.log('AuthRenewComponent init!!!');\r\n this.authService.manager.signinSilentCallback().catch(err => {\r\n console.log('redirect to unauthorized!');\r\n this.router.navigate(['/unauthorized']);\r\n });\r\n }\r\n\r\n\r\n}\r\n","export default \"\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n για αριθμό ΕΤΩΝ\\r\\n \\r\\n \\r\\n
Ο αριθμός ετών θα πρέπει να είναι τουλάχιστον 1
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{contrType | translateEnum}}
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
{{requiredFieldMsg}}
\\r\\n
\\r\\n
Μίγμα Επενδύσεων\\r\\n \\r\\n \\r\\n
{{ mix | translateEnum }}
\\r\\n
\\r\\n
\\r\\n
ΑΥΞΗΣΗ ΜΙΣΘΟΥ/ ΕΙΣΦΟΡΩΝ (%)
\\r\\n
\\r\\n \\r\\n
\\r\\n
{{contrType | translateEnum}}
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
Μίγμα Επενδύσεων\\r\\n \\r\\n \\r\\n
{{ mix | translateEnum }}
\\r\\n
\\r\\n
\\r\\n
{{yearLabels[contrType][i]}}
\\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 {{inv.description}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
Το άθροισμα των επενδυτικών επιλογών στη στήλη \\\"{{ groupForms[contrType].get('investmentMix').value | translateEnum }}\\\" πρέπει να είναι 100%
\\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 {{inv.description}}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
Το άθροισμα των επενδυτικών επιλογών στη στήλη \\\"{{ groupForms[contrType].get('investmentMix').value | translateEnum}}\\\" πρέπει να είναι 100%
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{contrType | translateEnum}}
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
{{yearLabels[contrType][i]}}
\\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 {{inv.investmentDescription}}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
Το άθροισμα των επενδυτικών επιλογών στη στήλη \\\"{{ groupForms[contrType].get('investmentMix').value| translateEnum }}\\\" πρέπει να είναι 100%
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\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 { QuestionnaireDisclaimerType, ContributionType, QuestionnaireApprovalRequest,IQuestionnaireRequest, InvestmentSwitchCreateRequest, InvestmentSwitchDetailCreateRequest, SwitchType, QuestionnaireRequest, QuestionnaireDetails, QuestionnaireDetailRequest } from './../../../core/services/daf-api.service';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { FormArray, FormBuilder, FormControl } from '@angular/forms';\r\nimport { DafApiClient, NotificationService, PolicyService } from 'src/app/core/services';\r\nimport { Investment } from 'src/app/core/services/daf-api.service';\r\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\r\nimport { take } from 'rxjs/operators';\r\nimport { DafSwitchConfirmationDialogComponent } from './confirmation-dialog/daf-switch-confirmation-dialog.component';\r\nimport { IDafInsuredMember, QuestionnaireGroupType } from 'src/app/app-models';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { IMessage } from 'src/app/app-models';\r\nimport { TableConfig } from 'src/app/core/core-models';\r\nimport { ConfirmDialogService } from 'src/app/shared/components/confirmation-dialog/confirm-dialog.service';\r\nimport { AnswerSustainability } from 'src/app/shared/Text/config';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'app-daf-switch',\r\n templateUrl: './daf-switch.component.html'\r\n})\r\n\r\nexport class DafSwitchComponent implements OnInit {\r\n investment = new Investment();\r\n contributionTypes = [];\r\n investments = [];\r\n investmentForms = [];\r\n isFreeInvestmentProfile: boolean;\r\n public busy = false;\r\n validForms = true;\r\n switchTypes = [];\r\n selectedSwitchType;\r\n errorMessages = [];\r\n scoreDetail: QuestionnaireDetails;\r\n SustainabilityDetail: QuestionnaireDetails;\r\n messages: IMessage[] = [];\r\n listOptions: TableConfig = new TableConfig();\r\n disclaimer: QuestionnaireApprovalRequest\r\n\r\n\r\n constructor(public policyService: PolicyService,\r\n private dafApiClient: DafApiClient,\r\n private dialogSustainability: ConfirmDialogService,\r\n private fb: FormBuilder,\r\n private dialog: MatDialog,\r\n private dafApi: DafApiClient,\r\n protected notificationService: NotificationService,\r\n private route: ActivatedRoute) {\r\n this.switchTypes = Object.keys(SwitchType);\r\n this.selectedSwitchType = this.switchTypes[0];\r\n\r\n \r\n }\r\n\r\n ngOnInit(): void {\r\n this.policyService.dafSelectedMember = this.route.snapshot.data['member'] || {};\r\n this.dafApiClient.getInsuredInvestments(this.policyService.selectedPolicy.id, this.policyService.dafSelectedMember.insuredId).subscribe(response => {\r\n this.investment.newOptions = response.newOptions;\r\n this.investment.currentOptions = response.currentOptions;\r\n this.contributionTypes = this.investment.newOptions.map(i => i.contributionType)\r\n .filter((value, index, self) => self.indexOf(value) === index);\r\n this.investment.newOptions.forEach(i => {\r\n let investment = this.investments.find(inv => {\r\n return inv.description === i.description;\r\n })\r\n if (investment) {\r\n let index = this.investments.indexOf(investment);\r\n this.investments[index].allowedContrTypes.push(i.contributionType);\r\n } else {\r\n investment = {\r\n description: i.description,\r\n allowedContrTypes: [i.contributionType],\r\n profileValid: i.profileValid,\r\n investmentCode: i.code\r\n }\r\n this.investments.push(investment);\r\n }\r\n });\r\n this.contributionTypes.forEach(cT => {\r\n this.investmentForms[cT] = this.fb.group({\r\n percentages: this.fb.array([])\r\n });\r\n this.investments.forEach(i => {\r\n let disabled = !i.allowedContrTypes.some(c => c === cT);\r\n (this.investmentForms[cT].get('percentages')).push(new FormControl({ value: null, disabled: disabled }))\r\n this.investmentForms[cT].get('percentages').setValidators(this.sumValidation(cT));\r\n });\r\n });\r\n });\r\n this.SustainabilityDetail = undefined;\r\n this.scoreDetail = undefined\r\n this.policyService.dafSelectedMember.questionnaireDetails.forEach(group => {\r\n if (group.type === QuestionnaireGroupType.SUSTAINABILITY) {\r\n this.SustainabilityDetail = group;\r\n }\r\n if (group.type === QuestionnaireGroupType.SCORE) {\r\n this.scoreDetail = group;\r\n if (this.scoreDetail?.disclaimerType === QuestionnaireDisclaimerType.Disagree) {\r\n this.isFreeInvestmentProfile = true;\r\n }\r\n }\r\n });\r\n this.SustainabilityDetail == undefined || this.SustainabilityDetail.disclaimerType == QuestionnaireDisclaimerType.Undefined ? this.SustainabilityMessage(this.policyService.dafSelectedMember) : 0;\r\n }\r\n\r\n \r\n SustainabilityMessage(member :IDafInsuredMember) {\r\n\r\n const options = {\r\n title: 'Αποδοχή Βιωσημότητας',\r\n message: 'Eνδιαφέρεστε για την Βιωσιμότητα?',\r\n cancelText: 'Όχι',\r\n confirmText: 'Ναι',\r\n disableClose: true\r\n\r\n };\r\n this.dialogSustainability.open(options);\r\n this.dialogSustainability.confirmed().subscribe(confirmed => {\r\n if (confirmed) {\r\n const url = `daf-policy/${member.policyId}/members/${member.id}/questionnaire/2`;\r\n this.policyService.navigate([url]);\r\n }\r\n else {\r\n const jsonString = JSON.stringify(AnswerSustainability); // Convert array to string\r\n const parsedObject = JSON.parse(jsonString); // Parse the stringified array\r\n \r\n const dets = AnswerSustainability;\r\n const data: IQuestionnaireRequest = {\r\n QuestionnaireGroupTypes: QuestionnaireGroupType.SUSTAINABILITY,\r\n detailItems: parsedObject // Use the parsed object\r\n };\r\n const detailItems = [];\r\n JSON.stringify(data.detailItems);\r\n\r\n //this.questionnaireId = QuestionnaireGroupId.SUSTAINABILITY\r\n this.dafApi.setQuestionnaireValues(member.policyId, member.insuredId, new QuestionnaireRequest(data)).subscribe({\r\n next: (response) => {\r\n this.notificationService.success('Αποδοχή Βιωσημότητας', 'Η υποβολή έγινε με επιτυχία!')\r\n this.submitDiscailmerSustainability(response?.scoreId)\r\n },\r\n error: (error) => {\r\n this.notificationService.error('Αποδοχή Βιωσημότητας', error.message);\r\n }\r\n });\r\n\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n private submitDiscailmerSustainability(scoreId :string): void {\r\n \r\n \r\n this.disclaimer = new QuestionnaireApprovalRequest({\r\n disclaimer: QuestionnaireDisclaimerType.Agree\r\n });\r\n \r\n this.dafApi.customerQuestionnaireApproval(\r\n this.policyService.selectedPolicy.id,\r\n this.policyService.dafSelectedMember.insuredId,\r\n scoreId,\r\n this.disclaimer\r\n\r\n ).subscribe({\r\n next: (response: any) => {\r\n // Handle successful response here\r\n },\r\n error: (error) => {\r\n this.notificationService.error('Συμπλήρωση ερωτηματολογίου', error.message);\r\n }\r\n });\r\n }\r\n public gotoMemberProfile() {\r\n const url = `daf-policy/${this.policyService.selectedPolicy.id}/members/${this.policyService.dafSelectedMember.id}`;\r\n this.policyService.navigate([url]);\r\n }\r\n\r\n sumValidation(cT: string) {\r\n return (formArray: FormArray): { [key: string]: any } => {\r\n let sum = 0;\r\n let enabledColumn = false;\r\n for (let control in formArray.controls) {\r\n if (formArray.get([control]).value) {\r\n enabledColumn = true;\r\n }\r\n sum += formArray.get([control]).value;\r\n }\r\n return enabledColumn && sum !== 100 ? { notValid: true } : null\r\n }\r\n }\r\n\r\n filledForm(cT: string) {\r\n var filledForm = false;\r\n this.investmentForms[cT].get('percentages').controls.forEach((control, index) => {\r\n if (control.value) {\r\n filledForm = true;\r\n }\r\n });\r\n return filledForm;\r\n }\r\n\r\n public getInvestmentCurrentValue(contributionType, investmentCode) {\r\n let investment = this.investment.currentOptions.filter(i => {\r\n return i.contributionType === contributionType && i.code === investmentCode\r\n })\r\n return investment[0] ? investment[0].percentage : 0\r\n }\r\n\r\n public onSubmit() {\r\n const investmentSwitchDetailRequest: InvestmentSwitchDetailCreateRequest[] = [];\r\n this.errorMessages = [];\r\n this.validForms = true;\r\n this.contributionTypes.forEach(cT => {\r\n if (this.investmentForms[cT].valid) {\r\n if (this.filledForm(cT)) {\r\n this.investmentForms[cT].get('percentages').controls.forEach((control, index) => {\r\n // if (control.value) {\r\n let investmentSwitch = new InvestmentSwitchDetailCreateRequest({\r\n contributionType: cT,\r\n investmentId: this.investments[index].investmentCode,\r\n investmentCode: this.investments[index].investmentCode,\r\n investmentDescription: this.investments[index].description,\r\n percentage: control.value ?? 0\r\n });\r\n investmentSwitchDetailRequest.push(investmentSwitch);\r\n // }\r\n });\r\n }\r\n } else {\r\n this.validForms = false;\r\n }\r\n });\r\n if (this.validForms) {\r\n this.busy = true;\r\n const investmentSwitchCreateRequest = new InvestmentSwitchCreateRequest({\r\n type: this.selectedSwitchType,\r\n switches: investmentSwitchDetailRequest\r\n });\r\n this.dialog.open(\r\n DafSwitchConfirmationDialogComponent,\r\n { autoFocus: true, disableClose: true, data: { contributionTypes: this.contributionTypes, investments: investmentSwitchCreateRequest, investment: this.investment } })\r\n .afterClosed()\r\n .pipe(take(1))\r\n .subscribe(\r\n (result: any) => {\r\n if (result) {\r\n this.dafApiClient.createInsuredSwitch(this.policyService.selectedPolicy.id, this.policyService.dafSelectedMember.insuredId,\r\n investmentSwitchCreateRequest).subscribe(response => {\r\n this.notificationService.success('Αρχική Επένδυση', 'Η υποβολή έγινε με επιτυχία!');\r\n this.busy = false;\r\n this.policyService.goToSelectedPolicy();\r\n }, error => {\r\n if (error.result && error.result.length > 0) {\r\n this.errorMessages = error.result;\r\n }\r\n this.notificationService.error('Αρχική Επένδυση', error.message);\r\n this.busy = false;\r\n });\r\n }\r\n this.busy = false;\r\n }\r\n );\r\n } else {\r\n this.notificationService.error('Αρχική Επένδυση', 'Το άθροισμα των επενδυτικών επιλογών ανά στήλη πρέπει να είναι 100%');\r\n this.busy = false;\r\n }\r\n }\r\n}\r\n","export default \"
0\\\" class=\\\"header-container\\\">\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
0; else nomessages\\\" [matMenuTriggerFor]=\\\"messagesmenu\\\" class=\\\"cpointer no-underline\\\">\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\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.firstName}} {{user.lastName}}
\\r\\n
{{ user.role }}
\\r\\n
\\r\\n
\\r\\n {{user.fullName | initials}}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
{{user.firstName}} {{user.lastName}}
\\r\\n
{{ user.role }}
\\r\\n
\\r\\n
\\r\\n {{user.fullName | initials}}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\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, Inject } from '@angular/core';\r\nimport { IInsuredMember } from '../app-models';\r\nimport { NgForm } from '@angular/forms';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\n\r\n@Component({\r\n templateUrl: 'partial-birthdate-dialog.component.html'\r\n})\r\nexport class PartialBirthDateDialogComponent {\r\n constructor(private dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data: IInsuredMember ) {\r\n\r\n }\r\n public save(form: NgForm): void {\r\n if (form.invalid) {\r\n return;\r\n }\r\n this.dialogRef.close(this.data);\r\n }\r\n public close(): void { this.dialogRef.close(); }\r\n}\r\n","import { filter, map } from 'rxjs/operators';\r\nimport { Component, Inject, OnInit } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { chain, groupBy } from 'lodash';\r\n\r\n@Component({\r\n templateUrl: './daf-switch-confirmation-dialog.component.html'\r\n})\r\nexport class DafSwitchConfirmationDialogComponent implements OnInit {\r\n contributionTypes = [];\r\n investments;\r\n investment;\r\n\r\n constructor(private dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any) { }\r\n\r\n ngOnInit(): void {\r\n this.contributionTypes = this.data.contributionTypes;\r\n this.investments = chain(this.data.investments.switches)\r\n //.filter(x => x.percentage !== 0)\r\n .groupBy(x => x.investmentCode)\r\n .map((value, key) => ({ code: key, type: groupBy(value, 'contributionType') }))\r\n .value();\r\n this.investment = this.data.investment;\r\n }\r\n\r\n public getInvestmentCurrentValue(contributionType, investmentCode) {\r\n var investment = this.investment.currentOptions.filter(i => {\r\n return i.contributionType === contributionType && i.code === investmentCode\r\n });\r\n return investment[0] ? investment[0].percentage + '%' : '';\r\n }\r\n\r\n public getInvestmentDescriptiom(investmentCode) {\r\n var investment = this.data.investments.switches.filter(i => {\r\n return i.investmentCode === investmentCode\r\n });\r\n return investment[0] ? investment[0].investmentDescription : '';\r\n }\r\n\r\n public save(): void {\r\n this.dialogRef.close(true);\r\n }\r\n\r\n public close(): void {\r\n this.dialogRef.close(false);\r\n }\r\n}\r\n","export default \"
\\r\\n
\\r\\n

Σύνολο Αποτίμησης: {{ valuationSum | currency:'EUR' }}

\\r\\n \\r\\n
\\r\\n
0\\\" class=\\\"grid\\\">\\r\\n
\\r\\n
Επένδυση σε ΕΥΡΩ
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{ row?.description }}\\r\\n \\r\\n \\r\\n \\r\\n {{ row?.contributionType | translateEnum | nullOrEmpty }}\\r\\n \\r\\n \\r\\n {{ row?.valuationDate | date | nullOrEmpty }}\\r\\n \\r\\n \\r\\n {{ row?.currentGrossValue | currency:'EUR' }}\\r\\n \\r\\n \\r\\n
\\r\\n
0\\\" class=\\\"grid\\\">\\r\\n
\\r\\n
Επένδυση σε ΜΕΡΙΔΙΑ
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{ row?.description }}\\r\\n \\r\\n \\r\\n \\r\\n {{ row?.contributionType | translateEnum | nullOrEmpty }}\\r\\n \\r\\n \\r\\n {{ row?.dividendNumber }}\\r\\n \\r\\n \\r\\n {{ row?.dividendValue | currency:'EUR'}}\\r\\n \\r\\n \\r\\n {{ row?.valuationDate | date | nullOrEmpty }}\\r\\n \\r\\n \\r\\n {{ row?.currentGrossValue | currency:'EUR' }}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\";","import { PolicyInvestment, InvestmentProductType, RedemptionApplicationCreateRequest, ProvisionPaymentType, RedemptionInvestment } from 'src/app/core/services/daf-api.service';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { PolicyService, DafApiClient, NotificationService } from 'src/app/core/services';\r\nimport { Validators, FormBuilder } from '@angular/forms';\r\n\r\nexport interface PeriodicElement { \r\n position: number;\r\n company: string;\r\n link: string;\r\n capital: string; \r\n ISIN : string; \r\n} \r\n\r\nconst ELEMENT_DATA: PeriodicElement[] = [\r\n {position: 1 , company: 'GAM', link: 'https://www.groupama.gr/getattachment/programmata-asfalishs/idiwtes/Apotamieysh-Ependysh/Enhmerwtiko-yliko-ependytikwn-kefalaiwn/GROUPAMA-ENTREPRISES-KID.pdf.aspx?lang=el-GR', capital : 'GROUPAMA ENTERPRISES', ISIN: 'FR0010288316'},\r\n {position: 2 , company: 'GAM', link: 'https://www.groupama.gr/getattachment/programmata-asfalishs/idiwtes/Apotamieysh-Ependysh/Enhmerwtiko-yliko-ependytikwn-kefalaiwn/GROUPAMA-SELECTION-ISR-PRUDENCE-KIID.pdf.aspx?lang=el-GR', capital : 'GROUPAMA SELECTION ISR PRUDENCE', ISIN: 'FR0010013953'},\r\n {position: 3 , company: 'GAM', link: 'https://www.groupama.gr/getattachment/programmata-asfalishs/idiwtes/Apotamieysh-Ependysh/Enhmerwtiko-yliko-ependytikwn-kefalaiwn/GROUPAMA-EQUILIBRE-KIID.pdf.aspx?lang=el-GR?lang=el-GR', capital : 'GROUPAMA EQUILIBRE', ISIN: 'FR0010013961'},\r\n {position: 4 , company: 'GAM', link: 'https://www.groupama.gr/getattachment/programmata-asfalishs/idiwtes/Apotamieysh-Ependysh/Enhmerwtiko-yliko-ependytikwn-kefalaiwn/GROUPAMA-SELECTION-ISR-DYNAMISME-KIID.pdf.aspx?lang=el-GR', capital : 'GROUPAMA SELECTION ISR DYNAMISME', ISIN: 'FR0010013912'},\r\n {position: 5 , company: 'BNP PARIBAS ASSET MANAGEMENT', link: 'https://docfinder.bnpparibas-am.com/api/files/21bbf159-89c6-49e4-bcf9-8a54d66f5a03/11264', capital : 'BNP PARIBAS ENHANCED BOND 6M', ISIN: 'LU0325598166'},\r\n {position: 6 , company: 'BNP PARIBAS ASSET MANAGEMENT', link: 'https://docfinder.bnpparibas-am.com/api/files/d5127236-fac3-4e28-b1c8-f29333f22dec/10752', capital : 'BNP PARIBAS EURO CORPORATE BOND', ISIN: 'LU0131210360'},\r\n {position: 7 , company: 'BNP PARIBAS ASSET MANAGEMENT', link: 'https://docfinder.bnpparibas-am.com/api/files/ace0d922-661f-4891-97ff-6421f40f634d/8704', capital : 'BNP PARIBAS EURO GOVERNMENT BOND', ISIN: 'LU0111548326'},\r\n {position: 8 , company: 'BNP PARIBAS ASSET MANAGEMENT', link: 'https://docfinder.bnpparibas-am.com/api/files/2c9e309b-56de-43bd-89f0-4876fb5956f5/3584', capital : 'BNP PARIBAS GREEN BOND', ISIN: 'LU1620156999'},\r\n {position: 9 , company: 'BNP PARIBAS ASSET MANAGEMENT', link: 'https://docfinder.bnpparibas-am.com/api/files/9e4dd0a5-9c8b-4124-8715-b88621a9beaf/10752', capital : 'BNP PARIBAS EURO HIGH YIELD BOND', ISIN: 'LU0823380802'},\r\n {position: 10 , company: 'BNP PARIBAS ASSET MANAGEMENT', link: 'https://docfinder.bnpparibas-am.com/api/files/805d425d-d314-45a0-ae31-4dc59a831c74/10240', capital : 'BNP PARIBAS GLOBAL HIGH YIELD BOND', ISIN: 'LU0823388615'},\r\n {position: 11 , company: 'BNP PARIBAS ASSET MANAGEMENT', link: 'https://docfinder.bnpparibas-am.com/api/files/4dbc4be4-644d-4639-be3b-8d28b3bfcad6/9728', capital : 'BNP PARIBAS EMERGING BOND', ISIN: 'LU0282274348'},\r\n {position: 12 , company: 'BNP PARIBAS ASSET MANAGEMENT', link: 'https://docfinder.bnpparibas-am.com/api/files/30f7a0eb-0ac3-4450-8a45-85b86cff3e95/1024', capital : 'BNP PARIBAS CHINA EQUITY', ISIN: 'LU2192434210'},\r\n {position: 13 , company: 'BNP PARIBAS ASSET MANAGEMENT', link: 'https://docfinder.bnpparibas-am.com/api/files/eb5466f6-4685-4eba-b79f-d11844b40478/11776', capital : 'BNP PARIBAS CLIMATE IMPACT', ISIN: 'LU0406802339'},\r\n {position: 14 , company: 'BNP PARIBAS ASSET MANAGEMENT', link: 'https://docfinder.bnpparibas-am.com/api/files/a8ea4ad7-e145-43b1-9186-db8f10903622/9728', capital : 'BNP PARIBAS DISRUPTIVE TECHNOLOGY', ISIN: 'LU0823421689'},\r\n {position: 15 , company: 'BNP PARIBAS ASSET MANAGEMENT', link: 'https://docfinder.bnpparibas-am.com/api/files/ab9a9be5-7a73-45bd-9a73-661f1457d8fd/11776', capital : 'BNP PARIBAS ENERGY TRANSITION', ISIN: 'LU0823414635'},\r\n {position: 16 , company: 'BLACKROCK', link: 'https://www.blackrock.com/kiid/literature/kiid/kiid-bgf-euro-bond-fund-class-a2-eur-gr-lu0050372472-el.pdf', capital : 'BGF EURO BOND FUND', ISIN: 'LU0050372472'},\r\n {position: 17 , company: 'BLACKROCK', link: 'https://www.blackrock.com/kiid/literature/kiid/kiid-bgf-world-bond-fund-class-a2-hedged-eur-gr-lu0330917880-el.pdf', capital : 'BGF WORLD BOND FUND', ISIN: 'LU0330917880'},\r\n {position: 18 , company: 'BLACKROCK', link: 'https://www.blackrock.com/kiid/literature/kiid/kiid-bgf-global-government-bond-fund-class-a2-hedged-eur-gr-lu0297942863-el.pdf', capital : 'BGF GLOBAL GOVERNMENT BOND FUND', ISIN: 'LU0297942863'},\r\n {position: 19 , company: 'BLACKROCK', link: 'https://www.blackrock.com/kiid/literature/kiid/kiid-bgf-global-corporate-bond-fund-class-a2-hedged-eur-gr-lu0297942434-el.pdf', capital : 'BGF GLOBAL CORPORATE BOND FUND', ISIN: 'LU0297942434'},\r\n {position: 20 , company: 'BLACKROCK', link: 'https://www.blackrock.com/kiid/literature/kiid/kiid-bgf-global-allocation-hedged-a2-eur-gr-lu0212925753-el.pdf', capital : 'BGF GLOBAL ALLOCATION FUND', ISIN: 'LU0212925753'},\r\n {position: 21 , company: 'BLACKROCK', link: 'https://www.blackrock.com/kiid/literature/kiid/kiid-bgf-world-healthscience-fund-a2-eur-hedged-gr-lu1822774284-el.pdf', capital : 'BGF WORLD HEALTHSCIENCE FUND', ISIN: 'LU1822774284'},\r\n {position: 22 , company: 'BLACKROCK', link: 'https://www.blackrock.com/kiid/literature/kiid/kiid-bgf-asian-dragon-fund-class-a2-hedged-eur-gr-lu1279613365-el.pdf', capital : 'BGF ASIAN DRAGON FUND', ISIN: 'LU1279613365'},\r\n {position: 23 , company: 'BLACKROCK', link: 'https://www.blackrock.com/kiid/literature/kiid/kiid-bgf-world-technology-fund-a2-eur-hedged-gr-lu1822773716-el.pdf', capital : 'BGF WORLD TECHNOLOGY FUND', ISIN: 'LU1822773716'},\r\n {position: 24 , company: 'BLACKROCK', link: 'https://www.blackrock.com/kiid/literature/kiid/kiid-bgf-european-equity-income-fund-a2-eur-gr-lu0562822386-el.pdf', capital : 'BGF EUROPEAN EQUITY INCOME FUND', ISIN: 'LU0562822386'},\r\n {position: 25 , company: 'BLACKROCK', link: 'https://www.blackrock.com/kiid/literature/kiid/kiid-bgf-us-growth-fund-class-a2-hedged-eur-gr-lu0942511766-el.pdf', capital : 'BGF US GROWTH FUND', ISIN: 'LU0942511766'} \r\n];\r\n\r\n/**\r\n * @title Basic use of ``\r\n */\r\n@Component({\r\n selector: 'daf-mutual-prips', \r\n templateUrl: 'daf-mutual-prips.component.html',\r\n})\r\nexport class PripsTable implements OnInit{\r\n displayedColumns: string[] = ['company', 'capital', 'ISIN'];\r\n dataSource = ELEMENT_DATA;\r\n\r\n\r\n constructor(public policyService: PolicyService) { }\r\n\r\n ngOnInit(): void { \r\n }\r\n\r\n\r\n public gotoMemberProfile() {\r\n const url = `daf-policy/${this.policyService.selectedPolicy.id}/members/${this.policyService.dafSelectedMember.id}`;\r\n this.policyService.navigate([url]);\r\n }\r\n}\r\n\r\n","import { NgxDatatableModule } from '@swimlane/ngx-datatable';\r\nimport { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { PolicyService, DafApiClient } from 'src/app/core/services';\r\nimport { PolicyInvestment, InvestmentProductType, QuestionnaireDetails, QuestionnaireDisclaimerType } from 'src/app/core/services/daf-api.service';\r\nimport { IMenuItem } from 'src/app/core/core-models';\r\nimport { Router } from '@angular/router';\r\nimport { UserService } from 'src/app/core/services/user.service';\r\nimport { QuestionnaireGroupType } from 'src/app/app-models';\r\n\r\n@Component({\r\n selector: 'app-member-investment-details',\r\n templateUrl: './daf-member-investment-details.component.html'\r\n})\r\nexport class MemberInvestmentDetailsComponent implements OnInit {\r\n public monetaryInvestments: PolicyInvestment[];\r\n public dividentsInvestments: PolicyInvestment[];\r\n public investmentActions: IMenuItem[];\r\n public valuationSum = 0;\r\n public scoreDetail : QuestionnaireDetails;\r\n public SustaiinabilityscoreDetail : QuestionnaireDetails;\r\n public SustaiinabilityDisclaimer : QuestionnaireDetails;\r\n isMember: boolean;\r\n isSelf: boolean;\r\n viewHrId : string = 'c58e7519-6249-475a-b1a0-5026805583a0';\r\n isQuestionnaireCompleted: boolean;\r\n isSustainabilityQuestionnaireCompleted :boolean\r\n hasDisclaimer :boolean\r\n onlyGuaranteedPrincipal : boolean;\r\n initialInvestment: boolean;\r\n scrollBarHorizontal = (window.innerWidth < 850);\r\n @ViewChild('table') table; \r\n \r\n\r\n constructor(public policyService: PolicyService, private dafApiClient: DafApiClient, private router: Router, private userService: UserService) { \r\n this.isMember = this.policyService.selectedPolicy.membershipStatus.accessLevel === 'Member';\r\n this.isSelf = this.policyService.selectedPolicy.membershipStatus.policyMemberId == this.policyService.dafSelectedMember.id || this.userService.id === this.viewHrId;\r\n this.scoreDetail = this.policyService.dafSelectedMember.questionnaireDetails.find(group => group.type === QuestionnaireGroupType.SCORE);\r\n this.isQuestionnaireCompleted = this.scoreDetail?.completed;\r\n this.SustaiinabilityscoreDetail = this.policyService.dafSelectedMember.questionnaireDetails.find(group => group.type === QuestionnaireGroupType.SUSTAINABILITY);\r\n this.isSustainabilityQuestionnaireCompleted = this.SustaiinabilityscoreDetail?.completed;\r\n this.onlyGuaranteedPrincipal = this.policyService.selectedPolicy.onlyGuaranteedPrincipal;\r\n this.hasDisclaimer = this.SustaiinabilityscoreDetail?.disclaimerType == QuestionnaireDisclaimerType.Undefined ;\r\n\r\n\r\n this.investmentActions = [\r\n { key: 'action3', text: 'Αρχική Επένδυση', icon: 'work', tooltip: '', path: '/initial-investment', visible: false },\r\n { key: 'action1', text: 'Εξαγορά', icon: 'euro_symbol', tooltip: '', path: '/buy-out', visible: true },\r\n { key: 'action2', text: 'Switch', icon: 'repeat', tooltip: '', path: '/switch', visible: false },\r\n { key: 'action4', text: 'Ενδεικτική Εξέλιξη Λογαριασμού', icon: 'timeline', tooltip: '', path: '/future-returns-calculation', visible: true }\r\n ];\r\n window.onresize = () => {\r\n this.scrollBarHorizontal = (window.innerWidth < 850);\r\n };\r\n }\r\n\r\n ngOnInit(): void {\r\n this.dafApiClient.getInvestmentSummary(this.policyService.selectedPolicy.id, this.policyService.dafSelectedMember.insuredId).subscribe(response => { });\r\n this.dafApiClient.getInsuredInvestments(this.policyService.selectedPolicy.id, this.policyService.dafSelectedMember.insuredId).subscribe(response => {\r\n this.initialInvestment = response.isInitialInvestment;\r\n this.investmentActions.find(x => x.key === 'action3').visible = this.initialInvestment && this.isQuestionnaireCompleted && this.isSustainabilityQuestionnaireCompleted && !this.hasDisclaimer;\r\n //this.investmentActions.find(x => x.key === 'action1').visible = !this.initialInvestment;\r\n this.investmentActions.find(x => x.key === 'action2').visible = !this.initialInvestment;\r\n });\r\n\r\n\r\n this.monetaryInvestments = this.policyService.dafSelectedMember.summary.investmentSummary.investments.filter(i => i.productType === InvestmentProductType.Monetary);\r\n this.dividentsInvestments = this.policyService.dafSelectedMember.summary.investmentSummary.investments.filter(i => i.productType === InvestmentProductType.Dividends);\r\n this.valuationSum = this.policyService.dafSelectedMember.summary.investmentSummary.investments.reduce((acc, o) => acc + parseFloat(o.currentGrossValue.toString()), 0) \r\n\r\n }\r\n\r\n public goToRoute(route) {\r\n const url = `daf-policy/${this.policyService.selectedPolicy.id}/members/${this.policyService.dafSelectedMember.id}/${route}`;\r\n this.policyService.navigate([url]);\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { IPolicyCategory } from '../../app-models';\r\n\r\n@Pipe({ name: 'categoryName' })\r\nexport class BenefitCategoryPipe implements PipeTransform {\r\n transform(policyCategoryId: string, categories: IPolicyCategory[] = []): string {\r\n const results = categories.filter((cat: IPolicyCategory) => cat.id === policyCategoryId);\r\n const r = results.length > 0 ? results[0].title : '-'\r\n return r;\r\n }\r\n}\r\n\r\n@Pipe({ name: 'inCategory' })\r\nexport class BenefitCategory1Pipe implements PipeTransform {\r\n transform(categories: IPolicyCategory[] = [], policyCategoryId: string): any[] {\r\n const results = categories.filter((cat: IPolicyCategory) => cat.id === policyCategoryId);\r\n return results;\r\n }\r\n}","import { ModuleWithProviders, NgModule, Optional, SkipSelf } from '@angular/core';\r\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { CoreRoutingModule, coreRoutableComponents } from './core-routing.module';\r\nimport { MaterialModule } from 'src/app/shared/material.module';\r\n\r\nimport { IsLoggedInAuthGuard } from './services/logged-in-guard.service';\r\nimport { PolicyOwnerAuthGuard } from './services/policy-owner-guard.service';\r\nimport { SysAdminAuthGuard } from './services/sys-admin-guard.service';\r\nimport { PoliciesLoadedGuard } from './services/policies-loaded-guard.service';\r\nimport { WebApiService } from './services/web-api.service';\r\nimport { UserService } from './services/user.service';\r\nimport { GroupPoliciesListResolver, GroupPolicyResolver, ClaimRequestResolver, PolicyMemberResolver, ProtectedMembersResolver, TokenResolver, MessagesResolver, DafPoliciesListResolver, DafPolicyMemberResolver, DafTokenResolver } from './services/data-resolver.service';\r\nimport { NotificationService } from './services/notification.service';\r\nimport { PolicyService } from './services/policy.service';\r\n\r\nimport { ToastrModule } from 'ngx-toastr';\r\nimport { AuthService, ApiAuthInterceptor } from './services/auth.service';\r\nimport { DafApiClient, DAF_API_BASE_URL } from './services/daf-api.service';\r\nimport { environment } from 'src/environments/environment';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n@NgModule({\r\n imports: [CoreRoutingModule, HttpClientModule, MaterialModule, ToastrModule.forRoot(), CommonModule],\r\n exports: [MaterialModule],\r\n declarations: [coreRoutableComponents],\r\n entryComponents: [],\r\n providers: [\r\n WebApiService, DafApiClient, UserService, NotificationService, PolicyService,\r\n GroupPoliciesListResolver, GroupPolicyResolver, DafPoliciesListResolver, ClaimRequestResolver, PolicyMemberResolver, DafPolicyMemberResolver, ProtectedMembersResolver, TokenResolver, DafTokenResolver, MessagesResolver,\r\n IsLoggedInAuthGuard, PolicyOwnerAuthGuard, SysAdminAuthGuard, PoliciesLoadedGuard,\r\n AuthService,\r\n { provide: HTTP_INTERCEPTORS, useClass: ApiAuthInterceptor, multi: true },\r\n { provide: DAF_API_BASE_URL, useFactory: () => environment.dafApiUrl }\r\n ]\r\n})\r\nexport class CoreModule {\r\n static forRoot(): ModuleWithProviders {\r\n return { ngModule: CoreModule, providers: [] };\r\n }\r\n constructor(@Optional() @SkipSelf() parentModule: CoreModule) {\r\n if (parentModule) {\r\n throw new Error('CoreModule is already loaded. Import it in the AppModule only');\r\n }\r\n }\r\n\r\n}\r\n","import { Component } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { NgForm } from '@angular/forms';\r\nimport { WebApi, PolicyService, NotificationService } from 'src/app/core/services';\r\nimport { RedeemConsentsResponseResult } from '../app-models-1';\r\nexport interface ConsentModel {\r\n token: string;\r\n allowNewsletters: boolean;\r\n allowSensitiveDataViewing: boolean;\r\n policyNumber: string;\r\n customerNumber: string;\r\n afm: string;\r\n firstName: string;\r\n lastName: string;\r\n}\r\n\r\n@Component({\r\n templateUrl: 'consent-protected.component.html'\r\n})\r\nexport class ConsentProtectedComponent {\r\n iHaveReadTheTerms: boolean;\r\n private RedeemConsentsEnum = RedeemConsentsResponseResult;\r\n info = '';\r\n entity: ConsentModel = {\r\n allowNewsletters: undefined,\r\n allowSensitiveDataViewing: undefined,\r\n };\r\n constructor(private route: ActivatedRoute, private webApi: WebApi, public policyService: PolicyService, private notificationService: NotificationService) {\r\n this.entity.token = route.snapshot.queryParams['token'];\r\n }\r\n\r\n consent(form: NgForm) {\r\n this.webApi.post('consent/redeem', this.entity).subscribe(\r\n (response) => {\r\n var MessageisSuccess = response.result === this.RedeemConsentsEnum.Success;\r\n if(MessageisSuccess ) { this.notificationService.success(response.message); this.policyService.goToRoot();}\r\n else{this.notificationService.warn(response.message);}\r\n },\r\n (error) => {\r\n this.notificationService.error(error.message);\r\n\r\n }\r\n );\r\n }\r\n}","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'gg-policy-benefits',\r\n templateUrl: 'policy-benefits.component.html'\r\n})\r\nexport class PolicyBenefitsComponent implements OnInit {\r\n @Input() policyService: any = {};\r\n\r\n\r\n benefitClick(event: Event) {\r\n if (event && event.currentTarget && event.currentTarget['parentNode']) {\r\n const parent = event.currentTarget['parentNode'];\r\n parent.classList.toggle('open');\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n this.policyService.getPolicyBenefits();\r\n }\r\n}\r\n","export default \"
\\r\\n
\\r\\n
\\r\\n account_circle\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\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 { Pipe, PipeTransform } from '@angular/core';\r\nimport { DatePipe } from '@angular/common';\r\n\r\n@Pipe({\r\n name: 'DdMmYYYYDatePipe',\r\n})\r\nexport class DdMmYYYYDatePipe implements PipeTransform {\r\n transform(value: string) {\r\n var datePipe = new DatePipe(\"en-US\");\r\n value = datePipe.transform(value, 'dd-MM-yyyy h:mm:ss ');\r\n return value;\r\n }\r\n}","import { Component, Inject } from '@angular/core';\r\nimport { AppPolicyType, IPolicy } from '../app-models';\r\nimport { NgForm } from '@angular/forms';\r\nimport { TableConfig, IResultSet } from '../core/core-models';\r\nimport { WebApiService } from '../core/services/web-api.service';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { PolicyService, DafApiClient } from '../core/services';\r\n\r\n@Component({\r\n templateUrl: '152-compliance-dialog.component.html'\r\n})\r\nexport class Compliance152DialogComponent {\r\n policies: IPolicy[] = [];\r\n dafPolicies: [] = [];\r\n selectedPolicyId = '';\r\n policyListOptions: TableConfig = new TableConfig();\r\n selectedPolicy = [];\r\n selectedPolicyType;\r\n isLinkClicked: boolean = false;\r\n policyMemberId : string;\r\n active152Document: string = '';\r\n local_messages = {\r\n // Message to show when array is presented\r\n // but contains no values\r\n emptyMessage: 'Δεν υπάρχουν δεδομένα',\r\n // Footer total message\r\n totalMessage: 'σύνολο',\r\n // Footer selected message\r\n selectedMessage: 'επιλεγμένο'\r\n };\r\n pageLimitOptions = [{ value: 5 }, { value: 10 }, { value: 15 }, { value: 20 }];\r\n\r\n constructor(public policyService: PolicyService, private dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data: IPolicy, private webApi: WebApiService, private dafApiClient: DafApiClient) {\r\n this.get152ComplianceActiveDocument();\r\n }\r\n\r\n get152ComplianceActiveDocument(): any { \r\n this.dafApiClient.getActive152ComplianceDocument(this.policyService.selectedPolicyId).subscribe(\r\n (result: any) => {\r\n if(result)\r\n this.active152Document = result;\r\n });\r\n }\r\n\r\n accept152Compliance(): void { \r\n this.policyMemberId = this.policyService.isMember ? this.policyService.dafSelectedMember.id : this.policyService.policyMemberId;\r\n this.dafApiClient.memberAccept152ComplianceDocument(this.policyService.selectedPolicyId, this.policyMemberId).subscribe(\r\n (result: any) => {\r\n if(result)\r\n this.close(); \r\n }); \r\n }\r\n\r\n\r\n public actionClick() {\r\n this.isLinkClicked = true;\r\n }\r\n\r\n\r\n close(): void {\r\n this.dialogRef.close();\r\n }\r\n \r\n}\r\n","import { ProtectedMembersEditDialogComponent } from './protected-members-edit-dialog.component';\r\nimport { ProtectedMembersDeleteDialogComponent } from './protected-members-delete-dialog.component';\r\nimport { IInsuredMember, IProtectedMember, IAddress } from 'src/app/app-models';\r\nimport { NotificationService, WebApi } from 'src/app/core/services';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\r\nimport { take } from 'rxjs/operators';\r\n\r\n\r\nexport class MemberBaseEditComponent {\r\n member: IInsuredMember = {\r\n policyMemberAddress: {},\r\n protectedMembers: []\r\n };\r\n\r\n private isInEditMode = false;\r\n private isInCreateMode = false;\r\n constructor(protected route: ActivatedRoute, protected dialog: MatDialog, protected webApi: WebApi, protected notificationService: NotificationService) {\r\n this.isInEditMode = route.snapshot.url.filter(v => v.path.indexOf('edit') > -1 || v.path.indexOf('create') > -1 ).length === 1;\r\n this.isInCreateMode = route.snapshot.url.filter(v=>v.path.indexOf('create') > -1 ).length === 1;\r\n }\r\n getMode() {\r\n return this.isInCreateMode;\r\n };\r\n\r\n addMember(): void {\r\n const pMember = { policyMemberId: this.member.id, relationshipType: 'Spouse', sexType: 'Male' };\r\n pMember['isEditMode'] = this.isInEditMode;\r\n this.dialog.open(\r\n ProtectedMembersEditDialogComponent,\r\n {\r\n autoFocus: true, disableClose: true,\r\n data: pMember,\r\n }).afterClosed()\r\n .pipe(take(1))\r\n .subscribe(\r\n (result: IProtectedMember) => {\r\n if (result) {\r\n this.member.protectedMembers.push(result);\r\n this.member.protectedMembers = [...this.member.protectedMembers];\r\n }\r\n });\r\n }\r\n editMember(idx): void {\r\n const pMember = Object.assign({}, this.member.protectedMembers[idx]);\r\n pMember['isEditMode'] = this.isInEditMode;\r\n this.dialog.open(\r\n ProtectedMembersEditDialogComponent,\r\n { autoFocus: true, disableClose: true, data: pMember })\r\n .afterClosed()\r\n .pipe(take(1))\r\n .subscribe(\r\n (result: IProtectedMember) => {\r\n if (result) {\r\n this.member.protectedMembers[idx] = result;\r\n this.member.protectedMembers = [...this.member.protectedMembers];\r\n }\r\n });\r\n }\r\n /* removeMember(idx): void {\r\n const isNew = !this.member.protectedMembers[idx].id;\r\n if (!isNew) {\r\n this.webApi.delete(`${this.member.policyId}/members/${this.member.id}/protected`, this.member.protectedMembers[idx].id)\r\n .subscribe(\r\n (deleted) => this.member.protectedMembers.splice(idx, 1),\r\n (error) => this.notificationService.parseAndPopError(error)\r\n );\r\n } else {\r\n this.member.protectedMembers.splice(idx, 1);\r\n }\r\n }*/\r\n removeMember(idx): void {\r\n \r\n const pMember = Object.assign({}, this.member.protectedMembers[idx]);\r\n pMember.policyMemberId=this.member.id\r\n pMember['isEditMode'] = this.isInEditMode;\r\n const isNew = !this.member.protectedMembers[idx].id;\r\n this.dialog.open(\r\n ProtectedMembersDeleteDialogComponent,\r\n { autoFocus: true, disableClose: true, data: pMember ,policyMemberId: this.member.id })\r\n .afterClosed()\r\n .pipe(take(1))\r\n .subscribe(\r\n (result: IProtectedMember) => {\r\n if (result) {\r\n this.member.protectedMembers.splice( this.member.protectedMembers.findIndex(a => a.id === result.id) , 1)\r\n this.member.protectedMembers = [...this.member.protectedMembers];\r\n }\r\n });\r\n }\r\n \r\n}\r\n\r\n\r\n\r\n","import {AfterViewInit, Component, Input, OnInit, ViewChild} from '@angular/core';\r\nimport {IDictionary, TableConfig, IResultSet} from 'src/app/core/core-models';\r\nimport {\r\n IPolicyDocument,\r\n IClaimRequest,\r\n IInsuredMemberHistoryChange,\r\n DocumentType,\r\n ClaimStatusType,\r\n IPolicyService,ScrollModel\r\n} from 'src/app/app-models';\r\nimport { ConfirmationDialogComponent } from '../confirmation-dialog/confirmation-dialog.component';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { MatTabGroup } from '@angular/material/tabs';\r\n\r\n@Component({\r\n selector: 'gg-member-personal-file',\r\n templateUrl: 'member-personal-file.component.html'\r\n})\r\nexport class MemberPersonalFileComponent implements OnInit,AfterViewInit {\r\n @Input() policyService: any = {\r\n scrollModel: new ScrollModel()\r\n };\r\n @ViewChild('tabGroup') tabGroup: MatTabGroup;\r\n itsMe: boolean;\r\n isOwnerWithClaimRights: boolean; \r\n menu: IDictionary = { \r\n 0: 'Αιτουμενες Αποζημιώσεις',\r\n 1: 'Εκκρεμεις Αποζημιώσεις',\r\n 2: 'Πληρωθείσες Αποζημιώσεις',\r\n 3: 'Εκκρεμείς μεταβολές',\r\n 4: 'Γενικά Έγγραφα'\r\n };\r\n menuList: string[] = [];\r\n listOptions: IDictionary = { \r\n 0: new TableConfig(), //'Αιτουμενες Αποζημιώσεις',\r\n 1: new TableConfig(), //'Εκκρεμεις Αποζημιώσεις',\r\n 2: new TableConfig(), //'Αποζημιώσεις',\r\n 3: new TableConfig(), //'Εκκρεμείς μεταβολές',\r\n 4: new TableConfig(), //'Γενικά Έγγραφα',\r\n };\r\n private selectedListItem: number;\r\n selectedChartIndex = 0;\r\n public claimsSummary = 0; \r\n pageLimitOptions = [\r\n {value: 5},\r\n {value: 10},\r\n {value: 15},\r\n {value: 20},\r\n ];\r\n local_messages = {\r\n // Message to show when array is presented\r\n // but contains no values\r\n emptyMessage: 'Δεν υπάρχουν δεδομένα',\r\n\r\n // Footer total message\r\n totalMessage: 'σύνολο',\r\n\r\n // Footer selected message\r\n selectedMessage: 'επιλεγμένο'\r\n };\r\n hasScrolled = false;\r\n \r\n constructor(private route: ActivatedRoute,protected dialog: MatDialog) {}\r\n\r\n\r\n ngOnInit(): void {\r\n this.listOptions[0].filter['status'] = [ClaimStatusType.Draft, ClaimStatusType.Submitted, ClaimStatusType.Rejected, ClaimStatusType.Closed ,ClaimStatusType.ReviewIncomplete,ClaimStatusType.ProcessIncomplete];\r\n this.listOptions[1].filter['status'] = [ClaimStatusType.Reviewing, ClaimStatusType.Pending];\r\n this.listOptions[2].filter['status'] = [ClaimStatusType.Reviewing, ClaimStatusType.Pending];\r\n this.listOptions[0].sort = 'dateReported-';\r\n this.listOptions[1].sort = 'dateOccured-';\r\n this.listOptions[2].sort = 'paymentDate-';\r\n this.itsMe = this.policyService.selectedPolicy.membershipStatus.policyMemberId === this.policyService.selectedMember.id;\r\n this.isOwnerWithClaimRights = this.policyService.selectedPolicy.membershipStatus.accessLevel === 'OwnerWithClaimRights';\r\n this.menuList = Object.keys(this.menu);\r\n this.onSelectedIndexChange(0);\r\n }\r\n\r\n\r\n ngAfterViewInit() {\r\n if (this.policyService.shouldScroll && !this.hasScrolled) {\r\n const element = document.getElementById(this.policyService.target);\r\n setTimeout(() => {\r\n if (element) {\r\n element.scrollIntoView({\r\n behavior: 'smooth',\r\n block: 'center',\r\n inline: 'nearest'\r\n });\r\n this.hasScrolled = true;\r\n }\r\n if(this.policyService.target === 'members-file-section'){\r\n this.tabGroup.selectedIndex = 3;\r\n }\r\n }, 0);\r\n this.policyService.shouldScroll = false;\r\n }\r\n }\r\n \r\n goToClaimRequest(claimRequest:any): void {\r\n this.policyService.goToClaimRequestEdit(this.policyService.selectedMember.id, claimRequest.id);\r\n }\r\n\r\n deleteClaimRequest(claimRequestId: string) {\r\n this.dialog.open(ConfirmationDialogComponent, {\r\n data: {\r\n cancelText: \"Οχι\",\r\n confirmText: \"Ναι\",\r\n message: \"Θέλετε να διαγράψετε την αιτουμένη αίτηση?\",\r\n title: \"Διαγραφή Αίτησης\"\r\n }\r\n }).afterClosed().pipe().subscribe((result: boolean) => {\r\n if (result) {\r\n // Handle the result\r\n this.policyService.deleteClaimRequest(claimRequestId).subscribe(\r\n () => {\r\n const index = this.policyService.selectedPolicy.claimRequests.findIndex(request => request.id === claimRequestId);\r\n if (index !== -1) {\r\n this.policyService.selectedPolicy.claimRequests.splice(index, 1);\r\n }\r\n },\r\n (error) => {\r\n // Handle the error\r\n }\r\n );\r\n }\r\n });\r\n }\r\n\r\n getFor(id): string {\r\n if (this.policyService.selectedMember.id === id || this.policyService.selectedMember.userId === id || this.policyService.selectedMember.insuredId.toString() === id) {\r\n return this.policyService.selectedMember.fullName;\r\n } else {\r\n const pm = this.policyService.selectedMember.protectedMembers.filter((m) => m.insuredId.toString() === id)[0];\r\n return !!pm ? pm.fullName : '';\r\n }\r\n }\r\n\r\n allowShowFromStatus(row) : IClaimRequest{\r\n if(row.statusType !== 'Draft' && row.statusType !== 'Submitted' ) \r\n return row.code;\r\n else \r\n return null;\r\n }\r\n\r\n onPageChange(pageInfo): void {\r\n const listOpts = this.listOptions[this.selectedListItem];\r\n listOpts.pageIndex = pageInfo.offset;\r\n listOpts.page = this.listOptions[this.selectedListItem].pageIndex + 1;\r\n this.onSelectedIndexChange(this.selectedListItem, true);\r\n }\r\n\r\n onSort(event): void {\r\n this.listOptions[this.selectedListItem].setSorting(event);\r\n this.onSelectedIndexChange(this.selectedListItem, true);\r\n }\r\n\r\n onSearch(): void {\r\n this.onSelectedIndexChange(this.selectedListItem, true);\r\n }\r\n\r\n onPageSizeChange(limit: any): void {\r\n this.listOptions[this.selectedListItem].size = parseInt(limit, undefined);\r\n this.onSelectedIndexChange(this.selectedListItem, true);\r\n }\r\n\r\n onSelectedIndexChange(idx: number, triggerApiCall: boolean = true): void {\r\n this.selectedListItem = idx;\r\n\r\n const emptyCertificateDocuments = (!this.policyService.selectedMember.certificateDocuments || this.policyService.selectedMember.certificateDocuments.length === 0);\r\n \r\n const emptyClaimRequests = (!this.policyService.selectedMember.claimRequests || this.policyService.selectedMember.claimRequests.length === 0);\r\n if (idx === 0 && (triggerApiCall || emptyClaimRequests)) {\r\n this.policyService.getMemberClaimRequest(this.policyService.selectedPolicyId, this.policyService.selectedMember.id, this.listOptions[idx].getListOptions()).subscribe(\r\n (success: IResultSet) => {\r\n this.policyService.selectedMember.claimRequests = success.items;\r\n this.listOptions[idx].setTotalItems(success.count);\r\n }\r\n );\r\n }\r\n\r\n const emptyClaimRequestsPending = (!this.policyService.selectedMember.claimRequestsPending || this.policyService.selectedMember.claimRequestsPending.length === 0);\r\n if (idx === 1 && (triggerApiCall || emptyClaimRequestsPending)) {\r\n this.policyService.getMemberClaimRequest(this.policyService.selectedPolicyId, this.policyService.selectedMember.id, this.listOptions[idx].getListOptions()).subscribe(\r\n (success: IResultSet) => {\r\n this.policyService.selectedMember.claimRequestsPending = success.items;\r\n this.listOptions[idx].setTotalItems(success.count);\r\n }\r\n );\r\n }\r\n\r\n if (idx === 2 && (triggerApiCall || emptyCertificateDocuments)) {\r\n this.policyService.getMemberDocumentsByType(this.policyService.selectedMember.id, DocumentType.Certificate, this.listOptions[idx].getListOptions()).subscribe(\r\n (success: IResultSet) => {\r\n this.policyService.selectedMember.certificateDocuments = success.items;\r\n this.listOptions[idx].setTotalItems(success.count);\r\n //this.getCertificatesAmountSummary();\r\n }\r\n );\r\n }\r\n\r\n const emptyHistoryChanges = (!this.policyService.selectedMember.historyChanges || this.policyService.selectedMember.historyChanges.length === 0);\r\n if (idx === 3 && (triggerApiCall || emptyHistoryChanges)) {\r\n this.policyService.getMembersHistoryChanges(this.policyService.selectedPolicyId, this.listOptions[idx].getListOptions(), this.policyService.selectedMember.id).subscribe(\r\n (success: IResultSet) => {\r\n this.policyService.selectedMember.historyChanges = success.items;\r\n this.listOptions[idx].setTotalItems(success.count);\r\n }\r\n );\r\n }\r\n\r\n const emptyGeneralDocuments = (!this.policyService.selectedMember.generalDocuments || this.policyService.selectedMember.generalDocuments.length === 0);\r\n if (idx === 4 && (triggerApiCall || emptyGeneralDocuments)) {\r\n this.policyService.getMemberDocumentsByType(this.policyService.selectedMember.id, DocumentType.General, this.listOptions[idx].getListOptions()).subscribe(\r\n (success: IResultSet) => {\r\n this.policyService.selectedMember.generalDocuments = success.items;\r\n this.listOptions[idx].setTotalItems(success.count);\r\n }\r\n );\r\n }\r\n }\r\n \r\n // private getCertificatesAmountSummary() {\r\n // this.policyService.getPolicyStatistics(this.policyService.selectedPolicyId).subscribe(\r\n // (success) => {\r\n // const k = success['name'];\r\n // const data = success['data'];\r\n // this.claimsSummary = data;\r\n // }\r\n // );\r\n // }\r\n\r\n}\r\n","import { Component, Inject,ChangeDetectorRef } from '@angular/core';\r\nimport { IProtectedMember } from '../app-models';\r\nimport { NgForm } from '@angular/forms';\r\nimport { WebApiService } from '../core/services/web-api.service';\r\nimport { NotificationService } from '../core/services/notification.service';\r\nimport { PolicyService } from '../core/services/policy.service';\r\nimport { formatDate } from '@angular/common';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\n\r\n\r\n@Component({\r\n templateUrl: 'protected-members-edit-dialog.component.html'\r\n})\r\nexport class ProtectedMembersEditDialogComponent {\r\n\r\n today = new Date(); \r\n private isInsuredMemberInEditMode: boolean;\r\n readonly: boolean;\r\n itsMe: boolean;\r\n amIOwner: boolean;\r\n constructor(private dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public pMember: IProtectedMember, private webApi: WebApiService, private notificationService: NotificationService, public policyService: PolicyService,private cdr: ChangeDetectorRef) {\r\n this.pMember.validFromDate = new Date();\r\n this.isInsuredMemberInEditMode = !!pMember['isEditMode'];\r\n this.amIOwner = policyService.selectedPolicy.membershipStatus.accessLevel === 'Owner';\r\n this.itsMe = this.policyService.selectedPolicy.membershipStatus.policyMemberId === this.policyService.selectedMember.id;\r\n this.readonly = policyService.selectedPolicy.membershipStatus.accessLevel === 'Member' || policyService.selectedPolicy.membershipStatus.accessLevel === 'ViewOnlyAdmin' ||\r\n (this.itsMe && policyService.selectedPolicy.membershipStatus.isInsured && !this.amIOwner);\r\n }\r\n\r\n ngAfterViewChecked() {\r\n this.cdr.detectChanges();\r\n }\r\n\r\n\r\n public save(form: NgForm): void {\r\n if (form.invalid ) {\r\n return;\r\n }\r\n if (!form.dirty) {\r\n this.dialogRef.close();\r\n return;\r\n }\r\n if (!this.isInsuredMemberInEditMode) {\r\n this.dialogRef.close(this.pMember);\r\n } else {\r\n this.pMember.birthDate = new Date(formatDate(this.pMember.birthDate, 'yyyy-MM-dd', 'el-GR'));\r\n this.pMember.validFromDate = new Date(formatDate(this.pMember.validFromDate, 'yyyy-MM-dd', 'el-GR'));\r\n this.pMember.firstName =this.notificationService.RemoveAccents( this.pMember.firstName);\r\n this.pMember.lastName =this.notificationService.RemoveAccents( this.pMember.lastName);\r\n const isNew = !this.pMember.id;\r\n if (!isNew) {\r\n this.webApi.put(`${this.policyService.selectedPolicyId}/members/${this.pMember.policyMemberId}/protected/${this.pMember.id}`, this.pMember).subscribe(\r\n (success) => {\r\n this.notificationService.success('Protected member updated', 'Updated');\r\n this.dialogRef.close(this.pMember);\r\n },\r\n (error) => this.notificationService.parseAndPopError(error)\r\n );\r\n } else {\r\n this.webApi.post(`${this.policyService.selectedPolicyId}/members/${this.pMember.policyMemberId}/protected`, this.pMember).subscribe(\r\n (success) => {\r\n this.notificationService.success('Protected member created', 'Created');\r\n this.dialogRef.close(this.pMember);\r\n },\r\n (error) => this.notificationService.parseAndPopError(error)\r\n );\r\n }\r\n\r\n }\r\n\r\n }\r\n public close(): void {\r\n this.dialogRef.close();\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { AuthService } from '../services/auth.service';\r\nimport { Router } from '@angular/router';\r\nimport { environment } from '../../../environments/environment';\r\n\r\n\r\n@Component({\r\n selector: 'app-auth-callback',\r\n templateUrl: './auth-callback.component.html'\r\n})\r\nexport class AuthCallbackComponent implements OnInit {\r\n public status = 'παρακαλώ περιμένετε';\r\n public description = 'όσο φορτώνουμε το προφίλ σας...';\r\n public subscriptions = null;\r\n public api = environment.webApiUrl;\r\n\r\n constructor(private authService: AuthService, private router: Router) { }\r\n\r\n ngOnInit() {\r\n const self = this;\r\n this.authService.completeAuthentication().then(() => {\r\n self.authService.isLoggedIn().subscribe((result) => {\r\n if (result) {\r\n const user = self.authService.currentUser();\r\n if (user.state && user.state.url) {\r\n const host = `${window.location.protocol}//${window.location.host}`;\r\n const parts = user.state.url.split(`${host}/`);\r\n if (parts.length > 1) {\r\n const target = `/${parts[1]}`;\r\n self.router.navigateByUrl(target);\r\n return;\r\n }\r\n }\r\n self.status = 'παρακαλώ περιμένετε';\r\n self.description = 'όσο φορτώνουμε τις πληροφορίες για το συμβόλαιό σας...';\r\n self.router.navigate(['/policy']);\r\n } else {\r\n self.router.navigate(['/unauthorized']);\r\n }\r\n });\r\n });\r\n }\r\n\r\n //public selectSubscription(subscription: any) {\r\n // this.appState.selectSubscription(subscription);\r\n // this.router.navigate([subscription.homePath]);\r\n //}\r\n\r\n}\r\n","import { Component } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n templateUrl: 'error-request.component.html'\r\n})\r\nexport class ForbiddenComponent {\r\n public title = '403';\r\n public error = 'Απαγορευμένο';\r\n public errorMsg = 'Δεν επιτρέπεται η πρόσβαση';\r\n\r\n constructor(private router: Router) {\r\n\r\n }\r\n}","export const conditionsDetails : { [key: string]: string[] } = {\r\n \"ΙΑΤΡΟΣ\": [\r\n \"Χρειάζεται να επισυνάψετε σε ένα αρχείο τα παρακάτω:\",\r\n \"-Την Απόδειξη Παροχής Υπηρεσιών του γιατρού (Α.Π.Υ.).\",\r\n \"-Την αναλυτική ιατρική γνωμάτευση ή τη διάγνωση του ιατρού.\",\r\n \"-Η διάγνωση μπορεί να αναγράφεται στην απόδειξη ή να συνοδεύει την απόδειξη σε ξεχωριστό έντυπο.\",\r\n \"-Πρέπει να φέρει σφραγίδα & υπογραφή του γιατρού.\",\r\n \"Ενδέχεται να ζητηθούν περαιτέρω δικαιολογητικά.\"\r\n ],\r\n \"ΦΑΡΜΑΚΑ χωρίς Ε.Ο.Π.Υ.Υ.\": [\r\n \"Χρειάζεται να επισυνάψετε σε ένα αρχείο τα παρακάτω :\",\r\n \"- Την Απόδειξη λιανικής πώλησης του φαρμακείου (αναλυτική ταμειακή απόδειξη φαρμακείου).\",\r\n \"- Τα κουπόνια των φαρμάκων.\",\r\n \"- Τη Συνταγογράφηση του γιατρού για τα φαρμακευτικά σκευάσματα, με σαφή αναγραφή της ιατρικής διάγνωσης/πάθησης.\",\r\n \"Ενδέχεται να ζητηθούν περαιτέρω δικαιολογητικά.\"\r\n ],\r\n \"ΘΕΡΑΠΕΥΤΙΚΑ ΜΕΣΑ\": [\r\n \"Χρειάζεται να επισυνάψετε τα παρακάτω :\",\r\n \"- Αναλυτική Απόδειξη (ταμειακή) φαρμακείου ή Απόδειξη Παροχής Υπηρεσιών (αναλυτική) καταστήματος ιατρικών ή/και ορθοπεδικών ειδών.\",\r\n \"- Βεβαίωση συμμετοχής άλλου φορέα π.χ. ΕΟΠΥΥ με αναγραφή του ποσού συμμετοχής.\",\r\n \"- Υπεύθυνη δήλωση από το gov που να αναφέρει ρητά ότι δεν έγινε χρήση ΕΟΠΥΥ (με αναφορά στην ημερομηνία και το χρηματικό ποσό της απόδειξης).\",\r\n \"- Ιατρική γνωμάτευση ή/και συνταγογράφηση από ιατρό συναφούς ειδικότητας.\",\r\n \"- Πορίσματα εξετάσεων ή/και απεικονιστικού ελέγχου.\",\r\n \"- Υπεύθυνη Δήλωση με περιγραφή του ατυχήματος (εφόσον πρόκειται για ατύχημα).\",\r\n \"Ενδέχεται να ζητηθούν περαιτέρω δικαιολογητικά.\"\r\n ],\r\n \"ΕΞΟΔΑ ΗΜΕΡΗΣΙΑΣ ΝΟΣΗΛΕΙΑΣ / ΧΕΙΡΟΥΡΓΕΙΟ ΜΙΑΣ ΗΜΈΡΑΣ\": [\r\n \"Χρειάζεται να επισυνάψετε τα παρακάτω :\",\r\n \"- Απόδειξη Παροχής Υπηρεσιών του νοσοκομείου.\",\r\n \"- Απόδειξη Παροχής Υπηρεσιών για τις αμοιβές ιατρών.\",\r\n \"- Βεβαίωση συμμετοχής άλλου φορέα π.χ. ΕΟΠΥΥ με αναγραφή του ποσού συμμετοχής.\",\r\n \"- Αναλυτική ιατρική γνωμάτευση.\",\r\n \"- Εξιτήριο νοσοκομείου.\",\r\n \"- Σε περίπτωση χειρουργείου: Πρακτικό χειρουργείου, πόρισμα ιστολογικής & αποτελέσματα εξετάσεων.\",\r\n \"Ενδέχεται να ζητηθούν περαιτέρω δικαιολογητικά.\"\r\n ],\r\n \"ΕΠΙΔΟΜΑ ΜΗΤΡΟΤΗΤΑΣ\": [\r\n \"Χρειάζεται να επισυνάψετε τα παρακάτω :\",\r\n \"- Βεβαίωση μαιευτηρίου που αναγράφεται το είδος του τοκετού (π.χ. καισαρική τομή).\",\r\n \"- Ληξιαρχική Πράξη Γεννήσεως.\",\r\n \"- Σε περίπτωση αποβολής (όχι επιβεβλημένη έκτρωση): ιατρική γνωμάτευση, υπέρηχο, πόρισμα ιστολογικής.\",\r\n \"Ενδέχεται να ζητηθούν περαιτέρω δικαιολογητικά.\"\r\n ],\r\n \"ΑΠΩΛΕΙΑ ΕΙΣΟΔΗΜΑΤΟΣ\": [\r\n \"Χρειάζεται να επισυνάψετε τα παρακάτω :\",\r\n \"- Ιατρική γνωμάτευση.\",\r\n \"- Δήλωση ατυχήματος.\",\r\n \"- Εισιτήριο/εξιτήριο.\",\r\n \"- Βεβαίωση Εργοδότη προς κοινωνικό ταμείο.\",\r\n \"- Αντίγραφο γνωμάτευσης ή απόφασης υγειονομικής επιτροπής ΕΦΚΑ ή άλλου δημόσιου ασφαλιστικού οργανισμού.\",\r\n \"- Ιατρική γνωμάτευση κρατικού νοσοκομείου όπου καθορίζεται το διάστημα ανικανότητας προς εργασία (εάν δεν υπάρχει ασφαλιστικό ταμείο).\",\r\n \"- Απεικονιστικός ή κλινικοεργαστηριακός έλεγχος (με πορίσματα & αποτελέσματα).\",\r\n \"Ενδέχεται να ζητηθούν περαιτέρω δικαιολογητικά.\"\r\n ],\r\n \"ΔΙΑΓΝΩΣΤΙΚΕΣ ΕΞΕΤΑΣΕΙΣ με Ε.Ο.Π.Υ.Υ.\": [\r\n \"Χρειάζεται να επισυνάψετε σε ένα αρχείο τα παρακάτω :\",\r\n \"- Απόδειξη Παροχής Υπηρεσιών.\",\r\n \"- Παραπεμπτικό εξετάσεων με διάγνωση και αναγραφή της πάθησης του ιατρού.\",\r\n \"- Πόρισμα ιστολογικής εφόσον λάβει χώρα.\",\r\n \"- Αποτελέσματα της διαγνωστικής εξέτασης.\",\r\n \"Ενδέχεται να ζητηθούν περαιτέρω δικαιολογητικά.\"\r\n ],\r\n \"ΔΙΑΓΝΩΣΤΙΚΕΣ ΕΞΕΤΑΣΕΙΣ χωρίς Ε.Ο.Π.Υ.Υ.\": [\r\n \"Χρειάζεται να επισυνάψετε σε ένα αρχείο τα παρακάτω :\",\r\n \"- Απόδειξη Παροχής Υπηρεσιών.\",\r\n \"- Παραπεμπτικό εξετάσεων με διάγνωση και αναγραφή της πάθησης του ιατρού.\",\r\n \"- Πόρισμα ιστολογικής.\",\r\n \"- Αποτελέσματα της διαγνωστικής εξέτασης.\",\r\n \"Ενδέχεται να ζητηθούν περαιτέρω δικαιολογητικά.\"\r\n ],\r\n \"ΕΞΟΔΑ ΝΟΣΗΛΕΙΑΣ ΜΕ ΔΙΑΝΥΚΤΕΡΕΥΣΗ\": [\r\n \"Χρειάζεται να επισυνάψετε τα παρακάτω :\",\r\n \"- Απόδειξη Παροχής Υπηρεσιών του νοσοκομείου & Απόδειξη Παροχής Υπηρεσιών για τις αμοιβές ιατρών.\",\r\n \"- Αναλυτική ιατρική γνωμάτευση.\",\r\n \"- Εξιτήριο.\",\r\n \"- Στις περιπτώσεις όπου κατά τη νοσηλεία έλαβε χώρα και χειρουργείο επισυνάπτετε επίσης: Πρακτικό χειρουργείου, πόρισμα ιστολογικής & αποτελέσματα εξετάσεων.\",\r\n \"Ενδέχεται να ζητηθούν περαιτέρω δικαιολογητικά.\"\r\n ],\r\n \"ΕΠΕΙΓΟΝ / ΕΚΤΑΚΤΟ ΠΕΡΙΣΤΑΤΙΚΟ\": [\r\n \"Χρειάζεται να επισυνάψετε τα παρακάτω :\",\r\n \"- Απόδειξη Παροχής Υπηρεσιών του νοσοκομείου & Απόδειξη Παροχής Υπηρεσιών για τις αμοιβές ιατρών.\",\r\n \"- Αναλυτική ιατρική γνωμάτευση.\",\r\n \"- Πόρισμα ιστολογικής & αποτελέσματα εξετάσεων.\",\r\n \"Ενδέχεται να ζητηθούν περαιτέρω δικαιολογητικά.\"\r\n ],\r\n \"ΦΥΣΙΚΟΘΕΡΑΠΕΙΕΣ / ΛΟΓΟΘΕΡΑΠΕΙΕΣ\":[\r\n \"Φυσικοθεραπείες :\", \r\n \"- Απόδειξη Παροχής Υπηρεσιών από φυσικοθεραπευτή.\",\r\n \"- Παραπεμπτικό φυσικοθεραπειών με αναγραφή της πάθησης και διάγνωσης ιατρού συναφούς ειδικότητας (π.χ. ορθοπεδικός).\",\r\n \"- Βεβαίωση συμμετοχής άλλου φορέα π.χ. ΕΟΠΥΥ με αναγραφή του ποσού συμμετοχής.\",\r\n \"- Υπεύθυνη δήλωση από το gov που να αναφέρει ρητά ότι δεν έγινε χρήση ΕΟΠΥΥ.\",\r\n \"Λογοθεραπείες :\",\r\n \"- Απόδειξη Παροχής Υπηρεσιών.\",\r\n \"- Αναλυτική ιατρική γνωμάτευση από θεράποντα ιατρό σχετικής ειδικότητας ή γνωμοδότηση από Κρατικό Νοσοκομείο.\",\r\n \"- Βεβαίωση συμμετοχής άλλου φορέα.\",\r\n \"- Υπεύθυνη δήλωση από το gov που να αναφέρει ρητά ότι δεν έγινε χρήση ΕΟΠΥΥ.\",\r\n \"Ενδέχεται να ζητηθούν περαιτέρω δικαιολογητικά.\"\r\n ],\r\n \"ΧΕΙΡΟΥΡΓΙΚΟ ΕΠΙΔΟΜΑ\": [\r\n \"Χρειάζεται να επισυνάψετε τα παρακάτω :\",\r\n \"- Πιστοποιητικό νοσηλείας/εξιτήριο.\",\r\n \"- Πρακτικό χειρουργείου.\",\r\n \"- Ιατρική γνωμάτευση / παραπεμπτικό με αναγραφή πάθησης.\",\r\n \"- Πόρισμα ιστολογικής / Αποτελέσματα λοιπών εξετάσεων.\",\r\n \"Ενδέχεται να ζητηθούν περαιτέρω δικαιολογητικά.\"\r\n ],\r\n \"ΝΟΣΟΚΟΜΕΙΑΚΟ ΕΠΙΔΟΜΑ\": [\r\n \"Χρειάζεται να επισυνάψετε τα παρακάτω :\",\r\n \"- Εισιτήριο-εξιτήριο νοσοκομείου / κλινικής.\",\r\n \"- Πιστοποιητικό νοσηλείας.\",\r\n \"- Λοιπά ιατρικά δικαιολογητικά.\",\r\n \"Ενδέχεται να ζητηθούν περαιτέρω δικαιολογητικά.\"\r\n ],\r\n \"ΦΑΡΜΑΚΑ με Ε.Ο.Π.Υ.Υ.\": [\r\n \"Χρειάζεται να επισυνάψετε σε ένα αρχείο τα παρακάτω :\",\r\n \"- Την Απόδειξη λιανικής πώλησης του φαρμακείου (αναλυτική ταμειακή απόδειξη φαρμακείου).\",\r\n \"- Τα κουπόνια των φαρμάκων.\",\r\n \"- Τη Συνταγογράφηση του γιατρού για τα φαρμακευτικά σκευάσματα, με σαφή αναγραφή της ιατρικής διάγνωσης/πάθησης.\",\r\n \"Ενδέχεται να ζητηθούν περαιτέρω δικαιολογητικά.\"\r\n ]\r\n };","export default \"
\\r\\n \\r\\n

Ειδοποιήσεις

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n {{listOptions.totalElements}}\\r\\n αποτελέσματα\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n {{m.title}}\\r\\n
\\r\\n
\\r\\n {{m.insertDate | date}}\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n {{m.body}}\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\";","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({ name: 'nullOrEmpty' })\r\nexport class NullOrEmptyPipe implements PipeTransform {\r\n transform(value: any): string {\r\n let result = '-';\r\n result = value || '-';\r\n return result;\r\n }\r\n}","export class DateTimeExtensions {\r\n\r\n parseDate = (value: string): Date => {\r\n let delimiter = value.indexOf('-') > -1 ? '-' : '/';\r\n let segments = value.split(delimiter);\r\n if (segments.length !== 3) {\r\n return undefined;\r\n }\r\n let yearFirst = segments[0].length == 4;\r\n let year = parseInt(segments[yearFirst ? 0 : 2]);\r\n let month = parseInt(segments[1]) - 1;\r\n let day = parseInt(segments[yearFirst ? 2 : 0]);\r\n return new Date(year, month--, day);\r\n }\r\n parseDateIfString = (value: string | Date): Date => {\r\n const isString = typeof (value) === 'string';\r\n const isDate = !isString && typeof (value) === 'object';\r\n if (isString)\r\n return this.parseDate(value);\r\n else\r\n return value;\r\n }\r\n static parseDateOnly(input: Date): Date {\r\n var y = input.getFullYear();\r\n var m = input.getMonth();\r\n var d = input.getDate()\r\n var utc = Date.UTC(y, m, d);\r\n var result = new Date(utc);\r\n return result;\r\n }\r\n}","export default \"
\\r\\n
\\r\\n

{{status}}

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

Επιτυχημένη αποσύνδεση, μπορείτε τώρα να κλείσετε τον browser σας.

\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\";","export default \"\\r\\n
\\r\\n

Διαχείριση συμβολαίου

\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{listOptions[m].totalElements}}\\r\\n αποτελέσματα\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n Φίλτρα 0\\\"\\r\\n class=\\\"filters-counter\\\">({{filteredItems}})\\r\\n
\\r\\n
\\r\\n Εξαρτώμενα μέλη\\r\\n \\r\\n Με εκκρεμείς αποζημιώσεις\\r\\n \\r\\n Κατηγορίες\\r\\n {{benefit.code}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n {{uploadError}}\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n .XLS\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n {{\\r\\n row?.fullName | initials}}\\r\\n {{ row?.fullName }}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n {{row.policyCategoryId }}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n {{ row?.registryNumber | nullOrEmpty }}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n {{ row?.code | nullOrEmpty }}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n {{ row?.sex | nullOrEmpty }}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n {{ row?.birthDate | date | nullOrEmpty }}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n {{row?.insuredDate |date }}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n {{row?.salary | nullOrEmpty }} €\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n {{row?.hasPendingChanges ? 'Ναι' : 'Όχι' }}\\r\\n info\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Αποτελέσματα ανά σελίδα\\r\\n \\r\\n \\r\\n {{ option.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 {{listOptions[m].totalElements}}\\r\\n αποτελέσματα\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n {{ row?.code\\r\\n }}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n {{ row?.fullName }}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n {{ row?.dateOccured\\r\\n | date }}\\r\\n \\r\\n \\r\\n {{ row?.dateReported\\r\\n | date }}\\r\\n \\r\\n \\r\\n \\r\\n {{ row?.statusType| translateEnum }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Αποτελέσματα ανά σελίδα\\r\\n \\r\\n \\r\\n {{ option.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 {{listOptions[m].totalElements}}\\r\\n αποτελέσματα\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n {{ row?.code\\r\\n | nullOrEmpty }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n {{ row?.fullName }}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n {{ row?.folderId\\r\\n | nullOrEmpty }}\\r\\n \\r\\n \\r\\n \\r\\n {{ row?.dateOccured\\r\\n | date | nullOrEmpty}}\\r\\n \\r\\n \\r\\n {{ row?.amount\\r\\n | nullOrEmpty }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{ row?.statusType| translateEnum }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Αποτελέσματα ανά σελίδα\\r\\n \\r\\n \\r\\n {{ option.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 {{listOptions[m].totalElements}}\\r\\n αποτελέσματα\\r\\n
\\r\\n Σύνολo Πληρωθεισών Ασφαλιστικού Έτους: \\r\\n {{claimsSummary}}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n {{\\r\\n row?.referenceNumber\\r\\n }}\\r\\n \\r\\n \\r\\n \\r\\n {{ row?.claimId\\r\\n | nullOrEmptyHardCopy}}\\r\\n \\r\\n \\r\\n \\r\\n {{ row?.patientName\\r\\n | nullOrEmpty}}\\r\\n \\r\\n \\r\\n \\r\\n {{ row?.paymentDate\\r\\n | date }}\\r\\n \\r\\n \\r\\n {{\\r\\n row?.totalCostAmount\\r\\n }} €\\r\\n \\r\\n \\r\\n \\r\\n {{\\r\\n row?.requestedAmount\\r\\n }} €\\r\\n \\r\\n \\r\\n \\r\\n {{\\r\\n row?.deductibleAmount\\r\\n }} €\\r\\n \\r\\n \\r\\n \\r\\n {{ row?.amount\\r\\n }} €\\r\\n \\r\\n \\r\\n
\\r\\n Αποτελέσματα ανά σελίδα\\r\\n \\r\\n \\r\\n {{ option.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 {{listOptions[m].totalElements}}\\r\\n αποτελέσματα\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n {{ row?.id\\r\\n | nullOrEmpty }}\\r\\n \\r\\n \\r\\n \\r\\n {{ row?.issueDate\\r\\n | date | nullOrEmpty }}\\r\\n \\r\\n \\r\\n \\r\\n {{ row?.paymentDate\\r\\n | date | nullOrEmpty}}\\r\\n \\r\\n \\r\\n {{ row?.paymentDueDate\\r\\n | date | nullOrEmpty}}\\r\\n \\r\\n \\r\\n {{ row?.amount | number:'1.0'\\r\\n | nullOrEmpty }} \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n Αποτελέσματα ανά σελίδα\\r\\n \\r\\n \\r\\n {{ option.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 {{listOptions[m].totalElements}}\\r\\n αποτελέσματα\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n {{ row?.personId\\r\\n }}\\r\\n \\r\\n \\r\\n \\r\\n {{ row?.fullName\\r\\n || (row?.surname + ' ' + row?.name) }}\\r\\n \\r\\n \\r\\n {{ row?.insertDate\\r\\n | date }}\\r\\n \\r\\n \\r\\n {{\\r\\n row?.memberRecordType\\r\\n | translateEnum | nullOrEmpty }}\\r\\n \\r\\n \\r\\n \\r\\n {{ row?.statusType\\r\\n | translateEnum | nullOrEmpty }}\\r\\n \\r\\n \\r\\n
\\r\\n Αποτελέσματα ανά σελίδα\\r\\n \\r\\n \\r\\n {{ option.value }}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\";","import { IMenuItem } from './../../../core/core-models';\r\nimport { Component, Input, Output, EventEmitter } from \"@angular/core\";\r\n\r\n@Component({\r\n selector: 'gg-policy-header',\r\n templateUrl: 'policy-header.component.html'\r\n})\r\nexport class PolicyHeaderComponent {\r\n @Input() showLoader: boolean;\r\n @Input() label1: string;\r\n @Input() value1: string;\r\n @Input() label2: string;\r\n @Input() value2: string;\r\n @Input() actionsLabel: string;\r\n @Input() actions: IMenuItem[];\r\n @Input() subActions: IMenuItem[];\r\n @Output()\r\n actionClicked: EventEmitter = new EventEmitter();\r\n\r\n public actionClick($event, action: {key: string, text: string, icon?: string}) {\r\n this.actionClicked.emit(action.key);\r\n }\r\n\r\n public onDownload(action) {\r\n const fileURL = `/assets/daf-files/${action.key}.pdf`;\r\n window.open(fileURL, '_blank');\r\n }\r\n}\r\n","export default \"
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
    \\r\\n
  1. \\r\\n Είμαι ασφαλισμένος/η στη Groupama Ασφαλιστική με ομαδική ασφάλιση και τα παρακάτω στοιχεία:
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
  2. \\r\\n
  3. \\r\\n Το email μέσω του οποίου διενεργήθηκε η παρούσα επικοινωνία με τη GROUPAMA Ασφαλιστική είναι το προσωπικό μου\\r\\n email.\\r\\n
  4. \\r\\n
  5. \\r\\n Κατόπιν της ενημέρωσής μου σχετικά με την επεξεργασία δεδομένων προσωπικού χαρακτήρα και τους όρους χρήσης της\\r\\n ηλεκτρονικής πλατφόρμας, δηλώνω ρητώς ότι συγκατατίθεμαι:\\r\\n
      \\r\\n
    • Στην επεξεργασία των προσωπικών μου δεδομένων για εμπορικούς σκοπούς,
      \\r\\n όπως για παράδειγμα για την προώθηση προϊόντων ή υπηρεσιών, διαφήμιση κλπ.
      \\r\\n (Προαιρετικό – Η επιλογή μπορεί να αλλάξει, όποτε το επιθυμείτε, μέσω της εφαρμογής)\\r\\n
      \\r\\n \\r\\n \\r\\n \\r\\n Ναί\\r\\n Όχι\\r\\n \\r\\n
      \\r\\n
    • \\r\\n
    • Στην επεξεργασία των προσωπικών δεδομένων μου υγείας, καθώς και στους όρους χρήσης της
      \\r\\n ηλεκτρονικής πλατφόρμας (Υποχρεωτικό για τη χρήση της πλατφόρμας)\\r\\n
      \\r\\n \\r\\n \\r\\n \\r\\n (Υποχρεωτικό για τη χρήση της πλατφόρμας)\\r\\n
      \\r\\n \\r\\n Ναί\\r\\n Όχι\\r\\n \\r\\n
    • \\r\\n
    \\r\\n
  6. \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Έχω διάβασει το κείμενο σχετικά με την επεξεργασία δεδομένων προσωπικού χαρακτήρα και τους όρους χρήσης της\\r\\n ηλεκτρονικής πλατφόρμας.\\r\\n
\\r\\n (Υποχρεωτικό για τη χρήση της πλατφόρμας)\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n
\";","export const AnswerSustainability=[\r\n {\r\n \"setupItemId\": \"15E1D0FDDB210010E063C0A80A3D1A01\",\r\n \"listTypeId\": \"9948CC9EE8E70036E053C0A80A3D27E3\",\r\n \"listValue\": 0\r\n },\r\n {\r\n \"setupItemId\": \"15E1D0FDDB230010E063C0A80A3D1A01\",\r\n \"listTypeId\": \"15E1D0FDDB2B0010E063C0A80A3D1A01\",\r\n \"listValue\": 0\r\n },\r\n {\r\n \"setupItemId\": \"15E1D0FDDB2A0010E063C0A80A3D1A01\",\r\n \"listTypeId\": \"15E1D0FDDB2F0010E063C0A80A3D1A01\",\r\n \"listValue\": 0\r\n }\r\n]\r\n\r\n","export interface IDictionary {\r\n [key: string]: T;\r\n}\r\nexport interface IResultSet {\r\n count: number;\r\n items: T[];\r\n}\r\nexport interface ITableConfig {\r\n page: number;\r\n size: number;\r\n search: string;\r\n sort: string;\r\n filter: any;\r\n}\r\nexport class TableConfig implements ITableConfig {\r\n page: number;\r\n size: number;\r\n search: string;\r\n sort: string;\r\n filter: any = {};\r\n\r\n totalElements: number;\r\n totalPages: number;\r\n pageIndex: number;\r\n constructor(size: number = 5) {\r\n this.page = 1;\r\n this.size = size;\r\n this.totalElements = 0;\r\n this.totalPages = 1;\r\n this.pageIndex = 0;\r\n }\r\n\r\n public getListOptions(): ITableConfig {\r\n return { page: this.page, size: this.size, sort: this.sort, search: this.search, filter: this.filter };\r\n }\r\n public setTotalItems(totalItems: number): void {\r\n this.totalElements = totalItems;\r\n this.totalPages = totalItems % this.size === 0 ? (totalItems / this.size) : Math.ceil(totalItems / this.size);\r\n }\r\n public setSorting(sortObj: any): void {\r\n let sorting = '';\r\n for (let i = 0; i < sortObj.sorts.length; i++) {\r\n const sort = sortObj.sorts[i];\r\n const s = `${sort.prop}${sort.dir === 'asc' ? '' : '-'}`;\r\n sorting += ',' + s;\r\n }\r\n if (sorting.startsWith(',')) {\r\n sorting = sorting.substring(1, sorting.length);\r\n }\r\n this.sort = sorting;\r\n }\r\n public setSize(size: number): void {\r\n this.size = size;\r\n }\r\n}\r\n\r\nexport interface IMenuItem {\r\n key: string;\r\n hasChildren?: boolean;\r\n parentKey?: string;\r\n text?: string;\r\n tooltip?: string;\r\n icon?: string;\r\n path?: string;\r\n visible?: boolean;\r\n}\r\n","export default \"\\r\\n\";","import { CommonModule } from '@angular/common';\r\nimport { NgModule} from '@angular/core';\r\n\r\nimport { MatDialogModule, } from '@angular/material/dialog';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { ConfirmationDialogComponent } from './components/confirmation-dialog/confirmation-dialog.component';\r\nimport { ConfirmDialogService } from './components/confirmation-dialog/confirm-dialog.service';\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n MatDialogModule,\r\n MatButtonModule\r\n ],\r\n declarations: [\r\n ConfirmationDialogComponent\r\n ],\r\n exports: [ConfirmationDialogComponent],\r\n providers: [ConfirmDialogService]\r\n })\r\n export class ConfirmDialogModule {\r\n }","import { TableConfig } from './../../../core/core-models';\r\nimport { InvitationType } from './../../../app-models';\r\nimport { PolicyService, DafApiClient, NotificationService } from 'src/app/core/services';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\r\nimport { Router } from '@angular/router';\r\nimport { Insured, InvitationsRequest, Role } from 'src/app/core/services/daf-api.service';\r\nimport { PartialMemberCreateDialogComponent } from '../../partial-member-dialog.component';\r\nimport { take } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'app-daf-manage-members',\r\n templateUrl: './daf-manage-members.component.html'\r\n})\r\nexport class DafManageMembersComponent implements OnInit {\r\n public isSysAdmin = false;\r\n public isMember = false;\r\n public isHr = false;\r\n public isViewOnlyAdmin = false;\r\n memberListOptions = new TableConfig(20);\r\n public members: any[];\r\n public selectedMembers = [];\r\n public membersLoadingIndicator = false;\r\n public size : number = 5000;\r\n\r\n public pageLimitOptions = [\r\n { value: 5 },\r\n { value: 10 },\r\n { value: 15 },\r\n { value: 20 },\r\n ];\r\n\r\n public local_messages = {\r\n // Message to show when array is presented\r\n // but contains no values\r\n emptyMessage: 'Δεν υπάρχουν δεδομένα',\r\n\r\n // Footer total message\r\n totalMessage: 'σύνολο',\r\n\r\n // Footer selected message\r\n selectedMessage: 'επιλεγμένο'\r\n };\r\n\r\n canEdit : boolean = false;\r\n\r\n constructor(public policyService: PolicyService, \r\n private dafApi: DafApiClient, \r\n private dialog: MatDialog, \r\n protected notificationService: NotificationService, \r\n private _router: Router) {\r\n this.fetchPolicyMembers();\r\n this._router.routeReuseStrategy.shouldReuseRoute = () => false;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.isSysAdmin = this.policyService.selectedPolicy.membershipStatus.accessLevel === 'Admin';\r\n this.isMember = this.policyService.selectedPolicy.membershipStatus.accessLevel === 'Member';\r\n this.isHr = this.policyService.selectedPolicy.membershipStatus.accessLevel === 'Hr'; \r\n this.isViewOnlyAdmin = this.policyService.selectedPolicy.membershipStatus.accessLevel === 'ViewOnlyAdmin'; \r\n this.canEdit = this.policyService.selectedPolicy.membershipStatus.accessLevel === 'Hr' || this.policyService.selectedPolicy.membershipStatus.accessLevel === 'ViewOnlyAdmin' || this.isSysAdmin;\r\n this.dafApi.getInsuredList(this.policyService.selectedPolicy.id,0,this.size,undefined,undefined);\r\n }\r\n\r\n public sendInvitations(invitationType?: InvitationType): void {\r\n const members: Insured[] = [];\r\n if (invitationType === undefined || invitationType == 3) {\r\n this.selectedMembers.forEach((member: Insured) => {\r\n member.homeAddress = null;\r\n members.push(member);\r\n }); \r\n }\r\n else{\r\n this.policyService.selectedPolicy.insured.forEach((member: Insured) => {\r\n member.homeAddress = null;\r\n members.push(member);\r\n }); \r\n } \r\n \r\n var invitationRequest = new InvitationsRequest({ \r\n insuredUsers: members,\r\n invitationType: invitationType \r\n });\r\n\r\n this.dafApi.inviteMembers(this.policyService.selectedPolicy.id, invitationRequest).subscribe(\r\n \r\n (success) => { this.notificationService.inform('Πρόσκληση μελων', 'Το αιτημα σας προωθήθηκε');\r\n this.fetchPolicyMembers();\r\n }\r\n ),\r\n (error) => {\r\n let errorMessage = JSON.parse(error.response).InvitationsRequest[0];\r\n this.notificationService.error('Πρόσκληση μελων', errorMessage);\r\n\r\n }\r\n this.selectedMembers=[];\r\n }\r\n\r\n public changeUserStatus(row: any): void {\r\n const member = Object.assign({}, row);\r\n let status = '';\r\n if (member.accessLevel === 'Member') {\r\n status = 'Promote';\r\n } else if (member.accessLevel === 'Owner') {\r\n status = 'Demote';\r\n } else if (!member.accessLevel) {\r\n status = 'Promote';\r\n }\r\n this.dafApi.changeStatus(this.policyService.selectedPolicy.id, row.id, status).subscribe(\r\n (success) => {\r\n row.accessLevel = status === 'Promote' ? 'Owner' : 'Member';\r\n this.notificationService.success('Κατάσταση μέλους', 'Η κατάστση του μέλους ενημερώθηκε');\r\n },\r\n (error) => this.notificationService.parseAndPopError(error)\r\n );\r\n}\r\n\r\npublic addMemberToInvitationPool(row: any) {\r\n this.selectedMembers.push(row);\r\n}\r\npublic disable(row): boolean {\r\n return this.selectedMembers.filter((m: any) => m.id === row.id).length > 0;\r\n}\r\npublic onMemberPageChange(pageInfo): void {\r\n this.memberListOptions.pageIndex = pageInfo.offset;\r\n this.memberListOptions.page = this.memberListOptions.pageIndex + 1;\r\n this.fetchPolicyMembers();\r\n}\r\npublic onMemberSort(event): void {\r\n this.memberListOptions.setSorting(event);\r\n this.fetchPolicyMembers();\r\n}\r\npublic onMemberSearch(): void {\r\n this.fetchPolicyMembers();\r\n}\r\npublic onPageSizeChange(limit: any): void {\r\n this.memberListOptions.size = parseInt(limit, undefined);\r\n this.fetchPolicyMembers();\r\n}\r\nprotected fetchPolicyMembers() {\r\n this.membersLoadingIndicator = true;\r\n this.dafApi.getInsuredList(this.policyService.selectedPolicy.id, this.memberListOptions.getListOptions().page, \r\n this.memberListOptions.getListOptions().size, this.memberListOptions.getListOptions().sort,\r\n this.memberListOptions.getListOptions().search).subscribe(response => {\r\n this.policyService.selectedPolicy.insured = response.items;\r\n this.memberListOptions.setTotalItems(response.count);\r\n this.membersLoadingIndicator = false; \r\n });\r\n}\r\npublic removeMember(idx: number): void {\r\n if (idx >= 0) {\r\n this.selectedMembers.splice(idx, 1);\r\n this.selectedMembers = [...this.selectedMembers];\r\n }\r\n}\r\npublic addNewPolicyMember(): void {\r\n this.dialog.open(\r\n PartialMemberCreateDialogComponent,\r\n {\r\n //width: '250px',\r\n autoFocus: true,\r\n disableClose: true,\r\n data: { firstName: '', lastName: '', insuredId: 0, email: '', grant: Role.Hr, isInsured: false }\r\n }).afterClosed()\r\n .pipe(take(1))\r\n .subscribe(\r\n (result: any) => {\r\n if (result) {\r\n this.dafApi.submitGrouppolicyManager(this.policyService.selectedPolicy.id, result).subscribe(\r\n (success) => this.notificationService.success('Προσθήκη χρήστη', 'Η πρόκληση εστάλη επιτυχώς'),\r\n (error) => this.notificationService.parseAndPopError(error)\r\n );\r\n }\r\n });\r\n}\r\n\r\n\r\n// toggleSideNav() {\r\n// this.sidenav.toggle();\r\n// // to trigger ngx datatable refresh lol...\r\n// this.selectedMembers = [...this.selectedMembers];\r\n// }\r\n\r\n// openSideNav() {\r\n// this.sidenav.open();\r\n// }\r\n\r\n// closeSideNav() {\r\n// this.sidenav.close();\r\n// }\r\n}\r\n","\r\nimport { Component, Input } from '@angular/core';\r\nimport { IDictionary } from 'src/app/core/core-models';\r\n\r\n@Component({\r\n selector: 'error-display',\r\n templateUrl: 'error-messages.component.html'\r\n})\r\nexport class ErrorDisplayComponent {\r\n @Input() model: any; // use model to get the error messages and the model name (when the display Name is not set)\r\n @Input() businessEntity: string;\r\n @Input() displayName?: string; // use it for display purposes (if not set use the model.name)\r\n @Input() triggerValidation: boolean;\r\n @Input() max: number;\r\n @Input() min: number;\r\n private ErrorMessages: IDictionary;\r\n private NonErrors: string[];\r\n private defaultErrorMessage = '{0} \\'{1}\\' έχει απροσδιόριστο λάθος.';\r\n\r\n constructor() {\r\n this.ErrorMessages = {};\r\n this.ErrorMessages['pattern'] = '{0} \\'{1}\\' έχει σφάλμα μοτίβου';\r\n this.ErrorMessages['required'] = '{0} \\'{1}\\' είναι υποχρεωτικό.';\r\n this.ErrorMessages['valueexists'] = '{0} \\'{1}\\' υπάρχει ήδη.';\r\n this.ErrorMessages['minlength'] = '{0} \\'{1}\\' πρέπει να έχει τουλάχιστον {2} χαρακτήρες.';\r\n this.ErrorMessages['min'] = '{0} {1} πρέπει να είναι μεγαλύτερο του {2}.';\r\n this.ErrorMessages['max'] = '{0} {1} πρέπει να μικρότερο του {2}';\r\n this.ErrorMessages['minimum'] = '{0} \\'{1}\\' must be at least {2}.';\r\n this.ErrorMessages['maximum'] = '{0} \\'{1}\\' must be at most {2}.';\r\n this.ErrorMessages['multipleof'] = '{0} \\'{1}\\' must be multiple of {2}.';\r\n this.ErrorMessages['maxlength'] = 'Δεν μπορεί να έχει περισσότερους από {0} χαρακτήρες.'; //#See below message for max value#\r\n this.ErrorMessages['validateequal'] = '{0} \\'{1}\\' αναντιστοιχία.';\r\n this.ErrorMessages['type'] = '{0} \\'{1}\\' μη έγκυρη τιμή.';\r\n this.NonErrors = ['actualvalue', 'requiredvalue'];\r\n }\r\n\r\n public getErrorKeys() {\r\n let errorKeys: string[] = []\r\n if (this.model && this.model.errors && this.model.model) {\r\n let keys = Object.keys(this.model.errors);\r\n errorKeys = keys.filter(i => this.NonErrors.indexOf(i) == -1);\r\n }\r\n if (this.model?.model > this.max) {\r\n errorKeys.push('max');\r\n }\r\n if (this.model?.model < this.min) {\r\n errorKeys.push('min');\r\n }\r\n return errorKeys;\r\n }\r\n\r\n public displayErrorMessage(errorKey: string): string {\r\n errorKey = errorKey.toLowerCase();\r\n let errorMessage: string = '';\r\n // if (this.model && this.model.errors) {\r\n if (Object.keys(this.ErrorMessages).indexOf(errorKey) >= 0) {\r\n errorMessage = this.ErrorMessages[errorKey];\r\n }\r\n else {\r\n errorMessage = this.defaultErrorMessage;\r\n }\r\n errorMessage = errorMessage.replace('{0}', this.businessEntity || '');\r\n errorMessage = errorMessage.replace('{1}', (this.displayName || this.model.name || ''));\r\n\r\n switch (errorKey) {\r\n case 'minlength':\r\n if (this.model.errors['minlength'] || this.model.errors['minLength']) {\r\n let minLength = (this.model.errors['minlength'] || this.model.errors['minLength'])['requiredLength'];\r\n errorMessage = errorMessage.replace('{2}', minLength); \r\n }\r\n break;\r\n case 'min':\r\n errorMessage = errorMessage.replace('{2}', this.min.toString());\r\n break;\r\n case 'max':\r\n errorMessage = errorMessage.replace('{2}', this.max.toString());\r\n break;\r\n //User is not allowed to enter more than 'max-length' characters so,\r\n //there is no use of client- side max length validation error message\r\n case 'maxlength':\r\n if (this.model.errors['maxlength']) {\r\n let maxLength = this.model.errors['maxlength']['requiredLength'];\r\n errorMessage = this.ErrorMessages[errorKey].replace('{0}', maxLength);\r\n }\r\n break;\r\n case 'maximum':\r\n case 'minimum':\r\n case 'multipleof':\r\n if (this.model.errors[errorKey]) {\r\n let value = this.model.errors[errorKey][errorKey + 'Value'];\r\n errorMessage = errorMessage.replace('{2}', value);\r\n }\r\n break;\r\n //case 'pattern':\r\n // if (this.model.errors[errorKey]) {\r\n // let requiredValue = this.model.errors[errorKey]['requiredPattern'];\r\n // errorMessage = errorMessage.replace('{2}', requiredValue);\r\n // }\r\n // break;\r\n case 'type':\r\n if (this.model.errors[errorKey]) {\r\n //let value = this.model.errors[errorKey][errorKey + 'Value'];\r\n //errorMessage = errorMessage.replace('{2}', value);\r\n }\r\n break;\r\n //default: \r\n // let msg = `Unknown error key: '${errorKey}'`;\r\n // console.error(msg);\r\n // throw msg;\r\n ////break;\r\n }\r\n // }\r\n return errorMessage;\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { CanActivate, CanActivateChild, Router, ActivatedRouteSnapshot, RouterStateSnapshot, NavigationExtras } from '@angular/router';\r\nimport { PolicyService } from './policy.service';\r\nimport { NotificationService } from './notification.service';\r\n\r\n@Injectable()\r\nexport class PoliciesLoadedGuard implements CanActivate, CanActivateChild {\r\n constructor(private policyService: PolicyService, private notificationService: NotificationService, private router: Router) {\r\n }\r\n canActivateChild(next: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\r\n return this.canActivate(next, state);\r\n }\r\n canActivate(next: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\r\n const canActivate = this.policyService._policies.length > 0;\r\n if (!canActivate) {\r\n this.policyService.goToPolicyLoader(state.url);\r\n }\r\n return canActivate;\r\n }\r\n}","export default \"\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n FATCA\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Ερωτηματολόγιο\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Στη συγκεκριμένη ενότητα αποτυπώνεται η συμβουλή της Groupama Ασφαλιστικής για\\r\\n την\\r\\n επιλογή του καταλληλότερου για εσάς, σε σχέση με το επενδυτικό σας προφίλ, επενδυτικού μίγματος.\\r\\n Δηλώνοντας\\r\\n ότι συμφωνείτε με τη συμβουλή της Groupama Ασφαλιστικής θα έχετε τη δυνατότητα να τοποθετήσετε την\\r\\n επένδυσή\\r\\n σε ένα ή περισσότερα εκ των προτεινομένων επενδυτικών προϊόντων-αμοιβαίων κεφαλαίων μικρότερου ή ίσου\\r\\n επενδυτικού κινδύνου με το προφίλ σας. Εάν δεν συμφωνείτε με τη συμβουλή της Groupama Ασφαλιστικής και\\r\\n επιθυμείτε να επενδύσετε σε επενδυτικά προϊόντα/αμοιβαία κεφάλαια που δεν ταιριάζουν στο επενδυτικό σας\\r\\n προφίλ, τα οποία ενδέχεται να είναι πιο επιθετικά και επικίνδυνα από τα συνιστώμενα για εσάς, τότε,\\r\\n δηλώνετε\\r\\n ότι αποδέχεστε τους κινδύνους και τις πιθανές ζημίες που μπορεί να προκύψουν από την επιλογή προϊόντων\\r\\n που\\r\\n δεν συνάδουν με τη συμβουλή της Groupama Ασφαλιστικής και ότι ουδεμία ευθύνη φέρει η Groupama\\r\\n Ασφαλιστική\\r\\n απέναντί σας από την πιο πάνω αιτία.\\r\\n
ΤΑ ΑΜΟΙΒΑΙΑ ΚΕΦΑΛΑΙΑ\\r\\n ΔΕΝ\\r\\n ΕΧΟΥΝ ΕΓΓΥΗΜΕΝΕΣ ΑΠΟΔΟΣΕΙΣ ΚΑΙ ΟΙ ΠΡΟΗΓΟΥΜΕΝΕΣ ΑΠΟΔΟΣΕΙΣ ΔΕΝ ΔΙΑΣΦΑΛΙΖΟΥΝ ΤΙΣ ΜΕΛΛΟΝΤΙΚΕΣ
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Συμφωνείτε με το παραπάνω επενδυτικό προφίλ;
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n thumb_up_alt Συμφωνώ\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n thumb_down_alt Δεν συμφωνώ\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Προτιμήσεις Βιωσιμότητας\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Στη συγκεκριμένη ενότητα αποτυπώνεται η συμβουλή της Groupama Ασφαλιστικής\\r\\n σχετικά με τις προτιμήσεις σας όσον αφορά τη βιωσιμότητα. Δηλώνοντας ότι συμφωνείτε με τη συμβουλή της\\r\\n Groupama Ασφαλιστικής θα έχετε τη δυνατότητα να τοποθετήσετε την επένδυσή σε ένα ή περισσότερα εκ των\\r\\n προτεινομένων επενδυτικών προϊόντων-αμοιβαίων κεφαλαίων τα οποία είναι σε συνάφεια με τις προτιμήσεις\\r\\n σας όσον αφορά τη βιωσιμότητα. Εάν δεν συμφωνείτε με τη συμβουλή της Groupama Ασφαλιστικής και\\r\\n επιθυμείτε να επενδύσετε σε επενδυτικά προϊόντα/αμοιβαία κεφάλαια τα οποία δεν είναι σε συνάφεια με τις\\r\\n προτιμήσεις σας όσον αφορά τη βιωσιμότητα τότε μπορείτε να επιλέξετε την επιλογή «ΔΕ ΣΥΜΦΩΝΩ»\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
Συμφωνείτε με το παραπάνω προφίλ βιωσιμότητας;
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n thumb_up_alt Συμφωνώ\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n thumb_down_alt Δεν συμφωνώ\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n {{requiredFieldMsg}}
\\r\\n
 
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n 0\\\">\\r\\n
\\r\\n 2,'form-radio-group-horizonal':formItem.itemListSetup.setupValues.length === 2}\\\"\\r\\n [id]=\\\"formItem.itemId\\\" [name]=\\\"formItem.itemId\\\" [formGroup]=\\\"form\\\" [formControlName]=\\\"formItem.itemId\\\">\\r\\n {{ option.valueDescription\\r\\n }}\\r\\n \\r\\n
\\r\\n {{requiredFieldMsg}}
\\r\\n
 
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n {{requiredFieldMsg}}
\\r\\n
 
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n {{requiredFieldMsg}}
\\r\\n
 
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n

\\r\\n \\r\\n
\\r\\n
\\r\\n
\";","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { ClaimRequestCreateComponent, ClaimRequestReCreateComponent } from './claim-request-create.component';\r\nimport { ClaimRequestEditComponent } from './claim-request-edit.component';\r\nimport { PolicyMemberResolver, ProtectedMembersResolver, ClaimRequestResolver } from '../core/services/data-resolver.service';\r\nimport { IsLoggedInAuthGuard, PoliciesLoadedGuard } from 'src/app/core/services';\r\n\r\nconst ROUTES: Routes = [\r\n {\r\n path: 'policy/:policyId/members/:memberId/claim-request/create',\r\n component: ClaimRequestCreateComponent,\r\n canActivate: [IsLoggedInAuthGuard, PoliciesLoadedGuard],\r\n resolve: {\r\n member: PolicyMemberResolver,\r\n protected: ProtectedMembersResolver\r\n }\r\n },\r\n {\r\n path: 'policy/:policyId/members/:memberId/claim-request/re-create',\r\n component: ClaimRequestReCreateComponent,\r\n canActivate: [IsLoggedInAuthGuard, PoliciesLoadedGuard],\r\n },\r\n {\r\n path: 'policy/:policyId/members/:memberId/claim-request/:claimRequestId/edit',\r\n component: ClaimRequestEditComponent,\r\n canActivate: [IsLoggedInAuthGuard],\r\n resolve: {\r\n member: PolicyMemberResolver,\r\n protected: ProtectedMembersResolver,\r\n claimRequest: ClaimRequestResolver\r\n }\r\n }\r\n];\r\n\r\nexport const RoutableComponents = [ClaimRequestCreateComponent, ClaimRequestEditComponent, ClaimRequestReCreateComponent];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(ROUTES)],\r\n exports: [RouterModule]\r\n})\r\nexport class ClaimRequestRoutingModule { }","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule, ExtraOptions } from '@angular/router';\r\n\r\n\r\nimport { MessagesComponent } from './messages/messages.component';\r\nimport { AppRoutingSelectorComponent } from './app-routing-selector.component';\r\nimport { IsLoggedInAuthGuard, PoliciesLoadedGuard } from './core/services';\r\nimport { MessagesResolver, TokenResolver, DafTokenResolver } from './core/services/data-resolver.service';\r\nimport { InvitationInspectComponent } from './invitation/invitation-inspect.component';\r\nimport { DafInvitationReviewComponent } from './policy/daf/daf-invitation-review/daf-invitation-review.component';\r\n\r\nconst routerOptions: ExtraOptions = {\r\n useHash: false,\r\n anchorScrolling: 'enabled',\r\n };\r\n\r\nconst appRoutes: Routes = [\r\n // note 1: No leading slashes\r\n // note 2: order of routes MATTERS\r\n // note 3: Router uses a first match win strategy. More specific routes should always be before less specific routes\r\n { path: '', redirectTo: 'policy', pathMatch: 'full' }, /* path: '' indicates the default route */\r\n {\r\n path: 'messages', component: MessagesComponent, resolve: { messages: MessagesResolver },\r\n data: { api: 'messages' }, canActivate: [IsLoggedInAuthGuard, PoliciesLoadedGuard]\r\n },\r\n {\r\n path: 'policy/invitation/inspect', component: InvitationInspectComponent,\r\n resolve: { tokenResponse: TokenResolver }, data: { api: 'invitation/inspect' }, canActivate: [IsLoggedInAuthGuard]\r\n },\r\n {\r\n path: 'policy/daf/invitation/inspect', component: DafInvitationReviewComponent,\r\n resolve: { tokenResponse: DafTokenResolver }, canActivate: [IsLoggedInAuthGuard]\r\n },\r\n { path: '**', pathMatch: 'full', redirectTo: '404', /*this is Eagerly loaded*/ } /* path: ** is a wild-card route */\r\n];\r\n\r\nexport const routableComponents = [AppRoutingSelectorComponent, MessagesComponent, InvitationInspectComponent];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forRoot(appRoutes, routerOptions)],\r\n exports: [RouterModule]\r\n})\r\nexport class AppRoutingModule { }\r\n","export default \"
\\r\\n
\\r\\n
Προσωπικά Στοιχεια
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{ showSalary ? 'visibility' : 'visibility_off' }}\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
Διεύθυνση Οικίας
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\";","export default \"\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
ΕΤΑΙΡΕΙΑ ΔΙΑΧΕΙΡΙΣΗΣ {{element.company}} ΑΜΟΙΒΑΙΟ ΚΕΦΑΛΑΙΟ {{element.capital}} ISIN {{element.ISIN}}
\\r\\n \\r\\n\";","import {Observable} from 'rxjs';\r\nimport {ITableConfig, IResultSet} from 'src/app/core/core-models';\r\nimport { NumberValueAccessor } from '@angular/forms';\r\nimport { StringNullableChain } from 'lodash';\r\nimport { NumberCardModule } from '@swimlane/ngx-charts';\r\nimport { Provision, Claim, Transaction, IInsured, PolicyDocumentType, Summary, PersonalInvestmentSummary, QuestionnaireDetails, IPolicyManager } from './core/services/daf-api.service';\r\nimport { claimKinds, DamageObject } from './app-models-1';\r\n\r\nexport interface IPolicyDocumentHelper {\r\n categories: string[];\r\n selectedCategory: string;\r\n\r\n searchForDocument(term: string): void;\r\n\r\n onDocumentCategoryChange(idx: number): void;\r\n}\r\n\r\nexport interface IPolicyService {\r\n selectedPolicyId: string;\r\n selectedPolicy: IPolicy;\r\n //selectedPolicySubject: Subject;\r\n policyStatisticsSelections: IChartCategory[];\r\n selectedPolicyDocuments: IPolicyDocumentHelper;\r\n selectedMember: IInsuredMember;\r\n dafSelectedMember: IDafInsuredMember;\r\n _policies: IPolicy[];\r\n scrollModel: ScrollModel;\r\n\r\n hasPolices(): boolean;\r\n\r\n policyIdChanged(policyId: string): void;\r\n\r\n setPolicies(policies: IPolicy[], policyId: string): void;\r\n\r\n getPolicyBenefits(policyId?: string): void;\r\n\r\n getPolicyStatistics(policyId: string, category?: any): Observable;\r\n\r\n getPolicyMembers(listOptions: ITableConfig): Observable>;\r\n\r\n getPolicyGeneralDocuments(policyId?: string): void;\r\n\r\n getPolicyDocumentsByType(type: DocumentType, listOptions: ITableConfig);\r\n\r\n getPolicyClaimRequest(policyId: string, listOptions: ITableConfig);\r\n\r\n getMemberDocumentsByType(memberId: string, type: DocumentType, listOptions: ITableConfig);\r\n\r\n checkMember152ComplianceStatus(memberId: string);\r\n\r\n getMemberClaimRequest(policyId: string, memberId: string, listOptions: ITableConfig);\r\n\r\n getDafMemberRequestedProvisions(policyId: string, memberId: string, status: boolean);\r\n\r\n getDafMemberCompletedProvisions(policyId: string, memberId: string);\r\n\r\n getDafMemberClaims(policyId: string, memberId: string);\r\n\r\n getDafMemberTransactions(policyId: string, memberId: string);\r\n\r\n getMembersHistoryChanges(policyId: string, listOptions: ITableConfig, memberId?: string);\r\n\r\n deleteMember(id: string): void;\r\n\r\n deleteClaimRequest(claimRequestId: string);\r\n\r\n printDocument(documentId: string, documentType: string, subType?: string): void;\r\n\r\n donwloadClaimRequestAttachment(selectedPolicyId: string, claimRequestId: string, attachmentId: string);\r\n\r\n inviteMember(memberId: string): void;\r\n\r\n goToClaimRequestCreate(mid: string);\r\n\r\n goToMemberEdit(mid: string);\r\n\r\n goToSelectedPolicy();\r\n\r\n goToClaimRequestEdit(memberId: string, claimRequestId: string);\r\n\r\n downloadCartaPDF(companyName:string,fullName:string[],code:string[]);\r\n}\r\n\r\n//#region Enums\r\nexport declare type AccessLevel = 'Owner' | 'Contributor' | 'Member' | 'ViewOnlyAdmin' | 'Hr' | 'Backoffice' | 'Admin' | 'OwnerWithClaimRights';\r\n\r\nexport enum RelationshipType {\r\n Spouse = 1,\r\n Child = 2\r\n}\r\n\r\nexport declare type RelationshipType2 = 'Spouse' | 'Child';\r\n\r\nexport declare type ClaimStatusType2 = 'Draft' | 'Submitted' | 'Reviewing' | 'Pending' | 'Rejected' | 'Closed' | 'ReviewIncomplete' | 'ProcessIncomplete';\r\n\r\nexport enum ClaimStatusType {\r\n Draft = 1,\r\n Submitted = 2,\r\n Reviewing = 3,\r\n Pending = 4,\r\n Rejected = 5,\r\n Closed = 6,\r\n ReviewIncomplete = 7,\r\n ProcessIncomplete = 8,\r\n}\r\n\r\nexport declare type DocumentType2 = 'General' | 'Certificate' | 'Insurance';\r\n\r\nexport enum DocumentType {\r\n General = 1,\r\n Certificate = 2,\r\n Insurance = 3\r\n //Vevaiosh = 2,\r\n //Asfalistro = 3,\r\n}\r\n\r\nexport enum DocumentStatusType {\r\n ExceptionalPayment = 2,\r\n Acquired = 3,\r\n Unpaid = 4,\r\n Paid = 5,\r\n UnpaidWithAdvancePayment = 6,\r\n CancelDueToError = 7,\r\n CanceledByContractCancellation = 8,\r\n Reserved = 9,\r\n CancellationDueToWithdrawal = 10,\r\n CancelDueToObjection = 11\r\n}\r\n\r\nexport declare type SexType = 'Male' | 'Female';\r\n\r\nexport enum InvitationType {\r\n All = 0,\r\n AllNew = 1,\r\n Resend = 2,\r\n Selected = 3\r\n}\r\n\r\nexport declare type DamageTypes2 = 'Doctor' | 'DiagnosticExaminations' | 'Medicine' | 'ChildBirth' | 'Accident' | 'PhysioSpeechTherapy' |\r\n 'TherapeuticMeans'|'OvernightΗospitalΕxpenses'| 'DayHospitalDaySurgeryCosts'| 'Emergency' | 'MaternityBenefit' | 'SurgicalBenefit'|\r\n 'LossOfIncome' | 'HospitalBeneft' |'Other';\r\n\r\nexport enum DamageTypes {\r\n Doctor = 1,\r\n DiagnosticExaminations = 2,\r\n Medicine = 3,\r\n ChildBirth = 4,\r\n Accident = 5,\r\n PhysioSpeechTherapy = 6,\r\n TherapeuticMeans = 7,\r\n OvernightΗospitalΕxpenses = 8,\r\n DayHospitalDaySurgeryCosts = 9,\r\n Emergency = 10,\r\n MaternityBenefit = 11,\r\n SurgicalBenefit = 12,\r\n LossOfIncome = 13,\r\n HospitalBeneft = 14,\r\n Other = 99\r\n}\r\n\r\nexport declare type DocumentCategoryType2 = 'Policy' | 'AdditionalAct' | 'Booklet' | 'Rest' | 'Doc152' | 'InvestmentInfoDoc' | 'ContractorManual' | 'InsuredManual' | 'EducationalMaterial';\r\n\r\nexport enum DocumentCategoryType {\r\n Policy = 1237,\r\n AdditionalAct = 1253,\r\n Booklet = 1232,\r\n Rest = 1249,\r\n Doc152 = 1459,\r\n InvestmentInfoDoc = 1460,\r\n ContractorManual = 1461,\r\n InsuredManual = 1462,\r\n EducationalMaterial = 1463\r\n}\r\n\r\n//#endregion\r\n\r\n//#region Helper Models\r\nexport interface IAddress {\r\n line1: string;\r\n line2: string;\r\n line3: string;\r\n homeNo: string;\r\n postCode: string;\r\n state: string;\r\n city: string;\r\n country: string;\r\n}\r\n\r\nexport interface ICompany {\r\n tin: string;\r\n name: string;\r\n group: string;\r\n}\r\n\r\n//#endregion\r\n\r\n// Business Models\r\nexport enum AppPolicyType {\r\n GroupPolicy = 'GroupPolicy',\r\n DafPolicy = 'DafPolicy'\r\n}\r\n\r\nexport interface IPolicy {\r\n id: string;\r\n appPolicyType: AppPolicyType;\r\n description: string;\r\n policyNumber: string;\r\n dateFrom: Date;\r\n dateTo: Date;\r\n payment: string;\r\n paymentType: string;\r\n name: string;\r\n nextPaymentDate: Date;\r\n paymentAmount: number;\r\n company: ICompany;\r\n vatNumber?: string\r\n membershipStatus: IMembershipStatus;\r\n benefits: IPolicyCategory[];\r\n documents: IPolicyDocument[];\r\n certificateDocuments: IPolicyDocument[];\r\n insuranceDocuments: IPolicyDocument[];\r\n members: IInsuredMember[];\r\n managers: IPolicyManager[];\r\n insured: IInsured[];\r\n claimRequests: IClaimRequest[];\r\n claimRequestsPending: IClaimRequest[];\r\n membersHistoryChanges: IInsuredMemberHistoryChange[];\r\n statistics: any;\r\n statisticsCovers: IChartCategory[];\r\n statisticsCoversGrp: IChartCategoryGroup[];\r\n summary: Summary;\r\n onlyGuaranteedPrincipal: boolean;\r\n}\r\n\r\nexport interface IChartCategoryGroup {\r\n year: string;\r\n categories: IChartCategory[];\r\n}\r\n\r\nexport interface IChartCategory {\r\n code: string;\r\n title: string;\r\n years: string[];\r\n}\r\n\r\nexport interface IMembershipStatus {\r\n isInsured: boolean;\r\n accessLevel: AccessLevel;\r\n policyMemberId: string;\r\n}\r\n\r\n//#region Policy Categories, Cover Groups, Covers\r\nexport interface IPolicyCategory {\r\n id: string;\r\n code: string;\r\n title: string;\r\n covers: IPolicyCover[];\r\n}\r\n\r\nexport interface IPolicyCover {\r\n id: string;\r\n code: string;\r\n title: string;\r\n applyToProtectedMembers: boolean;\r\n requireSalary: string ;\r\n benefits: IBenefit[];\r\n}\r\n\r\nexport interface IBenefit {\r\n id: string;\r\n title: string;\r\n}\r\n\r\n//#endregion\r\n\r\n//#region Policy Members\r\nexport interface IPolicyMember {\r\n id: string;\r\n policyId: string;\r\n userId: string;\r\n email: string;\r\n accessLevel: AccessLevel;\r\n isInsured: boolean;\r\n\r\n hasPendingInvitation: boolean;\r\n}\r\n\r\nexport interface ICommonMemberDetails {\r\n familyId: string;\r\n insuredId: number;\r\n code: string; //ΑΡ.ΠΕΛΑΤΗ (OMSASSR.OMSASSR_CODE)\r\n\r\n referenceNumber: string;\r\n fullName: string;\r\n firstName: string;\r\n lastName: string;\r\n birthDate: Date;\r\n afm: string;\r\n amka: string;\r\n sex: string;\r\n sexType: SexType;\r\n\r\n allowNewsletters: boolean;\r\n allowSensitiveDataViewing: boolean;\r\n validFromDate: Date;\r\n}\r\n\r\nexport interface IInsuredMember extends IPolicyMember, ICommonMemberDetails {\r\n policyCategoryId: string;\r\n registryNumber: string; //arithmos mitroou\r\n bankAccount: string;\r\n salary: number;\r\n salaryDecimal: number;\r\n mobile: string;\r\n insuredDate: Date;\r\n insuredEndDate: Date;\r\n dateOfChange: Date;\r\n //status: boolean;\r\n hasPendingChanges: boolean;\r\n //policyCategory: IPolicyCategory;\r\n claimRequests: IClaimRequest[]; // draft - submitted\r\n claimRequestsPending: IClaimRequest[]; // Pending Failed\r\n certificateDocuments: IPolicyDocument[]; //apozimeioseis\r\n generalDocuments: IPolicyDocument[];\r\n historyChanges: IInsuredMemberHistoryChange[]; //history\r\n policyMemberAddress: IAddress;\r\n protectedMembers: IProtectedMember[];\r\n protectedMembersCount : number;\r\n damages: DamageObject[];\r\n damageType:string;\r\n claimType:string;\r\n}\r\n\r\nexport interface IDafInsuredMember extends IPolicyMember, ICommonMemberDetails {\r\n startDate: Date;\r\n registryNumber: string;\r\n recruitmentDate: Date;\r\n salary: number;\r\n phoneNumber: string;\r\n summary?: Summary;\r\n personalInvestmentSummary?: PersonalInvestmentSummary;\r\n questionnaireDetails?: QuestionnaireDetails[];\r\n}\r\n\r\nexport interface IProtectedMember extends ICommonMemberDetails {\r\n id: string;\r\n policyMemberId: string;\r\n insuredDate?: Date;\r\n insuredEndDate?: Date;\r\n relationshipType: RelationshipType2;\r\n overSixteen: boolean;\r\n email: string;\r\n damageType : string;\r\n claimType: string;\r\n}\r\n\r\nexport interface IInsuredMemberHistoryChange {\r\n insuredId: string;\r\n groupPolicyId: string;\r\n fullName: string;\r\n code: string;\r\n dateOfChange: Date;\r\n status: string;\r\n}\r\n\r\n//#endregion\r\n\r\nexport interface IPolicyDocument {\r\n id: string;\r\n policyId: string;\r\n policyMemberId?: string;\r\n type: any;\r\n title: string;\r\n category: string;\r\n categoryType: DocumentCategoryType;\r\n subtype: string;\r\n issueDate: Date;\r\n paymentDate?: Date;\r\n paymentDueDate?: Date;\r\n amount: number;\r\n requestedAmount: number;\r\n deductibleAmount: number;\r\n //claimAmountApproved: number;\r\n referenceNumber: string;\r\n patientName: string;\r\n status: DocumentStatusType;\r\n claimId: number;\r\n}\r\n\r\nexport declare type MessageType = 'Private' | 'Announcement';\r\n\r\nexport interface IMessage {\r\n id: string;\r\n policyId: string;\r\n claimRequestId: string;\r\n title: string;\r\n body: string;\r\n messageType: MessageType;\r\n insertDate: Date;\r\n dateRead: Date;\r\n isRead: boolean;\r\n}\r\n\r\nexport interface IClaimRequest {\r\n id: string;\r\n policyId: string;\r\n policyMemberId: string;\r\n insuredId: number;\r\n protectedMemberId: string;\r\n code: string;\r\n status: string;\r\n statusType: ClaimStatusType2;\r\n dateOccured: Date;\r\n dateReported: Date;\r\n damageType: string; // ειδος ζημιας maybe delete\r\n damageTypes: DamageObject[]; // ειδος ζημιας \r\n allowNewsletters: boolean;\r\n allowSensitiveDataViewing: boolean;\r\n messages: IMessage[];\r\n folderId: string;\r\n referenceId: string;\r\n claimKind:string;\r\n autoSettlement : number\r\n // fullName: string;\r\n}\r\n\r\nexport interface IAttachment {\r\n fileName: string;\r\n id: number;\r\n contentType: string;\r\n body: (ArrayBuffer | ArrayBufferView | Blob | string);\r\n}\r\n\r\nexport class Policy implements IPolicy {\r\n appPolicyType: AppPolicyType;\r\n description: string;\r\n id: string;\r\n policyNumber: string;\r\n dateFrom: Date;\r\n dateTo: Date;\r\n payment: string;\r\n paymentType: string;\r\n name: string;\r\n nextPaymentDate: Date;\r\n paymentAmount: number;\r\n vatNumber?: string\r\n membershipStatus: IMembershipStatus = {};\r\n company: ICompany;\r\n benefits: IPolicyCategory[] = [];\r\n documents: IPolicyDocument[] = [];\r\n certificateDocuments: IPolicyDocument[] = [];\r\n insuranceDocuments: IPolicyDocument[] = [];\r\n members: IInsuredMember[] = [];\r\n managers: IPolicyManager[] = [];\r\n insured: IInsured[] = [];\r\n claimRequests: IClaimRequest[] = [];\r\n claimRequestsPending: IClaimRequest[] = [];\r\n membersHistoryChanges: IInsuredMemberHistoryChange[] = [];\r\n statistics: any = {};\r\n statisticsCovers: IChartCategory[] = [];\r\n statisticsCoversGrp: IChartCategoryGroup[] = [];\r\n summary: Summary;\r\n onlyGuaranteedPrincipal: boolean;\r\n}\r\n\r\nexport class ScrollModel {\r\n shouldScroll: boolean = false;\r\n target: string = '';\r\n}\r\n\r\nexport enum QuestionnaireGroupType {\r\n FATCA = 'Fatca',\r\n SUSTAINABILITY = 'Sustainability',\r\n SCORE = 'Score'\r\n}\r\n\r\nexport enum QuestionnaireGroupId {\r\n FATCA = 'C231D85670710226E053C0A80A26A98A',\r\n SUSTAINABILITY = '15BC8C70C6990080E063C0A80A3DE3D0',\r\n SCORE = 'AA4E771EF8DB00BCE053C0A80A3DA80A'\r\n}\r\n\r\n\r\nexport enum QuestionnaireForms {\r\n FATCA = 0,\r\n SCORE = 1,\r\n SUSTAINABILITY = 2\r\n}\r\n\r\nexport enum SustainabilityFirstQuestion {\r\n Undefined = 0, // delete this later\r\n YES = 1,\r\n NO = 2,\r\n}\r\n\r\n","import { Component, Input, OnInit } from \"@angular/core\";\r\nimport { IPolicyService } from \"src/app/app-models\";\r\n\r\n@Component({\r\n selector: 'gg-member-header',\r\n templateUrl: 'member-header.component.html'\r\n})\r\n\r\n\r\nexport class MemberHeaderComponent implements OnInit {\r\n @Input() policyService: IPolicyService = {};\r\n canCreateClaimRequest: boolean = false; \r\n isOwner = false; \r\n isOwnerWithClaimRights = false;\r\n isMember = false; \r\n public canEdit : boolean = false; \r\n ngOnInit(): void {\r\n const itsMe = this.policyService.selectedPolicy.membershipStatus.policyMemberId === this.policyService.selectedMember.id;\r\n this.isOwner = this.policyService.selectedPolicy.membershipStatus.accessLevel === 'Owner' ; \r\n this.isOwnerWithClaimRights = this.policyService.selectedPolicy.membershipStatus.accessLevel === 'OwnerWithClaimRights' ; \r\n this.isMember = this.policyService.selectedPolicy.membershipStatus.accessLevel === 'Member' ;\r\n this.canCreateClaimRequest = (this.isOwnerWithClaimRights) || (this.policyService.selectedPolicy.membershipStatus.isInsured && itsMe); \r\n this.canEdit = this.isOwner || this.isMember || this.isOwnerWithClaimRights;\r\n }\r\n createClaimRequest(): void {\r\n this.policyService.goToClaimRequestCreate(this.policyService.selectedMember.id);\r\n }\r\n editMember() {\r\n this.policyService.goToMemberEdit(this.policyService.selectedMember.id);\r\n }\r\n public downloadCarta():void {\r\n const fullNames = [`${this.policyService.selectedMember.fullName}`,...this.policyService.selectedMember?.protectedMembers.map(member => `${member.firstName} ${member.lastName}`)];\r\n const codes = [`${this.policyService.selectedMember?.code}`,...this.policyService.selectedMember?.protectedMembers.map(member => `${member.code}`)];\r\n this.policyService.downloadCartaPDF(this.policyService?.selectedPolicy?.company?.name, fullNames,codes);\r\n }\r\n}","export default \"
\\r\\n
\\r\\n {{label1}}\\r\\n {{value1}}\\r\\n
\\r\\n
\\r\\n {{label2}}\\r\\n {{value2}}\\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\";","export default \"\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
{{policyService?.selectedPolicy?.company?.name}}
\\r\\n
{{(member?.firstName + ' ' + member.lastName)}}
\\r\\n
{{member?.code}}
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Συμβόλαιο
\\r\\n Ομαδικό ασφαλιστήριο {{policyService.selectedPolicy.policyNumber}}\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{benefit.code}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Άνδρας\\r\\n Γυναίκα\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Κατόπιν της ενημέρωσης για την προστασία των προσωπικών μου δεδομένων όπως ορίζεται εδώ, δηλώνω ρητώς ότι συγκατατίθεμαι:\\r\\n
\\r\\n
\\r\\n \\r\\n Στην επεξεργασία των προσωπικών δεδομένων μου υγείας, καθώς και στους όρους χρήσης της ηλεκτρονικής πλατφόρμας\\r\\n
\\r\\n \\r\\n Ναί\\r\\n Όχι\\r\\n \\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n Στην επεξεργασία των προσωπικών μου δεδομένων για εμπορικούς σκοπούς, όπως για παράδειγμα για την προώθηση\\r\\n προϊόντων ή υπηρεσιών, διαφήμιση κλπ.\\r\\n
\\r\\n (Προαιρετικό – Η επιλογή μπορεί να αλλάξει, όποτε το επιθυμείτε, μέσω της εφαρμογής)\\r\\n
\\r\\n \\r\\n Ναί\\r\\n Όχι\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
Προσωπικά Στοιχεία
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
Λανθασμένο IBAN
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
Διεύθυνση οικίας
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\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, Router } from '@angular/router';\r\nimport { DafApiClient, NotificationService, PolicyService } from 'src/app/core/services';\r\nimport { RedeemInvitationRequest } from 'src/app/core/services/daf-api.service';\r\n\r\n@Component({\r\n selector: 'app-daf-invitation-review',\r\n templateUrl: './daf-invitation-review.component.html'\r\n})\r\nexport class DafInvitationReviewComponent {\r\n private token: any;\r\n public birthDate: Date;\r\n public userEmail: string;\r\n public tokenResponse: any = {};\r\n public now: Date = new Date();\r\n\r\n constructor(private route: ActivatedRoute, private router: Router, private dafApi: DafApiClient, private notificationService: NotificationService, public policyService: PolicyService) {\r\n this.token = route.snapshot.queryParams['token'];\r\n this.tokenResponse = route.snapshot.data['tokenResponse'];\r\n }\r\n\r\n public redeemInvitation(): void {\r\n var isoDate = new Date(this.birthDate.getTime() - this.birthDate.getTimezoneOffset() * 60000);\r\n var redeemInvitationRequest = new RedeemInvitationRequest({\r\n token: this.token,\r\n email: this.userEmail,\r\n birthdate: isoDate\r\n });\r\n this.dafApi.redeemInvitation(redeemInvitationRequest).subscribe(\r\n (success) => this.policyService.goToRoot(),\r\n (error) => this.notificationService.parseAndPopError(error),\r\n );\r\n}\r\n\r\n}\r\n","\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'encodeURI'\r\n})\r\nexport class EncodeURIPipe implements PipeTransform {\r\n\r\n public transform(uris: any, attribute: string) {\r\n if (uris === undefined) { return ''; }\r\n\r\n for (let item of uris) {\r\n item = encodeURI(String(item));\r\n }\r\n return uris;\r\n }\r\n}","import { Component, Inject } from '@angular/core';\r\nimport { IPolicy } from '../app-models';\r\nimport { TableConfig } from '../core/core-models';\r\nimport { MatDialogRef } from '@angular/material/dialog';\r\n\r\n@Component({\r\n templateUrl: 'projection-instructions.component.html'\r\n})\r\nexport class ProjectionInstructionsDialogComponent { \r\n\r\n constructor( private dialogRef: MatDialogRef) {\r\n }\r\n \r\n public close(): void {\r\n this.dialogRef.close();\r\n } \r\n}\r\n","export default \"\\r\\n

Στοιχεία Ασφαλισμένου

\\r\\n
\\r\\n
\\r\\n
Προσωπικά Στοιχεία
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
Διεύθυνση Οικίας
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n * Παρακαλούμε συμπληρώστε πρώτα τη δήλωση FATCA και στη συνέχεια προχωρήστε με τη συμπλήρωση του Ερωτηματολογίου
\\r\\n
Ερωτηματολόγιο
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n Δήλωση FATCA/Συμπλήρωση Ερωτηματολογίου\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\";","export default \".ngx-charts {\\n float: left;\\n overflow: visible;\\n}\\n.ngx-charts text {\\n fill: rgba(153, 153, 153, 0.4);\\n}\\n.ngx-charts .circle,\\n.ngx-charts .bar,\\n.ngx-charts .arc {\\n cursor: pointer;\\n}\\n.ngx-charts .bar.active, .ngx-charts .bar:hover,\\n.ngx-charts .cell.active,\\n.ngx-charts .cell:hover,\\n.ngx-charts .arc.active,\\n.ngx-charts .arc:hover,\\n.ngx-charts .card.active,\\n.ngx-charts .card:hover {\\n opacity: 0.8;\\n transition: opacity 100ms ease-in-out;\\n}\\n.ngx-charts .bar:focus,\\n.ngx-charts .cell:focus,\\n.ngx-charts .arc:focus,\\n.ngx-charts .card:focus {\\n outline: none;\\n}\\n.ngx-charts g:focus {\\n outline: none;\\n}\\n.ngx-charts .line-series,\\n.ngx-charts .line-series-range,\\n.ngx-charts .polar-series-path,\\n.ngx-charts .polar-series-area,\\n.ngx-charts .area-series {\\n stroke: currentColor;\\n stroke-opacity: 1;\\n stroke-width: 2px;\\n}\\n.ngx-charts .line-series.inactive,\\n.ngx-charts .line-series-range.inactive,\\n.ngx-charts .polar-series-path.inactive,\\n.ngx-charts .polar-series-area.inactive,\\n.ngx-charts .area-series.inactive {\\n transition: opacity 100ms ease-in-out;\\n opacity: 0.2;\\n}\\n.ngx-charts .line-highlight {\\n display: none;\\n}\\n.ngx-charts .line-highlight.active {\\n display: block;\\n}\\n.ngx-charts .area {\\n opacity: 0.3;\\n}\\n.ngx-charts .circle:hover {\\n cursor: pointer;\\n}\\n.ngx-charts .label {\\n font-size: 12px;\\n font-weight: normal;\\n}\\n.ngx-charts .tooltip-anchor {\\n fill: rgba(153, 153, 153, 0.4);\\n}\\n.ngx-charts .gridline-path {\\n stroke: rgba(153, 153, 153, 0.4);\\n stroke-width: 1;\\n fill: none;\\n}\\n.ngx-charts .refline-path {\\n stroke: #a8b2c7;\\n stroke-width: 1;\\n stroke-dasharray: 5;\\n stroke-dashoffset: 5;\\n}\\n.ngx-charts .refline-label {\\n font-size: 9px;\\n}\\n.ngx-charts .reference-area {\\n fill-opacity: 0.05;\\n fill: rgba(153, 153, 153, 0.4);\\n}\\n.ngx-charts .gridline-path-dotted {\\n stroke: #ddd;\\n stroke-width: 1;\\n fill: none;\\n stroke-dasharray: 1, 20;\\n stroke-dashoffset: 3;\\n}\\n.ngx-charts .grid-panel rect {\\n fill: none;\\n}\\n.ngx-charts .grid-panel.odd rect {\\n fill: rgba(0, 0, 0, 0.05);\\n}\\n.ngx-charts .orange {\\n color: #947d4b;\\n}\\n.ngx-charts .green {\\n color: #2a6654;\\n}\\n.ngx-charts .blue {\\n color: #1fa3a5;\\n}\\n.ngx-charts .light-green {\\n color: #c4d600;\\n}\\n.timeline-filter-bar-chart .timeline .brush-background {\\n fill: rgba(0, 0, 0, 0.05);\\n}\\n.timeline-filter-bar-chart .timeline .brush .selection {\\n fill: rgba(0, 0, 0, 0.1);\\n stroke-width: 1px;\\n stroke: #888888;\\n}\\n.timeline-filter-bar-chart .timeline .brush .handle {\\n fill-opacity: 0;\\n}\\n.timeline-filter-bar-chart .timeline .embedded-chart {\\n opacity: 0.6;\\n}\\n.chart-legend .legend-label {\\n border-style: solid;\\n border-color: rgba(168, 178, 199, 0.5);\\n border-width: 1px;\\n margin: 4px 2px;\\n padding: 5px 5px;\\n}\\n.chart-legend .legend-label:hover {\\n background-color: rgba(153, 153, 153, 0.1);\\n}\\n.chart-legend .legend-label-text {\\n width: calc(100% - 12px) !important;\\n line-height: 12px !important;\\n color: #AFB7C8 !important;\\n}\\n.chart-legend .legend-label-color {\\n height: 10px !important;\\n width: 10px !important;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL2NvbXBvbmVudHMvcG9saWN5LXN0YXRzL2Jhc2UtY2hhcnQuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFJRSxXQUFBO0VBQ0EsaUJBQUE7QUFGRjtBQUZFO0VBQ0UsOEJBQUE7QUFJSjtBQUFFOzs7RUFHRSxlQUFBO0FBRUo7QUFJSTs7Ozs7OztFQUVFLFlBQUE7RUFDQSxxQ0FBQTtBQUdOO0FBREk7Ozs7RUFDRSxhQUFBO0FBTU47QUFGSTtFQUNFLGFBQUE7QUFJTjtBQURFOzs7OztFQUtFLG9CQUFBO0VBQ0EsaUJBQUE7RUFDQSxpQkFBQTtBQUdKO0FBRkk7Ozs7O0VBQ0UscUNBQUE7RUFDQSxZQUFBO0FBUU47QUFMRTtFQUNFLGFBQUE7QUFPSjtBQU5JO0VBQ0UsY0FBQTtBQVFOO0FBTEU7RUFDRSxZQUFBO0FBT0o7QUFKSTtFQUNFLGVBQUE7QUFNTjtBQUhFO0VBQ0UsZUFBQTtFQUNBLG1CQUFBO0FBS0o7QUFIRTtFQUNFLDhCQUFBO0FBS0o7QUFIRTtFQUNFLGdDQUFBO0VBQ0EsZUFBQTtFQUNBLFVBQUE7QUFLSjtBQUhFO0VBQ0UsZUFBQTtFQUNBLGVBQUE7RUFDQSxtQkFBQTtFQUNBLG9CQUFBO0FBS0o7QUFIRTtFQUNFLGNBQUE7QUFLSjtBQUhFO0VBQ0Usa0JBQUE7RUFDQSw4QkFBQTtBQUtKO0FBSEU7RUFDRSxZQUFBO0VBQ0EsZUFBQTtFQUNBLFVBQUE7RUFDQSx1QkFBQTtFQUNBLG9CQUFBO0FBS0o7QUFGSTtFQUNFLFVBQUE7QUFJTjtBQURNO0VBQ0UseUJBQUE7QUFHUjtBQUNFO0VBQ0UsY0FBQTtBQUNKO0FBQ0U7RUFDRSxjQUFBO0FBQ0o7QUFDRTtFQUNFLGNBQUE7QUFDSjtBQUNFO0VBQ0UsY0FBQTtBQUNKO0FBS0k7RUFDRSx5QkFBQTtBQUZOO0FBS007RUFDRSx3QkFBQTtFQUNBLGlCQUFBO0VBQ0EsZUFBQTtBQUhSO0FBS007RUFDRSxlQUFBO0FBSFI7QUFNSTtFQUNFLFlBQUE7QUFKTjtBQVdFO0VBQ0UsbUJBQUE7RUFDQSxzQ0FBQTtFQUNBLGlCQUFBO0VBQ0EsZUFBQTtFQUNBLGdCQUFBO0FBUko7QUFVRTtFQUNFLDBDQUFBO0FBUko7QUFVRTtFQUNFLG1DQUFBO0VBQ0EsNEJBQUE7RUFDQSx5QkFBQTtBQVJKO0FBVUU7RUFDRSx1QkFBQTtFQUNBLHNCQUFBO0FBUkoiLCJmaWxlIjoic3JjL2FwcC9zaGFyZWQvY29tcG9uZW50cy9wb2xpY3ktc3RhdHMvYmFzZS1jaGFydC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5uZ3gtY2hhcnRzIHtcclxuICB0ZXh0IHtcclxuICAgIGZpbGw6IHJnYmEoMTUzLCAxNTMsIDE1MywgMC40KVxyXG4gIH1cclxuICBmbG9hdDogbGVmdDtcclxuICBvdmVyZmxvdzogdmlzaWJsZTtcclxuICAuY2lyY2xlLFxyXG4gIC5iYXIsXHJcbiAgLmFyYyB7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgfVxyXG4gIC5iYXIsXHJcbiAgLmNlbGwsXHJcbiAgLmFyYyxcclxuICAuY2FyZCB7XHJcbiAgICAmLmFjdGl2ZSxcclxuICAgICY6aG92ZXIge1xyXG4gICAgICBvcGFjaXR5OiAwLjg7XHJcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMTAwbXMgZWFzZS1pbi1vdXQ7XHJcbiAgICB9XHJcbiAgICAmOmZvY3VzIHtcclxuICAgICAgb3V0bGluZTogbm9uZTtcclxuICAgIH1cclxuICB9XHJcbiAgZyB7XHJcbiAgICAmOmZvY3VzIHtcclxuICAgICAgb3V0bGluZTogbm9uZTtcclxuICAgIH1cclxuICB9XHJcbiAgLmxpbmUtc2VyaWVzLFxyXG4gIC5saW5lLXNlcmllcy1yYW5nZSxcclxuICAucG9sYXItc2VyaWVzLXBhdGgsXHJcbiAgLnBvbGFyLXNlcmllcy1hcmVhLFxyXG4gIC5hcmVhLXNlcmllcyB7XHJcbiAgICBzdHJva2U6IGN1cnJlbnRDb2xvcjtcclxuICAgIHN0cm9rZS1vcGFjaXR5OiAxO1xyXG4gICAgc3Ryb2tlLXdpZHRoOiAycHg7XHJcbiAgICAmLmluYWN0aXZlIHtcclxuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAxMDBtcyBlYXNlLWluLW91dDtcclxuICAgICAgb3BhY2l0eTogLjJcclxuICAgIH1cclxuICB9XHJcbiAgLmxpbmUtaGlnaGxpZ2h0IHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAmLmFjdGl2ZSB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG4gIH1cclxuICAuYXJlYSB7XHJcbiAgICBvcGFjaXR5OiAwLjM7XHJcbiAgfVxyXG4gIC5jaXJjbGUge1xyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIH1cclxuICB9XHJcbiAgLmxhYmVsIHtcclxuICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgfVxyXG4gIC50b29sdGlwLWFuY2hvciB7XHJcbiAgICBmaWxsOiByZ2JhKDE1MywgMTUzLCAxNTMsIDAuNCk7XHJcbiAgfVxyXG4gIC5ncmlkbGluZS1wYXRoIHtcclxuICAgIHN0cm9rZTogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjQpO1xyXG4gICAgc3Ryb2tlLXdpZHRoOiAxO1xyXG4gICAgZmlsbDogbm9uZTtcclxuICB9XHJcbiAgLnJlZmxpbmUtcGF0aCB7XHJcbiAgICBzdHJva2U6ICNhOGIyYzc7XHJcbiAgICBzdHJva2Utd2lkdGg6IDE7XHJcbiAgICBzdHJva2UtZGFzaGFycmF5OiA1O1xyXG4gICAgc3Ryb2tlLWRhc2hvZmZzZXQ6IDU7XHJcbiAgfVxyXG4gIC5yZWZsaW5lLWxhYmVsIHtcclxuICAgIGZvbnQtc2l6ZTogOXB4O1xyXG4gIH1cclxuICAucmVmZXJlbmNlLWFyZWEge1xyXG4gICAgZmlsbC1vcGFjaXR5OiAwLjA1O1xyXG4gICAgZmlsbDogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjQpO1xyXG4gIH1cclxuICAuZ3JpZGxpbmUtcGF0aC1kb3R0ZWQge1xyXG4gICAgc3Ryb2tlOiAjZGRkO1xyXG4gICAgc3Ryb2tlLXdpZHRoOiAxO1xyXG4gICAgZmlsbDogbm9uZTtcclxuICAgIHN0cm9rZS1kYXNoYXJyYXk6IDEsIDIwO1xyXG4gICAgc3Ryb2tlLWRhc2hvZmZzZXQ6IDM7XHJcbiAgfVxyXG4gIC5ncmlkLXBhbmVsIHtcclxuICAgIHJlY3Qge1xyXG4gICAgICBmaWxsOiBub25lO1xyXG4gICAgfVxyXG4gICAgJi5vZGQge1xyXG4gICAgICByZWN0IHtcclxuICAgICAgICBmaWxsOiByZ2JhKDAsIDAsIDAsIDAuMDUpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5vcmFuZ2Uge1xyXG4gICAgY29sb3I6ICM5NDdkNGI7XHJcbiAgfVxyXG4gIC5ncmVlbiB7XHJcbiAgICBjb2xvcjogIzJhNjY1NDtcclxuICB9XHJcbiAgLmJsdWUge1xyXG4gICAgY29sb3I6ICMxZmEzYTU7XHJcbiAgfVxyXG4gIC5saWdodC1ncmVlbiB7XHJcbiAgICBjb2xvcjogI2M0ZDYwMDtcclxuICB9XHJcbn1cclxuXHJcbi50aW1lbGluZS1maWx0ZXItYmFyLWNoYXJ0IHtcclxuICAudGltZWxpbmUge1xyXG4gICAgLmJydXNoLWJhY2tncm91bmQge1xyXG4gICAgICBmaWxsOiByZ2JhKDAsIDAsIDAsIDAuMDUpO1xyXG4gICAgfVxyXG4gICAgLmJydXNoIHtcclxuICAgICAgLnNlbGVjdGlvbiB7XHJcbiAgICAgICAgZmlsbDogcmdiYSgwLCAwLCAwLCAwLjEpO1xyXG4gICAgICAgIHN0cm9rZS13aWR0aDogMXB4O1xyXG4gICAgICAgIHN0cm9rZTogIzg4ODg4ODtcclxuICAgICAgfVxyXG4gICAgICAuaGFuZGxlIHtcclxuICAgICAgICBmaWxsLW9wYWNpdHk6IDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC5lbWJlZGRlZC1jaGFydCB7XHJcbiAgICAgIG9wYWNpdHk6IDAuNjtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5jaGFydC1sZWdlbmQge1xyXG4gIFxyXG4gIC5sZWdlbmQtbGFiZWwge1xyXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgIGJvcmRlci1jb2xvcjogcmdiYSgxNjgsIDE3OCwgMTk5LCAwLjUpO1xyXG4gICAgYm9yZGVyLXdpZHRoOiAxcHg7XHJcbiAgICBtYXJnaW46IDRweCAycHg7XHJcbiAgICBwYWRkaW5nOiA1cHggNXB4O1xyXG4gIH1cclxuICAubGVnZW5kLWxhYmVsOmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTUzLCAxNTMsIDE1MywgMC4xKTtcclxuICB9XHJcbiAgLmxlZ2VuZC1sYWJlbC10ZXh0IHtcclxuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxMnB4KSFpbXBvcnRhbnQ7XHJcbiAgICBsaW5lLWhlaWdodDogMTJweCFpbXBvcnRhbnQ7XHJcbiAgICBjb2xvcjogI0FGQjdDOCFpbXBvcnRhbnRcclxuICB9XHJcbiAgLmxlZ2VuZC1sYWJlbC1jb2xvciB7XHJcbiAgICBoZWlnaHQ6IDEwcHghaW1wb3J0YW50O1xyXG4gICAgd2lkdGg6IDEwcHghaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG4iXX0= */\";","export default \"
\\r\\n \\r\\n \\r\\n \\r\\n © Groupama 2021 | Όροι Χρήσης\\r\\n
\\r\\n\";","import { Component } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\n\r\n@Component({\r\n templateUrl: 'error-request.component.html'\r\n})\r\nexport class BadRequestComponent {\r\n public title = '400';\r\n public error = 'Bad Request';\r\n public errorMsg = 'Business error have occured';\r\n\r\n constructor(private router: Router, ar: ActivatedRoute) {\r\n //if (ar.snapshot.queryParams['err'])\r\n // this.errorMsg = ar.snapshot.queryParams['err']\r\n }\r\n}","export default \"\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n {{policyService?.selectedPolicy?.policyNumber}}\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
0; else no_content\\\">\\r\\n
\\r\\n {{ member?.name }} {{ member?.surname }}\\r\\n cancel\\r\\n
\\r\\n 3\\\" (click)=\\\"toggleSideNav()\\\">...{{(selectedMembers?.length\\r\\n - 3)}} ακόμα\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n Επιλογή\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{row.name+' '+row.surname | initials}}\\r\\n {{ row?.name }} {{ row?.surname }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{ option.value }}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\";","import { 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\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule)\r\n .catch(err => console.log(err));\r\n"],"sourceRoot":"webpack:///"}