{"version":3,"file":"main.js","mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACFwB;AACU;AAC5B;AACgC;AAClC;AACkB;AAChB;AACsD;AACZ;AACY;AACA;AACnD;AAC4B;AACN;AACY;AACT;AAC4B;AACG;AAC3B;AACV;AACwB;AACS;AACY;AACZ;AACqB;AAClB;AACM;AACM;AAEjB;AACX;AACyD;AACjE;AACZ;AACE;AACS;AAC2B;AACxB;AACuB;AAC9B;AAC0C;AACD;AACE;AACT;AACY;AACA;AACjC;AACA;AACD;AACH;AACG;AACuB;AAChD;AACkC;AACV;AACwB;AACxB;AACA;AAC3B;AACyE;AAChC;AACA;AACtD;AACS;AACL;AACM;AACD;AACJ;AACF;AAC2D;AACpD;AACa;AACqB;AACnB;AACa;AACY;AACT;AAC3B;AACM;AACwB;AAC9B;AACI;AACD;AACT;AACiC;AACH;AACA;AACU;AACK;AACO;AACY;AAC/B;AACG;AAC9B;AAC8B;AACgB;AACT;AAC3C;AACiC;AACH;AACxB;AACiC;AACvC;AACW;AACkE;AACb;AAC/B;AACC;AAC6B;AACG;AAChD;AACE;AACgC;AACkB;AACZ;AACG;AACuB;AACe;AACxC;AACuB;AACvB;AAC6B;AACL;AACT;AACf;AACkB;AAChB;AACY;AAChC;AACQ;AACwC;AACpB;AACN;AACS;AACtB;AACQ;AACV;AACb;AAC3B;AACoF;AACrC;AACY;AACb;AACuC;AAC3D;AACF;AACZ;AACnB;AACwB;AACkB;AAClB;AACG;AACM;AACG;AACA;AACL;AACK;AACd;AACW;AAEM;;;AA4WzF,MAAOkJ,SAAS;AAATA,SAAS;mBAATA,SAAS;AAAA;AAATA,SAAS;QAATA,SAAS;EAAAC,YAFR3J,wDAAY;AAAA;AAEb0J,SAAS;aAbT,CACT1I,8DAAU;EACV;EACA;IAAE4I,OAAO,EAAEjE,qEAAe;IAAEkE,QAAQ,EAAE;EAAO,CAAE,EAC/C;IACED,OAAO,EAAEhJ,qEAAiB;IAC1BkJ,QAAQ,EAAEN,yFAAuB;IACjCO,KAAK,EAAE;GACR,EACDrJ,8DAAK,CACN;EAAAZ,UAzMCW,sEAAa,EACbE,oEAAgB,EAChBE,2FAAuB,EACvB0C,2DAAU,EACVI,oEAAgB,EAChBC,gEAAc,EACdC,8DAAa,EACbL,oEAAc,EACdO,gGAAqB,EACrBC,qEAAc,EACdC,kFAAoB,EACpBE,oFAAe,EACfC,oFAAqB,EACrBE,gFAAa,EACbE,wFAAiB,EACjBE,kFAAc,EACdC,yEAAgB,EAChBC,+EAAmB,EACnBE,oFAAe,EACfC,yEAAgB,EAChBC,6EAAkB,EAClBC,4EAAiB,EACjBC,mEAAa,EACbE,kFAAc,EACdE,gFAAa,EACbE,gFAAa,EACbC,yEAAmB,EACnBI,0FAAkB,EAClBE,+FAAoB,EACpBE,uGAAwB,EACxBE,kFAAc,EACdT,qEAAe,EACfW,oFAAe,EACfC,yEAAgB,EAChBE,oFAAe,EACfE,+FAAoB,EACpBE,yFAAiB,EACjBC,mEAAa,EACbE,kFAAc,EACdE,gFAAa,EACbC,yEAAgB,EAChBE,sFAAgB,EAChBC,mEAAa,EACb5D,+DAAY,EACZC,qEAAe,EACf5C,yDAAW,EACXlB,kEAAgB,EAChB5C,mEAAoB,CAAC;IACzB;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;I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sB;AAAA;AAAtBA,sBAAsB;QAAtBA,sBAAsB;EAAAiB;EAAA2zD;IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;MClBnCxzD,wDAAAA,0DAIM;MAENA,wDAAAA,0DAEM;MAENA,wDAAAA,4DAmPM;MAENA,wDAAAA,0DACM;;;MAhQAA,wDAAAA,yBAAiB;MAMjBA,uDAAAA,GAAqB;MAArBA,wDAAAA,6BAAqB;MAIcA,uDAAAA,GAAgB;MAAhBA,wDAAAA,wBAAgB;MAqP3CA,uDAAAA,GAAgB;MAAhBA,wDAAAA,wBAAgB;;;;;;;;;;;;;;;;;;;;AC/P9B;AACA;AACA;AAEO,MAAM4iC,WAAW,GAAG;EACzBuxD,UAAU,EAAE,KAAK;EACjBpxD,MAAM,EAAE;CACT;AAED;;;;;;;AAOA;;;;;;;;;;;;;;;;;;AChBkB;AAC6B;AAGF;AAI7CqxD,6DAAc,EAAE;AAEhBC,sEAAAA,EAAwB,CAACC,eAAe,CAACprF,sDAAS,CAAC,CAChDgmE,KAAK,CAACz0D,GAAG,IAAIsa,OAAO,CAACva,KAAK,CAACC,GAAG,CAAC,CAAC;;;;;;;;;;ACXnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","sources":["./src/app/app-routing.module.ts","./src/app/app.component.ts","./src/app/app.component.html","./src/app/app.module.ts","./src/app/models/ActorCompositeModel.ts","./src/app/models/Actor_Settings.ts","./src/app/models/Addresses.ts","./src/app/models/Credentials.ts","./src/app/models/CustomerInteractionBrief.ts","./src/app/models/CustomerInteractionCancelReview.ts","./src/app/models/CustomerInteractionReinstateSEReview.ts","./src/app/models/CustomerInteractionReview.ts","./src/app/models/EmployeeDetails.ts","./src/app/models/ExcluderBrief.ts","./src/app/models/Extension.ts","./src/app/models/Globals/BackgroundColor.ts","./src/app/models/Globals/Border.ts","./src/app/models/Globals/ClassKeyIds.ts","./src/app/models/Globals/FontColor.ts","./src/app/models/Globals/Positioning.ts","./src/app/models/Globals/TableProperties.ts","./src/app/models/Globals/TagValues.ts","./src/app/models/ISDDateMethods.ts","./src/app/models/InteractionExclusion/Breach/View_ExclusionBreachesCompositeModel.ts","./src/app/models/InteractionExclusion/ExclusionClientValues.ts","./src/app/models/InteractionExclusion/Reinstatement/View_ReinstatementsCompositeModel.ts","./src/app/models/InteractionExclusion/View_InteractionReferenceCompositeModel.ts","./src/app/models/InteractionExclusion/Views_BiologicalActorCompositeModel.ts","./src/app/models/InteractionExclusion/Views_Get_ExclusionsCompositeModel.ts","./src/app/models/InteractionExclusion/Views_InteractedActorCompositeModel.ts","./src/app/models/InteractionExclusion/Views_InteractionMonitoringPeriodsModel.ts","./src/app/models/InteractionExclusion/Views_InteractionsCompositeModel.ts","./src/app/models/InteractionExclusion/Views_MediaModel.ts","./src/app/models/InteractionExclusion/Views_Put_ExclusionsCompositeModel.ts","./src/app/models/InteractionExclusion/Views_ReviewsCompositeModel.ts","./src/app/models/Name.ts","./src/app/models/Organisation.ts","./src/app/models/Parameter.ts","./src/app/models/PostObjects.ts","./src/app/models/Reports/AgeVerificationList.ts","./src/app/models/Reports/BreachList.ts","./src/app/models/Reports/CleaningCheckList.ts","./src/app/models/Reports/CrimeAlertList.ts","./src/app/models/Reports/CustomerList.ts","./src/app/models/Reports/FireCheckList.ts","./src/app/models/Reports/InteractionList.ts","./src/app/models/Reports/MachinePayoutList.ts","./src/app/models/Reports/MachineServiceVisitList.ts","./src/app/models/Reports/OrganisationSitesList.ts","./src/app/models/Reports/ReinstatementList.ts","./src/app/models/Reports/StatutoryVisitList.ts","./src/app/models/Reports/ToiletCheckList.ts","./src/app/models/Reports/UserAPIUsage.ts","./src/app/models/Site.ts","./src/app/models/SiteDetail.ts","./src/app/models/Tags.ts","./src/app/models/UserDocumentation.ts","./src/app/models/UserSites.ts","./src/app/models/actor/Name.ts","./src/app/models/admin/GenericTag.ts","./src/app/models/controllers/ControllerMaster.ts","./src/app/models/controllers/ExclusionControllers/Extension.ts","./src/app/models/controllers/ExclusionControllers/Reinstatement.ts","./src/app/models/controllers/Standard Controllers/Checkbox.ts","./src/app/models/controllers/Standard Controllers/Select.ts","./src/app/models/data/UserCredentials.ts","./src/app/models/directives/disabled.directive.ts","./src/app/models/directives/ng-init.directive.ts","./src/app/models/google-maps/maps.ts","./src/app/models/messaging/MessageDisplay.ts","./src/app/models/messaging/MessageList.ts","./src/app/models/pipes/ellipsis-pipe.ts","./src/app/services/actor.service.ts","./src/app/services/admin.service.ts","./src/app/services/advanced-search.service.ts","./src/app/services/api.service.ts","./src/app/services/data.service.ts","./src/app/services/errorhander.service.ts","./src/app/services/excluder-gallery.service.ts","./src/app/services/excluder-view.service.ts","./src/app/services/excluder.service.ts","./src/app/services/inactivity.service.ts","./src/app/services/interaction-gallery.service.ts","./src/app/services/interaction.service.ts","./src/app/services/messaging.service.ts","./src/app/services/organisation.service.ts","./src/app/services/postcodeanywhere.service.ts","./src/app/services/routeguard.service.ts","./src/app/services/tag.service.ts","./src/app/services/tokeninterceptor.service.ts","./src/app/views/admin/admin-main-view/admin-main-view.component.html","./src/app/views/admin/admin-main-view/admin-main-view.component.ts","./src/app/views/admin/admin-main-view/data/data.component.ts","./src/app/views/admin/admin-main-view/data/data.component.html","./src/app/views/admin/admin-main-view/organisation/edit-organisation/edit-organisation.component.ts","./src/app/views/admin/admin-main-view/organisation/edit-organisation/edit-organisation.component.html","./src/app/views/admin/admin-main-view/organisation/organisation.component.ts","./src/app/views/admin/admin-main-view/organisation/organisation.component.html","./src/app/views/admin/admin-main-view/site/edit-site/edit-site.component.ts","./src/app/views/admin/admin-main-view/site/edit-site/edit-site.component.html","./src/app/views/admin/admin-main-view/site/site.component.ts","./src/app/views/admin/admin-main-view/site/site.component.html","./src/app/views/admin/admin-main-view/user/edit-user/edit-user.component.ts","./src/app/views/admin/admin-main-view/user/edit-user/edit-user.component.html","./src/app/views/admin/admin-main-view/user/user.component.ts","./src/app/views/admin/admin-main-view/user/user.component.html","./src/app/views/admin/admin.component.ts","./src/app/views/admin/admin.component.html","./src/app/views/age-verification/age-verification.component.ts","./src/app/views/age-verification/age-verification.component.html","./src/app/views/breach/breach-view/breach-view.component.ts","./src/app/views/breach/breach-view/breach-view.component.html","./src/app/views/cleaning-check/cleaning-check.component.ts","./src/app/views/cleaning-check/cleaning-check.component.html","./src/app/views/crime-alert/crime-alert.component.ts","./src/app/views/crime-alert/crime-alert.component.html","./src/app/views/customer-interaction/customer-interaction.component.ts","./src/app/views/customer-interaction/customer-interaction.component.html","./src/app/views/customer-interaction/interaction-gallery/interaction-cards/interaction-card/interaction-card.component.ts","./src/app/views/customer-interaction/interaction-gallery/interaction-cards/interaction-card/interaction-card.component.html","./src/app/views/customer-interaction/interaction-gallery/interaction-cards/interaction-cards.component.ts","./src/app/views/customer-interaction/interaction-gallery/interaction-cards/interaction-cards.component.html","./src/app/views/customer-interaction/interaction-gallery/interaction-gallery.component.ts","./src/app/views/customer-interaction/interaction-gallery/interaction-gallery.component.html","./src/app/views/customer-interaction/interaction-new/interaction-new.component.html","./src/app/views/customer-interaction/interaction-new/interaction-new.component.ts","./src/app/views/customer-interaction/interaction-view/cancel-review/cancel-review.component.ts","./src/app/views/customer-interaction/interaction-view/cancel-review/cancel-review.component.html","./src/app/views/customer-interaction/interaction-view/interaction-more-info/interaction-more-info.component.ts","./src/app/views/customer-interaction/interaction-view/interaction-more-info/interaction-more-info.component.html","./src/app/views/customer-interaction/interaction-view/interaction-view.component.ts","./src/app/views/customer-interaction/interaction-view/interaction-view.component.html","./src/app/views/customer-interaction/interaction-view/reinstated-se-review/reinstated-se-review.component.ts","./src/app/views/customer-interaction/interaction-view/reinstated-se-review/reinstated-se-review.component.html","./src/app/views/customer-interaction/interaction-view/review/review.component.ts","./src/app/views/customer-interaction/interaction-view/review/review.component.html","./src/app/views/customer-interaction/interaction-view/update-details/update-details.component.ts","./src/app/views/customer-interaction/interaction-view/update-details/update-details.component.html","./src/app/views/customer-interaction/interaction-view/upload-cctv/upload-cctv.component.ts","./src/app/views/customer-interaction/interaction-view/upload-cctv/upload-cctv.component.html","./src/app/views/documents/documents.component.html","./src/app/views/documents/documents.component.ts","./src/app/views/excluder/detail/detail.component.ts","./src/app/views/excluder/detail/detail.component.html","./src/app/views/excluder/excluder.component.ts","./src/app/views/excluder/excluder.component.html","./src/app/views/excluder/exclusion-journey/exclusion-journey.component.ts","./src/app/views/excluder/exclusion-journey/new/new.component.html","./src/app/views/excluder/exclusion-journey/new/new.component.ts","./src/app/views/excluder/exclusion-journey/update/update.component.ts","./src/app/views/excluder/exclusion-journey/update/update.component.html","./src/app/views/excluder/gallery/excluder-cards/excluder-card/excluder-card.component.ts","./src/app/views/excluder/gallery/excluder-cards/excluder-card/excluder-card.component.html","./src/app/views/excluder/gallery/excluder-cards/excluder-cards.component.ts","./src/app/views/excluder/gallery/excluder-cards/excluder-cards.component.html","./src/app/views/excluder/gallery/gallery.component.ts","./src/app/views/excluder/gallery/gallery.component.html","./src/app/views/excluder/view/extend/extend.component.ts","./src/app/views/excluder/view/extend/extend.component.html","./src/app/views/excluder/view/more-info/more-info.component.ts","./src/app/views/excluder/view/more-info/more-info.component.html","./src/app/views/excluder/view/record-breach/record-breach.component.ts","./src/app/views/excluder/view/record-breach/record-breach.component.html","./src/app/views/excluder/view/reinstate/reinstate.component.html","./src/app/views/excluder/view/reinstate/reinstate.component.ts","./src/app/views/excluder/view/update-exclusion/update-exclusion.component.ts","./src/app/views/excluder/view/update-exclusion/update-exclusion.component.html","./src/app/views/excluder/view/view.component.html","./src/app/views/excluder/view/view.component.ts","./src/app/views/feature-collection/feature-collection.component.ts","./src/app/views/feature-collection/feature-collection.component.html","./src/app/views/fire-checks/fire-checks.component.ts","./src/app/views/fire-checks/fire-checks.component.html","./src/app/views/forgotten-password/forgotten-password.component.html","./src/app/views/forgotten-password/forgotten-password.component.ts","./src/app/views/generic-form/action/action.component.ts","./src/app/views/generic-form/action/action.component.html","./src/app/views/generic-form/advanced-search-search-results/advanced-search-search-results.component.html","./src/app/views/generic-form/advanced-search-search-results/advanced-search-search-results.component.ts","./src/app/views/generic-form/cancel-review/cancel-review.component.ts","./src/app/views/generic-form/cancel-review/cancel-review.component.html","./src/app/views/generic-form/customer-acknowledgement/customer-acknowledgement.component.ts","./src/app/views/generic-form/customer-acknowledgement/customer-acknowledgement.component.html","./src/app/views/generic-form/customer-photo-inline/customer-photo-inline.component.ts","./src/app/views/generic-form/customer-photo-inline/customer-photo-inline.component.html","./src/app/views/generic-form/customer-photo/camera-live-view/camera-live-view.component.ts","./src/app/views/generic-form/customer-photo/camera-live-view/camera-live-view.component.html","./src/app/views/generic-form/customer-photo/customer-photo.component.ts","./src/app/views/generic-form/customer-photo/customer-photo.component.html","./src/app/views/generic-form/customer-review/customer-review.component.ts","./src/app/views/generic-form/customer-review/customer-review.component.html","./src/app/views/generic-form/customer-se-review/customer-se-review.component.ts","./src/app/views/generic-form/customer-se-review/customer-se-review.component.html","./src/app/views/generic-form/customeraddress/customeraddress.component.ts","./src/app/views/generic-form/customeraddress/customeraddress.component.html","./src/app/views/generic-form/customerdetail/customerdetail.component.ts","./src/app/views/generic-form/customerdetail/customerdetail.component.html","./src/app/views/generic-form/email/email.component.ts","./src/app/views/generic-form/email/email.component.html","./src/app/views/generic-form/excluder-exclusion/excluder-exclusion.component.html","./src/app/views/generic-form/excluder-exclusion/excluder-exclusion.component.ts","./src/app/views/generic-form/exclusion-card-md/exclusion-card-md.component.ts","./src/app/views/generic-form/exclusion-card-md/exclusion-card-md.component.html","./src/app/views/generic-form/exclusion-card-mobile/exclusion-card-mobile.component.ts","./src/app/views/generic-form/exclusion-card-mobile/exclusion-card-mobile.component.html","./src/app/views/generic-form/exclusion-confirmed/exclusion-confirmed.component.ts","./src/app/views/generic-form/exclusion-confirmed/exclusion-confirmed.component.html","./src/app/views/generic-form/exclusion-declaration-details/exclusion-declaration-details.component.ts","./src/app/views/generic-form/exclusion-declaration-details/exclusion-declaration-details.component.html","./src/app/views/generic-form/exclusion-declaration/exclusion-declaration.component.ts","./src/app/views/generic-form/exclusion-declaration/exclusion-declaration.component.html","./src/app/views/generic-form/exclusion-terms/exclusion-terms.component.ts","./src/app/views/generic-form/exclusion-terms/exclusion-terms.component.html","./src/app/views/generic-form/exclusion-zone/exclusion-zone.component.ts","./src/app/views/generic-form/exclusion-zone/exclusion-zone.component.html","./src/app/views/generic-form/generic-form.component.ts","./src/app/views/generic-form/icon-gallery/icon-gallery.component.ts","./src/app/views/generic-form/icon-gallery/icon-gallery.component.html","./src/app/views/generic-form/icon-image/icon-image.component.ts","./src/app/views/generic-form/icon-image/icon-image.component.html","./src/app/views/generic-form/interaction-action/interaction-action.component.ts","./src/app/views/generic-form/interaction-action/interaction-action.component.html","./src/app/views/generic-form/interaction-card-md/interaction-card-md.component.ts","./src/app/views/generic-form/interaction-card-md/interaction-card-md.component.html","./src/app/views/generic-form/interaction-card-mobile/interaction-card-mobile.component.ts","./src/app/views/generic-form/interaction-card-mobile/interaction-card-mobile.component.html","./src/app/views/generic-form/interaction-confirmation/interaction-confirmation.component.ts","./src/app/views/generic-form/interaction-confirmation/interaction-confirmation.component.html","./src/app/views/generic-form/interaction-customer-details/interaction-customer-details.component.ts","./src/app/views/generic-form/interaction-customer-details/interaction-customer-details.component.html","./src/app/views/generic-form/interaction-description/interaction-description.component.html","./src/app/views/generic-form/interaction-description/interaction-description.component.ts","./src/app/views/generic-form/interaction-identification/interaction-identification.component.ts","./src/app/views/generic-form/interaction-identification/interaction-identification.component.html","./src/app/views/generic-form/interaction-privacy-notice/interaction-privacy-notice.component.ts","./src/app/views/generic-form/interaction-privacy-notice/interaction-privacy-notice.component.html","./src/app/views/generic-form/interaction-reason/interaction-reason.component.html","./src/app/views/generic-form/interaction-reason/interaction-reason.component.ts","./src/app/views/generic-form/interaction-review/interaction-review.component.ts","./src/app/views/generic-form/interaction-review/interaction-review.component.html","./src/app/views/generic-form/motorway-services/inspect-sites/inspect-sites.component.ts","./src/app/views/generic-form/motorway-services/inspect-sites/inspect-sites.component.html","./src/app/views/generic-form/motorway-services/motorway-services.component.ts","./src/app/views/generic-form/motorway-services/motorway-services.component.html","./src/app/views/generic-form/site-shopping-basket/site-shopping-basket.component.ts","./src/app/views/generic-form/site-shopping-basket/site-shopping-basket.component.html","./src/app/views/generic-form/tags/tag/tag.component.ts","./src/app/views/generic-form/tags/tag/tag.component.html","./src/app/views/generic-form/tags/tags.component.ts","./src/app/views/generic-form/tags/tags.component.html","./src/app/views/generic-form/terms-and-conditions/terms-and-conditions.component.ts","./src/app/views/generic-form/terms-and-conditions/terms-and-conditions.component.html","./src/app/views/loading/loading.component.ts","./src/app/views/loading/loading.component.html","./src/app/views/login/login.component.ts","./src/app/views/login/login.component.html","./src/app/views/machine-payouts/machine-payouts.component.ts","./src/app/views/machine-payouts/machine-payouts.component.html","./src/app/views/machine-service/machine-service.component.ts","./src/app/views/machine-service/machine-service.component.html","./src/app/views/memorable-word/memorable-word.component.html","./src/app/views/memorable-word/memorable-word.component.ts","./src/app/views/messaging-main/messaging-main-view/messaging-main-view.component.html","./src/app/views/messaging-main/messaging-main-view/messaging-main-view.component.ts","./src/app/views/messaging-main/messaging-main.component.html","./src/app/views/messaging-main/messaging-main.component.ts","./src/app/views/messaging-main/read-compose-message/read-compose-message.component.ts","./src/app/views/messaging-main/read-compose-message/read-compose-message.component.html","./src/app/views/messaging-main/recipient-filter/recipient-filter.component.ts","./src/app/views/messaging-main/recipient-filter/recipient-filter.component.html","./src/app/views/oops/oops.component.html","./src/app/views/oops/oops.component.ts","./src/app/views/privacypolicy/privacypolicy.component.ts","./src/app/views/privacypolicy/privacypolicy.component.html","./src/app/views/product-collection/product-collection.component.ts","./src/app/views/product-collection/product-collection.component.html","./src/app/views/reporting-main/main-view/chart/chart.component.ts","./src/app/views/reporting-main/main-view/chart/chart.component.html","./src/app/views/reporting-main/main-view/form/form.component.ts","./src/app/views/reporting-main/main-view/form/form.component.html","./src/app/views/reporting-main/main-view/main-view.component.ts","./src/app/views/reporting-main/main-view/main-view.component.html","./src/app/views/reporting-main/main-view/photo-gallery/photo-gallery.component.ts","./src/app/views/reporting-main/main-view/photo-gallery/photo-gallery.component.html","./src/app/views/reporting-main/main-view/table/table.component.ts","./src/app/views/reporting-main/main-view/table/table.component.html","./src/app/views/reporting-main/reporting-main.component.html","./src/app/views/reporting-main/reporting-main.component.ts","./src/app/views/reset-password/reset-password.component.html","./src/app/views/reset-password/reset-password.component.ts","./src/app/views/statutory-visit/statutory-visit.component.ts","./src/app/views/statutory-visit/statutory-visit.component.html","./src/app/views/text-pad/text-pad.component.ts","./src/app/views/toilet-check/toilet-check.component.ts","./src/app/views/toilet-check/toilet-check.component.html","./src/app/views/toolkit-dashboard/toolkit-dashboard.component.ts","./src/app/views/toolkit-dashboard/toolkit-dashboard.component.html","./src/app/views/user-dashboard/user-dashboard.component.ts","./src/app/views/user-dashboard/user-dashboard.component.html","./src/environments/environment.ts","./src/main.ts","./node_modules/moment/locale/ sync ^\\.\\/.*$"],"sourcesContent":["import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { RouteguardService } from './services/routeguard.service';\r\nimport { AdminOrganisationComponent } from './views/admin/admin-main-view/organisation/organisation.component';\r\nimport { AdminSiteComponent } from './views/admin/admin-main-view/site/site.component';\r\nimport { AdminUserComponent } from './views/admin/admin-main-view/user/user.component';\r\nimport { AdminComponent } from './views/admin/admin.component';\r\nimport { AgeVerificationComponent } from './views/age-verification/age-verification.component';\r\nimport { BreachViewComponent } from './views/breach/breach-view/breach-view.component';\r\nimport { CleaningCheckComponent } from './views/cleaning-check/cleaning-check.component';\r\nimport { CrimeAlertComponent } from './views/crime-alert/crime-alert.component';\r\nimport { CustomerInteractionComponent } from './views/customer-interaction/customer-interaction.component';\r\nimport { InteractionGalleryComponent } from './views/customer-interaction/interaction-gallery/interaction-gallery.component';\r\nimport { InteractionNewComponent } from './views/customer-interaction/interaction-new/interaction-new.component';\r\nimport { InteractionViewComponent } from './views/customer-interaction/interaction-view/interaction-view.component';\r\nimport { DocumentsComponent } from './views/documents/documents.component';\r\nimport { ExcluderComponent } from './views/excluder/excluder.component';\r\nimport { NewComponent } from './views/excluder/exclusion-journey/new/new.component';\r\nimport { UpdateComponent } from './views/excluder/exclusion-journey/update/update.component';\r\nimport { GalleryComponent } from './views/excluder/gallery/gallery.component';\r\nimport { ViewComponent } from './views/excluder/view/view.component';\r\nimport { FeatureCollectionComponent } from './views/feature-collection/feature-collection.component';\r\nimport { FireChecksComponent } from './views/fire-checks/fire-checks.component';\r\nimport { ForgottenPasswordComponent } from './views/forgotten-password/forgotten-password.component';\r\nimport { AdvancedSearchSearchResultsComponent } from './views/generic-form/advanced-search-search-results/advanced-search-search-results.component';\r\nimport { LoginComponent } from './views/login/login.component';\r\nimport { MachinePayoutsComponent } from './views/machine-payouts/machine-payouts.component';\r\nimport { MachineServiceComponent } from './views/machine-service/machine-service.component';\r\nimport { MessagingMainComponent } from './views/messaging-main/messaging-main.component';\r\nimport { ReadComposeMessageComponent } from './views/messaging-main/read-compose-message/read-compose-message.component';\r\nimport { OopsComponent } from './views/oops/oops.component';\r\nimport { PrivacypolicyComponent } from './views/privacypolicy/privacypolicy.component';\r\nimport { ReportingMainComponent } from './views/reporting-main/reporting-main.component';\r\nimport { ResetPasswordComponent } from './views/reset-password/reset-password.component';\r\nimport { StatutoryVisitComponent } from './views/statutory-visit/statutory-visit.component';\r\nimport { ToiletCheckComponent } from './views/toilet-check/toilet-check.component';\r\nimport { ToolkitDashboardComponent } from './views/toolkit-dashboard/toolkit-dashboard.component';\r\nimport { UserDashboardComponent } from './views/user-dashboard/user-dashboard.component';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: '',\r\n component: LoginComponent\r\n },\r\n {\r\n path: 'forgottenPassword',\r\n component: ForgottenPasswordComponent\r\n },\r\n {\r\n path: 'privacypolicy',\r\n component: PrivacypolicyComponent\r\n },\r\n {\r\n path: 'resetpassword/:id',\r\n component: ResetPasswordComponent\r\n },\r\n {\r\n path: 'user',\r\n component: UserDashboardComponent,\r\n canActivate: [RouteguardService],\r\n children: [\r\n {\r\n path: '',\r\n redirectTo: 'features',\r\n pathMatch: 'full'\r\n },\r\n {\r\n path: 'opps',\r\n component: OopsComponent\r\n },\r\n {\r\n path: 'features',\r\n component: FeatureCollectionComponent,\r\n },\r\n {\r\n path: 'customer-interaction',\r\n component: CustomerInteractionComponent,\r\n children: [\r\n {\r\n path: '',\r\n redirectTo: 'gallery',\r\n pathMatch: 'full'\r\n },\r\n {\r\n path: 'gallery',\r\n component: InteractionGalleryComponent\r\n },\r\n {\r\n path: 'gallery/:reload',\r\n component: InteractionGalleryComponent\r\n },\r\n {\r\n path: 'new',\r\n component: InteractionNewComponent\r\n },\r\n {\r\n path: 'continue/:id',\r\n component: InteractionNewComponent\r\n },\r\n {\r\n path: 'view/:id',\r\n component: InteractionViewComponent\r\n },\r\n {\r\n path: 'redirect/:url',\r\n component: ViewComponent\r\n }\r\n ]\r\n },\r\n {\r\n path: 'exclusion',\r\n component: ExcluderComponent,\r\n canActivate: [RouteguardService],\r\n children: [\r\n {\r\n path: '',\r\n redirectTo: 'gallery',\r\n pathMatch: 'full'\r\n },\r\n {\r\n path: 'gallery',\r\n component: GalleryComponent\r\n },\r\n {\r\n path: 'new',\r\n component: NewComponent\r\n },\r\n {\r\n path: 'view/:id',\r\n component: ViewComponent\r\n },\r\n {\r\n path: 'update/:id',\r\n component: UpdateComponent\r\n }\r\n ]\r\n },\r\n {\r\n path: 'breach',\r\n component: ExcluderComponent,\r\n children: [\r\n {\r\n path: 'view/:id',\r\n component: BreachViewComponent\r\n },\r\n ]\r\n },\r\n {\r\n path: 'admin',\r\n component: AdminComponent,\r\n children: [\r\n {\r\n path: 'user-panel',\r\n component: AdminUserComponent\r\n },\r\n {\r\n path: 'site-panel',\r\n component: AdminSiteComponent\r\n },\r\n {\r\n path: 'organisation-panel',\r\n component: AdminOrganisationComponent\r\n }\r\n ]\r\n },\r\n {\r\n path: 'reporting',\r\n component: ReportingMainComponent\r\n },\r\n {\r\n path: 'messaging',\r\n component: MessagingMainComponent,\r\n children: [{\r\n path: 'view/:id',\r\n component: ReadComposeMessageComponent\r\n }]\r\n },\r\n {\r\n path: 'search',\r\n component: AdvancedSearchSearchResultsComponent\r\n },\r\n {\r\n path: 'age-verify',\r\n component: AgeVerificationComponent\r\n },\r\n {\r\n path: 'crime-alert',\r\n component: CrimeAlertComponent\r\n },\r\n {\r\n path: 'toolkit',\r\n component: ToolkitDashboardComponent\r\n },\r\n {\r\n path: 'fire-check',\r\n component: FireChecksComponent\r\n },\r\n {\r\n path: 'toilet-check',\r\n component: ToiletCheckComponent\r\n },\r\n {\r\n path: 'cleaning-check',\r\n component: CleaningCheckComponent\r\n },\r\n {\r\n path: 'machine-payout',\r\n component: MachinePayoutsComponent\r\n },\r\n {\r\n path: 'machine-service',\r\n component: MachineServiceComponent\r\n },\r\n {\r\n path: 'statutory-visit',\r\n component: StatutoryVisitComponent\r\n },\r\n ]\r\n },\r\n {\r\n path: 'public/documents/:id',\r\n component: DocumentsComponent\r\n },\r\n {\r\n path: '**',\r\n redirectTo: '',\r\n pathMatch: 'full'\r\n },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forRoot(routes, {})],\r\n exports: [RouterModule]\r\n})\r\nexport class AppRoutingModule { }\r\n","import { Component, HostListener, isDevMode } from '@angular/core';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.scss']\r\n})\r\nexport class AppComponent {\r\n title = 'BactaPortal';\r\n \r\n @HostListener('contextmenu', ['$event'])\r\n onRightClick(event) {\r\n // if (!isDevMode) {\r\n // event.preventDefault();\r\n // }\r\n // if (environment.production) event.preventDefault();\r\n event.preventDefault();\r\n }\r\n\r\n constructor() {\r\n // console.log('BACTA App is running in Prod mode:', isDevMode());\r\n // console.log('BACTA Env running in prod mode', environment.production);\r\n }\r\n}\r\n","\r\n\r\n\r\n\r\n","import { NgModule, APP_INITIALIZER } from '@angular/core';\r\nimport { BrowserModule, Title } from '@angular/platform-browser';\r\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { AppComponent } from './app.component';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { LoginComponent } from './views/login/login.component';\r\nimport { RouterModule } from '@angular/router';\r\nimport { ForgottenPasswordComponent } from './views/forgotten-password/forgotten-password.component';\r\nimport { UserDashboardComponent } from './views/user-dashboard/user-dashboard.component';\r\nimport { FeatureCollectionComponent } from './views/feature-collection/feature-collection.component';\r\nimport { ProductCollectionComponent } from './views/product-collection/product-collection.component';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { GalleryComponent } from './views/excluder/gallery/gallery.component';\r\nimport { ExcluderComponent } from './views/excluder/excluder.component';\r\nimport { NewComponent } from './views/excluder/exclusion-journey/new/new.component';\r\nimport { DetailComponent } from './views/excluder/detail/detail.component';\r\nimport { CustomerdetailComponent } from './views/generic-form/customerdetail/customerdetail.component';\r\nimport { CustomeraddressComponent } from './views/generic-form/customeraddress/customeraddress.component';\r\nimport { ActionComponent } from './views/generic-form/action/action.component';\r\nimport { ViewComponent } from './views/excluder/view/view.component';\r\nimport { UpdateComponent } from './views/excluder/exclusion-journey/update/update.component';\r\nimport { CustomerPhotoComponent } from './views/generic-form/customer-photo/customer-photo.component';\r\nimport { ExcluderExclusionComponent } from './views/generic-form/excluder-exclusion/excluder-exclusion.component';\r\nimport { ExclusionZoneComponent } from './views/generic-form/exclusion-zone/exclusion-zone.component';\r\nimport { ExclusionDeclarationComponent } from './views/generic-form/exclusion-declaration/exclusion-declaration.component';\r\nimport { ExclusionTermsComponent } from './views/generic-form/exclusion-terms/exclusion-terms.component';\r\nimport { MotorwayServicesComponent } from './views/generic-form/motorway-services/motorway-services.component';\r\nimport { ExclusionConfirmedComponent } from './views/generic-form/exclusion-confirmed/exclusion-confirmed.component';\r\nimport { RouteguardService } from './services/routeguard.service';\r\nimport { RecordBreachComponent } from './views/excluder/view/record-breach/record-breach.component';\r\nimport { ReinstateComponent } from './views/excluder/view/reinstate/reinstate.component';\r\nimport { ExclusionDeclarationDetailsComponent } from './views/generic-form/exclusion-declaration-details/exclusion-declaration-details.component';\r\nimport { DisableControlDirective } from './models/directives/disabled.directive';\r\nimport { LoadingComponent } from './views/loading/loading.component';\r\nimport { TextPadComponent } from './views/text-pad/text-pad.component';\r\nimport { ExtendComponent } from './views/excluder/view/extend/extend.component';\r\nimport { ExclusionJourneyComponent } from './views/excluder/exclusion-journey/exclusion-journey.component';\r\nimport { GenericFormComponent } from './views/generic-form/generic-form.component';\r\nimport { ExcluderCardsComponent } from './views/excluder/gallery/excluder-cards/excluder-cards.component';\r\nimport { EmailComponent } from './views/generic-form/email/email.component';\r\nimport { ExcluderCardComponent } from './views/excluder/gallery/excluder-cards/excluder-card/excluder-card.component';\r\nimport { InspectSitesComponent } from './views/generic-form/motorway-services/inspect-sites/inspect-sites.component';\r\nimport { SiteShoppingBasketComponent } from './views/generic-form/site-shopping-basket/site-shopping-basket.component';\r\nimport { ExclusionCardMdComponent } from './views/generic-form/exclusion-card-md/exclusion-card-md.component';\r\nimport { ExclusionCardMobileComponent } from './views/generic-form/exclusion-card-mobile/exclusion-card-mobile.component';\r\nimport { CameraLiveViewComponent } from './views/generic-form/customer-photo/camera-live-view/camera-live-view.component';\r\nimport { ReportingMainComponent } from './views/reporting-main/reporting-main.component';\r\nimport { MainViewComponent } from './views/reporting-main/main-view/main-view.component';\r\nimport { TableComponent } from './views/reporting-main/main-view/table/table.component';\r\nimport { FormComponent } from './views/reporting-main/main-view/form/form.component';\r\nimport { ChartComponent } from './views/reporting-main/main-view/chart/chart.component';\r\nimport { PhotoGalleryComponent } from './views/reporting-main/main-view/photo-gallery/photo-gallery.component';\r\nimport { AdminComponent } from './views/admin/admin.component';\r\nimport { AdminMainViewComponent } from './views/admin/admin-main-view/admin-main-view.component';\r\nimport { AdminDataComponent } from './views/admin/admin-main-view/data/data.component';\r\nimport { AdminOrganisationComponent } from './views/admin/admin-main-view/organisation/organisation.component';\r\nimport { AdminSiteComponent } from './views/admin/admin-main-view/site/site.component';\r\nimport { AdminUserComponent } from './views/admin/admin-main-view/user/user.component';\r\nimport { OopsComponent } from './views/oops/oops.component';\r\nimport { EditOrganisationComponent } from './views/admin/admin-main-view/organisation/edit-organisation/edit-organisation.component';\r\nimport { EditSiteComponent } from './views/admin/admin-main-view/site/edit-site/edit-site.component';\r\nimport { EditUserComponent } from './views/admin/admin-main-view/user/edit-user/edit-user.component';\r\nimport { A11yModule } from '@angular/cdk/a11y';\r\nimport { DragDropModule } from '@angular/cdk/drag-drop';\r\nimport { PortalModule } from '@angular/cdk/portal';\r\nimport { ScrollingModule } from '@angular/cdk/scrolling';\r\nimport { CdkStepperModule } from '@angular/cdk/stepper';\r\nimport { CdkTableModule } from '@angular/cdk/table';\r\nimport { CdkTreeModule } from '@angular/cdk/tree';\r\nimport { MatLegacyAutocompleteModule as MatAutocompleteModule } from '@angular/material/legacy-autocomplete';\r\nimport { MatBadgeModule } from '@angular/material/badge';\r\nimport { MatBottomSheetModule } from '@angular/material/bottom-sheet';\r\nimport { MatLegacyButtonModule as MatButtonModule } from '@angular/material/legacy-button';\r\nimport { MatButtonToggleModule } from '@angular/material/button-toggle';\r\nimport { MatLegacyCardModule as MatCardModule } from '@angular/material/legacy-card';\r\nimport { MatLegacyCheckboxModule as MatCheckboxModule } from '@angular/material/legacy-checkbox';\r\nimport { MatLegacyChipsModule as MatChipsModule } from '@angular/material/legacy-chips';\r\nimport { MatStepperModule } from '@angular/material/stepper';\r\nimport { MatDatepickerModule } from '@angular/material/datepicker';\r\nimport { MatLegacyDialogModule as MatDialogModule } from '@angular/material/legacy-dialog';\r\nimport { MatDividerModule } from '@angular/material/divider';\r\nimport { MatExpansionModule } from '@angular/material/expansion';\r\nimport { MatGridListModule } from '@angular/material/grid-list';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatLegacyInputModule as MatInputModule } from '@angular/material/legacy-input';\r\nimport { MatLegacyListModule as MatListModule } from '@angular/material/legacy-list';\r\nimport { MatLegacyMenuModule as MatMenuModule } from '@angular/material/legacy-menu';\r\nimport { MatNativeDateModule, MatRippleModule, MAT_DATE_LOCALE } from '@angular/material/core';\r\nimport { MatLegacyPaginatorModule as MatPaginatorModule } from '@angular/material/legacy-paginator';\r\nimport { MatLegacyProgressBarModule as MatProgressBarModule } from '@angular/material/legacy-progress-bar';\r\nimport { MatLegacyProgressSpinnerModule as MatProgressSpinnerModule } from '@angular/material/legacy-progress-spinner';\r\nimport { MatLegacyRadioModule as MatRadioModule } from '@angular/material/legacy-radio';\r\nimport { MatLegacySelectModule as MatSelectModule } from '@angular/material/legacy-select';\r\nimport { MatSidenavModule } from '@angular/material/sidenav';\r\nimport { MatLegacySliderModule as MatSliderModule } from '@angular/material/legacy-slider';\r\nimport { MatLegacySlideToggleModule as MatSlideToggleModule } from '@angular/material/legacy-slide-toggle';\r\nimport { MatLegacySnackBarModule as MatSnackBarModule } from '@angular/material/legacy-snack-bar';\r\nimport { MatSortModule } from '@angular/material/sort';\r\nimport { MatLegacyTableModule as MatTableModule } from '@angular/material/legacy-table';\r\nimport { MatLegacyTabsModule as MatTabsModule } from '@angular/material/legacy-tabs';\r\nimport { MatToolbarModule } from '@angular/material/toolbar';\r\nimport { MatLegacyTooltipModule as MatTooltipModule } from '@angular/material/legacy-tooltip';\r\nimport { MatTreeModule } from '@angular/material/tree';\r\nimport { EllipsisPipe } from 'src/app/models/pipes/ellipsis-pipe';\r\nimport { CustomerAcknowledgementComponent } from './views/generic-form/customer-acknowledgement/customer-acknowledgement.component';\r\nimport { TermsAndConditionsComponent } from './views/generic-form/terms-and-conditions/terms-and-conditions.component';\r\nimport { MoreInfoComponent } from './views/excluder/view/more-info/more-info.component';\r\nimport { MessagingMainComponent } from './views/messaging-main/messaging-main.component';\r\nimport { MessagingMainViewComponent } from './views/messaging-main/messaging-main-view/messaging-main-view.component';\r\nimport { ReadComposeMessageComponent } from './views/messaging-main/read-compose-message/read-compose-message.component';\r\nimport { TagsComponent } from './views/generic-form/tags/tags.component';\r\nimport { TagComponent } from './views/generic-form/tags/tag/tag.component';\r\nimport { CustomerInteractionComponent } from './views/customer-interaction/customer-interaction.component';\r\nimport { InteractionGalleryComponent } from './views/customer-interaction/interaction-gallery/interaction-gallery.component';\r\nimport { InteractionNewComponent } from './views/customer-interaction/interaction-new/interaction-new.component';\r\nimport { InteractionViewComponent } from './views/customer-interaction/interaction-view/interaction-view.component';\r\nimport { InteractionCardsComponent } from './views/customer-interaction/interaction-gallery/interaction-cards/interaction-cards.component';\r\nimport { InteractionCardComponent } from './views/customer-interaction/interaction-gallery/interaction-cards/interaction-card/interaction-card.component';\r\nimport { InteractionReasonComponent } from './views/generic-form/interaction-reason/interaction-reason.component';\r\nimport { InteractionPrivacyNoticeComponent } from './views/generic-form/interaction-privacy-notice/interaction-privacy-notice.component';\r\nimport { InteractionActionComponent } from './views/generic-form/interaction-action/interaction-action.component';\r\nimport { InteractionCustomerDetailsComponent } from './views/generic-form/interaction-customer-details/interaction-customer-details.component';\r\nimport { InteractionIdentificationComponent } from './views/generic-form/interaction-identification/interaction-identification.component';\r\nimport { InteractionDescriptionComponent } from './views/generic-form/interaction-description/interaction-description.component';\r\nimport { InteractionReviewComponent } from './views/generic-form/interaction-review/interaction-review.component';\r\nimport { InteractionConfirmationComponent } from './views/generic-form/interaction-confirmation/interaction-confirmation.component';\r\nimport { InteractionCardMdComponent } from './views/generic-form/interaction-card-md/interaction-card-md.component';\r\nimport { InteractionCardMobileComponent } from './views/generic-form/interaction-card-mobile/interaction-card-mobile.component';\r\nimport { IconGalleryComponent } from './views/generic-form/icon-gallery/icon-gallery.component';\r\nimport { ReviewComponent } from './views/customer-interaction/interaction-view/review/review.component';\r\nimport { ReinstatedSeReviewComponent } from './views/customer-interaction/interaction-view/reinstated-se-review/reinstated-se-review.component';\r\nimport { CancelReviewComponent } from './views/customer-interaction/interaction-view/cancel-review/cancel-review.component';\r\nimport { UploadCctvComponent } from './views/customer-interaction/interaction-view/upload-cctv/upload-cctv.component';\r\nimport { UpdateDetailsComponent } from './views/customer-interaction/interaction-view/update-details/update-details.component';\r\nimport { CustomerReviewComponent } from './views/generic-form/customer-review/customer-review.component';\r\nimport { CustomerSeReviewComponent } from './views/generic-form/customer-se-review/customer-se-review.component';\r\nimport { CancelReviewFormComponent } from './views/generic-form/cancel-review/cancel-review.component';\r\nimport { IconImageComponent } from './views/generic-form/icon-image/icon-image.component';\r\nimport { NgInit } from './models/directives/ng-init.directive';\r\nimport { InteractionMoreInfoComponent } from './views/customer-interaction/interaction-view/interaction-more-info/interaction-more-info.component';\r\nimport { RecipientFilterComponent } from './views/messaging-main/recipient-filter/recipient-filter.component';\r\nimport { CustomerPhotoInlineComponent } from './views/generic-form/customer-photo-inline/customer-photo-inline.component';\r\nimport { UpdateExclusionComponent } from './views/excluder/view/update-exclusion/update-exclusion.component';\r\nimport { AdvancedSearchSearchResultsComponent } from './views/generic-form/advanced-search-search-results/advanced-search-search-results.component';\r\nimport { ResetPasswordComponent } from './views/reset-password/reset-password.component';\r\nimport { PrivacypolicyComponent } from './views/privacypolicy/privacypolicy.component';\r\nimport { DocumentsComponent } from './views/documents/documents.component';\r\nimport { AppRoutingModule } from './app-routing.module';\r\nimport { CrimeAlertComponent } from './views/crime-alert/crime-alert.component';\r\nimport { ToolkitDashboardComponent } from './views/toolkit-dashboard/toolkit-dashboard.component';\r\nimport { FireChecksComponent } from './views/fire-checks/fire-checks.component';\r\nimport { ToiletCheckComponent } from './views/toilet-check/toilet-check.component';\r\nimport { CleaningCheckComponent } from './views/cleaning-check/cleaning-check.component';\r\nimport { MachinePayoutsComponent } from './views/machine-payouts/machine-payouts.component';\r\nimport { MachineServiceComponent } from './views/machine-service/machine-service.component';\r\nimport { BreachViewComponent } from './views/breach/breach-view/breach-view.component';\r\nimport { StatutoryVisitComponent } from './views/statutory-visit/statutory-visit.component';\r\nimport { TokeninterceptorService } from './services/tokeninterceptor.service';\r\nimport { MemorableWordComponent } from './views/memorable-word/memorable-word.component';\r\nimport { InactivityService } from './services/inactivity.service';\r\nimport { AgeVerificationComponent } from './views/age-verification/age-verification.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n LoginComponent,\r\n ForgottenPasswordComponent,\r\n UserDashboardComponent,\r\n FeatureCollectionComponent,\r\n ProductCollectionComponent,\r\n GalleryComponent,\r\n ExcluderComponent,\r\n NewComponent,\r\n DetailComponent,\r\n CustomerdetailComponent,\r\n CustomeraddressComponent,\r\n ActionComponent,\r\n ViewComponent,\r\n UpdateComponent,\r\n CustomerPhotoComponent,\r\n ExcluderExclusionComponent,\r\n ExclusionZoneComponent,\r\n ExclusionDeclarationComponent,\r\n ExclusionTermsComponent,\r\n ExclusionConfirmedComponent,\r\n RecordBreachComponent,\r\n ReinstateComponent,\r\n ExclusionDeclarationDetailsComponent,\r\n DisableControlDirective,\r\n LoadingComponent,\r\n TextPadComponent,\r\n ExtendComponent,\r\n ExclusionJourneyComponent,\r\n GenericFormComponent,\r\n InteractionGalleryComponent,\r\n ExcluderCardsComponent,\r\n EmailComponent,\r\n ExcluderCardComponent,\r\n MotorwayServicesComponent,\r\n InspectSitesComponent,\r\n SiteShoppingBasketComponent,\r\n ExclusionCardMdComponent,\r\n ExclusionCardMobileComponent,\r\n CameraLiveViewComponent,\r\n ReportingMainComponent,\r\n MainViewComponent,\r\n TableComponent,\r\n FormComponent,\r\n ChartComponent,\r\n PhotoGalleryComponent,\r\n AdminComponent,\r\n AdminMainViewComponent,\r\n AdminDataComponent,\r\n AdminOrganisationComponent,\r\n AdminSiteComponent,\r\n AdminUserComponent,\r\n OopsComponent,\r\n EditOrganisationComponent,\r\n EditSiteComponent,\r\n EditUserComponent,\r\n EllipsisPipe,\r\n CustomerAcknowledgementComponent,\r\n TermsAndConditionsComponent,\r\n MoreInfoComponent,\r\n MessagingMainComponent,\r\n MessagingMainViewComponent,\r\n ReadComposeMessageComponent,\r\n TagsComponent,\r\n TagComponent,\r\n CustomerInteractionComponent,\r\n InteractionNewComponent,\r\n InteractionViewComponent,\r\n InteractionCardsComponent,\r\n InteractionCardComponent,\r\n InteractionReasonComponent,\r\n InteractionPrivacyNoticeComponent,\r\n InteractionActionComponent,\r\n InteractionCustomerDetailsComponent,\r\n InteractionIdentificationComponent,\r\n InteractionDescriptionComponent,\r\n InteractionReviewComponent,\r\n InteractionConfirmationComponent,\r\n InteractionCardMdComponent,\r\n InteractionCardMobileComponent,\r\n IconGalleryComponent,\r\n ReviewComponent,\r\n ReinstatedSeReviewComponent,\r\n CancelReviewComponent,\r\n UploadCctvComponent,\r\n UpdateDetailsComponent,\r\n CustomerReviewComponent,\r\n CustomerSeReviewComponent,\r\n CancelReviewFormComponent,\r\n IconImageComponent,\r\n NgInit,\r\n InteractionMoreInfoComponent,\r\n RecipientFilterComponent,\r\n CustomerPhotoInlineComponent,\r\n UpdateExclusionComponent,\r\n AdvancedSearchSearchResultsComponent,\r\n ResetPasswordComponent,\r\n PrivacypolicyComponent,\r\n DocumentsComponent,\r\n AgeVerificationComponent,\r\n CrimeAlertComponent,\r\n ToolkitDashboardComponent,\r\n FireChecksComponent,\r\n ToiletCheckComponent,\r\n CleaningCheckComponent,\r\n MachinePayoutsComponent,\r\n MachineServiceComponent,\r\n BreachViewComponent,\r\n StatutoryVisitComponent,\r\n MemorableWordComponent,\r\n ],\r\n exports: [\r\n A11yModule,\r\n CdkStepperModule,\r\n CdkTableModule,\r\n CdkTreeModule,\r\n DragDropModule,\r\n MatAutocompleteModule,\r\n MatBadgeModule,\r\n MatBottomSheetModule,\r\n MatButtonModule,\r\n MatButtonToggleModule,\r\n MatCardModule,\r\n MatCheckboxModule,\r\n MatChipsModule,\r\n MatStepperModule,\r\n MatDatepickerModule,\r\n MatDialogModule,\r\n MatDividerModule,\r\n MatExpansionModule,\r\n MatGridListModule,\r\n MatIconModule,\r\n MatInputModule,\r\n MatListModule,\r\n MatMenuModule,\r\n MatNativeDateModule,\r\n MatPaginatorModule,\r\n MatProgressBarModule,\r\n MatProgressSpinnerModule,\r\n MatRadioModule,\r\n MatRippleModule,\r\n MatSelectModule,\r\n MatSidenavModule,\r\n MatSliderModule,\r\n MatSlideToggleModule,\r\n MatSnackBarModule,\r\n MatSortModule,\r\n MatTableModule,\r\n MatTabsModule,\r\n MatToolbarModule,\r\n MatTooltipModule,\r\n MatTreeModule,\r\n PortalModule,\r\n ScrollingModule,\r\n ],\r\n imports: [\r\n BrowserModule,\r\n HttpClientModule,\r\n BrowserAnimationsModule,\r\n A11yModule,\r\n CdkStepperModule,\r\n CdkTableModule,\r\n CdkTreeModule,\r\n DragDropModule,\r\n MatAutocompleteModule,\r\n MatBadgeModule,\r\n MatBottomSheetModule,\r\n MatButtonModule,\r\n MatButtonToggleModule,\r\n MatCardModule,\r\n MatCheckboxModule,\r\n MatChipsModule,\r\n MatStepperModule,\r\n MatDatepickerModule,\r\n MatDialogModule,\r\n MatDividerModule,\r\n MatExpansionModule,\r\n MatGridListModule,\r\n MatIconModule,\r\n MatInputModule,\r\n MatListModule,\r\n MatMenuModule,\r\n MatNativeDateModule,\r\n MatPaginatorModule,\r\n MatProgressBarModule,\r\n MatProgressSpinnerModule,\r\n MatRadioModule,\r\n MatRippleModule,\r\n MatSelectModule,\r\n MatSidenavModule,\r\n MatSliderModule,\r\n MatSlideToggleModule,\r\n MatSnackBarModule,\r\n MatSortModule,\r\n MatTableModule,\r\n MatTabsModule,\r\n MatToolbarModule,\r\n MatTooltipModule,\r\n MatTreeModule,\r\n PortalModule,\r\n ScrollingModule,\r\n FormsModule,\r\n AppRoutingModule,\r\n RouterModule.forRoot([\r\n// { \r\n// path: '', \r\n// component: LoginComponent \r\n// },\r\n// { \r\n// path: 'forgottenPassword', \r\n// component: ForgottenPasswordComponent \r\n// },\r\n// {\r\n// path: 'privacypolicy',\r\n// component: PrivacypolicyComponent\r\n// },\r\n// {\r\n// path: 'resetpassword/:id',\r\n// component: ResetPasswordComponent\r\n// },\r\n// { \r\n// path: 'user', \r\n// component: UserDashboardComponent,\r\n// canActivate: [RouteguardService],\r\n// children: [\r\n// {\r\n// path: '', \r\n// redirectTo: 'features', \r\n// pathMatch: 'full'\r\n// },\r\n// {\r\n// path: 'opps',\r\n// component: OopsComponent\r\n// },\r\n// {\r\n// path: 'features',\r\n// component: FeatureCollectionComponent,\r\n// },\r\n// {\r\n// path: 'customer-interaction',\r\n// component: CustomerInteractionComponent,\r\n// children: [\r\n// {\r\n// path: '',\r\n// redirectTo: 'gallery',\r\n// pathMatch: 'full'\r\n// },\r\n// {\r\n// path: 'gallery',\r\n// component: InteractionGalleryComponent\r\n// },\r\n// {\r\n// path: 'gallery/:reload',\r\n// component: InteractionGalleryComponent\r\n// },\r\n// {\r\n// path: 'new',\r\n// component: InteractionNewComponent\r\n// },\r\n// {\r\n// path: 'continue/:id',\r\n// component: InteractionNewComponent\r\n// },\r\n// {\r\n// path: 'view/:id',\r\n// component: InteractionViewComponent\r\n// },\r\n// {\r\n// path: 'redirect/:url',\r\n// component: ViewComponent\r\n// }\r\n// ]\r\n// },\r\n// {\r\n// path: 'exclusion',\r\n// component: ExcluderComponent,\r\n// children:[\r\n// {\r\n// path: '',\r\n// redirectTo: 'gallery', \r\n// pathMatch: 'full'\r\n// },\r\n// {\r\n// path: 'gallery',\r\n// component: GalleryComponent\r\n// },\r\n// {\r\n// path: 'new',\r\n// component: NewComponent\r\n// },\r\n// {\r\n// path: 'view/:id',\r\n// component: ViewComponent\r\n// },\r\n// {\r\n// path: 'update/:id',\r\n// component: UpdateComponent\r\n// }\r\n// ]\r\n// },\r\n// {\r\n// path: 'admin',\r\n// component: AdminComponent,\r\n// children: [\r\n// {\r\n// path: 'user-panel',\r\n// component: AdminUserComponent\r\n// },\r\n// {\r\n// path: 'site-panel',\r\n// component: AdminSiteComponent\r\n// },\r\n// {\r\n// path: 'organisation-panel',\r\n// component: AdminOrganisationComponent\r\n// }\r\n// ]\r\n// },\r\n// {\r\n// path: 'reporting',\r\n// component: ReportingMainComponent\r\n// },\r\n// {\r\n// path: 'messaging',\r\n// component: MessagingMainComponent,\r\n// children: [{\r\n// path: 'view/:id',\r\n// component: ReadComposeMessageComponent\r\n// }]\r\n// },\r\n// {\r\n// path: 'search',\r\n// component: AdvancedSearchSearchResultsComponent\r\n// }\r\n// ]\r\n// },\r\n// {\r\n// path: 'public/documents/:id',\r\n// component: DocumentsComponent\r\n// },\r\n// {\r\n// path: '**',\r\n// redirectTo: '',\r\n// pathMatch: 'full'\r\n// },\r\n], {})\r\n ],\r\n providers: [\r\n HttpClient,\r\n //{ provide: HTTP_INTERCEPTORS, useClass: TokeninterceptorService, multi: true }\r\n { provide: MAT_DATE_LOCALE, useValue: 'en-GB' },\r\n {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: TokeninterceptorService,\r\n multi: true,\r\n },\r\n Title,\r\n ],\r\n bootstrap: [AppComponent]\r\n})\r\nexport class AppModule { }","import { Actors_Names } from './Name';\r\nimport { Actor_Settings } from './Actor_Settings'\r\nimport { Actor_Sites } from './Actor_Sites';\r\nimport { Actors_Tags } from './Actors_Tags';\r\nimport { UserSites } from './UserSites';\r\n\r\n\r\nexport class ActorCompositeModel {\r\n ActorId: number;\r\n OrganisationName: string;\r\n\r\n Actor_Names: Actors_Names[];\r\n Actor_Settings: Actor_Settings[];\r\n Actor_Sites: UserSites[];\r\n Actors_Tags: Actors_Tags[];\r\n\r\n constructor() {}\r\n};\r\n","export class Actor_Settings {\r\n SettingId: number;\r\n Settings: Setting;\r\n}\r\n\r\nexport class Settings {\r\n ActorId: number = -1;\r\n SettingId: number = -1;\r\n Edited: Date;\r\n Edited_ActorId: number;\r\n}\r\n\r\nexport class Setting {\r\n SettingId: number;\r\n SettingKeyId: number = -1;\r\n Value: any = '';\r\n Edited: Date;\r\n Edited_ActorId: number;\r\n}\r\n\r\nclass SettingKey {\r\n SettingKeyId: number;\r\n Name: any;\r\n}\r\n\r\n","export class Addresses {\r\n Items: Address[];\r\n}\r\n\r\nexport class Address {\r\n Id: string;\r\n Type: string;\r\n Text: string;\r\n Highlight: string;\r\n Description: string;\r\n}\r\n\r\nexport class AddressDetails {\r\n Items: AddressDetail[];\r\n}\r\n\r\nexport class AddressDetail {\r\n Id: string;\r\n DomesticId: string;\r\n Language: string;\r\n LanguageAlternatives: string;\r\n Department: string;\r\n Company: string;\r\n SubBuilding: string;\r\n BuildingNumber: string;\r\n BuildingName: string;\r\n SecondaryStreet: string;\r\n Street: string;\r\n Block: string;\r\n Neighbourhood: string;\r\n District: string;\r\n City: string;\r\n Line1: string;\r\n Line2: string;\r\n Line3: string;\r\n Line4: string;\r\n Line5: string;\r\n AdminAreaName: string;\r\n AdminAreaCode: string;\r\n Province: string;\r\n ProvinceName: string;\r\n ProvinceCode: string;\r\n PostalCode: string;\r\n CountryName: string;\r\n CountryIso2: string;\r\n CountryIso3: string;\r\n CountryIsoNumber: string;\r\n SortingNumber1: string;\r\n SortingNumber2: string;\r\n Barcode: string;\r\n POBoxNumber: string;\r\n Label: string;\r\n Type: string;\r\n DataLevel: string;\r\n Field1: string;\r\n Field2: string;\r\n Field3: string;\r\n Field4: string;\r\n Field5: string;\r\n Field6: string;\r\n Field7: string;\r\n Field8: string;\r\n Field9: string;\r\n Field10: string;\r\n Field11: string;\r\n Field12: string;\r\n Field13: string;\r\n Field14: string;\r\n Field15: string;\r\n Field16: string;\r\n Field17: string;\r\n Field18: string;\r\n Field19: string;\r\n Field20: string;\r\n\r\n // Doesn't always show up in this class.\r\n Latitude: number;\r\n Longitude: number;\r\n}\r\n\r\nexport class GeocodingItems {\r\n Items: Geocoding[] = [];\r\n}\r\n\r\nexport class Geocoding {\r\n Location: string;\r\n Easting: number;\r\n Northing: number;\r\n Latitude: number;\r\n Longitude: number;\r\n OsGrid: string;\r\n Accuracy: string;\r\n}\r\n","export class Credentials {\r\n ActorId: number;\r\n Login: string;\r\n Hash: string;\r\n Edited: string;\r\n Edited_ActorId: string;\r\n}\r\n\r\nexport class CredentialsBrief {\r\n Login: string;\r\n Password: string;\r\n}","import { Views_MediaModel } from './InteractionExclusion/Views_MediaModel';\r\nimport { ISDDateMethods } from './ISDDateMethods';\r\n\r\nexport class CustomerInteractionBrief {\r\n private dateMethods: ISDDateMethods = new ISDDateMethods();\r\n\r\n InteractionId: number;\r\n InteractedActorId: number;\r\n BirthDate: Date;\r\n GenderId: number;\r\n HonorificId: number;\r\n Reference: string;\r\n Sites_ActorId: number;\r\n Start: Date;\r\n PeriodDays: number;\r\n Forename: string;\r\n Surname: string;\r\n Alias: string;\r\n Image: string;\r\n TagIdCollection: number[] = [];\r\n Media: Media;\r\n}\r\n\r\ninterface Media {\r\n MediaId: number;\r\n}","export class CustomerInteractionCancelReview {\r\n Notes: string;\r\n}","export class CustomerInteractionReinstateSEReview {\r\n DiscussedGamblingBehaviour: boolean;\r\n FurtherMonitoringRequired: boolean;\r\n Notes: string;\r\n}","export class CustomerInteractionReview {\r\n GamblingManagementToolUsed: boolean;\r\n PositiveBehaviourChange: boolean;\r\n PatternChanged: boolean;\r\n Notes: string;\r\n}","import { SettingCollection } from './SettingCollection';\r\nimport { Honorific } from './Honorific';\r\nimport { Gender } from './Gender';\r\n\r\nexport class EmployeeDetails {\r\n ActorId: number;\r\n Organisation_ActorId: number;\r\n Forename: string;\r\n Surname: string;\r\n Email: string;\r\n BirthDate: Date;\r\n GenderId: number;\r\n Gender: Gender;\r\n HonorificId: number;\r\n Honorific: Honorific;\r\n ActorRoleId: number;\r\n ActorRole: string;\r\n TagIdCollection: number[] = [];\r\n SettingCollection: SettingCollection[] = [];\r\n SiteIdCollection: number[] = [];\r\n Country: String;\r\n County: String;\r\n Line1: String;\r\n Line2: String;\r\n Postcode: string;\r\n TownCity: String;\r\n Latitude: number;\r\n Longitude: number;\r\n PostalAddressClassId: number;\r\n Mobile: String;\r\n MemWord?: string;\r\n}","import { Breach } from './Breach'\r\nimport { Reinstate } from './Reinstate'\r\nimport { Extension } from './Extension'\r\nimport { ActorService } from '../services/actor.service';\r\nimport { ExclusionBreaches } from './ExclusionBreaches';\r\n\r\nexport class ExcluderBrief {\r\n InteractionId: number;\r\n InteractedActorId: number;\r\n BirthDate: Date;\r\n GenderId: number;\r\n HonorificId: number;\r\n Length: number;\r\n LengthMetricKeyId: number;\r\n Sites_ActorId: number;\r\n Reference: string;\r\n Start: Date;\r\n PeriodDays: number;\r\n Forename: string;\r\n Surname: string;\r\n\r\n // Loaded after Gallery call\r\n Image: string;\r\n MediaId: number;\r\n Name: string;\r\n Breaches: Breach[];\r\n BreachExists: boolean = false;\r\n //Extensions: Extension[];\r\n Extensions: Extension = new Extension();\r\n Reinstatement: Reinstate;\r\n ExclusionBreachesCollection: ExclusionBreaches[];\r\n\r\n\r\n};\r\n","export class Extension {\r\n InteractionId: number;\r\n Start: Date;\r\n Duration: number;\r\n}\r\n","export class BackgroundColor {\r\n // Standard UI background colors\r\n public readonly DarkPurple: string = '#223464';\r\n public readonly Beige: string = '#fceee3';\r\n public readonly LightBlue: string = '#ebf6f6';\r\n public readonly DarkBlue: string = '#5e698e';\r\n\r\n // Used on Customer Cards\r\n public readonly Red: string = '#d11723';\r\n public readonly Yellow: string = '#f9b03b';\r\n public readonly Green: string = '#65b42d';\r\n public readonly CyanBlue: string = '#009fe3';\r\n public readonly Purple: string = '#7164aa';\r\n public readonly MagentaPink: string = '#e5097e';\r\n public readonly Grey: string = '#9d9d9c';\r\n public readonly White: string = 'white';\r\n \r\n}","export class Border {\r\n public readonly StandardRadius: string = '0.5em';\r\n public readonly ThinSolidBlack: string = '1px solid black';\r\n}","export class ClassKeyIds {\r\n public readonly MediaModelImage: number = 4;\r\n}","export class FontColor {\r\n public readonly Red: string = '#d11722';\r\n public readonly White: string = 'white';\r\n}","export class Positioning {\r\n // Standard\r\n public readonly Auto: string = 'auto';\r\n\r\n // Ensure there is consistancy where applicable.\r\n public readonly None: string = '0px';\r\n public readonly ExtraSmall: string = '5px';\r\n public readonly Small: string = '10px';\r\n public readonly Medium: string = '20px';\r\n public readonly Large: string = '30px';\r\n public readonly ExtraLarge: string = '40px';\r\n\r\n // Box Properties\r\n public readonly StandardBoxHeight: string = '200px';\r\n public readonly StandardBoxWidth: string = '100%';\r\n}","// Keep All Dynamic Tables Consistant.\r\n// Unused - Uncomment when implemented\r\nexport class TableProperties {\r\n public readonly HeaderBorder: string = '1px solid #223464';\r\n public readonly HeaderCellBackgroundColor: string = '#223464';\r\n public readonly HeaderCellColor: string = 'white';\r\n public readonly CellBackgroundColor: string = 'white';\r\n public readonly CellColor: string = 'red';\r\n public readonly CellHeight: string = '15px';\r\n public readonly CellWidth: string = '100px';\r\n public readonly CellOverflow: string = 'hidden';\r\n public readonly CellTextAlign: string = 'center';\r\n public readonly DataCellPadding: string = '0px';\r\n}","export class TagValues {\r\n public readonly ArchivedInteraction: number = 4;\r\n public readonly IncompleteInteraction: number = 5;\r\n public readonly ReinstatedExcluder: number = 7;\r\n\r\n // Interaction Reasons\r\n public readonly InteractionCustomerLed: number = 90\r\n public readonly InteractionReasonTime: number = 91;\r\n public readonly InteractionReasonSpend: number = 92;\r\n public readonly InteractionReasonBehaviour: number = 93\r\n public readonly InteractionReasonMachineAlert: number = 94\r\n public readonly InteractionReasonVulnerability: number = 95\r\n public readonly InteractionReasonWishToExclude: number = 96\r\n\r\n // Interaction Actions\r\n public readonly InteractionActionTimeOut: number = 6;\r\n public readonly InteractionActionBanned: number = 110;\r\n public readonly InteractionActionTakeABreak: number = 111;\r\n public readonly InteractionActionImposeTimeLimits: number = 112;\r\n public readonly InteractionActionImposeSpendLimits: number = 113;\r\n public readonly InteractionActionChangeCategory: number = 114;\r\n public readonly InteractionActionMonitorBehaviour: number = 115;\r\n public readonly InteractionActionSignpostToGamcare: number = 116;\r\n public readonly InteractionActionStayInControlLeaflet: number = 117;\r\n public readonly InteractionActionGambleManagementApp: number = 118;\r\n public readonly InteractionActionIssuedPlayDiary: number = 119;\r\n\r\n}","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class ISDDateMethods {\r\n private millisecond: number = 1000;\r\n private second: number = 60;\r\n private minute: number = 60;\r\n private hour: number = 24;\r\n private day: number = 365.25;\r\n private checkDay: number = (this.millisecond * this.second * this.minute * this.hour);\r\n private checkYear: number = (this.checkDay * this.day);\r\n\r\n public AddDays(date: Date, daysToAdd: number): Date {\r\n let addition = daysToAdd * this.checkDay;\r\n let dateInteger = this.ConvertDateToInteger(date);\r\n\r\n return new Date(dateInteger + addition);\r\n }\r\n\r\n public AddWeeks(date: Date, weeksToAdd: number): Date {\r\n let addition = weeksToAdd * (this.checkDay*7);\r\n let dateInteger = this.ConvertDateToInteger(date);\r\n\r\n return new Date(dateInteger + addition);\r\n }\r\n \r\n public CheckBirthdateIsValid(birthDate: Date): Boolean {\r\n let dateDiff = this.DateDifferenceInYears(birthDate);\r\n return (dateDiff > 17.9986320109439124);\r\n }\r\n\r\n public DateDifferenceInDays(checkDate: Date): number {\r\n let dateInNumbers = this.ConvertDateToInteger(checkDate);\r\n return ~~((Date.now() - dateInNumbers) / (this.checkDay));\r\n }\r\n\r\n public DateDifferenceInYears(checkDate: Date): number {\r\n let dateInNumbers = this.ConvertDateToInteger(checkDate);\r\n return ~~((Date.now() - dateInNumbers) / (this.checkYear));\r\n }\r\n\r\n public SameDay(dateOne: Date, dateTwo: Date) {\r\n return dateOne.getFullYear() === dateTwo.getFullYear() &&\r\n dateOne.getMonth() === dateTwo.getMonth() &&\r\n dateOne.getDate() === dateTwo.getDate();\r\n }\r\n\r\n public SetEndOfDayForDate(startDate: Date) {\r\n let dateInteger = this.ConvertDateToInteger(startDate);\r\n dateInteger+= this.checkDay-1;\r\n let returnDate: Date = new Date(dateInteger);\r\n return returnDate;\r\n }\r\n\r\n public ConvertDateToInteger(dateToConvert): number {\r\n return +new Date(dateToConvert);\r\n }\r\n\r\n public DateNow() {\r\n return new Date().toISOString().slice(0, 16);\r\n }\r\n\r\n public GetNewStartDate(endDate: Date): Date {\r\n let endDateInteger = this.ConvertDateToInteger(endDate);\r\n endDateInteger+= this.checkDay;\r\n let returnDate: Date = new Date(endDateInteger);\r\n return returnDate;\r\n }\r\n\r\n public FormatDateForReport(date: Date): string {\r\n return date.toISOString().slice(8,10) + '/' + date.toISOString().slice(5,7) + '/' + date.getFullYear();\r\n }\r\n\r\n public AddTimeToDate(date: Date, millisecond: number) {\r\n return new Date(this.ConvertDateToInteger(date) + millisecond);\r\n }\r\n\r\n public GetMonitoringPeriodUsingWeeks(numberOfWeeks): number {\r\n return 7*numberOfWeeks;\r\n }\r\n\r\n public GetMonitoringPeriodUsingMonths(startDate: Date, numberOfMonths: number): number {\r\n startDate = new Date(startDate.toDateString());\r\n let returnDate: Date = new Date(startDate);\r\n returnDate.setMonth(returnDate.getMonth() + numberOfMonths);\r\n let diff: number = Math.abs(returnDate.getTime() - startDate.getTime());\r\n\r\n // Works once every 1461 days\r\n if ((startDate.getDate() === 29 && startDate.getMonth() === 1) && numberOfMonths === 12) {\r\n diff = diff - (this.checkDay);\r\n }\r\n return Math.round(diff / this.checkDay);\r\n }\r\n\r\n public GetMonthDifference(startDate, numberOfDays): number {\r\n var start = new Date(startDate);\r\n var endDate = this.AddDays(startDate, numberOfDays);\r\n\r\n var months;\r\n months = (endDate.getFullYear() - start.getFullYear()) * 12;\r\n months -= start.getMonth();\r\n months += endDate.getMonth();\r\n return months <= 0 ? 0 : months;\r\n }\r\n\r\n public GetEndDate(startDate: any, month: number) {\r\n let date: Date = new Date(startDate);\r\n let returnDate: Date = new Date(date.setMonth(date.getMonth() + month));\r\n return returnDate;\r\n }\r\n\r\n private LeapYear(year: number): boolean {\r\n return (year % 4) === 0 && (year % 100) !== 0;\r\n }\r\n}","import { Time } from '@angular/common';\r\n\r\nexport class View_ExclusionBreachesCompositeModel {\r\n InteractionId: number = 0;\r\n AssociatedActorIdCollection: number[] = [];\r\n Notes: string;\r\n Reference: string;\r\n SiteId: number;\r\n TagIdCollection: number[] = [];\r\n Exclusions_InteractionId: number = -1;\r\n Breached: string;\r\n\r\n ControllerDate: Date;\r\n ControllerTime: Time;\r\n\r\n SetBreached() {\r\n this.Breached = new Date(this.ControllerDate).toISOString().slice(0, 10) + 'T' + this.ControllerTime\r\n }\r\n}","import { NonBiologicalName } from '../actor/Name';\r\n\r\nexport class ExclusionClientValues {\r\n IdChecked: boolean;\r\n Exclude_BetShop: boolean = false;\r\n Exclude_Bingo: boolean = false;\r\n Exclude_Online: boolean = false;\r\n Exclude_Casino: boolean = false;\r\n PlanExclude_BetShop: boolean = false;\r\n PlanExclude_Bingo: boolean = false;\r\n PlanExclude_Casino: boolean = false;\r\n PlanExclude_Online: boolean = false;\r\n Confirmed: boolean = false;\r\n Radius: number = 1;\r\n ExclusionDurationOptionId = 7;\r\n TermsAndConditions: boolean = false;\r\n ReinstateTerms: boolean = false;\r\n AgreeToThirdPartyContact: boolean = false;\r\n OptOutPromo: boolean = false;\r\n ExclusionSiteName: string;\r\n ExtensionExists: boolean = false;\r\n BreachExists: boolean = false;\r\n ReinstatementExists: boolean = false;\r\n\r\n SiteCollection: NonBiologicalName[] = [];\r\n SentFromInteractions: boolean;\r\n}\r\n\r\nclass ExclusionSiteCollection {\r\n SiteId: number;\r\n Name: string;\r\n}\r\n\r\n/* \r\n IdentityChecked = 31,\r\n ReadTermsAndConditions = 32, \r\n ExcludeBingo = 33,\r\n ExcludeCasino = 34,\r\n ExcludeBetShop = 35,\r\n ExcludeOnline = 36,\r\n PlanExcludeBingo = 37,\r\n PlanExcludeCasino = 38,\r\n PlanExcludeBetShop = 39,\r\n PlanExcludeOnline = 40,\r\n*/","export class View_ReinstatementsCompositeModel {\r\n constructor(\r\n public InteractionId: number,\r\n public AssociatedActorIdCollection: number[],\r\n public Notes: string,\r\n public Reference: string,\r\n public SiteId: number,\r\n public TagIdCollection: number[],\r\n public Exclusions_InteractionId: number,\r\n public ReinstatementRequestMethodKeyId: number,\r\n public Accepted: Date\r\n ) {\r\n } \r\n}","export class Post_InteractionReferenceCompositeModel {\r\n ReferenceCollection: string[] = [];\r\n constructor(public InteractionIdCollection: number[]) {\r\n }\r\n}\r\n\r\nexport interface View_InteractionReferenceCompositeModel {\r\n InteractionId: number;\r\n ActorReferenceModelCollection: ActorReferenceModelCollection[];\r\n}\r\n\r\ninterface ActorReferenceModelCollection {\r\n ActorId: number;\r\n Reference: string;\r\n}","import { Views_BiologicalActorTraitModel } from './Views_BiologicalActorTraitModel';\r\n\r\nexport class Views_BiologicalActorCompositeModel {\r\n Alias: string;\r\n BiologicalActorTraitModelCollection: Views_BiologicalActorTraitModel[] = [];\r\n BirthDate: Date;\r\n Forename: string;\r\n GenderId: number;\r\n HonorificId: number;\r\n Surname: string;\r\n PostalAddressClassId: number;\r\n Country: string;\r\n County: string;\r\n Line1: string;\r\n Line2: string;\r\n Postcode: string;\r\n TownCity: string;\r\n Landline: string;\r\n Mobile: string;\r\n Email: string;\r\n}\r\n\r\n\r\n","import { ExclusionBreaches } from '../ExclusionBreaches';\r\nimport { Extension } from '../Extension';\r\nimport { Reinstate } from '../Reinstate';\r\nimport { ExclusionClientValues } from './ExclusionClientValues';\r\nimport { View_ReinstatementsCompositeModel } from './Reinstatement/View_ReinstatementsCompositeModel';\r\nimport { Views_InteractedActorCompositeModel } from './Views_InteractedActorCompositeModel';\r\nimport { Views_InteractionMonitoringPeriodsModel } from './Views_InteractionMonitoringPeriodsModel';\r\nimport { Views_MediaModel } from './Views_MediaModel';\r\nimport { PutExclusionsCompositeModel, Views_Put_ExclusionsCompositeModel } from './Views_Put_ExclusionsCompositeModel';\r\nimport { Views_VehicleCompositeModel } from './Views_VehicleCompositeModel';\r\n\r\nexport class Views_Get_ExclusionsCompositeModel extends Views_Put_ExclusionsCompositeModel {\r\n Extension: Extension = new Extension();\r\n Reinstatement: View_ReinstatementsCompositeModel;\r\n ExclusionBreachesCollection: ExclusionBreaches[];\r\n ClientValues: ExclusionClientValues = new ExclusionClientValues();\r\n}\r\n\r\nexport class GetExclusionsCompositeModel extends PutExclusionsCompositeModel {\r\n ClientValues: ExclusionClientValues = new ExclusionClientValues();\r\n constructor(\r\n public InteractionId,\r\n public AssociatedActorIdCollection,\r\n public InteractedActorCompositeModel,\r\n public InteractedActorCompositeModelCollection,\r\n public InteractionMonitoringPeriod,\r\n public MediaModelCollection,\r\n public Notes,\r\n public Reference,\r\n public SiteId,\r\n public TagIdCollection,\r\n public VehicleCollection,\r\n public ExclusionReasonKeyId,\r\n public IdentificationDocumentKeyId,\r\n public Radius,\r\n public SiteIdCollection,\r\n Extension: Extension, \r\n Reinstatement: View_ReinstatementsCompositeModel, \r\n ExclusionBreachesCollection: ExclusionBreaches[]\r\n ) {\r\n super( \r\n InteractionId,\r\n AssociatedActorIdCollection,\r\n InteractedActorCompositeModel,\r\n InteractionMonitoringPeriod,\r\n MediaModelCollection,\r\n Notes,\r\n Reference,\r\n SiteId,\r\n TagIdCollection,\r\n VehicleCollection,\r\n ExclusionReasonKeyId,\r\n IdentificationDocumentKeyId,\r\n Radius,\r\n SiteIdCollection\r\n )\r\n }\r\n}\r\n\r\n","import { Views_BiologicalActorCompositeModel } from './Views_BiologicalActorCompositeModel';\r\n\r\nexport class Views_InteractedActorCompositeModel {\r\n InteractedActorId: number;\r\n BiologicalActorCompositeModel: Views_BiologicalActorCompositeModel = new Views_BiologicalActorCompositeModel();\r\n}","export class Views_InteractionMonitoringPeriodsModel {\r\n Duration: number;\r\n Start: Date = new Date();\r\n}\r\n\r\nexport class InteractionMonitoringPeriodsModel {\r\n constructor(public Duration: number, public Start: Date) {}\r\n}","import { Views_InteractedActorCompositeModel } from './Views_InteractedActorCompositeModel';\r\nimport { Views_InteractionMonitoringPeriodsModel } from './Views_InteractionMonitoringPeriodsModel';\r\nimport { Views_MediaModel } from './Views_MediaModel';\r\nimport { Views_VehicleCompositeModel } from './Views_VehicleCompositeModel';\r\nimport { ISDDateMethods } from 'src/app/models/ISDDateMethods';\r\n\r\n/*\r\n Main Model for Interactions, used in the Interaction Service as the base.\r\n*/\r\n\r\nexport class Views_InteractionsCompositeModel {\r\n InteractionId: number;\r\n AssociatedActorIdCollection: number[] = [];\r\n InteractedActorCompositeModel: Views_InteractedActorCompositeModel;\r\n InteractedActorCompositeModelCollection: any[] = [];\r\n InteractionMonitoringPeriod: Views_InteractionMonitoringPeriodsModel;\r\n MediaModelCollection: Views_MediaModel[] = [];\r\n Notes: string;\r\n Reference: string;\r\n SiteId: number;\r\n TagIdCollection: number[] = [];\r\n VehicleCollection: Views_VehicleCompositeModel[] = [];\r\n Review: any\r\n\r\n // Client Side\r\n NoActionTaken: boolean;\r\n Reasons: string;\r\n Actions: string;\r\n}\r\n\r\nexport class InteractionsCompositeModel {\r\n // Client Side\r\n NoActionTaken: boolean;\r\n Reasons: string;\r\n Actions: string;\r\n\r\n private DateMethods: ISDDateMethods = new ISDDateMethods();\r\n\r\n constructor (\r\n public InteractionId: number,\r\n public AssociatedActorIdCollection: number[],\r\n public InteractedActorCompositeModel: Views_InteractedActorCompositeModel,\r\n public InteractionMonitoringPeriod: Views_InteractionMonitoringPeriodsModel,\r\n public MediaModelCollection: Views_MediaModel[],\r\n public Notes: string,\r\n public Reference: string,\r\n public SiteId: number,\r\n public TagIdCollection: number[],\r\n public VehicleCollection: Views_VehicleCompositeModel[]\r\n ) {}\r\n\r\n GetCurrentEndDate(): Date {\r\n return new Date(this.DateMethods.AddDays(this.InteractionMonitoringPeriod.Start, this.InteractionMonitoringPeriod.Duration));\r\n }\r\n \r\n GetExtensionStartDate(): Date {\r\n return new Date(this.DateMethods.AddDays(this.InteractionMonitoringPeriod.Start, this.InteractionMonitoringPeriod.Duration+1));\r\n }\r\n}","export class Views_MediaModel {\r\n MediaId: number = 0;\r\n MediaClassKeyId: number = 4;\r\n Data: any;\r\n}","import { ExclusionClientValues } from './ExclusionClientValues';\r\nimport { Views_InteractedActorCompositeModel } from './Views_InteractedActorCompositeModel';\r\nimport { Views_InteractionMonitoringPeriodsModel } from './Views_InteractionMonitoringPeriodsModel';\r\nimport { InteractionsCompositeModel, Views_InteractionsCompositeModel } from './Views_InteractionsCompositeModel';\r\nimport { Views_MediaModel } from './Views_MediaModel';\r\n\r\n/*\r\n Main Model for Exclusions, used in the Exclusion Service as the base.\r\n*/\r\n\r\nexport class Views_Put_ExclusionsCompositeModel extends Views_InteractionsCompositeModel {\r\n ExclusionReasonKeyId: number;\r\n IdentificationDocumentKeyId: number;\r\n Radius: number;\r\n SiteIdCollection: number[] = [];\r\n SiteCollectionIdCollection: number[] = [];\r\n}\r\n\r\nexport class PutExclusionsCompositeModel extends InteractionsCompositeModel {\r\n SiteCollectionIdCollection: number[];\r\n constructor(\r\n public InteractionId,\r\n public AssociatedActorIdCollection,\r\n public InteractedActorCompositeModel,\r\n public InteractionMonitoringPeriod,\r\n public MediaModelCollection,\r\n public Notes,\r\n public Reference,\r\n public SiteId,\r\n public TagIdCollection: number[],\r\n public VehicleCollection,\r\n public ExclusionReasonKeyId: number,\r\n public IdentificationDocumentKeyId: number,\r\n public Radius: number,\r\n public SiteIdCollection: number[]\r\n ) {\r\n super(\r\n InteractionId, \r\n AssociatedActorIdCollection, \r\n InteractedActorCompositeModel, \r\n InteractionMonitoringPeriod, \r\n MediaModelCollection, \r\n Notes,\r\n Reference,\r\n SiteId,\r\n TagIdCollection,\r\n VehicleCollection\r\n );\r\n }\r\n}","import { InteractionsCompositeModel, Views_InteractionsCompositeModel } from './Views_InteractionsCompositeModel';\r\n\r\nexport class Views_ReviewsCompositeModel extends Views_InteractionsCompositeModel {\r\n Interactions_InteractionId: number;\r\n}\r\n\r\nexport class ReviewsCompositeModel extends InteractionsCompositeModel {\r\n constructor( \r\n InteractionId,\r\n AssociatedActorIdCollection,\r\n InteractedActorCompositeModel,\r\n InteractionMonitoringPeriod,\r\n MediaModelCollection,\r\n Notes,\r\n Reference,\r\n SiteId,\r\n TagIdCollection,\r\n VehicleCollection,\r\n Interactions_InteractionId: number\r\n ) {\r\n super( \r\n InteractionId,\r\n AssociatedActorIdCollection,\r\n InteractedActorCompositeModel,\r\n InteractionMonitoringPeriod,\r\n MediaModelCollection,\r\n Notes,\r\n Reference,\r\n SiteId,\r\n TagIdCollection,\r\n VehicleCollection\r\n )\r\n }\r\n}","export class Names {\r\n NameId: number;\r\n Name: string;\r\n Edited: Date;\r\n Edited_ActorId: number;\r\n}\r\n\r\nexport class NameDetails {\r\n ActorId: number;\r\n NameId: number;\r\n NameClassKeyId: number;\r\n Order: number;\r\n Edited: Date;\r\n}\r\n\r\nexport class Actors_Names {\r\n ActorId: number;\r\n NameId: number;\r\n Name: Name;\r\n NameClassKeyId: number;\r\n Order: number;\r\n Edited: Date;\r\n Edited_ActorId: number;\r\n}\r\n\r\n// Only shows up in Actors_Names when calling a composite model\r\nclass Name {\r\n NameId: number;\r\n Name: string;\r\n NameClassKeyId: number;\r\n}","import { SettingCollection } from './SettingCollection';\r\n\r\nexport class Organisation {\r\n Employees_ActorId: number; //Decrepit?\r\n Organisations_ActorId: number; //Decrepit?\r\n Organisations_Name: string; //Decrepit?\r\n\r\n EmployeeIdCollection: number[];\r\n SiteIdCollection: number[];\r\n ActorId: number;\r\n Name: string;\r\n ActorReferenceCollection: number[];\r\n ContactIdCollection: number[];\r\n SettingCollection: SettingCollection[] = [];\r\n TagIdCollection: number[];\r\n NameClassKeyId: number = 7;\r\n\r\n}","export class Parameter {\r\n name: string;\r\n value: any;\r\n}","export class PostObjects {\r\n AssociatedActorNameCompositeModel: AssociatedActorNameCompositeModel = new AssociatedActorNameCompositeModel();\r\n CommunicationAccountMessageCompositeModelController: CommunicationAccountMessageCompositeModelController = new CommunicationAccountMessageCompositeModelController();\r\n CommunicationAccountMessagesCompositeModel: CommunicationAccountMessagesCompositeModel = new CommunicationAccountMessagesCompositeModel();\r\n CommunicationContacts_CommunicationContactTags: CommunicationContacts_CommunicationContactTags = new CommunicationContacts_CommunicationContactTags();\r\n Model: BasicPostModel = new BasicPostModel();\r\n}\r\n\r\nexport class AssociatedActorNameCompositeModel {\r\n AssociatedActorIdCollection: number[] = [];\r\n}\r\n\r\nexport class CommunicationAccountMessageCompositeModelController {\r\n CommunicationId: number;\r\n TagIdLookupOperator: string = \"Exists\";\r\n TagIdCollection: number[] = [];\r\n Processed: Date;\r\n Start: Date;\r\n End: Date;\r\n Limit: number;\r\n Offset: number;\r\n}\r\n\r\nexport class CommunicationAccountMessagesCompositeModel {\r\n ActorIdCollection: number[] = [];\r\n Body: string;\r\n Subject: string;\r\n TagIdCollection: number[] = [];\r\n Edited_ActorId: number;\r\n}\r\n\r\nexport class CommunicationContacts_CommunicationContactTags {\r\n ActorId: number;\r\n CommunicationId: number;\r\n CommunicationMethodKeyId: number;\r\n TagId: number;\r\n Edited: Date;\r\n Edited_ActorId: number;\r\n}\r\n\r\nclass BasicPostParameters {\r\n Start: Date = new Date('2019-01-01');\r\n End: Date = new Date();\r\n Limit: number;\r\n Offset: number = 0;\r\n}\r\n\r\nexport class BasicPostModel extends BasicPostParameters {\r\n TagIdLookupOperator: string = \"NotExists\";\r\n TagIdCollection: number[] = [];\r\n OrganisationParameters: OrganisationParameters = new OrganisationParameters();\r\n SiteParameters: SiteParameters = new SiteParameters();\r\n}\r\n\r\nclass OrganisationParameters {\r\n OrganisationIdCollection: number[] = [];\r\n TagIdLookupOperator: string = 'NotExists';\r\n TagIdCollection: number[] = [];\r\n}\r\n\r\nclass SiteParameters {\r\n SiteIdCollection: number[] = [];\r\n TagIdLookupOperator: string = 'NotExists';\r\n TagIdCollection: number[] = [];\r\n}","import { Honorific } from '../Honorific';\r\nimport { Gender } from '../Gender';\r\nimport { ExclusionDurationOption } from '../ExclusionDurationOption';\r\nimport { SiteCollection } from '../SiteCollection';\r\nimport { ISDDateMethods } from '../ISDDateMethods';\r\nimport { ActorService } from 'src/app/services/actor.service';\r\nimport { ExcluderService } from 'src/app/services/excluder.service';\r\nimport { InteractionService } from 'src/app/services/interaction.service';\r\nimport { ApiService } from 'src/app/services/api.service';\r\nimport * as moment from 'moment';\r\n\r\n// Class for creating tabular reports.\r\n// Every tabular class requires the following properties.\r\n// Rows: any[] = [] --Holds all the newRows pushed.\r\n// HeaderTransaltion = [{}] --This will print all the headers to the table.\r\n// newRow = [{}] --Make the values all blank but match the HeaderTranslationIds\r\n// public AddRow(rowObject) {} --Use this push rows, ensure all values are hardcoded for now.\r\n\r\nexport class AgeVerificationList {\r\n private DateMethods: ISDDateMethods = new ISDDateMethods();\r\n public Rows: any[] = [];\r\n public Honorifics: Honorific[] = [];\r\n public Genders: Gender[] = [];\r\n public DurationOptions: ExclusionDurationOption[] = [];\r\n public SubscriptionsOpened: number;\r\n public CompletedSubscriptions: number = 0;\r\n public DataLoaded: boolean = false;\r\n private siteNamePromises: SiteNamePromise[] = [];\r\n public HeaderTranslation = [{\r\n 'Recorded': 'Date of Challenge',\r\n 'detailsOfChallenge': 'Details of Challenge',\r\n 'IDWasShown': 'ID Shown',\r\n 'IDShown': 'ID Type',\r\n 'machinesPlayed': 'Did Customer Play Machines',\r\n 'SiteId': 'Site Name'\r\n }];\r\n\r\n constructor(\r\n public asrv: ActorService,\r\n public isrv: InteractionService,\r\n public ids: number[],\r\n private _api: ApiService,\r\n ) {\r\n this.ids.forEach(id => {\r\n this.AddRow(id);\r\n })\r\n\r\n this.DataLoaded = true;\r\n }\r\n\r\n public AddRow(id: number) {\r\n let idWasShown = 'No';\r\n let returnRow = {};\r\n returnRow['InteractionId'] = id;\r\n returnRow['Recorded'] = false;\r\n returnRow['detailsOfChallenge'] = false;\r\n returnRow['IDWasShown'] = false;\r\n returnRow['IDShown'] = false;\r\n returnRow['Action'] = false;\r\n returnRow['Start'] = false;\r\n returnRow['machinesPlayed'] = false;\r\n returnRow['ReviewDate'] = false;\r\n returnRow['SiteId'] = false;\r\n this._api.getAgeVerificationCompositeModel(id).subscribe(res => {\r\n res.InteractedActorCompositeModel = res.InteractedActorCompositeModelCollection[0];\r\n if (!(res.InteractedActorCompositeModel.BiologicalActorCompositeModel.Forename && res.InteractedActorCompositeModel.BiologicalActorCompositeModel.Surname)) {\r\n returnRow['Name'] = res.InteractedActorCompositeModel.BiologicalActorCompositeModel.Alias;\r\n } else {\r\n returnRow['Name'] = res.InteractedActorCompositeModel.BiologicalActorCompositeModel.Forename + ' ' + res.InteractedActorCompositeModel.BiologicalActorCompositeModel.Surname;\r\n }\r\n let machinesPlayed = 'No';\r\n let detailsOfChallenge: string = '';\r\n let idShown: string = '';\r\n res.TagIdCollection.forEach(tagId => {\r\n if (tagId >= 210 && tagId <= 212) {\r\n if (detailsOfChallenge.length > 1) {\r\n detailsOfChallenge = detailsOfChallenge + ' - ';\r\n }\r\n switch (tagId) {\r\n case 210:\r\n detailsOfChallenge = detailsOfChallenge + 'Challenged on Entry';\r\n break;\r\n case 211:\r\n detailsOfChallenge = detailsOfChallenge + 'Challenged whilst Browsing';\r\n break;\r\n case 212:\r\n detailsOfChallenge = detailsOfChallenge + 'Challenged whilst Playing';\r\n break;\r\n }\r\n }\r\n\r\n if (tagId >= 152 && tagId <= 159) {\r\n idWasShown = 'Yes';\r\n if (idWasShown === 'Yes') {\r\n idShown = '';\r\n }\r\n switch (tagId) {\r\n case 152:\r\n idShown = idShown + 'Driving Licence';\r\n break;\r\n case 153:\r\n idShown = idShown + 'Passport';\r\n break;\r\n case 156:\r\n idShown = idShown + 'Citizen Card';\r\n break;\r\n case 157:\r\n idShown = idShown + 'Military Id';\r\n break;\r\n case 158:\r\n idShown = idShown + 'National Id Card';\r\n break;\r\n case 159:\r\n idShown = idShown + 'Other';\r\n break;\r\n }\r\n } else if (tagId === 50 || tagId === 134 || tagId === 135) {\r\n idShown = '';\r\n let stakeReturned = false;\r\n let prizeReturned = false;\r\n switch (tagId) {\r\n case 50:\r\n machinesPlayed = 'Yes';\r\n break;\r\n case 134:\r\n machinesPlayed = machinesPlayed + ' - stake returned';\r\n stakeReturned = true;\r\n break;\r\n case 135:\r\n machinesPlayed = machinesPlayed + ' - prize returned';\r\n prizeReturned = true;\r\n break;\r\n }\r\n \r\n if (stakeReturned && prizeReturned) {\r\n machinesPlayed = 'Yes - stake and prize returned';\r\n }\r\n }\r\n\r\n\r\n })\r\n returnRow['Recorded'] = moment(res.Recorded, 'YYYY-MM-DDTHH:mm:ssZ').format('YYYY-MM-DD HH:mm');;\r\n returnRow['detailsOfChallenge'] = detailsOfChallenge;\r\n returnRow['IDWasShown'] = idWasShown;\r\n returnRow['IDShown'] = idShown;\r\n returnRow['machinesPlayed'] = machinesPlayed;\r\n returnRow['Start'] = this.DateMethods.FormatDateForReport(new Date(res.InteractionMonitoringPeriod.Start));\r\n returnRow['ReviewDate'] = this.DateMethods.FormatDateForReport(this.DateMethods.AddDays(res.InteractionMonitoringPeriod.Start, res.InteractionMonitoringPeriod.Duration));\r\n this.GetSiteName(res.SiteId).then(value => {\r\n returnRow['SiteId'] = value;\r\n })\r\n })\r\n\r\n this.Rows.push(returnRow);\r\n }\r\n\r\n GetSiteName(siteid): Promise {\r\n if (this.siteNamePromises.some(i => i.SiteId === siteid)) {\r\n return this.siteNamePromises.find(i => i.SiteId === siteid).Promise;\r\n } else {\r\n return new Promise(resolve => {\r\n this.asrv.GetSiteNameCollection([siteid]).then(value => {\r\n if (value) {\r\n resolve(value[0].Name);\r\n } else {\r\n resolve('');\r\n }\r\n })\r\n })\r\n }\r\n }\r\n}\r\n\r\nclass SiteNamePromise {\r\n SiteId: number;\r\n Promise: Promise;\r\n}\r\n","import { Honorific } from '../Honorific';\r\nimport { Gender } from '../Gender';\r\nimport { ExclusionDurationOption } from '../ExclusionDurationOption';\r\nimport { ExclusionReason } from '../ExclusionReason';\r\nimport { Site } from '../Site';\r\nimport { Organisation } from '../Organisation';\r\nimport { IdentificationDocument } from '../IdentificationDocumentKey';\r\nimport { SiteCollection } from '../SiteCollection';\r\nimport { ISDDateMethods } from '../ISDDateMethods';\r\nimport { ActorService } from 'src/app/services/actor.service';\r\nimport { Subscription } from 'rxjs';\r\nimport { BiologicalUserInfo } from '../actor/Name';\r\nimport { InteractionService } from 'src/app/services/interaction.service';\r\nimport { ExcluderService } from 'src/app/services/excluder.service';\r\nimport { ApiService } from 'src/app/services/api.service';\r\n\r\n// Class for creating tabular reports.\r\n// Every tabular class requires the following properties.\r\n// Rows: any[] = [] --Holds all the newRows pushed.\r\n// HeaderTransaltion = [{}] --This will print all the headers to the table.\r\n// newRow = [{}] --Make the values all blank but match the HeaderTranslationIds\r\n// public AddRow(rowObject) {} --Use this push rows, ensure all values are hardcoded for now.\r\n\r\nexport class BreachList {\r\n private DateMethods: ISDDateMethods = new ISDDateMethods();\r\n public Rows: any[] = []\r\n public SubscriptionsOpened: number;\r\n public CompletedSubscriptions: number = 0;\r\n private siteNamePromises: SiteNamePromise[] = [];\r\n public DataLoaded: boolean = false;\r\n public HeaderTranslation = [{\r\n 'HonorificId': 'Title',\r\n 'Forename': 'Forename',\r\n 'Surname': 'Surname',\r\n 'Breached': 'Breach Date',\r\n 'SiteId': 'Breach Site',\r\n 'hasParticipated': 'Played',\r\n 'Reference': 'Reference'\r\n }];\r\n\r\n public GetExclusionIsSubscribed: boolean;\r\n public ExclusionSubscription: Subscription;\r\n\r\n constructor(\r\n public asrv: ActorService,\r\n public esrv: ExcluderService,\r\n private breachids: number[],\r\n private _api: ApiService,\r\n ) {\r\n this.breachids.forEach(id => {\r\n this.AddRow(id);\r\n })\r\n\r\n this.DataLoaded = true;\r\n }\r\n\r\n public AddRow(id: number) {\r\n var returnRow = {};\r\n returnRow['ExclusionBreachId'] = id;\r\n returnRow['Reference'] = false;\r\n returnRow['ExclusionId'] = false;\r\n returnRow['Breached'] = false;\r\n returnRow['HonorificId'] = false;\r\n returnRow['Forename'] = false;\r\n returnRow['Surname'] = false;\r\n returnRow['SiteId'] = false;\r\n returnRow['hasParticipated'] = false;\r\n this.asrv.GetBreach(id).then(value => {\r\n returnRow['Reference'] = value.Reference;\r\n returnRow['ExclusionId'] = value.Exclusions_InteractionId;\r\n returnRow['Breached'] = this.DateMethods.FormatDateForReport(new Date(value.Breached));\r\n\r\n this._api.getViewExclusionCompositeModel(value.Exclusions_InteractionId).subscribe(res => {\r\n res.InteractedActorCompositeModel = res.InteractedActorCompositeModelCollection[0];\r\n returnRow['Forename'] = res.InteractedActorCompositeModel.BiologicalActorCompositeModel.Forename;\r\n returnRow['Surname'] = res.InteractedActorCompositeModel.BiologicalActorCompositeModel.Surname;\r\n this.asrv.GetHonorifics().then(value => {\r\n returnRow['HonorificId'] = value.find(i => i.HonorificId === res.InteractedActorCompositeModel.BiologicalActorCompositeModel.HonorificId).Name;\r\n });\r\n })\r\n\r\n this.GetSiteName(value.SiteId).then(value => {\r\n returnRow['SiteId'] = value;\r\n })\r\n\r\n returnRow['hasParticipated'] = value.hasParticipated ? 'Yes' : 'No';\r\n })\r\n this.Rows.push(returnRow);\r\n }\r\n\r\n GetSiteName(siteid): Promise {\r\n if (this.siteNamePromises.some(i => i.SiteId === siteid)) {\r\n return this.siteNamePromises.find(i => i.SiteId === siteid).Promise;\r\n } else {\r\n return new Promise(resolve => {\r\n this.asrv.GetSiteNameCollection([siteid]).then(value => {\r\n if (value) {\r\n resolve(value[0].Name);\r\n } else {\r\n resolve('');\r\n }\r\n })\r\n })\r\n }\r\n }\r\n}\r\n\r\nclass SiteNamePromise {\r\n SiteId: number;\r\n Promise: Promise;\r\n}\r\n","import { Honorific } from '../Honorific';\r\nimport { Gender } from '../Gender';\r\nimport { ExclusionDurationOption } from '../ExclusionDurationOption';\r\nimport { SiteCollection } from '../SiteCollection';\r\nimport { ISDDateMethods } from '../ISDDateMethods';\r\nimport { ActorService } from 'src/app/services/actor.service';\r\nimport { ExcluderService } from 'src/app/services/excluder.service';\r\nimport { InteractionService } from 'src/app/services/interaction.service';\r\nimport { ApiService } from 'src/app/services/api.service';\r\nimport * as moment from 'moment';\r\n\r\n// Class for creating tabular reports.\r\n// Every tabular class requires the following properties.\r\n// Rows: any[] = [] --Holds all the newRows pushed.\r\n// HeaderTransaltion = [{}] --This will print all the headers to the table.\r\n// newRow = [{}] --Make the values all blank but match the HeaderTranslationIds\r\n// public AddRow(rowObject) {} --Use this push rows, ensure all values are hardcoded for now.\r\n\r\nexport class CleaningCheckList {\r\n private DateMethods: ISDDateMethods = new ISDDateMethods();\r\n public Rows: any[] = [];\r\n public Honorifics: Honorific[] = [];\r\n public Genders: Gender[] = [];\r\n public DurationOptions: ExclusionDurationOption[] = [];\r\n public SubscriptionsOpened: number;\r\n public CompletedSubscriptions: number = 0;\r\n public DataLoaded: boolean = false;\r\n private siteNamePromises: SiteNamePromise[] = [];\r\n public HeaderTranslation = [{\r\n 'Recorded': 'Date of Check',\r\n 'name': 'Name',\r\n 'SiteId': 'Site Name',\r\n 'CheckOK': 'Check OK',\r\n 'Notes': 'Notes',\r\n }];\r\n public isLoading = true;\r\n\r\n constructor(\r\n public asrv: ActorService,\r\n public isrv: InteractionService,\r\n public ids: number[],\r\n private _api: ApiService,\r\n ) {\r\n this.ids.forEach(id => {\r\n this.AddRow(id);\r\n })\r\n\r\n this.DataLoaded = true;\r\n }\r\n\r\n public AddRow(id: number) {\r\n let idWasShown = 'No';\r\n let returnRow = {};\r\n returnRow['InteractionId'] = id;\r\n returnRow['Recorded'] = false;\r\n returnRow['name'] = false;\r\n returnRow['SiteId'] = false;\r\n returnRow['CheckOK'] = false;\r\n returnRow['Notes'] = false;\r\n this._api.getCleaningCheckCompositeModel(id).subscribe(res => {\r\n // res.InteractedActorCompositeModel = res.InteractedActorCompositeModelCollection[0];\r\n // if (!(res.InteractedActorCompositeModel.BiologicalActorCompositeModel.Forename && res.InteractedActorCompositeModel.BiologicalActorCompositeModel.Surname)) {\r\n // returnRow['Name'] = res.InteractedActorCompositeModel.BiologicalActorCompositeModel.Alias;\r\n // } else {\r\n // returnRow['Name'] = res.InteractedActorCompositeModel.BiologicalActorCompositeModel.Forename + ' ' + res.InteractedActorCompositeModel.BiologicalActorCompositeModel.Surname;\r\n // }\r\n let itemType: string = '';\r\n let checkOK: string = 'No';\r\n res.TagIdCollection.forEach(tagId => {\r\n // if (tagId >= 214 && tagId <= 224) {\r\n // switch (tagId) {\r\n // case 159:\r\n // itemType = 'Other';\r\n // break;\r\n // case 241:\r\n // itemType = 'Fire Alarm';\r\n // break;\r\n // case 242:\r\n // itemType = 'Fire Blanket';\r\n // break;\r\n // case 243:\r\n // itemType = 'Fire Door';\r\n // break;\r\n // case 244:\r\n // itemType = 'Fire Extinguisher';\r\n // break;\r\n // }\r\n // }\r\n\r\n if (tagId === 3) { checkOK = 'Yes' }\r\n\r\n\r\n })\r\n returnRow['Recorded'] = moment(res.Recorded, 'YYYY-MM-DDTHH:mm:ssZ').format('YYYY-MM-DD HH:mm');;\r\n \r\n returnRow['CheckOK'] = checkOK;\r\n returnRow['Notes'] = res.Notes;\r\n this.GetSiteName(res.SiteId).then(value => {\r\n returnRow['SiteId'] = value;\r\n })\r\n\r\n this.asrv.GetActorNames(res.AssociatedActorIdCollection).subscribe(res => {\r\n res.forEach(employee => {\r\n const _employee = [];\r\n _employee.push({\r\n ActorId: employee.ActorId,\r\n Forename: employee.NameCollection.find(i => i.NameClassKeyId === 1).Name,\r\n Surname: employee.NameCollection.find(i => i.NameClassKeyId === 2).Name,\r\n ActorRoleCollection: null,\r\n \r\n });\r\n returnRow['name'] = `${_employee[0].Forename} ${_employee[0].Surname}`;\r\n })\r\n });\r\n this.isLoading = false;\r\n })\r\n\r\n this.Rows.push(returnRow);\r\n }\r\n\r\n GetSiteName(siteid): Promise {\r\n if (this.siteNamePromises.some(i => i.SiteId === siteid)) {\r\n return this.siteNamePromises.find(i => i.SiteId === siteid).Promise;\r\n } else {\r\n return new Promise(resolve => {\r\n this.asrv.GetSiteNameCollection([siteid]).then(value => {\r\n if (value) {\r\n resolve(value[0].Name);\r\n } else {\r\n resolve('');\r\n }\r\n })\r\n })\r\n }\r\n }\r\n}\r\n\r\nclass SiteNamePromise {\r\n SiteId: number;\r\n Promise: Promise;\r\n}\r\n","import { Honorific } from '../Honorific';\r\nimport { Gender } from '../Gender';\r\nimport { ExclusionDurationOption } from '../ExclusionDurationOption';\r\nimport { SiteCollection } from '../SiteCollection';\r\nimport { ISDDateMethods } from '../ISDDateMethods';\r\nimport { ActorService } from 'src/app/services/actor.service';\r\nimport { ExcluderService } from 'src/app/services/excluder.service';\r\nimport { InteractionService } from 'src/app/services/interaction.service';\r\nimport { ApiService } from 'src/app/services/api.service';\r\nimport * as moment from 'moment';\r\n\r\n// Class for creating tabular reports.\r\n// Every tabular class requires the following properties.\r\n// Rows: any[] = [] --Holds all the newRows pushed.\r\n// HeaderTransaltion = [{}] --This will print all the headers to the table.\r\n// newRow = [{}] --Make the values all blank but match the HeaderTranslationIds\r\n// public AddRow(rowObject) {} --Use this push rows, ensure all values are hardcoded for now.\r\n\r\nexport class CrimeAlertList {\r\n private DateMethods: ISDDateMethods = new ISDDateMethods();\r\n public Rows: any[] = [];\r\n public Honorifics: Honorific[] = [];\r\n public Genders: Gender[] = [];\r\n public DurationOptions: ExclusionDurationOption[] = [];\r\n public SubscriptionsOpened: number;\r\n public CompletedSubscriptions: number = 0;\r\n public DataLoaded: boolean = false;\r\n private siteNamePromises: SiteNamePromise[] = [];\r\n public HeaderTranslation = [{\r\n 'Recorded': 'Date of Challenge',\r\n 'eventType': 'Event Type',\r\n 'policeCalled': 'Police Called',\r\n 'SiteId': 'Site Name'\r\n }];\r\n public isLoading = true;\r\n\r\n constructor(\r\n public asrv: ActorService,\r\n public isrv: InteractionService,\r\n public ids: number[],\r\n private _api: ApiService,\r\n ) {\r\n this.ids.forEach(id => {\r\n this.AddRow(id);\r\n })\r\n\r\n this.DataLoaded = true;\r\n }\r\n\r\n public AddRow(id: number) {\r\n let idWasShown = 'No';\r\n let returnRow = {};\r\n returnRow['InteractionId'] = id;\r\n returnRow['Recorded'] = false;\r\n returnRow['eventType'] = false;\r\n returnRow['policeCalled'] = false;\r\n returnRow['SiteId'] = false;\r\n this._api.getCrimeAlertCompositeModel(id).subscribe(res => {\r\n // res.InteractedActorCompositeModel = res.InteractedActorCompositeModelCollection[0];\r\n // if (!(res.InteractedActorCompositeModel.BiologicalActorCompositeModel.Forename && res.InteractedActorCompositeModel.BiologicalActorCompositeModel.Surname)) {\r\n // returnRow['Name'] = res.InteractedActorCompositeModel.BiologicalActorCompositeModel.Alias;\r\n // } else {\r\n // returnRow['Name'] = res.InteractedActorCompositeModel.BiologicalActorCompositeModel.Forename + ' ' + res.InteractedActorCompositeModel.BiologicalActorCompositeModel.Surname;\r\n // }\r\n let machinesPlayed = 'No';\r\n let eventType: string = '';\r\n let idShown: string = '—';\r\n let policeCalled = 'No';\r\n res.TagIdCollection.forEach(tagId => {\r\n if (tagId >= 214 && tagId <= 224) {\r\n if (eventType.length > 1) {\r\n eventType = eventType + ' - ';\r\n }\r\n switch (tagId) {\r\n case 214:\r\n eventType = eventType + 'Physical Abuse';\r\n break;\r\n case 215:\r\n eventType = eventType + 'Violence';\r\n break;\r\n case 218:\r\n eventType = eventType + 'Barred Customer';\r\n break;\r\n case 219:\r\n eventType = eventType + 'Machine Damage';\r\n break;\r\n case 220:\r\n eventType = eventType + 'Machine Fraud';\r\n break;\r\n case 221:\r\n eventType = eventType + 'Suspicious';\r\n break;\r\n case 222:\r\n eventType = eventType + 'Theft';\r\n break;\r\n case 223:\r\n eventType = eventType + 'Venue Damage';\r\n break;\r\n case 224:\r\n eventType = eventType + 'Verbal Abuse';\r\n break;\r\n }\r\n }\r\n\r\n if (tagId === 120) {\r\n policeCalled = 'Yes';\r\n }\r\n\r\n\r\n })\r\n returnRow['Recorded'] = moment(res.Recorded, 'YYYY-MM-DDTHH:mm:ssZ').format('YYYY-MM-DD HH:mm');;\r\n returnRow['eventType'] = eventType;\r\n returnRow['policeCalled'] = policeCalled;\r\n this.GetSiteName(res.SiteId).then(value => {\r\n returnRow['SiteId'] = value;\r\n })\r\n this.isLoading = false;\r\n })\r\n\r\n this.Rows.push(returnRow);\r\n }\r\n\r\n GetSiteName(siteid): Promise {\r\n if (this.siteNamePromises.some(i => i.SiteId === siteid)) {\r\n return this.siteNamePromises.find(i => i.SiteId === siteid).Promise;\r\n } else {\r\n return new Promise(resolve => {\r\n this.asrv.GetSiteNameCollection([siteid]).then(value => {\r\n if (value) {\r\n resolve(value[0].Name);\r\n } else {\r\n resolve('');\r\n }\r\n })\r\n })\r\n }\r\n }\r\n}\r\n\r\nclass SiteNamePromise {\r\n SiteId: number;\r\n Promise: Promise;\r\n}\r\n","import { Honorific } from '../Honorific';\r\nimport { Gender } from '../Gender';\r\nimport { ExclusionDurationOption } from '../ExclusionDurationOption';\r\nimport { SiteCollection } from '../SiteCollection';\r\nimport { ISDDateMethods } from '../ISDDateMethods';\r\nimport { ActorService } from 'src/app/services/actor.service';\r\nimport { ExcluderService } from 'src/app/services/excluder.service';\r\nimport { ApiService } from 'src/app/services/api.service';\r\n\r\n// Class for creating tabular reports.\r\n// Every tabular class requires the following properties.\r\n// Rows: any[] = [] --Holds all the newRows pushed.\r\n// HeaderTransaltion = [{}] --This will print all the headers to the table.\r\n// newRow = [{}] --Make the values all blank but match the HeaderTranslationIds\r\n// public AddRow(rowObject) {} --Use this push rows, ensure all values are hardcoded for now.\r\n\r\nexport class CustomerList {\r\n private DateMethods: ISDDateMethods = new ISDDateMethods();\r\n public Rows: any[] = [];\r\n public Honorifics: Honorific[] = [];\r\n public Genders: Gender[] = [];\r\n public DurationOptions: ExclusionDurationOption[] = []; \r\n public SubscriptionsOpened: number;\r\n public CompletedSubscriptions: number = 0;\r\n public DataLoaded:boolean = false;\r\n private siteNamePromises: SiteNamePromise[] = [];\r\n public HeaderTranslation = [{\r\n 'HonorificId': 'Title', \r\n 'Forename': 'Forename', \r\n 'Surname': 'Surname', \r\n 'Start': 'Start',\r\n 'End': 'End',\r\n 'BirthDate': 'Birth Date', \r\n 'Mobile': 'Mobile', \r\n 'Radius': 'Radius (KM)', \r\n 'SiteId': 'Site',\r\n 'Reference': 'Reference'\r\n }];\r\n\r\n constructor(\r\n public asrv: ActorService,\r\n public esrv: ExcluderService,\r\n public ids: number[],\r\n private _api: ApiService\r\n ) {\r\n this.asrv.GetHonorifics().then(value => {\r\n this.Honorifics = value;\r\n });\r\n this.asrv.GetGenders().then(value => {\r\n this.Genders = value;\r\n });\r\n\r\n this.ids.forEach(id => {\r\n this.AddRow(id);\r\n })\r\n\r\n this.DataLoaded = true;\r\n }\r\n\r\n public AddRow(id: number) {\r\n let returnRow = {};\r\n returnRow['InteractionId'] = id;\r\n returnRow['Reference'] = false;\r\n returnRow['BirthDate'] = false;\r\n returnRow['Forename'] = false;\r\n returnRow['Surname'] = false;\r\n returnRow['Mobile'] = false;\r\n returnRow['Email'] = false;\r\n returnRow['Radius'] = false;\r\n returnRow['Start'] = false;\r\n returnRow['End'] = false;\r\n returnRow['GenderId'] = false;\r\n returnRow['HonorificId'] = false;\r\n returnRow['SiteId'] = false;\r\n this._api.getViewExclusionCompositeModel(id).subscribe(res => {\r\n res.InteractedActorCompositeModel = res.InteractedActorCompositeModelCollection[0];\r\n returnRow['Reference'] = res.Reference;\r\n returnRow['BirthDate'] = this.DateMethods.FormatDateForReport(new Date(res.InteractedActorCompositeModel.BiologicalActorCompositeModel.BirthDate));\r\n returnRow['Forename'] = res.InteractedActorCompositeModel.BiologicalActorCompositeModel.Forename;\r\n returnRow['Surname'] = res.InteractedActorCompositeModel.BiologicalActorCompositeModel.Surname;\r\n returnRow['Mobile'] = res.InteractedActorCompositeModel.BiologicalActorCompositeModel.Mobile;\r\n returnRow['Email'] = res.InteractedActorCompositeModel.BiologicalActorCompositeModel.Email;\r\n returnRow['Radius'] = 1;\r\n returnRow['Start'] = this.DateMethods.FormatDateForReport(new Date(res.InteractionMonitoringPeriod.Start));\r\n returnRow['End'] = this.DateMethods.FormatDateForReport(this.DateMethods.AddDays(res.InteractionMonitoringPeriod.Start, res.InteractionMonitoringPeriod.Duration));\r\n returnRow['GenderId'] = this.Genders.find(x => x.GenderId === res.InteractedActorCompositeModel.BiologicalActorCompositeModel.GenderId).Name;\r\n returnRow['HonorificId'] = this.Honorifics.find(x => x.HonorificId === res.InteractedActorCompositeModel.BiologicalActorCompositeModel.HonorificId).Name;\r\n this.GetSiteName(res.SiteId).then(value => {\r\n returnRow['SiteId'] = value;\r\n })\r\n })\r\n this.Rows.push(returnRow);\r\n }\r\n\r\n GetSiteName(siteid): Promise {\r\n if (this.siteNamePromises.some(i => i.SiteId === siteid)) {\r\n return this.siteNamePromises.find(i => i.SiteId === siteid).Promise;\r\n } else {\r\n return new Promise(resolve => {\r\n this.asrv.GetSiteNameCollection([siteid]).then(value => {\r\n if (value) {\r\n resolve(value[0].Name);\r\n } else {\r\n resolve('');\r\n }\r\n })\r\n })\r\n }\r\n }\r\n}\r\n\r\nclass SiteNamePromise {\r\n SiteId: number;\r\n Promise: Promise;\r\n}\r\n","import { Honorific } from '../Honorific';\r\nimport { Gender } from '../Gender';\r\nimport { ExclusionDurationOption } from '../ExclusionDurationOption';\r\nimport { SiteCollection } from '../SiteCollection';\r\nimport { ISDDateMethods } from '../ISDDateMethods';\r\nimport { ActorService } from 'src/app/services/actor.service';\r\nimport { ExcluderService } from 'src/app/services/excluder.service';\r\nimport { InteractionService } from 'src/app/services/interaction.service';\r\nimport { ApiService } from 'src/app/services/api.service';\r\nimport * as moment from 'moment';\r\n\r\n// Class for creating tabular reports.\r\n// Every tabular class requires the following properties.\r\n// Rows: any[] = [] --Holds all the newRows pushed.\r\n// HeaderTransaltion = [{}] --This will print all the headers to the table.\r\n// newRow = [{}] --Make the values all blank but match the HeaderTranslationIds\r\n// public AddRow(rowObject) {} --Use this push rows, ensure all values are hardcoded for now.\r\n\r\nexport class FireCheckList {\r\n private DateMethods: ISDDateMethods = new ISDDateMethods();\r\n public Rows: any[] = [];\r\n public Honorifics: Honorific[] = [];\r\n public Genders: Gender[] = [];\r\n public DurationOptions: ExclusionDurationOption[] = [];\r\n public SubscriptionsOpened: number;\r\n public CompletedSubscriptions: number = 0;\r\n public DataLoaded: boolean = false;\r\n private siteNamePromises: SiteNamePromise[] = [];\r\n public HeaderTranslation = [{\r\n 'Recorded': 'Date of Check',\r\n 'itemType': 'Item',\r\n 'name': 'Name',\r\n 'SiteId': 'Site Name',\r\n 'CheckOK': 'Check OK',\r\n 'Notes': 'Notes',\r\n }];\r\n public isLoading = true;\r\n\r\n constructor(\r\n public asrv: ActorService,\r\n public isrv: InteractionService,\r\n public ids: number[],\r\n private _api: ApiService,\r\n ) {\r\n this.ids.forEach(id => {\r\n this.AddRow(id);\r\n })\r\n\r\n this.DataLoaded = true;\r\n }\r\n\r\n public AddRow(id: number) {\r\n let idWasShown = 'No';\r\n let returnRow = {};\r\n returnRow['InteractionId'] = id;\r\n returnRow['Recorded'] = false;\r\n returnRow['itemType'] = false;\r\n returnRow['name'] = false;\r\n returnRow['SiteId'] = false;\r\n returnRow['CheckOK'] = false;\r\n returnRow['Notes'] = false;\r\n this._api.getFireCheckCompositeModel(id).subscribe(res => {\r\n // res.InteractedActorCompositeModel = res.InteractedActorCompositeModelCollection[0];\r\n // if (!(res.InteractedActorCompositeModel.BiologicalActorCompositeModel.Forename && res.InteractedActorCompositeModel.BiologicalActorCompositeModel.Surname)) {\r\n // returnRow['Name'] = res.InteractedActorCompositeModel.BiologicalActorCompositeModel.Alias;\r\n // } else {\r\n // returnRow['Name'] = res.InteractedActorCompositeModel.BiologicalActorCompositeModel.Forename + ' ' + res.InteractedActorCompositeModel.BiologicalActorCompositeModel.Surname;\r\n // }\r\n let itemType: string = '';\r\n let checkOK: string = 'No';\r\n res.TagIdCollection.forEach(tagId => {\r\n if (tagId >= 159 && tagId <= 244) {\r\n switch (tagId) {\r\n case 159:\r\n itemType = 'Other';\r\n break;\r\n case 241:\r\n itemType = 'Fire Alarm';\r\n break;\r\n case 242:\r\n itemType = 'Fire Blanket';\r\n break;\r\n case 243:\r\n itemType = 'Fire Door';\r\n break;\r\n case 244:\r\n itemType = 'Fire Extinguisher';\r\n break;\r\n }\r\n }\r\n\r\n if (tagId === 3) { checkOK = 'Yes' }\r\n\r\n\r\n })\r\n returnRow['Recorded'] = moment(res.Recorded, 'YYYY-MM-DDTHH:mm:ssZ').format('YYYY-MM-DD HH:mm');;\r\n returnRow['itemType'] = itemType;\r\n returnRow['CheckOK'] = checkOK;\r\n returnRow['Notes'] = res.Notes;\r\n this.GetSiteName(res.SiteId).then(value => {\r\n returnRow['SiteId'] = value;\r\n });\r\n\r\n this.asrv.GetActorNames(res.AssociatedActorIdCollection).subscribe(res => {\r\n res.forEach(employee => {\r\n const _employee = [];\r\n _employee.push({\r\n ActorId: employee.ActorId,\r\n Forename: employee.NameCollection.find(i => i.NameClassKeyId === 1).Name,\r\n Surname: employee.NameCollection.find(i => i.NameClassKeyId === 2).Name,\r\n ActorRoleCollection: null,\r\n \r\n });\r\n returnRow['name'] = `${_employee[0].Forename} ${_employee[0].Surname}`;\r\n })\r\n });\r\n this.isLoading = false;\r\n })\r\n\r\n this.Rows.push(returnRow);\r\n }\r\n\r\n GetSiteName(siteid): Promise {\r\n if (this.siteNamePromises.some(i => i.SiteId === siteid)) {\r\n return this.siteNamePromises.find(i => i.SiteId === siteid).Promise;\r\n } else {\r\n return new Promise(resolve => {\r\n this.asrv.GetSiteNameCollection([siteid]).then(value => {\r\n if (value) {\r\n resolve(value[0].Name);\r\n } else {\r\n resolve('');\r\n }\r\n })\r\n })\r\n }\r\n }\r\n}\r\n\r\nclass SiteNamePromise {\r\n SiteId: number;\r\n Promise: Promise;\r\n}\r\n","import { Honorific } from '../Honorific';\r\nimport { Gender } from '../Gender';\r\nimport { ExclusionDurationOption } from '../ExclusionDurationOption';\r\nimport { SiteCollection } from '../SiteCollection';\r\nimport { ISDDateMethods } from '../ISDDateMethods';\r\nimport { ActorService } from 'src/app/services/actor.service';\r\nimport { ExcluderService } from 'src/app/services/excluder.service';\r\nimport { InteractionService } from 'src/app/services/interaction.service';\r\nimport { ApiService } from 'src/app/services/api.service';\r\n\r\n// Class for creating tabular reports.\r\n// Every tabular class requires the following properties.\r\n// Rows: any[] = [] --Holds all the newRows pushed.\r\n// HeaderTransaltion = [{}] --This will print all the headers to the table.\r\n// newRow = [{}] --Make the values all blank but match the HeaderTranslationIds\r\n// public AddRow(rowObject) {} --Use this push rows, ensure all values are hardcoded for now.\r\n\r\nexport class InteractionList {\r\n private DateMethods: ISDDateMethods = new ISDDateMethods();\r\n public Rows: any[] = [];\r\n public Honorifics: Honorific[] = [];\r\n public Genders: Gender[] = [];\r\n public DurationOptions: ExclusionDurationOption[] = []; \r\n public SubscriptionsOpened: number;\r\n public CompletedSubscriptions: number = 0;\r\n public DataLoaded:boolean = false;\r\n private siteNamePromises: SiteNamePromise[] = [];\r\n public HeaderTranslation = [{\r\n 'Name': 'Name/Nickname', \r\n 'Reason': 'Reason(s)',\r\n 'Action': 'Action(s)',\r\n 'Start': 'Start',\r\n 'ReviewDate': 'Review Date',\r\n 'SiteId': 'Site Name'\r\n }];\r\n\r\n constructor(\r\n public asrv: ActorService,\r\n public isrv: InteractionService,\r\n public ids: number[],\r\n private _api: ApiService,\r\n ) {\r\n this.ids.forEach(id => {\r\n this.AddRow(id);\r\n })\r\n\r\n this.DataLoaded = true;\r\n }\r\n\r\n public AddRow(id: number) {\r\n let returnRow = {};\r\n returnRow['InteractionId'] = id;\r\n returnRow['Name'] = false;\r\n returnRow['Reason'] = false;\r\n returnRow['Action'] = false;\r\n returnRow['Start'] = false;\r\n returnRow['ReviewDate'] = false;\r\n returnRow['SiteId'] = false;\r\n this._api.getInteractionCompositeModel(id).subscribe(res => {\r\n res.InteractedActorCompositeModel = res.InteractedActorCompositeModelCollection[0];\r\n if (!(res.InteractedActorCompositeModel.BiologicalActorCompositeModel.Forename && res.InteractedActorCompositeModel.BiologicalActorCompositeModel.Surname)) {\r\n returnRow['Name'] = res.InteractedActorCompositeModel.BiologicalActorCompositeModel.Alias;\r\n } else {\r\n returnRow['Name'] = res.InteractedActorCompositeModel.BiologicalActorCompositeModel.Forename + ' ' + res.InteractedActorCompositeModel.BiologicalActorCompositeModel.Surname;\r\n }\r\n\r\n let reasons: string = '';\r\n let actions: string = '';\r\n res.TagIdCollection.forEach(tagId => {\r\n if (tagId > 90 && tagId <= 96) {\r\n if (reasons.length > 1) {\r\n reasons = reasons + ' - ';\r\n }\r\n switch(tagId) {\r\n case 91:\r\n reasons = reasons + 'Time'; \r\n break;\r\n case 92:\r\n reasons = reasons + 'Spend';\r\n break;\r\n case 93:\r\n reasons = reasons + 'Behaviour';\r\n break;\r\n case 94:\r\n reasons = reasons + 'Machine Alert';\r\n break;\r\n case 95:\r\n reasons = reasons + 'Vulnerability';\r\n break;\r\n case 96:\r\n reasons = reasons + 'Wish to Self-Exclude';\r\n }\r\n }\r\n \r\n if (tagId >= 110 && tagId <= 119) {\r\n if (actions.length > 1) {\r\n actions = actions + ' - ';\r\n }\r\n switch(tagId) {\r\n case 110:\r\n actions = actions + 'Banned'; \r\n break;\r\n case 111:\r\n actions = actions + 'Take a Break';\r\n break;\r\n case 112:\r\n actions = actions + 'Impose Time Limits';\r\n break;\r\n case 113:\r\n actions = actions + 'Impose Spend Limits';\r\n break;\r\n case 114:\r\n actions = actions + 'Change Category';\r\n break;\r\n case 115:\r\n actions = actions + 'Monitor Behaviour';\r\n break;\r\n case 116:\r\n actions = actions + 'Signpost to Gamcare';\r\n break;\r\n case 117:\r\n actions = actions + 'Stay in Control Leaflet';\r\n break;\r\n case 118:\r\n actions = actions + 'Gamble Management App';\r\n break;\r\n case 119:\r\n actions = actions + 'Issued Play Diary';\r\n }\r\n }\r\n })\r\n returnRow['Reason'] = reasons;\r\n returnRow['Action'] = actions;\r\n returnRow['Start'] = this.DateMethods.FormatDateForReport(new Date(res.InteractionMonitoringPeriod.Start));\r\n returnRow['ReviewDate'] = this.DateMethods.FormatDateForReport(this.DateMethods.AddDays(res.InteractionMonitoringPeriod.Start, res.InteractionMonitoringPeriod.Duration));\r\n this.GetSiteName(res.SiteId).then(value => {\r\n returnRow['SiteId'] = value;\r\n })\r\n })\r\n\r\n this.Rows.push(returnRow);\r\n }\r\n\r\n GetSiteName(siteid): Promise {\r\n if (this.siteNamePromises.some(i => i.SiteId === siteid)) {\r\n return this.siteNamePromises.find(i => i.SiteId === siteid).Promise;\r\n } else {\r\n return new Promise(resolve => {\r\n this.asrv.GetSiteNameCollection([siteid]).then(value => {\r\n if (value) {\r\n resolve(value[0].Name);\r\n } else {\r\n resolve('');\r\n }\r\n })\r\n })\r\n }\r\n }\r\n}\r\n\r\nclass SiteNamePromise {\r\n SiteId: number;\r\n Promise: Promise;\r\n}\r\n","import { Honorific } from '../Honorific';\r\nimport { Gender } from '../Gender';\r\nimport { ExclusionDurationOption } from '../ExclusionDurationOption';\r\nimport { SiteCollection } from '../SiteCollection';\r\nimport { ISDDateMethods } from '../ISDDateMethods';\r\nimport { ActorService } from 'src/app/services/actor.service';\r\nimport { ExcluderService } from 'src/app/services/excluder.service';\r\nimport { InteractionService } from 'src/app/services/interaction.service';\r\nimport { ApiService } from 'src/app/services/api.service';\r\nimport { forkJoin } from 'rxjs';\r\nimport * as moment from 'moment';\r\n\r\n// Class for creating tabular reports.\r\n// Every tabular class requires the following properties.\r\n// Rows: any[] = [] --Holds all the newRows pushed.\r\n// HeaderTransaltion = [{}] --This will print all the headers to the table.\r\n// newRow = [{}] --Make the values all blank but match the HeaderTranslationIds\r\n// public AddRow(rowObject) {} --Use this push rows, ensure all values are hardcoded for now.\r\n\r\nexport class MachinePayoutList {\r\n private DateMethods: ISDDateMethods = new ISDDateMethods();\r\n public Rows: any[] = [];\r\n public Honorifics: Honorific[] = [];\r\n public Genders: Gender[] = [];\r\n public DurationOptions: ExclusionDurationOption[] = [];\r\n public SubscriptionsOpened: number;\r\n public CompletedSubscriptions: number = 0;\r\n public DataLoaded: boolean = false;\r\n private siteNamePromises: SiteNamePromise[] = [];\r\n public HeaderTranslation = [{\r\n 'Recorded': 'Date of Payout',\r\n 'itemIssue': 'Item',\r\n 'SiteId': 'Site Name',\r\n 'Amount': 'Amount',\r\n 'AssetReference': 'Machine No.',\r\n 'Notes': 'Notes',\r\n }];\r\n public isLoading = true;\r\n machineIssueList;\r\n machineIssueResolutionList;\r\n\r\n constructor(\r\n public asrv: ActorService,\r\n public isrv: InteractionService,\r\n public ids: number[],\r\n private _api: ApiService,\r\n ) {\r\n this.ids.forEach(id => {\r\n this.AddRow(id);\r\n })\r\n\r\n this.DataLoaded = true;\r\n }\r\n\r\n public AddRow(id: number) {\r\n let idWasShown = 'No';\r\n let returnRow = {};\r\n returnRow['InteractionId'] = id;\r\n returnRow['Recorded'] = false;\r\n returnRow['itemIssue'] = false;\r\n returnRow['SiteId'] = false;\r\n returnRow['Amount'] = false;\r\n returnRow['AssetReference'] = false;\r\n returnRow['Notes'] = false;\r\n const _miAPI = this._api.getTagCollectionCompositeModel(22);\r\n const _res = this._api.getMachinePayoutCompositeModel(id);\r\n\r\n forkJoin(_miAPI, _res).subscribe(([miResults, res]) => {\r\n this.machineIssueList = miResults.Tags;\r\n let itemIssue: string = '';\r\n res.TagIdCollection.forEach(tagId => {\r\n const _foundMI = this.machineIssueList.find(x => x.TagId === tagId);\r\n if (_foundMI) {\r\n itemIssue = _foundMI.Name;\r\n }\r\n });\r\n returnRow['Recorded'] = moment(res.Recorded, 'YYYY-MM-DDTHH:mm:ssZ').format('YYYY-MM-DD HH:mm');;\r\n returnRow['itemIssue'] = itemIssue;\r\n returnRow['Amount'] = res.Amount;\r\n returnRow['AssetReference'] = res.AssetReference;\r\n this.GetSiteName(res.SiteId).then(value => {\r\n returnRow['SiteId'] = value;\r\n })\r\n returnRow['Notes'] = res.Notes;\r\n this.isLoading = false;\r\n });\r\n\r\n this.Rows.push(returnRow);\r\n }\r\n\r\n GetSiteName(siteid): Promise {\r\n if (this.siteNamePromises.some(i => i.SiteId === siteid)) {\r\n return this.siteNamePromises.find(i => i.SiteId === siteid).Promise;\r\n } else {\r\n return new Promise(resolve => {\r\n this.asrv.GetSiteNameCollection([siteid]).then(value => {\r\n if (value) {\r\n resolve(value[0].Name);\r\n } else {\r\n resolve('');\r\n }\r\n })\r\n })\r\n }\r\n }\r\n}\r\n\r\nclass SiteNamePromise {\r\n SiteId: number;\r\n Promise: Promise;\r\n}\r\n","import { Honorific } from '../Honorific';\r\nimport { Gender } from '../Gender';\r\nimport { ExclusionDurationOption } from '../ExclusionDurationOption';\r\nimport { SiteCollection } from '../SiteCollection';\r\nimport { ISDDateMethods } from '../ISDDateMethods';\r\nimport { ActorService } from 'src/app/services/actor.service';\r\nimport { ExcluderService } from 'src/app/services/excluder.service';\r\nimport { InteractionService } from 'src/app/services/interaction.service';\r\nimport { ApiService } from 'src/app/services/api.service';\r\nimport { forkJoin } from 'rxjs';\r\nimport * as moment from 'moment';\r\n\r\n// Class for creating tabular reports.\r\n// Every tabular class requires the following properties.\r\n// Rows: any[] = [] --Holds all the newRows pushed.\r\n// HeaderTransaltion = [{}] --This will print all the headers to the table.\r\n// newRow = [{}] --Make the values all blank but match the HeaderTranslationIds\r\n// public AddRow(rowObject) {} --Use this push rows, ensure all values are hardcoded for now.\r\n\r\nexport class MachineServiceVisitList {\r\n private DateMethods: ISDDateMethods = new ISDDateMethods();\r\n public Rows: any[] = [];\r\n public Honorifics: Honorific[] = [];\r\n public Genders: Gender[] = [];\r\n public DurationOptions: ExclusionDurationOption[] = [];\r\n public SubscriptionsOpened: number;\r\n public CompletedSubscriptions: number = 0;\r\n public DataLoaded: boolean = false;\r\n private siteNamePromises: SiteNamePromise[] = [];\r\n public HeaderTranslation = [{\r\n 'Recorded': 'Date of Visit',\r\n 'itemIssue': 'Issue',\r\n 'itemResolution': 'Resolution',\r\n 'SiteId': 'Site Name',\r\n 'AssetReference': 'Machine No.',\r\n 'Notes': 'Notes',\r\n }];\r\n public isLoading = true;\r\n machineIssueList;\r\n machineIssueResolutionList;\r\n\r\n constructor(\r\n public asrv: ActorService,\r\n public isrv: InteractionService,\r\n public ids: number[],\r\n private _api: ApiService,\r\n ) {\r\n this.ids.forEach(id => {\r\n this.AddRow(id);\r\n });\r\n this.DataLoaded = true;\r\n }\r\n\r\n public AddRow(id: number) {\r\n let returnRow = {};\r\n returnRow['InteractionId'] = id;\r\n returnRow['Recorded'] = false;\r\n returnRow['itemIssue'] = false;\r\n returnRow['itemResolution'] = false;\r\n returnRow['SiteId'] = false;\r\n returnRow['AssetReference'] = false;\r\n returnRow['Notes'] = false;\r\n const _miAPI = this._api.getTagCollectionCompositeModel(22);\r\n const _mrAPI = this._api.getTagCollectionCompositeModel(23);\r\n const _res = this._api.getMachineServiceVisitCompositeModel(id);\r\n\r\n forkJoin(_miAPI, _mrAPI, _res).subscribe(([miResults, mrResults, res]) => {\r\n this.machineIssueList = miResults.Tags;\r\n this.machineIssueResolutionList = mrResults.Tags;\r\n\r\n let itemIssue: string = '';\r\n let itemResolution: string = '';\r\n res.TagIdCollection.forEach(tagId => {\r\n const _foundMI = this.machineIssueList.find(x => x.TagId === tagId);\r\n const _foundMR = this.machineIssueResolutionList.find(x => x.TagId === tagId);\r\n if (_foundMI) {\r\n itemIssue = _foundMI.Name;\r\n }\r\n if (_foundMR) {\r\n itemResolution = _foundMR.Name;\r\n }\r\n });\r\n returnRow['Recorded'] = moment(res.Recorded, 'YYYY-MM-DDTHH:mm:ssZ').format('YYYY-MM-DD HH:mm');;\r\n returnRow['itemIssue'] = itemIssue;\r\n returnRow['itemResolution'] = itemResolution;\r\n returnRow['AssetReference'] = res.AssetReference;\r\n this.GetSiteName(res.SiteId).then(value => {\r\n returnRow['SiteId'] = value;\r\n })\r\n returnRow['Notes'] = res.Notes;\r\n this.isLoading = false;\r\n });\r\n\r\n this.Rows.push(returnRow);\r\n }\r\n\r\n GetSiteName(siteid): Promise {\r\n if (this.siteNamePromises.some(i => i.SiteId === siteid)) {\r\n return this.siteNamePromises.find(i => i.SiteId === siteid).Promise;\r\n } else {\r\n return new Promise(resolve => {\r\n this.asrv.GetSiteNameCollection([siteid]).then(value => {\r\n if (value) {\r\n resolve(value[0].Name);\r\n } else {\r\n resolve('');\r\n }\r\n })\r\n })\r\n }\r\n }\r\n}\r\n\r\nclass SiteNamePromise {\r\n SiteId: number;\r\n Promise: Promise;\r\n}\r\n","import { Honorific } from '../Honorific';\r\nimport { Gender } from '../Gender';\r\nimport { ExclusionDurationOption } from '../ExclusionDurationOption';\r\nimport { ExclusionReason } from '../ExclusionReason';\r\nimport { Site } from '../Site';\r\nimport { Organisation } from '../Organisation';\r\nimport { IdentificationDocument } from '../IdentificationDocumentKey';\r\nimport { SiteCollection } from '../SiteCollection';\r\nimport { ISDDateMethods } from '../ISDDateMethods';\r\nimport { ActorService } from 'src/app/services/actor.service';\r\nimport { Subscription } from 'rxjs';\r\nimport { UserSites } from '../UserSites';\r\nimport { DataService } from 'src/app/services/data.service';\r\nimport { NonBiologicalName } from '../actor/Name';\r\n\r\n// Class for creating tabular reports.\r\n// Every tabular class requires the following properties.\r\n// Rows: any[] = [] --Holds all the newRows pushed.\r\n// HeaderTransaltion = [{}] --This will print all the headers to the table.\r\n// newRow = [{}] --Make the values all blank but match the HeaderTranslationIds\r\n// public AddRow(rowObject) {} --Use this push rows, ensure all values are hardcoded for now.\r\n\r\nexport class OrganisationSitesList {\r\n private DateMethods: ISDDateMethods = new ISDDateMethods();\r\n public Rows: any[] = [];\r\n public SubscriptionsOpened: number;\r\n public CompletedSubscriptions: number = 0;\r\n public DataLoaded:boolean = true;\r\n public HeaderTranslation = [{\r\n 'Name': 'Site Name', \r\n }];\r\n\r\n public GetExclusionIsSubscribed: boolean;\r\n public ExclusionSubscription: Subscription;\r\n\r\n constructor(public asrv: ActorService, private siteids: number[]) {\r\n this.siteids.forEach(id => {\r\n this.AddRow(id);\r\n })\r\n this.asrv.GetSiteNameCollection(this.siteids).then(value => {\r\n value.forEach(sitedetails => {\r\n this.Rows.find(i => i['SiteId'] === sitedetails.ActorId)['Name'] = sitedetails.Name;\r\n })\r\n this.DataLoaded = true;\r\n })\r\n }\r\n\r\n public AddRow(id: number) {\r\n var returnRow = {};\r\n returnRow['SiteId'] = id;\r\n returnRow['Name'] = false;\r\n this.Rows.push(returnRow);\r\n }\r\n\r\n\r\n}\r\n","import { Honorific } from '../Honorific';\r\nimport { Gender } from '../Gender';\r\nimport { ExclusionDurationOption } from '../ExclusionDurationOption';\r\nimport { ExclusionReason } from '../ExclusionReason';\r\nimport { Site } from '../Site';\r\nimport { Organisation } from '../Organisation';\r\nimport { IdentificationDocument } from '../IdentificationDocumentKey';\r\nimport { SiteCollection } from '../SiteCollection';\r\nimport { ISDDateMethods } from '../ISDDateMethods';\r\nimport { ActorService } from 'src/app/services/actor.service';\r\nimport { Subscription } from 'rxjs';\r\nimport { ExcluderService } from 'src/app/services/excluder.service';\r\nimport { ApiService } from 'src/app/services/api.service';\r\n\r\n// Class for creating tabular reports.\r\n// Every tabular class requires the following properties.\r\n// Rows: any[] = [] --Holds all the newRows pushed.\r\n// HeaderTransaltion = [{}] --This will print all the headers to the table.\r\n// newRow = [{}] --Make the values all blank but match the HeaderTranslationIds\r\n// public AddRow(rowObject) {} --Use this push rows, ensure all values are hardcoded for now.\r\n\r\nexport class ReinstatementList {\r\n private DateMethods: ISDDateMethods = new ISDDateMethods();\r\n public Rows: any[] = [];\r\n public AllRows: any[] = [];\r\n public SubscriptionsOpened: number;\r\n public CompletedSubscriptions: number = 0;\r\n private siteNamePromises: SiteNamePromise[] = [];\r\n public DataLoaded: boolean = false;\r\n public HeaderTranslation = [{\r\n 'HonorificId': 'Title',\r\n 'Forename': 'Forename',\r\n 'Surname': 'Surname',\r\n 'Accepted': 'Reinstated Date',\r\n 'AcceptedBy': 'Reinstated By',\r\n 'Reference': 'Reference',\r\n 'SiteId': 'Site',\r\n }];\r\n\r\n public GetExclusionIsSubscribed: boolean;\r\n public ExclusionSubscription: Subscription;\r\n\r\n constructor(private asrv: ActorService, private esrv: ExcluderService, private interactionids: number[], private _api: ApiService) {\r\n this.interactionids.forEach(id => {\r\n this.AddRow(id);\r\n });\r\n this.DataLoaded = true;\r\n }\r\n\r\n public ShowAll() {\r\n this.Rows = this.AllRows;\r\n }\r\n\r\n public ShowUserAccepted() {\r\n this.Rows = [];\r\n this.AllRows.forEach(row => {\r\n if (!row['AutoAccepted']) {\r\n this.Rows.push(row);\r\n }\r\n })\r\n }\r\n\r\n public ShowAutoAccepted() {\r\n this.Rows = [];\r\n this.AllRows.forEach(row => {\r\n if (row['AutoAccepted']) {\r\n this.Rows.push(row);\r\n }\r\n })\r\n }\r\n\r\n public AddRow(id: number) {\r\n var returnRow = {};\r\n returnRow['ExclusionId'] = id;\r\n returnRow['Reference'] = false;\r\n returnRow['HonorificId'] = false;\r\n returnRow['Forename'] = false;\r\n returnRow['Surname'] = false;\r\n returnRow['Accepted'] = false;\r\n returnRow['AcceptedBy'] = false;\r\n returnRow['SiteId'] = false;\r\n // returnRow['AcceptedBy'] = false;\r\n\r\n this._api.getReinstatementsForReports(id).subscribe(reinstatement => {\r\n returnRow['Accepted'] = this.DateMethods.FormatDateForReport(new Date(reinstatement.Accepted));\r\n this.ExclusionSubscription = this._api.getViewExclusionCompositeModel(reinstatement.Exclusions_InteractionId).subscribe(res => {\r\n this.GetExclusionIsSubscribed = true;\r\n res.InteractedActorCompositeModel = res.InteractedActorCompositeModelCollection[0];\r\n returnRow['Reference'] = res.Reference;\r\n returnRow['Forename'] = res.InteractedActorCompositeModel.BiologicalActorCompositeModel.Forename;\r\n returnRow['Surname'] = res.InteractedActorCompositeModel.BiologicalActorCompositeModel.Surname;\r\n this.asrv.GetHonorifics().then(value => {\r\n returnRow['HonorificId'] = value.find(x => x.HonorificId === res.InteractedActorCompositeModel.BiologicalActorCompositeModel.HonorificId).Name\r\n });\r\n this.GetSiteName(res.SiteId).then(value => {\r\n returnRow['SiteId'] = value;\r\n });\r\n this.asrv.GetActorNames(res.AssociatedActorIdCollection).subscribe(res => {\r\n res.forEach(employee => {\r\n const _employee = [];\r\n _employee.push({\r\n ActorId: employee.ActorId,\r\n Forename: employee.NameCollection.find(i => i.NameClassKeyId === 1).Name,\r\n Surname: employee.NameCollection.find(i => i.NameClassKeyId === 2).Name,\r\n ActorRoleCollection: null,\r\n \r\n });\r\n returnRow['AcceptedBy'] = `${_employee[0].Forename} ${_employee[0].Surname}`;\r\n })\r\n });\r\n }, error => {\r\n returnRow['Reference'] = '';\r\n returnRow['HonorificId'] = 'Error';\r\n returnRow['Forename'] = 'Fetching';\r\n returnRow['Surname'] = 'Data';\r\n });\r\n }, err => {\r\n returnRow['Reference'] = '';\r\n returnRow['HonorificId'] = 'Error';\r\n returnRow['Forename'] = 'Fetching';\r\n returnRow['Surname'] = 'Data';\r\n returnRow['Accepted'] = '';\r\n })\r\n this.Rows.push(returnRow);\r\n }\r\n\r\n GetSiteName(siteid): Promise {\r\n if (this.siteNamePromises.some(i => i.SiteId === siteid)) {\r\n return this.siteNamePromises.find(i => i.SiteId === siteid).Promise;\r\n } else {\r\n return new Promise(resolve => {\r\n this.asrv.GetSiteNameCollection([siteid]).then(value => {\r\n if (value) {\r\n resolve(value[0].Name);\r\n } else {\r\n resolve('');\r\n }\r\n })\r\n })\r\n }\r\n }\r\n\r\n \r\n}\r\n\r\nclass SiteNamePromise {\r\n SiteId: number;\r\n Promise: Promise;\r\n}\r\n","import { Honorific } from '../Honorific';\r\nimport { Gender } from '../Gender';\r\nimport { ExclusionDurationOption } from '../ExclusionDurationOption';\r\nimport { SiteCollection } from '../SiteCollection';\r\nimport { ISDDateMethods } from '../ISDDateMethods';\r\nimport { ActorService } from 'src/app/services/actor.service';\r\nimport { ExcluderService } from 'src/app/services/excluder.service';\r\nimport { InteractionService } from 'src/app/services/interaction.service';\r\nimport { ApiService } from 'src/app/services/api.service';\r\nimport * as moment from 'moment';\r\n\r\n// Class for creating tabular reports.\r\n// Every tabular class requires the following properties.\r\n// Rows: any[] = [] --Holds all the newRows pushed.\r\n// HeaderTransaltion = [{}] --This will print all the headers to the table.\r\n// newRow = [{}] --Make the values all blank but match the HeaderTranslationIds\r\n// public AddRow(rowObject) {} --Use this push rows, ensure all values are hardcoded for now.\r\n\r\nexport class StatutoryVisitList {\r\n private DateMethods: ISDDateMethods = new ISDDateMethods();\r\n public Rows: any[] = [];\r\n public Honorifics: Honorific[] = [];\r\n public Genders: Gender[] = [];\r\n public DurationOptions: ExclusionDurationOption[] = [];\r\n public SubscriptionsOpened: number;\r\n public CompletedSubscriptions: number = 0;\r\n public DataLoaded: boolean = false;\r\n private siteNamePromises: SiteNamePromise[] = [];\r\n public HeaderTranslation = [{\r\n 'Recorded': 'Date of Visit',\r\n 'OrgBody': 'Org Body',\r\n 'SiteId': 'Site Name',\r\n 'Notes': 'Notes',\r\n }];\r\n public isLoading = true;\r\n\r\n constructor(\r\n public asrv: ActorService,\r\n public isrv: InteractionService,\r\n public ids: number[],\r\n private _api: ApiService,\r\n ) {\r\n this.ids.forEach(id => {\r\n this.AddRow(id);\r\n })\r\n\r\n this.DataLoaded = true;\r\n }\r\n\r\n public AddRow(id: number) {\r\n let idWasShown = 'No';\r\n let returnRow = {};\r\n returnRow['Recorded'] = false;\r\n returnRow['SiteId'] = false;\r\n returnRow['OrgBody'] = false;\r\n returnRow['Notes'] = false;\r\n this._api.getStatutoryVisitCompositeModel(id).subscribe(res => {\r\n returnRow['Recorded'] = moment(res.Recorded, 'YYYY-MM-DDTHH:mm:ssZ').format('YYYY-MM-DD HH:mm');;\r\n this._api.getActorNames([res.OrganisationID]).subscribe(result => {\r\n returnRow['OrgBody'] = result[0].NameCollection[0].Name;\r\n });\r\n this.GetSiteName(res.SiteId).then(value => {\r\n returnRow['SiteId'] = value;\r\n })\r\n\r\n returnRow['Notes'] = res.Notes;\r\n this.isLoading = false;\r\n })\r\n\r\n this.Rows.push(returnRow);\r\n }\r\n\r\nGetSiteName(siteid): Promise < string > {\r\n if(this.siteNamePromises.some(i => i.SiteId === siteid)) {\r\n return this.siteNamePromises.find(i => i.SiteId === siteid).Promise;\r\n} else {\r\n return new Promise(resolve => {\r\n this.asrv.GetSiteNameCollection([siteid]).then(value => {\r\n if (value) {\r\n resolve(value[0].Name);\r\n } else {\r\n resolve('');\r\n }\r\n })\r\n })\r\n}\r\n }\r\n}\r\n\r\nclass SiteNamePromise {\r\n SiteId: number;\r\n Promise: Promise;\r\n}\r\n","import { Honorific } from '../Honorific';\r\nimport { Gender } from '../Gender';\r\nimport { ExclusionDurationOption } from '../ExclusionDurationOption';\r\nimport { SiteCollection } from '../SiteCollection';\r\nimport { ISDDateMethods } from '../ISDDateMethods';\r\nimport { ActorService } from 'src/app/services/actor.service';\r\nimport { ExcluderService } from 'src/app/services/excluder.service';\r\nimport { InteractionService } from 'src/app/services/interaction.service';\r\nimport { ApiService } from 'src/app/services/api.service';\r\nimport * as moment from 'moment';\r\n\r\n// Class for creating tabular reports.\r\n// Every tabular class requires the following properties.\r\n// Rows: any[] = [] --Holds all the newRows pushed.\r\n// HeaderTransaltion = [{}] --This will print all the headers to the table.\r\n// newRow = [{}] --Make the values all blank but match the HeaderTranslationIds\r\n// public AddRow(rowObject) {} --Use this push rows, ensure all values are hardcoded for now.\r\n\r\nexport class ToiletCheckList {\r\n private DateMethods: ISDDateMethods = new ISDDateMethods();\r\n public Rows: any[] = [];\r\n public Honorifics: Honorific[] = [];\r\n public Genders: Gender[] = [];\r\n public DurationOptions: ExclusionDurationOption[] = [];\r\n public SubscriptionsOpened: number;\r\n public CompletedSubscriptions: number = 0;\r\n public DataLoaded: boolean = false;\r\n private siteNamePromises: SiteNamePromise[] = [];\r\n public HeaderTranslation = [{\r\n 'Recorded': 'Date of Check',\r\n 'name': 'Name',\r\n 'SiteId': 'Site Name',\r\n 'CheckOK': 'Check OK',\r\n 'Notes': 'Notes',\r\n }];\r\n public isLoading = true;\r\n\r\n constructor(\r\n public asrv: ActorService,\r\n public isrv: InteractionService,\r\n public ids: number[],\r\n private _api: ApiService,\r\n ) {\r\n this.ids.forEach(id => {\r\n this.AddRow(id);\r\n })\r\n\r\n this.DataLoaded = true;\r\n }\r\n\r\n public AddRow(id: number) {\r\n let idWasShown = 'No';\r\n let returnRow = {};\r\n returnRow['InteractionId'] = id;\r\n returnRow['Recorded'] = false;\r\n returnRow['name'] = false;\r\n returnRow['SiteId'] = false;\r\n returnRow['CheckOK'] = false;\r\n returnRow['Notes'] = false;\r\n this._api.getToiletCheckCompositeModel(id).subscribe(res => {\r\n // res.InteractedActorCompositeModel = res.InteractedActorCompositeModelCollection[0];\r\n // if (!(res.InteractedActorCompositeModel.BiologicalActorCompositeModel.Forename && res.InteractedActorCompositeModel.BiologicalActorCompositeModel.Surname)) {\r\n // returnRow['Name'] = res.InteractedActorCompositeModel.BiologicalActorCompositeModel.Alias;\r\n // } else {\r\n // returnRow['Name'] = res.InteractedActorCompositeModel.BiologicalActorCompositeModel.Forename + ' ' + res.InteractedActorCompositeModel.BiologicalActorCompositeModel.Surname;\r\n // }\r\n let itemType: string = '';\r\n let checkOK: string = 'No';\r\n res.TagIdCollection.forEach(tagId => {\r\n // if (tagId >= 214 && tagId <= 224) {\r\n // switch (tagId) {\r\n // case 159:\r\n // itemType = 'Other';\r\n // break;\r\n // case 241:\r\n // itemType = 'Fire Alarm';\r\n // break;\r\n // case 242:\r\n // itemType = 'Fire Blanket';\r\n // break;\r\n // case 243:\r\n // itemType = 'Fire Door';\r\n // break;\r\n // case 244:\r\n // itemType = 'Fire Extinguisher';\r\n // break;\r\n // }\r\n // }\r\n\r\n if (tagId === 3) { checkOK = 'Yes' }\r\n\r\n\r\n })\r\n returnRow['Recorded'] = moment(res.Recorded, 'YYYY-MM-DDTHH:mm:ssZ').format('YYYY-MM-DD HH:mm');;\r\n \r\n returnRow['CheckOK'] = checkOK;\r\n returnRow['Notes'] = res.Notes;\r\n this.GetSiteName(res.SiteId).then(value => {\r\n returnRow['SiteId'] = value;\r\n })\r\n\r\n this.asrv.GetActorNames(res.AssociatedActorIdCollection).subscribe(res => {\r\n res.forEach(employee => {\r\n const _employee = [];\r\n _employee.push({\r\n ActorId: employee.ActorId,\r\n Forename: employee.NameCollection.find(i => i.NameClassKeyId === 1).Name,\r\n Surname: employee.NameCollection.find(i => i.NameClassKeyId === 2).Name,\r\n ActorRoleCollection: null,\r\n \r\n });\r\n returnRow['name'] = `${_employee[0].Forename} ${_employee[0].Surname}`;\r\n })\r\n });\r\n this.isLoading = false;\r\n })\r\n\r\n this.Rows.push(returnRow);\r\n }\r\n\r\n GetSiteName(siteid): Promise {\r\n if (this.siteNamePromises.some(i => i.SiteId === siteid)) {\r\n return this.siteNamePromises.find(i => i.SiteId === siteid).Promise;\r\n } else {\r\n return new Promise(resolve => {\r\n this.asrv.GetSiteNameCollection([siteid]).then(value => {\r\n if (value) {\r\n resolve(value[0].Name);\r\n } else {\r\n resolve('');\r\n }\r\n })\r\n })\r\n }\r\n }\r\n}\r\n\r\nclass SiteNamePromise {\r\n SiteId: number;\r\n Promise: Promise;\r\n}\r\n","import { Honorific } from '../Honorific';\r\nimport { Gender } from '../Gender';\r\nimport { ExclusionDurationOption } from '../ExclusionDurationOption';\r\nimport { ExclusionReason } from '../ExclusionReason';\r\nimport { Site } from '../Site';\r\nimport { Organisation } from '../Organisation';\r\nimport { IdentificationDocument } from '../IdentificationDocumentKey';\r\nimport { SiteCollection } from '../SiteCollection';\r\nimport { ISDDateMethods } from '../ISDDateMethods';\r\nimport { ActorService } from 'src/app/services/actor.service';\r\nimport { Subscription } from 'rxjs';\r\nimport { ApiUsage } from '../ApiUsage';\r\n\r\n// Class for creating tabular reports.\r\n// Every tabular class requires the following properties.\r\n// Rows: any[] = [] --Holds all the newRows pushed.\r\n// HeaderTransaltion = [{}] --This will print all the headers to the table.\r\n// newRow = [{}] --Make the values all blank but match the HeaderTranslationIds\r\n// public AddRow(rowObject) {} --Use this push rows, ensure all values are hardcoded for now.\r\n\r\nexport class UserAPIUsage {\r\n private DateMethods: ISDDateMethods = new ISDDateMethods();\r\n public Rows: any[] = [];\r\n public SubscriptionsOpened: number;\r\n public CompletedSubscriptions: number = 0;\r\n public DataLoaded:boolean = false;\r\n public HeaderTranslation = [{\r\n 'ActorName': 'Name', \r\n 'PrimarySiteName': 'Primary Site',\r\n 'DaysAccessedCount': 'Days Accessed', \r\n 'ExclusionCount':'Exclusions',\r\n 'ExclusionBreachCount': 'Breaches',\r\n 'InteractionCount': 'Interactions',\r\n 'ReinstatementCount': 'Reinstatements',\r\n 'LastAccessed':'Last Accessed'\r\n }];\r\n\r\n public GetExclusionIsSubscribed: boolean;\r\n public ExclusionSubscription: Subscription;\r\n\r\n constructor(public asrv: ActorService) {}\r\n\r\n\r\n public AddRow(databaseValues: ApiUsage) {\r\n var returnRow = {};\r\n returnRow['ActorId'] = databaseValues.ActorId;\r\n returnRow['ActorName'] = databaseValues.ActorName;\r\n returnRow['DaysAccessedCount'] = databaseValues.DaysAccessedCount.toString();\r\n returnRow['ReinstatementCount'] = databaseValues.ReinstatementCount.toString();\r\n returnRow['ExclusionBreachCount'] = databaseValues.ExclusionBreachCount.toString();\r\n returnRow['ExclusionCount'] = databaseValues.ExclusionCount.toString();\r\n returnRow['InteractionCount'] = databaseValues.InteractionCount.toString();\r\n returnRow['LastAccessed'] = new Date(databaseValues.LastAccessed).toDateString();\r\n returnRow['PrimarySiteName'] = databaseValues.PrimarySiteName;\r\n this.DataLoaded = true;\r\n this.Rows.push(returnRow);\r\n }\r\n}\r\n","export class Site {\r\n ActorId: number\r\n Sites_ActorId: number;\r\n Distance: number;\r\n Longitude: number;\r\n Latitude: number;\r\n FromMotorwayService: boolean = false;\r\n Site_Name: string;\r\n\r\n public get Name(): string {\r\n return this.Site_Name;\r\n }\r\n};","export class SiteDetail {\r\n EmployeeIdCollection: number[] = [];\r\n EmployeeCollection: EmployeeRow[] = [];\r\n ActorId: number;\r\n Organisation_ActorId: number;\r\n Organisation_Name: String;\r\n Name: String;\r\n Country: String;\r\n County: String;\r\n Line1: String;\r\n Line2: String;\r\n Postcode: string;\r\n TownCity: String;\r\n Latitude: number;\r\n Longitude: number;\r\n PostalAddressClassId: number;\r\n ContactIdCollection: number[] = [];\r\n TagIdCollection: number[] = [];\r\n SettingCollection: [] = [];\r\n ActorReferenceCollection: [] = []; \r\n}\r\n\r\nexport class EmployeeRow {\r\n Id: number;\r\n Name: string;\r\n Contactable: boolean;\r\n}\r\n ","import { Tag } from './Tag';\r\nimport { ActorService } from '../services/actor.service';\r\nimport { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class Tags {\r\n Disabled: number = 1;\r\n Important: number = 2;\r\n Confirmed: number = 3;\r\n MotorwayService: number = 21;\r\n RadiusService: number = 22;\r\n IdentityChecked: number = 31;\r\n ReadTermsAndConditions: number = 32;\r\n ExcludeBingo: number = 33;\r\n ExcludeCasino: number = 34;\r\n ExcludeBetShop: number = 35;\r\n ExcludeOnline: number = 36;\r\n PlanExcludeBingo: number = 37;\r\n PlanExcludeCasino: number = 38;\r\n PlanExcludeBetShop: number = 39;\r\n PlanExcludeOnline: number = 40;\r\n Participated: number = 50;\r\n SiteNotificationContact: number = 61;\r\n\r\n // 61 email\r\n Tag: Tag[];\r\n UserRoleTags: UserRoleTags = new UserRoleTags();\r\n NameTags: NameTags = new NameTags();\r\n PostalAddressTags: PostalAddressTags = new PostalAddressTags();\r\n\r\n constructor(public asrv: ActorService) {}\r\n\r\n GetTagInfo(tagId: number): Tag {\r\n let tag = this.Tag.find(i => i.TagId === tagId);\r\n if (!tag) {\r\n this.asrv.GetTagInfo(tagId).subscribe(res => {\r\n this.Tag.push(res);\r\n return res;\r\n })\r\n } else {\r\n return tag;\r\n }\r\n }\r\n}\r\n\r\nclass UserRoleTags {\r\n System = 1;\r\n SystemAdministrator = 2;\r\n BactaAdministrator = 3;\r\n OrganisationAdministrator = 4;\r\n Supervisor = 5;\r\n User = 6;\r\n\r\n GetRoleName(id) {\r\n switch(id) {\r\n case this.System: return 'System';\r\n case this.SystemAdministrator: return 'System Administrator';\r\n case this.BactaAdministrator: return 'Bacta Administrator';\r\n case this.OrganisationAdministrator: return 'Organisation Administrator';\r\n case this.Supervisor: return 'Supervisor';\r\n case this.User: return 'User';\r\n }\r\n }\r\n\r\n GetRolesObject(id): RoleBriefs[] {\r\n switch(id) {\r\n case this.System: \r\n var object: RoleBriefs[] = [{Id: 1, Name: 'System'}, {Id: 2, Name: 'System Administrator'}, {Id: 3, Name: 'Bacta Administrator'}, {Id: 4, Name:'Organisation Administrator' }, {Id: 5, Name: 'Supervisor'}, {Id: 6, Name: 'User'}];\r\n return object;\r\n case this.SystemAdministrator: \r\n var object: RoleBriefs[] = [{Id: 2, Name: 'System Administrator'}, {Id: 3, Name: 'Bacta Administrator'}, {Id: 4, Name:'Organisation Administrator' }, {Id: 5, Name: 'Supervisor'}, {Id: 6, Name: 'User'}];\r\n return object;\r\n case this.BactaAdministrator: \r\n var object: RoleBriefs[] = [{Id: 3, Name: 'Bacta Administrator'}, {Id: 4, Name:'Organisation Administrator' }, {Id: 5, Name: 'Supervisor'}, {Id: 6, Name: 'User'}];\r\n return object;\r\n case this.OrganisationAdministrator: \r\n var object: RoleBriefs[] = [{Id: 5, Name: 'Supervisor'}, {Id: 6, Name: 'User'}];\r\n return object;\r\n case this.Supervisor: \r\n var object: RoleBriefs[] = [{Id: 6, Name: 'User'}];\r\n return object;\r\n case this.User: return [];\r\n }\r\n }\r\n}\r\n\r\nexport class RoleBriefs {\r\n Id: number;\r\n Name: string;\r\n}\r\n\r\nclass NameTags {\r\n Firstname = 1;\r\n Surname = 2;\r\n // 3\r\n // 4\r\n OrganisationName = 5;\r\n SiteName = 6;\r\n}\r\n\r\nclass PostalAddressTags {\r\n public Country = 1;\r\n public Postcode = 2;\r\n public County = 3;\r\n public TownCity = 4;\r\n // City = 5\r\n public Line1 = 6;\r\n public Line2 = 7;\r\n}\r\n\r\nclass DurationTags {\r\n private _years: number[] = [6,7,8,9,10,11,12];\r\n private _durationOptionIds: number[] = [0,1,2,3,4,5,6]\r\n\r\n FetchDurationOptionIdForMonth(month: number) {\r\n }\r\n}","export class UserDocumentation {\r\n public PrivacyPolicy: string = 'PrivacyPolicy';\r\n public SummaryOfPrivacyPolicy: string = \"SummaryOfPrivacyPolicy\";\r\n public SummaryOfTerms: string = \"SummaryOfTerms\";\r\n public Terms: string = \"Terms\";\r\n public IpsosMori: string = \"ipsosMori\";\r\n\r\n public IpsosMoriVersion: string;\r\n public PrivacyPolicyVersion: string;\r\n public SummaryOfPrivacyPolicyVersion: string;\r\n public SummaryOfTermsVersion: string;\r\n public TermsVersion: string; \r\n\r\n public IpsosMoriHTML: string;\r\n public PrivacyPolicyHTML: string;\r\n public SummaryOfPrivacyPolicyHTML: string;\r\n public SummaryOfTermsHTML: string;\r\n public TermsHTML: string; \r\n}","import { Actors_Names } from './Name';\r\n\r\nexport class UserSites {\r\n ActorId: number;\r\n NameId: number;\r\n Name: string;\r\n Site: Site;\r\n Site_ActorId: number;\r\n WorksHere: Boolean = false;\r\n PrimarySite: Boolean = false;\r\n Headquarters: Boolean = false;\r\n TagIdCollection: number[] = [];\r\n}\r\n\r\n// Only active in the receiving model.\r\nclass Site {\r\n Actor: Actor;\r\n Site_ActorId: number;\r\n Actors_Organisations: Actors_Organisations[];\r\n}\r\n\r\nclass Actor {\r\n ActorId: number;\r\n NameId: number;\r\n Actors_Names: Actors_Names[] = [];\r\n}\r\n\r\nclass Actors_Organisations {\r\n ActorId: number;\r\n Organisations_ActorId: number;\r\n Edited: Date;\r\n Edited_ActorId: Date;\r\n}","// import { inherits } from 'util';\r\n\r\nexport class Name {\r\n ActorId: number;\r\n NameCollection: NameCollection[];\r\n ActorRoleCollection: ActorRoleCollection[];\r\n}\r\n\r\nclass NameCollection {\r\n NameId: number;\r\n Name: string;\r\n NameClassKeyId: number;\r\n Order: number;\r\n}\r\n\r\n\r\nclass ActorRoleCollection {\r\n ActorRoleId: number;\r\n Name: string;\r\n}\r\n\r\nexport class BiologicalUserInfo {\r\n ActorId: number;\r\n Forename: string;\r\n Surname: string;\r\n ActorRoleCollection: ActorRoleCollection;\r\n}\r\n\r\nexport class NonBiologicalName {\r\n ActorId: number;\r\n Name: string;\r\n \r\n ClientValues: ClientValues = new ClientValues();\r\n}\r\n\r\nclass ClientValues {\r\n LoadedFromMotorwayServices: boolean = false;\r\n}","import { ActorService } from 'src/app/services/actor.service';\r\nimport { Tag } from '../Tag';\r\n\r\n// Class for creating tabular reports.\r\n// Every tabular class requires the following properties.\r\n// Rows: any[] = [] --Holds all the data.\r\n// HeaderTransaltion = [{}] --This will print all the headers to the table.\r\n// public AddRow(id) {} --Use this push rows, ensure all values are hardcoded for now.\r\n// public UpdateRow(id) {} --Will update the row.\r\n\r\nexport class GenericTagList {\r\n private _title: string = '_' + btoa('GenericTagList');\r\n private _memory: any[] = [];\r\n public Rows: any[] = [];\r\n public DataLoaded: boolean = false;\r\n public HeaderTranslation = [{\r\n 'Name': 'Tag',\r\n }];\r\n\r\n constructor(public asrv: ActorService) {\r\n this.LoadMemoryManager();\r\n this.Rows = [];\r\n }\r\n\r\n public AddRow(id: number) {\r\n var rowExists = this._memory.some(i => i['TagId'] === id);\r\n var alreadyExist = this.Rows.some(i => i['TagId'] === id);\r\n\r\n if (rowExists && !alreadyExist) {\r\n this.Rows.push(this.LoadRowFromMemoryManager(id));\r\n } else if (!alreadyExist) {\r\n // Doesn't Exist, fetch from the server.\r\n let returnRow = {};\r\n returnRow['TagId'] = id;\r\n var row = this.GetRowValues(id, returnRow);\r\n this.Rows.push(row);\r\n }\r\n // If row exists inside the public object disregard it.\r\n }\r\n\r\n public UpdateRow(id: number) {\r\n let rowToUpdate = this.Rows.find(i => i['TagId'] === id);\r\n this.GetRowValues(id, rowToUpdate);\r\n this.UpdateMemoryManager();\r\n }\r\n\r\n public RemoveRow(row) {\r\n let index = this.Rows.indexOf(row, 0);\r\n if (index > -1) {\r\n this.Rows.splice(index, 1);\r\n }\r\n }\r\n\r\n public FindRow(id: number) {\r\n return this.Rows.find(i => i['TagId'] === id);\r\n }\r\n\r\n private GetRowValues(id: number, row: any) {\r\n row['Name'] = false;\r\n let tagSubscription = this.asrv.GetTagInfo(id).subscribe(res => {\r\n row['Name'] = res.Name;\r\n row['Edited'] = res.Edited\r\n tagSubscription.unsubscribe();\r\n })\r\n return row;\r\n }\r\n\r\n // Memory Methods\r\n private LoadMemoryManager() {\r\n if (!localStorage.getItem(this._title)) {\r\n this._memory = [];\r\n } else {\r\n this._memory = JSON.parse(localStorage.getItem(this._title));\r\n }\r\n }\r\n\r\n private LoadRowFromMemoryManager(id: number) {\r\n var matchedRow = this._memory.find(i => i['TagId'] === id);\r\n return matchedRow;\r\n }\r\n\r\n private UpdateMemoryManager() {\r\n localStorage.setItem(this._title, JSON.stringify(this.Rows));\r\n this.RefreshMemory();\r\n }\r\n\r\n private RefreshMemory() {\r\n this._memory = JSON.parse(localStorage.getItem(this._title));\r\n }\r\n}\r\n","export class ControllerMaster {\r\n public ErrorFlag: boolean = false;\r\n constructor(\r\n public Id: number,\r\n public Name: string,\r\n public Label: string,\r\n public Type: string,\r\n public DomId: string\r\n ) {}\r\n}","import { Views_MediaModel } from \"../../InteractionExclusion/Views_MediaModel\";\r\nimport { Checkbox } from \"../Standard Controllers/Checkbox\";\r\n\r\nexport class Extension {\r\n public SiteId: number;\r\n public EmployeeId: number;\r\n public MediaModel: Views_MediaModel;\r\n public ConfirmedControl: Checkbox;\r\n constructor(public InteractionId: number, public StartDate: Date) {\r\n this.ConfirmedControl = new Checkbox(0, 'confirmExtension', 'I CONFIRM THE EXTENSION TO MY SELF-EXCLUSION', 'chkConfirmExtension', false);\r\n }\r\n\r\n public UpdatePhoto(): Views_MediaModel {\r\n this.MediaModel = new Views_MediaModel();\r\n this.MediaModel.MediaClassKeyId = 4;\r\n this.MediaModel.MediaId = 0;\r\n this.MediaModel.Data = null;\r\n return this.MediaModel;\r\n }\r\n\r\n public Validate(): boolean {\r\n var result: boolean = true;\r\n if (!this.SiteId || !this.EmployeeId) {\r\n result = false;\r\n };\r\n\r\n if (!this.ConfirmedControl.Value) {\r\n this.ConfirmedControl.ErrorFlag = true;\r\n result = false;\r\n } else {\r\n this.ConfirmedControl.ErrorFlag = false;\r\n };\r\n\r\n if (this.MediaModel) {\r\n if (!this.MediaModel.Data) {\r\n delete this.MediaModel;\r\n }\r\n };\r\n\r\n return result;\r\n }\r\n}\r\n","import { ActorService } from \"src/app/services/actor.service\";\r\nimport { AdvancedSelect } from \"../Non-Standard Select Controllers/AdvancedSelect\";\r\nimport { Checkbox } from \"../Standard Controllers/Checkbox\";\r\nimport { DropDownItem, Select } from \"../Standard Controllers/Select\";\r\n\r\nexport class Reinstatement {\r\n private MethodDropDownItems: DropDownItem[] = [\r\n {Key: 1, Value: 'Meeting'},\r\n {Key: 2, Value: 'Phone'}\r\n // {Key: 3, Value: 'Email'}\r\n // {Key: 4, Value: 'Letter'}\r\n ]\r\n public SiteId: number;\r\n public EmployeeId: number;\r\n public MethodId: number;\r\n public MethodControl: Select;\r\n public Date: Date;\r\n public ConsideredControl: Checkbox;\r\n public RecievedCounsellingControl: Checkbox;\r\n public UnderstandsCoolingOffControl: Checkbox;\r\n public AwareOfMonitoringControl: Checkbox;\r\n\r\n constructor(public OrganisationId: number) {\r\n this.MethodId = 0;\r\n this.MethodControl = new Select(0, 'method', 'Method', 'ddMethod', this.MethodDropDownItems);\r\n this.Date = new Date();\r\n this.ConsideredControl = new Checkbox(0, 'considered', 'I HAVE CONSIDERED THE IMPLICATIONS OF GAMBLING AGAIN.', 'chkConsidered', false);\r\n this.RecievedCounsellingControl = new Checkbox(0, 'receivedCounselling', 'I HAVE RECEIVED GAMBLING COUNSELLING WHILST SELF-EXCLUDED.', 'chkReceivedCounselling', false);\r\n this.UnderstandsCoolingOffControl = new Checkbox(0, 'understandsCoolingOff', 'I UNDERSTAND THAT I AM SUBJECT TO A 24 HOUR COOLING OFF PERIOD.', 'chkUnderstandsCoolingOff', false);\r\n this.AwareOfMonitoringControl = new Checkbox(0, 'awareOfMonitoring', 'I AM AWARE THAT MY GAMBLING/BEHAVIOUR WILL BE MONITORED.', 'chkAwareOfMonitoring', false);\r\n }\r\n \r\n // Returns a string array if any value is found. Else will return null.\r\n Validate(): string[] {\r\n var result: string[];\r\n if (!this.OrganisationId) {\r\n result.push('Organisation');\r\n }\r\n\r\n if (!this.SiteId) {\r\n result.push('Site');\r\n }\r\n\r\n if (!this.EmployeeId) {\r\n result.push('Employee');\r\n }\r\n\r\n if (!this.MethodId) {\r\n this.MethodControl.ErrorFlag = true;\r\n result.push('Method');\r\n }\r\n\r\n if (!this.ConsideredControl.Value || !this.UnderstandsCoolingOffControl.Value || ! this.AwareOfMonitoringControl.Value) {\r\n this.ConsideredControl.ErrorFlag = true;\r\n this.RecievedCounsellingControl.ErrorFlag = true;\r\n this.UnderstandsCoolingOffControl.ErrorFlag = true;\r\n this.AwareOfMonitoringControl.ErrorFlag = true;\r\n result.push('Checkboxes')\r\n }\r\n return result\r\n }\r\n}","import { ControllerMaster } from \"../ControllerMaster\";\r\n\r\nexport class Checkbox extends ControllerMaster {\r\n constructor(\r\n public Id: number, \r\n public Name: string, \r\n public Label: string, \r\n public DomId: string,\r\n public Value: boolean,\r\n ) {\r\n super(Id, Name, Label, 'checkBox', DomId)\r\n }\r\n}","import { ControllerMaster } from \"../ControllerMaster\";\r\n\r\nexport class Select extends ControllerMaster {\r\n public KeySelected: any;\r\n constructor(\r\n public Id: number, \r\n public Name: string, \r\n public Label: string, \r\n public DomId: string,\r\n public DropDownItems: DropDownItem[]\r\n ) {\r\n super(Id, Name, Label, 'select', DomId);\r\n }\r\n}\r\n\r\nexport class DropDownItem {\r\n constructor(public Key: any, public Value: any) {}\r\n}","export class UserCredentials {\r\n // \r\n // \r\n\r\n // \r\n Login : string;\r\n Password : string;\r\n // \r\n\r\n // \r\n // \r\n // \r\n\r\n // \r\n // \r\n // \r\n}","import { NgControl } from '@angular/forms';\r\nimport { Directive, Input } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[disableControl]'\r\n})\r\nexport class DisableControlDirective {\r\n\r\n @Input() set disableControl( condition : boolean ) {\r\n const action = condition ? 'disable' : 'enable';\r\n this.ngControl.control[action]();\r\n }\r\n\r\n constructor( private ngControl : NgControl ) {\r\n }\r\n}","import {Directive, Input } from '@angular/core';\r\n\r\n@Directive({\r\n selector: 'ngInit',\r\n exportAs: 'ngInit'\r\n}) \r\nexport class NgInit {\r\n @Input() values: any = {};\r\n\r\n @Input() ngInit;\r\n ngOnInit() {\r\n if(this.ngInit) { this.ngInit(); }\r\n } \r\n}\r\n","/// \r\n\r\nimport { Input } from \"@angular/core\";\r\nimport { ActorService } from \"src/app/services/actor.service\";\r\nimport { ExcluderService } from \"src/app/services/excluder.service\";\r\nimport { NonBiologicalName } from \"../actor/Name\";\r\nimport { Site } from \"../Site\";\r\n\r\nexport class Maps {\r\n // Simply create the google maps class and set an elementRef to GenerateMap() and away you go.\r\n\r\n private APIKey: string = \"AIzaSyDgwK9DgD_e85FCI6aolnlKT6NbcBVHez8\";\r\n public Map: google.maps.Map;\r\n public Polylines: google.maps.Polyline[] = [];\r\n public PolylineLatLng: google.maps.LatLngLiteral[] = [];\r\n public PolylineMarker: google.maps.Marker;\r\n public Markers: google.maps.Marker[] = [];\r\n public Shapes: Shape[] = [];\r\n private listner;\r\n\r\n // For Bacta Only\r\n public SiteMarkers: Site[] = [];\r\n\r\n constructor(public esrv: ExcluderService, public asrv: ActorService) {\r\n }\r\n\r\n public Initialise(): void {\r\n let script = document.createElement('script');\r\n script.src = \"https://maps.googleapis.com/maps/api/js?key=\" + this.APIKey + \"&callback=initMap\";\r\n script.defer = true;\r\n script.async = true;\r\n document.getElementsByTagName('head')[0].appendChild(script);\r\n }\r\n\r\n public GenerateMap(lat, lng, zoom: number): google.maps.Map {\r\n this.Map = new google.maps.Map(document.getElementById('map') as HTMLElement, {\r\n zoom: zoom,\r\n center: new google.maps.LatLng(lat, lng),\r\n disableDefaultUI: false,\r\n mapTypeId: 'roadmap'\r\n });\r\n return this.Map;\r\n }\r\n\r\n public AddCircle(lat, lng, radius: number): google.maps.Map {\r\n const cityCircle = new google.maps.Circle({\r\n strokeColor: \"#FF0000\",\r\n strokeOpacity: 0.8,\r\n strokeWeight: 2,\r\n fillColor: \"#FF0000\",\r\n fillOpacity: 0.35,\r\n map: this.Map,\r\n center: new google.maps.LatLng(lat, lng),\r\n radius: radius * 1000,\r\n });\r\n return this.Map;\r\n }\r\n\r\n public GenerateMapWithCircle(lat, lng, zoom: number, radius: number): google.maps.Map {\r\n this.ClearMarkers();\r\n var center: google.maps.LatLng = new google.maps.LatLng(lat, lng);\r\n this.Map = new google.maps.Map(document.getElementById('map') as HTMLElement, {\r\n zoom: zoom,\r\n center: center,\r\n disableDefaultUI: false,\r\n mapTypeId: 'roadmap'\r\n });\r\n const cityCircle = new google.maps.Circle({\r\n strokeColor: \"#FF0000\",\r\n strokeOpacity: 0.8,\r\n strokeWeight: 2,\r\n fillColor: \"#FF0000\",\r\n fillOpacity: 0.35,\r\n map: this.Map,\r\n center: center,\r\n radius: radius * 1000,\r\n });\r\n\r\n this.asrv.SiteGeoLocations.forEach(site => {\r\n var position: google.maps.LatLng = new google.maps.LatLng(site.Latitude, site.Longitude)\r\n if (google.maps.geometry.spherical.computeDistanceBetween(position, center) <= radius * 1000) {\r\n var displaySite: NonBiologicalName = new NonBiologicalName();\r\n displaySite.ActorId = site.ActorId\r\n displaySite.Name = site.Name\r\n this.esrv.CurrentExclusion.ClientValues.SiteCollection.push(displaySite);\r\n this.esrv.CurrentExclusion.SiteIdCollection.push(site.ActorId);\r\n this.AddMarker(site.Latitude, site.Longitude, site.Name);\r\n }\r\n });\r\n return this.Map;\r\n }\r\n\r\n public GenerateMapWithCustomDrawing(lat, lng, zoom: number): google.maps.Map {\r\n this.ClearMarkers();\r\n this.PolylineLatLng = [];\r\n this.Map = new google.maps.Map(document.getElementById('map') as HTMLElement, {\r\n zoom: zoom,\r\n center: new google.maps.LatLng(lat, lng),\r\n disableDefaultUI: false,\r\n mapTypeId: 'roadmap',\r\n clickableIcons: false\r\n });\r\n\r\n this.listner = this.Map.addListener(\"click\", (event) => {\r\n this.DrawNewMarkerOnTheMap(event.latLng);\r\n });\r\n \r\n return this.Map;\r\n }\r\n\r\n public DrawNewMarkerOnTheMap(position) {\r\n this.PolylineLatLng.push(position);\r\n\r\n const polyline = new google.maps.Polyline({\r\n path: this.PolylineLatLng,\r\n geodesic: true,\r\n strokeColor: \"#FF0000\",\r\n strokeOpacity: 1.0,\r\n strokeWeight: 2,\r\n })\r\n\r\n if (!this.PolylineMarker) {\r\n var marker = new google.maps.Marker({\r\n position: position,\r\n map: this.Map\r\n });\r\n\r\n marker.addListener(\"click\", () => {\r\n this.AddFinalLineToMap(marker.getPosition());\r\n })\r\n\r\n this.PolylineMarker = marker;\r\n }\r\n\r\n polyline.setMap(this.Map);\r\n this.Polylines.push(polyline);\r\n }\r\n\r\n public AddFinalLineToMap(position) {\r\n if (confirm('Finish?')) {\r\n this.PolylineLatLng.push(position);\r\n this.Polylines.forEach(polyline => {polyline.setMap(null)})\r\n this.PolylineMarker.setMap(null);\r\n this.PolylineMarker = null;\r\n this.GeneratePolygon();\r\n }\r\n }\r\n\r\n private GeneratePolygon() {\r\n const shape: Shape = new Shape();\r\n shape.polygon = new google.maps.Polygon({\r\n paths: this.PolylineLatLng,\r\n strokeOpacity: 0.8,\r\n strokeWeight: 3,\r\n fillColor: \"#FF0000\",\r\n fillOpacity: 0.35,\r\n })\r\n this.PolylineLatLng = [];\r\n\r\n shape.polygon.addListener(\"rightclick\", () => { \r\n if (confirm('Would you like to remove this area?')) { \r\n this.RemovePolygon(shape); \r\n }; \r\n });\r\n\r\n this.asrv.SiteGeoLocations.forEach(site => {\r\n var position: google.maps.LatLng = new google.maps.LatLng(site.Latitude, site.Longitude)\r\n if (google.maps.geometry.poly.containsLocation(position, shape.polygon)) {\r\n if (!this.esrv.CurrentExclusion.ClientValues.SiteCollection.some(i => i.ActorId === site.ActorId)) {\r\n var displaySite: NonBiologicalName = new NonBiologicalName();\r\n displaySite.ActorId = site.ActorId;\r\n displaySite.Name = site.Name;\r\n this.esrv.CurrentExclusion.ClientValues.SiteCollection.push(displaySite);\r\n this.esrv.CurrentExclusion.SiteIdCollection.push(site.ActorId);\r\n shape.markers.push(this.AddMarker(site.Latitude, site.Longitude, site.Name));\r\n };\r\n shape.sites.push(site);\r\n };\r\n });\r\n this.SortSiteNameAscending();\r\n shape.polygon.setMap(this.Map);\r\n this.Shapes.push(shape);\r\n google.maps.event.clearInstanceListeners(this.listner);\r\n }\r\n\r\n RemovePolygon(shape: Shape) {\r\n // Remove the Polygon and markers\r\n shape.polygon.setMap(null);\r\n shape.markers.forEach(marker => {marker.setMap(null);});\r\n \r\n // Remove the shape\r\n let index = this.Shapes.indexOf(shape, 0);\r\n if (index > -1) {\r\n this.Shapes.splice(index, 1);\r\n }\r\n\r\n // Reset the Map\r\n this.esrv.CurrentExclusion.ClientValues.SiteCollection = [];\r\n this.Shapes.forEach(shape => {\r\n shape.markers.forEach(marker => {\r\n marker.setMap(null);\r\n });\r\n shape.markers = [];\r\n\r\n shape.sites.forEach(site => {\r\n if (!this.esrv.CurrentExclusion.ClientValues.SiteCollection.some(i => i.ActorId === site.ActorId)) {\r\n var displaySite: NonBiologicalName = new NonBiologicalName();\r\n displaySite.ActorId = site.ActorId;\r\n displaySite.Name = site.Name;\r\n shape.markers.push(this.AddMarker(site.Latitude, site.Longitude, site.Name));\r\n this.esrv.CurrentExclusion.ClientValues.SiteCollection.push(displaySite);\r\n }\r\n });\r\n });\r\n }\r\n\r\n public AddBlankMarker(lat, lng): google.maps.Map {\r\n new google.maps.Marker({\r\n position: new google.maps.LatLng(lat, lng),\r\n map: this.Map\r\n });\r\n\r\n return this.Map;\r\n }\r\n\r\n public AddMarker(lat, lng, text): google.maps.Marker {\r\n const infowindow = new google.maps.InfoWindow({\r\n content: text\r\n }); \r\n \r\n const marker = new google.maps.Marker({\r\n position: new google.maps.LatLng(lat, lng),\r\n map: this.Map\r\n });\r\n\r\n marker.addListener(\"click\", () => {\r\n infowindow.open(this.Map, marker)\r\n })\r\n\r\n this.Markers.push(marker);\r\n return marker;\r\n }\r\n\r\n public ClearMarkers() {\r\n this.Markers.forEach(marker => {marker.setMap(null)});\r\n this.Markers = [];\r\n }\r\n\r\n SiteWithinLatBounds(Westbound, Eastbound, site: Site): boolean {\r\n return (site.Latitude >= Westbound && site.Latitude <= Eastbound)\r\n }\r\n\r\n SiteWithinLngBounds(Westbound, Eastbound, site: Site): boolean {\r\n return (site.Longitude >= Westbound && site.Longitude <= Eastbound)\r\n }\r\n\r\n SortSiteNameAscending(){\r\n this.esrv.CurrentExclusion.ClientValues.SiteCollection.sort((a, b) => {\r\n return a.Name.localeCompare(b.Name);\r\n }); \r\n }\r\n}\r\n\r\nclass Shape {\r\n polygon: google.maps.Polygon;\r\n markers: google.maps.Marker[] = [];\r\n sites: Site[] = [];\r\n}","export class MessageDisplay {\r\n HasUnreadMesssages: boolean = false;\r\n MessageCount: number = 0;\r\n}","import { ISDDateMethods } from '../ISDDateMethods';\r\nimport { ActorService } from 'src/app/services/actor.service';\r\nimport { Tags } from '../Tags';\r\nimport { DataService } from 'src/app/services/data.service';\r\nimport { Communication } from '../Communication';\r\nimport { ErrorhanderService } from 'src/app/services/errorhander.service';\r\nimport { Names, NameDetails } from '../Name';\r\nimport { BiologicalUserInfo } from '../actor/Name';\r\n\r\n// Class for creating tabular reports.\r\n// Every tabular class requires the following properties.\r\n// Rows: any[] = [] --Holds all the newRows pushed.\r\n// HeaderTransaltion = [{}] --This will print all the headers to the table.\r\n// newRow = [{}] --Make the values all blank but match the HeaderTranslationIds\r\n// public AddRow(rowObject) {} --Use this push rows, ensure all values are hardcoded for now.\r\n\r\nexport class MessageList {\r\n private DateMethods: ISDDateMethods = new ISDDateMethods();\r\n public Rows: CommunicationRow[] = [];\r\n public SubscriptionsOpened: number;\r\n public CompletedSubscriptions: number = 0;\r\n public DataLoaded:boolean = false;\r\n public nameDirectory: Names[];\r\n public actorIdNameIdDirectory: NameDetails[];\r\n public HeaderTranslation = [{\r\n 'Edited': 'Sent',\r\n 'Sender': 'Sender',\r\n 'Subject': 'Subject',\r\n }];\r\n private newRow = {\r\n 'Edited': 'Sent',\r\n 'Edited_ActorID': 'Sender',\r\n 'Subject': 'Subject',\r\n } \r\n\r\n constructor(public asrv: ActorService, public communication: Communication[]) {\r\n let ids: number[] = [];\r\n if (this.communication.length > 0) {\r\n this.communication.forEach(communication => {\r\n this.AddRow(communication);\r\n if (!ids.some(i => i === communication.Edited_ActorID)) {\r\n ids.push(communication.Edited_ActorID);\r\n }\r\n })\r\n\r\n this.asrv.GetBiologicalName(ids).then(value => {\r\n this.Rows.forEach(row => {\r\n var biologicalName: BiologicalUserInfo = value.find(i => i.ActorId === row['Edited_ActorID'])\r\n row.Sender = biologicalName.Forename + ' ' + biologicalName.Surname;\r\n })\r\n })\r\n }\r\n }\r\n\r\n public AddRow(communication: Communication) {\r\n var returnRow = new CommunicationRow();\r\n returnRow.CommunicationId = communication.CommunicationId;\r\n returnRow.Edited_ActorID = communication.Edited_ActorID;\r\n returnRow.Edited = this.DateMethods.FormatDateForReport(new Date(communication.Edited));\r\n returnRow.Sender = false;\r\n returnRow.Subject = communication.Subject;\r\n returnRow.Body = communication.Body;\r\n returnRow.IsNew = communication.TagIdCollection.length === 0;\r\n returnRow.IsImportant = communication.TagIdCollection.find(i => i === 2) === 2;\r\n this.Rows.push(returnRow);\r\n } \r\n}\r\n\r\nexport class CommunicationRow {\r\n CommunicationId: number;\r\n Edited_ActorID: number;\r\n Edited: string;\r\n Sender: boolean | string;\r\n Subject: string;\r\n Body: string;\r\n IsNew: boolean;\r\n IsImportant: boolean;\r\n}\r\n","import { Pipe } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'ellipsis'\r\n})\r\nexport class EllipsisPipe {\r\n transform(val, args) {\r\n if (args === undefined) {\r\n return val;\r\n }\r\n\r\n if (val.length > args) {\r\n return val.substring(0, args) + '...';\r\n } else {\r\n return val;\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { DataService } from './data.service';\r\nimport { Honorific } from '../models/Honorific';\r\nimport { Gender } from '../models/Gender'\r\nimport { Observable } from 'rxjs';\r\nimport { IdentificationDocument } from '../models/IdentificationDocumentKey';\r\nimport { ExclusionDurationOption } from '../models/ExclusionDurationOption';\r\nimport { ExclusionReason } from '../models/ExclusionReason';\r\nimport { Site } from '../models/Site';\r\nimport { ActorCompositeModel } from '../models/ActorCompositeModel';\r\nimport { Breach } from '../models/Breach';\r\nimport { OrganisationBrief } from '../models/OrganisationBrief';\r\nimport { Reinstate } from '../models/Reinstate';\r\nimport { ActorNamesCompositeModel } from '../models/ActorNamesCompositeModel';\r\nimport { Organisation } from '../models/Organisation';\r\nimport { SiteDetail } from '../models/SiteDetail'\r\nimport { Actors_Names, Names } from '../models/Name'\r\nimport { EmployeeDetails } from '../models/EmployeeDetails';\r\nimport { ActorRole } from '../models/ActorRole';\r\nimport { ApiUsage } from '../models/ApiUsage';\r\nimport { Tag } from '../models/Tag';\r\nimport { PostalAddressFieldClasses } from '../models/PostalAddressFieldClasses';\r\nimport { ContactsPostalAddress } from '../models/ContactsPostalAddress';\r\nimport { Token } from '../models/Token';\r\nimport { ExclusionSites } from '../models/Exclusion_Sites';\r\nimport { CommunicationContactTags } from '../models/CommunicationContactTags';\r\nimport { CommunicationContacts_CommunicationContactTags, PostObjects } from '../models/PostObjects';\r\nimport { Communication } from '../models/Communication';\r\nimport { Credentials, CredentialsBrief } from '../models/Credentials';\r\nimport { BiologicalUserInfo, Name, NonBiologicalName } from '../models/actor/Name';\r\nimport { Router } from '@angular/router';\r\nimport { MessageDisplay } from '../models/messaging/MessageDisplay';\r\nimport { Views_MediaModel } from '../models/InteractionExclusion/Views_MediaModel';\r\nimport { UserDocumentation } from '../models/UserDocumentation';\r\nimport { View_ReinstatementsCompositeModel } from '../models/InteractionExclusion/Reinstatement/View_ReinstatementsCompositeModel';\r\nimport { Actor_Settings } from '../models/Actor_Settings';\r\nimport { Post_InteractionReferenceCompositeModel, View_InteractionReferenceCompositeModel } from '../models/InteractionExclusion/View_InteractionReferenceCompositeModel';\r\nimport { BackgroundColor } from '../models/Globals/BackgroundColor';\r\nimport { FontColor } from '../models/Globals/FontColor';\r\nimport { Positioning } from '../models/Globals/Positioning';\r\nimport { Border } from '../models/Globals/Border';\r\nimport { TagValues } from '../models/Globals/TagValues';\r\nimport { TableProperties } from '../models/Globals/TableProperties';\r\nimport { ClassKeyIds } from '../models/Globals/ClassKeyIds';\r\nimport { DropDownItem, Select } from '../models/controllers/Standard Controllers/Select';\r\nimport { ApiService } from './api.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ActorService {\r\n private _superUser: boolean;\r\n public get SuperUser(): boolean {\r\n return this._superUser;\r\n }\r\n\r\n private _elevatedMode: boolean;\r\n public get ElevatedMode(): boolean {\r\n return this._elevatedMode;\r\n }\r\n\r\n private _unlockedButtons: boolean;\r\n public get UnlockedButtons(): boolean {\r\n return this._unlockedButtons;\r\n }\r\n\r\n public Globals = new Globals();\r\n public acknowledgementVersion: string = \"1_0_0_0\";\r\n\r\n // Rewrite the below to recheck if new records have been created, else users need to reload in order for certain tasks to perform.\r\n // Organisation\r\n public OrganisationSelect: Select;\r\n public OrganisationIds: number[] = [];\r\n public DefaultOrganisationNameCollection: NonBiologicalName[] = [];\r\n\r\n // Sites\r\n public DefaultSiteId;\r\n private _defaultSiteIds: number[] = [];\r\n public get DefaultSiteIds(): number[] {\r\n return this._defaultSiteIds;\r\n }\r\n public SiteSelect: Select;\r\n public SiteIds: number[] = [];\r\n public DefaultSiteNameCollection: NonBiologicalName[] = [];\r\n\r\n public MemWord;\r\n\r\n // Employee/Colleague\r\n public ColleagueSelect: Select;\r\n public ColleagueIds: number[] = [];\r\n public DefaultColleagueCollection: BiologicalUserInfo[] = [];\r\n // End of revision\r\n\r\n public UserOrganisationId: number;\r\n public UserOrganisationName: any = false;\r\n public UserDocumentation: UserDocumentation = new UserDocumentation();\r\n public ReasonOptions: ExclusionReason[] = [];\r\n public SiteGeoLocations: Site[] = [];\r\n public IdentificationDocumentTypes: IdentificationDocument[] = [];\r\n private _actorCompositeModel: ActorCompositeModel = new ActorCompositeModel();\r\n private _honorifics: Honorific[] = [];\r\n private _genders: Gender[] = [];\r\n private _postObjects: PostObjects = new PostObjects();\r\n public readonly Roles: ActorRole[] = [\r\n {ActorRoleId: 1, Name: \"System\", Edited_ActorId: 1, Edited: new Date()},\r\n {ActorRoleId: 2, Name: \"System Administrator\", Edited_ActorId: 1, Edited: new Date()},\r\n {ActorRoleId: 3, Name: \"Bacta Administrator\", Edited_ActorId: 1, Edited: new Date()},\r\n {ActorRoleId: 4, Name: \"Organisation Administrator\", Edited_ActorId: 1, Edited: new Date()},\r\n {ActorRoleId: 5, Name: \"Supervisor\", Edited_ActorId: 1, Edited: new Date()},\r\n {ActorRoleId: 6, Name: \"User\", Edited_ActorId: 1, Edited: new Date()}\r\n ]\r\n\r\n public rolesAvailable: ActorRole[];\r\n\r\n // Notes:\r\n // In the event of reloads, store the smaller data into the session storage so it can be retrieved faster.\r\n private SessionStorageItemExists(name: string): boolean {\r\n if (sessionStorage.getItem(name) === null) {\r\n return false\r\n }\r\n return true;\r\n }\r\n\r\n private ParseStorageItem(name: string): any {\r\n return JSON.parse(sessionStorage.getItem(name));\r\n }\r\n\r\n public ToggleElevationMode(): Promise {\r\n return new Promise(resolve => {\r\n if (this.SuperUser) {\r\n this._elevatedMode = !this._elevatedMode;\r\n if (!this._elevatedMode) {\r\n this._unlockedButtons = false;\r\n }\r\n resolve(this._elevatedMode);\r\n } else {\r\n this._elevatedMode = false;\r\n resolve(false);\r\n }\r\n })\r\n }\r\n\r\n public ToggleLockedButtons(): Promise {\r\n return new Promise(resolve => {\r\n if (this.ElevatedMode) {\r\n this._unlockedButtons = !this._unlockedButtons;\r\n resolve(this._unlockedButtons);\r\n } else {\r\n this._unlockedButtons = false;\r\n resolve(false);\r\n }\r\n })\r\n }\r\n\r\n // Set the generic values used during the system\r\n constructor(\r\n public dsrv: DataService, \r\n private router: Router,\r\n private _api: ApiService,\r\n ) { \r\n \r\n \r\n \r\n }\r\n\r\n public loadGendersToStorage() {\r\n let genderSubscription = this.dsrv.Get(\"api/genders\").subscribe(res => {\r\n genderSubscription.unsubscribe();\r\n this._genders = res;\r\n sessionStorage.setItem('genders', JSON.stringify(this._genders));\r\n })\r\n }\r\n\r\n public loadHonorificsToStorage() {\r\n let honorificSubscription = this.dsrv.Get(\"api/honorifics\").subscribe(res => {\r\n honorificSubscription.unsubscribe();\r\n this._honorifics = res;\r\n sessionStorage.setItem('honorifics', JSON.stringify(this._honorifics));\r\n });\r\n }\r\n\r\n // Note, update this to ActorService across the system so dataService is being used less.\r\n public GetMyUserID() : number {\r\n return +sessionStorage.getItem('BactaUserID');\r\n }\r\n\r\n public IsLoggedUserAdmin(): Promise {\r\n return new Promise(resolve => {\r\n this.GetActorRole().then(value => {\r\n this.GetSitesWithinRadius(101, 1000).subscribe(res => {\r\n this.SiteGeoLocations = res;\r\n }, err => {\r\n this.SiteGeoLocations = [];\r\n })\r\n resolve(value.ActorRoleId <= 3? true: false);\r\n })\r\n })\r\n }\r\n\r\n public GetLoggedUserDetails(): Promise {\r\n return new Promise(resolve => {\r\n this.dsrv.Get(`api/view_employeecompositemodel/${this.dsrv.GetMyUserID()}`).subscribe(res => {\r\n if (res.SettingCollection.some(i => i.SettingKeyId === 61)) {\r\n this.DefaultSiteId = +res.SettingCollection.find(i => i.SettingKeyId === 61).Value;\r\n resolve(true);\r\n } else {\r\n this.DefaultSiteId = null;\r\n resolve(false);\r\n }\r\n if (res.SettingCollection.some(i => i.SettingKeyId === 62)) {\r\n this.MemWord = res.SettingCollection.find(i => i.SettingKeyId === 62).Value;\r\n this.dsrv.memWord = this.MemWord;\r\n resolve(true);\r\n } else {\r\n this.MemWord = null;\r\n this.router.navigate(\r\n ['user/admin/user-panel'],\r\n { queryParams: { uid: res.ActorId } }\r\n );\r\n resolve(false);\r\n }\r\n })\r\n })\r\n }\r\n\r\n public IsLoggedUserBactaAdmin(): Promise {\r\n return new Promise(resolve => {\r\n this.GetActorRole().then(value => {\r\n resolve(value.ActorRoleId <= 3? true: false);\r\n })\r\n });\r\n }\r\n\r\n public IsLoggedUserOrganisationAdmin(): Promise {\r\n return new Promise(resolve => {\r\n this.GetActorRole().then(value => {\r\n resolve(value.ActorRoleId <= 4? true: false);\r\n })\r\n });\r\n }\r\n\r\n public GetActorCompositeModel(): Promise {\r\n return new Promise(resolve => {\r\n this._actorCompositeModel = this.GetActorCompositeModelFromStorage();\r\n if (this._actorCompositeModel) {\r\n if (this._actorCompositeModel.ActorId === this.dsrv.GetMyUserID()) {\r\n this.GetActorRole(this._actorCompositeModel.ActorId).then(value => {\r\n this.SetAvailableUserRoles(value.ActorRoleId);\r\n resolve(this._actorCompositeModel);\r\n });\r\n }\r\n }\r\n\r\n let subscription = this.GetActorCompositeModelForId(this.dsrv.GetMyUserID()).subscribe(res => {\r\n subscription.unsubscribe();\r\n sessionStorage.setItem('_actor_composite_model_', JSON.stringify(res));\r\n this._actorCompositeModel = res;\r\n this.GetActorRole(this._actorCompositeModel.ActorId).then(value => {\r\n this.SetAvailableUserRoles(value.ActorRoleId);\r\n resolve(this._actorCompositeModel);\r\n });\r\n }, error => {\r\n this.router.navigate(['/#'])\r\n });\r\n })\r\n }\r\n\r\n private SetAvailableUserRoles(actorRoleId: number) {\r\n this.rolesAvailable = [];\r\n this.Roles.forEach(role => {\r\n if (role.ActorRoleId >= actorRoleId) {\r\n this.rolesAvailable.push(role);\r\n }\r\n })\r\n }\r\n\r\n public GetActorCompositeModelForId(actorId): Observable {\r\n return this.dsrv.Get('api/View_ActorCompositeModel/' + actorId)\r\n }\r\n\r\n private GetActorCompositeModelFromStorage(): ActorCompositeModel {\r\n return JSON.parse(sessionStorage.getItem('_actor_composite_model_'));\r\n }\r\n\r\n public GetUsersFullName(): string {\r\n if (this._actorCompositeModel.Actor_Names) {\r\n return this._actorCompositeModel.Actor_Names.find(i => i.NameClassKeyId === 1).Name.Name + ' ' + this._actorCompositeModel.Actor_Names.find(i => i.NameClassKeyId === 2).Name.Name;\r\n }\r\n }\r\n\r\n public GetHonorifics() : Promise {\r\n return new Promise(resolve => {\r\n if (this._honorifics.length > 0) {\r\n resolve(this._honorifics);\r\n } else {\r\n let subscription = this.dsrv.Get(\"api/honorifics\").subscribe(res => {\r\n subscription.unsubscribe();\r\n this._honorifics = res;\r\n sessionStorage.setItem('honorifics', JSON.stringify(this._honorifics));\r\n resolve(this._honorifics);\r\n });\r\n }\r\n })\r\n }\r\n\r\n public GetHonorific(HonorificId: number) : Observable {\r\n return this.dsrv.Get(\"api/honorifics/\"+HonorificId);\r\n }\r\n\r\n public GetGenders() : Promise {\r\n return new Promise(resolve => {\r\n if (this._genders.length > 0) {\r\n resolve(this._genders);\r\n } else {\r\n let subscription = this.dsrv.Get(\"api/genders\").subscribe(res => {\r\n subscription.unsubscribe();\r\n this._genders = res;\r\n sessionStorage.setItem('genders', JSON.stringify(this._genders));\r\n resolve(this._genders);\r\n });\r\n }\r\n })\r\n }\r\n\r\n public GetGender(GenderId: number) : Observable {\r\n return this.dsrv.Get(\"api/genders?GenderId=\"+GenderId);\r\n }\r\n\r\n public GetEmployeeIds(limit: number, offset: number, organisationid?: number, tagIds?: number[]): Promise {\r\n return new Promise(resolve => {\r\n let postObject: PostObjects = new PostObjects();\r\n postObject.Model.Limit = limit;\r\n postObject.Model.Offset = offset;\r\n\r\n if (tagIds && tagIds.length > 0) {\r\n postObject.Model.TagIdCollection = tagIds;\r\n postObject.Model.TagIdLookupOperator = 'Exists';\r\n } else {\r\n postObject.Model.TagIdCollection = [1];\r\n postObject.Model.TagIdLookupOperator = 'NotExists';\r\n }\r\n if (organisationid) {\r\n postObject.Model.OrganisationParameters.OrganisationIdCollection.push(organisationid);\r\n }\r\n\r\n let subscription = this.dsrv.Post('api/view_employeeids', postObject.Model).subscribe(res => {\r\n subscription.unsubscribe();\r\n resolve(res);\r\n });\r\n });\r\n }\r\n\r\n public GetEmployeeIdsForSite(limit: number, offset: number, siteid: number): Promise {\r\n return new Promise(resolve => {\r\n let postObject: PostObjects = new PostObjects();\r\n postObject.Model.Limit = limit;\r\n postObject.Model.Offset = offset;\r\n postObject.Model.SiteParameters.SiteIdCollection.push(siteid);\r\n\r\n let subscription = this.dsrv.Post('api/view_employeeids', postObject.Model).subscribe(res => {\r\n subscription.unsubscribe();\r\n resolve(res);\r\n });\r\n });\r\n }\r\n\r\n // DO NOT USE - USE ANY OF THE FUNCTIONS THAT CALL GetActorNames()\r\n public GetActorNameId(actorid: number): Promise {\r\n return new Promise(resolve => {\r\n let subscription = this.dsrv.Get('api/Actors_Names?Actors_Names.actorId=' + actorid).subscribe(res => {\r\n subscription.unsubscribe(); \r\n resolve(res);\r\n });\r\n });\r\n }\r\n\r\n // DO NOT USE - USE ANY OF THE FUNCTIONS THAT CALL GetActorNames()\r\n public GetActorName(nameid: number): Promise {\r\n return new Promise(resolve => {\r\n let subscription = this.dsrv.Get('api/names?Name_.nameId=' + nameid).subscribe(res => {\r\n subscription.unsubscribe();\r\n resolve(res.Name);\r\n });\r\n });\r\n }\r\n\r\n public GetBiologicalName(idCollection: number[]): Promise {\r\n return new Promise(resolve => {\r\n let subscription = this.GetActorNames(idCollection).subscribe(res => {\r\n subscription.unsubscribe();\r\n let returnObject: BiologicalUserInfo[] = [];\r\n res.forEach(nameCollection => {\r\n var name = new BiologicalUserInfo();\r\n name.ActorId = nameCollection.ActorId;\r\n name.Forename = nameCollection.NameCollection.some(i => i.NameClassKeyId === 1)? nameCollection.NameCollection.find(i => i.NameClassKeyId === 1).Name: '';\r\n name.Surname = nameCollection.NameCollection.some(i => i.NameClassKeyId === 2)? nameCollection.NameCollection.find(i => i.NameClassKeyId === 2).Name: '';\r\n if (nameCollection.ActorRoleCollection) {\r\n name.ActorRoleCollection = nameCollection.ActorRoleCollection[0];\r\n }\r\n returnObject.push(name);\r\n });\r\n resolve(returnObject);\r\n });\r\n });\r\n }\r\n\r\n public GetActorNames(idCollection: number[]): Observable {\r\n /* let sendObject = new PostObjects();\r\n sendObject.AssociatedActorNameCompositeModel.AssociatedActorIdCollection = idCollection; */\r\n return this.dsrv.Post('api/view_PublicActorCompositeModel', idCollection);\r\n }\r\n\r\n public GetSiteIds(limit: number, offset: number, organisationid?: number, tagIds?: number[]): Promise {\r\n return new Promise(resolve => {\r\n let postObject: PostObjects = new PostObjects();\r\n postObject.Model.Limit = limit;\r\n postObject.Model.Offset = offset;\r\n \r\n if (organisationid) {\r\n postObject.Model.OrganisationParameters.OrganisationIdCollection.push(organisationid);\r\n }\r\n \r\n if (tagIds) {\r\n if (tagIds.length > 0) {\r\n postObject.Model.SiteParameters.TagIdCollection = tagIds;\r\n postObject.Model.SiteParameters.TagIdLookupOperator = 'Exists';\r\n } else {\r\n postObject.Model.SiteParameters.TagIdCollection.push(1);\r\n postObject.Model.SiteParameters.TagIdLookupOperator = 'NotExists';\r\n }\r\n } else {\r\n postObject.Model.SiteParameters.TagIdCollection.push(1);\r\n postObject.Model.SiteParameters.TagIdLookupOperator = 'NotExists';\r\n }\r\n let subscription = this.dsrv.Post('api/View_SiteIds', postObject.Model).subscribe(res => {\r\n subscription.unsubscribe();\r\n if (res.length === 1000) {\r\n this.GetSiteIds(0, postObject.Model.Offset+1000).then(value => {\r\n value.forEach(id => {\r\n this.SiteIds.push(id);\r\n })\r\n resolve(this.SiteIds);\r\n }) \r\n } else {\r\n resolve(res);\r\n }\r\n });\r\n });\r\n }\r\n\r\n public GetSiteNameCollection(idCollection: number[]): Promise {\r\n return new Promise(resolve => {\r\n let subscription = this.GetActorNames(idCollection).subscribe(res => {\r\n subscription.unsubscribe();\r\n let returnObject: NonBiologicalName[] = [];\r\n res.forEach(nameCollection => {\r\n var obj: NonBiologicalName = new NonBiologicalName();\r\n obj.ActorId = nameCollection.ActorId;\r\n obj.Name = nameCollection.NameCollection.find(i => i.NameClassKeyId === 6).Name\r\n returnObject.push(obj);\r\n });\r\n resolve(returnObject);\r\n });\r\n });\r\n }\r\n\r\n public GetOrganisationIds(limit, offset, tagIds?: number[]): Promise {\r\n return new Promise(resolve => {\r\n\r\n let postObject: PostObjects = new PostObjects();\r\n postObject.Model.Limit = limit;\r\n postObject.Model.Offset = offset;\r\n if (tagIds && tagIds.length > 0) {\r\n postObject.Model.OrganisationParameters.TagIdCollection = tagIds;\r\n postObject.Model.OrganisationParameters.TagIdLookupOperator = 'Exists';\r\n postObject.Model.TagIdCollection = [1];\r\n postObject.Model.TagIdLookupOperator = 'Exists';\r\n } else {\r\n postObject.Model.OrganisationParameters.TagIdCollection = [1];\r\n postObject.Model.OrganisationParameters.TagIdLookupOperator = 'NotExists';\r\n postObject.Model.TagIdCollection = [1];\r\n postObject.Model.TagIdLookupOperator = 'NotExists';\r\n }\r\n let subscription = this.dsrv.Post('api/View_OrganisationIds', postObject.Model).subscribe(res => {\r\n subscription.unsubscribe();\r\n resolve(res);\r\n });\r\n });\r\n }\r\n\r\n public GetOrganisationIdsDBSync(limit, offset): Promise {\r\n return new Promise(resolve => {\r\n let postObject: PostObjects = new PostObjects();\r\n postObject.Model.Limit = limit;\r\n postObject.Model.Offset = offset;\r\n\r\n // Remove Site Parameters from the DbSync version of this call\r\n delete postObject.Model.SiteParameters;\r\n postObject.Model.OrganisationParameters.TagIdCollection.push(1);\r\n postObject.Model.OrganisationParameters.TagIdLookupOperator = 'NotExists';\r\n let subscription = this.dsrv.Post('api/View_OrganisationIdsDbSync', postObject.Model).subscribe(res => {\r\n subscription.unsubscribe();\r\n resolve(res);\r\n })\r\n })\r\n }\r\n\r\n public GetOrganisationNameCollection(idCollection: number[]): Promise {\r\n return new Promise(resolve => {\r\n let subscription = this.GetActorNames(idCollection).subscribe(res => {\r\n subscription.unsubscribe();\r\n let returnObject: NonBiologicalName[] = [];\r\n res.forEach(nameCollection => {\r\n var obj: NonBiologicalName = new NonBiologicalName();\r\n obj.ActorId = nameCollection.ActorId;\r\n obj.Name = nameCollection.NameCollection.find(i => i.NameClassKeyId === 5).Name\r\n returnObject.push(obj);\r\n });\r\n resolve(returnObject);\r\n });\r\n });\r\n }\r\n\r\n public GetSitesWithinRadius(siteActorId: number, radius: number): Observable {\r\n return this.dsrv.Get('api/View_SitesWithinRadiusCompositeModel?ActorId='+siteActorId+'&Radius='+radius);\r\n }\r\n\r\n public GetActorRole(actorid?: number): Promise {\r\n let id = actorid? actorid: this.dsrv.GetMyUserID();\r\n return new Promise(resolve => {\r\n let subscription = this.dsrv.Get('api/Actors_ActorRoles?Actor_ActorRole.actorId=' + id).subscribe(res => {\r\n subscription.unsubscribe();\r\n resolve({ActorRoleId: res[0].ActorRoleId, Name: this.Roles.find(i => i.ActorRoleId === res[0].ActorRoleId).Name, Edited: new Date(), Edited_ActorId: 0});\r\n });\r\n });\r\n }\r\n\r\n public GetActorRoleSubscription(actorid: number): Observable {\r\n return this.dsrv.Get('api/Actors_ActorRoles?Actor_ActorRole.actorId=' + actorid)\r\n }\r\n\r\n public GetUnreadMessageCount(): Promise {\r\n return new Promise(resolve => {\r\n let postObject: PostObjects = new PostObjects();\r\n postObject.CommunicationAccountMessageCompositeModelController.TagIdCollection.push(3);\r\n postObject.CommunicationAccountMessageCompositeModelController.Limit = 10;\r\n postObject.CommunicationAccountMessageCompositeModelController.Offset = 0;\r\n postObject.CommunicationAccountMessageCompositeModelController.Start = new Date('2020-06-01');\r\n postObject.CommunicationAccountMessageCompositeModelController.End = new Date();\r\n postObject.CommunicationAccountMessageCompositeModelController.TagIdLookupOperator = \"NotExists\";\r\n this.PostCommunicationAccountMessageCompositeModelController(postObject.CommunicationAccountMessageCompositeModelController).subscribe(res => {\r\n var returnObject = new MessageDisplay();\r\n if (res.length > 0) {\r\n returnObject.HasUnreadMesssages = true;\r\n returnObject.MessageCount = res.length;\r\n }\r\n resolve(returnObject);\r\n })\r\n })\r\n }\r\n\r\n public PostCommunicationAccountMessageCompositeModelController(object: any): Observable {\r\n return this.dsrv.Post('api/View_CommunicationAccountMessageCompositeModel/Query', object)\r\n }\r\n\r\n public GetMyOrganisationId(): Promise {\r\n return new Promise(resolve => {\r\n let subscription = this.GetMyOrganisations().subscribe(res => {\r\n subscription.unsubscribe();\r\n resolve(res[0].Organisations_ActorId);\r\n })\r\n })\r\n }\r\n\r\n public GetMyOrganisations(): Observable {\r\n return this.dsrv.Get('api/View_EmployeeOrganisations?Views_EmployeeOrganisationsModel.employees_actorId='+this.dsrv.GetMyUserID());\r\n }\r\n\r\n public GetSiteCompositeModel(siteid): Observable {\r\n return this.dsrv.Get('api/View_SiteCompositeModel/' + siteid);\r\n }\r\n\r\n public GetMediaForInteraction(interactionId): Promise {\r\n return new Promise(resolve => {\r\n let subscription = this.GetInteractionMedia(interactionId).subscribe(res => {\r\n subscription.unsubscribe();\r\n resolve(res);\r\n }, error => {\r\n var media = new Views_MediaModel();\r\n media.MediaClassKeyId = 4;\r\n media.MediaId = 80;\r\n resolve(media);\r\n })\r\n })\r\n }\r\n\r\n public GetInteractionMedia(interactionId: number): Observable {\r\n return this.dsrv.Get('api/view_interactionimages/' + interactionId)\r\n }\r\n\r\n // Default loading method\r\n GetUserSettings(): Promise {\r\n return new Promise(resolve => {\r\n this.IsLoggedUserAdmin().then(value => {\r\n this._superUser = true;\r\n })\r\n\r\n this.GetMyOrganisationId().then(value => {\r\n let orgValues: boolean;\r\n let siteValues: boolean;\r\n let colleagueValues: boolean;\r\n let reason: boolean;\r\n\r\n // OrganisationId\r\n this.UserOrganisationId = value;\r\n \r\n let organisationSubscription = this.GetOrganisation(this.UserOrganisationId).subscribe(res => {\r\n organisationSubscription.unsubscribe();\r\n this.UserOrganisationName = res.Name;\r\n }, err => {\r\n organisationSubscription.unsubscribe();\r\n this.UserOrganisationName = '';\r\n })\r\n\r\n // Organisation Settings\r\n this.GetOrganisationIdsDBSync(0, 0).then(value => {\r\n this.OrganisationIds = value;\r\n this.GetOrganisationNameCollection(value).then(value => {\r\n value.sort((a, b) => {\r\n return a.Name.localeCompare(b.Name);\r\n })\r\n this.PopulateOrganisationSelect(value);\r\n orgValues = true;\r\n if (orgValues && reason) {\r\n resolve(true);\r\n }\r\n })\r\n })\r\n\r\n let defaultSiteSubscription = this.GetEmployeeDefaultSites().subscribe(res => {\r\n defaultSiteSubscription.unsubscribe();\r\n res.forEach(site => {\r\n this._defaultSiteIds.push(site.Sites_ActorId);\r\n });\r\n }, err => {\r\n defaultSiteSubscription.unsubscribe();\r\n this._defaultSiteIds = [];\r\n })\r\n\r\n // Site Settings\r\n this.GetSiteIds(0, 0).then(value => {\r\n this.SiteIds = value;\r\n this.GetLoggedUserDetails();\r\n this.GetSiteNameCollection(value).then(value => {\r\n value.sort((a, b) => {\r\n return a.Name.localeCompare(b.Name);\r\n })\r\n this.DefaultSiteNameCollection = value;\r\n this.PopulateDefaultEmployeeSitesSelect();\r\n siteValues = true;\r\n })\r\n })\r\n\r\n\r\n // Colleague Settings \r\n this.GetEmployeeIds(0, 0).then(value => {\r\n this.ColleagueIds = value;\r\n this.GetBiologicalName(value).then(value => {\r\n value.sort((a, b) => {\r\n if (a.Surname > b.Surname) {\r\n return 1;\r\n }\r\n\r\n if (a.Surname === b.Surname) {\r\n if (a.Forename > b.Forename) {\r\n return 1;\r\n } else {\r\n return -1;\r\n }\r\n } else {\r\n return -1;\r\n }\r\n return 0\r\n })\r\n\r\n this.DefaultColleagueCollection = value;\r\n this.FillColleagueSelect();\r\n colleagueValues = true;\r\n })\r\n })\r\n\r\n // Identification Documents\r\n this.GetIdentificationDocuments().subscribe(res => {\r\n this.IdentificationDocumentTypes = res;\r\n })\r\n\r\n // Exclusion Reason Options\r\n let exclusionReasonOptionsSubscription = this.ExclusionReasonOptions().subscribe(res => {\r\n exclusionReasonOptionsSubscription.unsubscribe();\r\n this.ReasonOptions = res;\r\n\r\n reason = true;\r\n if (orgValues && reason) {\r\n resolve(true);\r\n }\r\n }, err => {\r\n exclusionReasonOptionsSubscription.unsubscribe();\r\n });\r\n })\r\n })\r\n }\r\n\r\n private PopulateOrganisationSelect(organisationCollection: NonBiologicalName[]) {\r\n this.DefaultOrganisationNameCollection = organisationCollection;\r\n var ddItems: DropDownItem[] = [];\r\n organisationCollection.forEach(organisation => {\r\n ddItems.push({Key: organisation.ActorId, Value: organisation.Name});\r\n })\r\n this.OrganisationSelect = new Select(0, 'orgnisationSelect', 'Organisation', 'ddOrganisation',ddItems);\r\n this.OrganisationSelect.KeySelected = ddItems[0].Key;\r\n }\r\n\r\n public PopulateDefaultEmployeeSitesSelect(): Promise {\r\n return new Promise(resolve => {\r\n let ddItems: DropDownItem[] = [];\r\n this.DefaultSiteNameCollection.forEach(site => {\r\n if (this.DefaultSiteIds.some(i => i === site.ActorId)) {\r\n ddItems.push({Key: site.ActorId, Value: site.Name});\r\n }\r\n })\r\n this.SiteSelect = new Select(0, 'siteSelect', 'Site', 'ddSiteSelect', ddItems);\r\n if (ddItems.length > 0) {\r\n this.SiteSelect.KeySelected = ddItems[0].Key;\r\n resolve(true);\r\n } else {\r\n this.GetSiteNameCollection(this.DefaultSiteIds).then(value => {\r\n value.forEach(site => {\r\n ddItems.push({Key: site.ActorId, Value: site.Name});\r\n this.SiteSelect.KeySelected = ddItems[0].Key;\r\n resolve(true);\r\n })\r\n })\r\n }\r\n })\r\n }\r\n\r\n public PopulateSiteSelectForOrgansiationId(organisationId: number): Promise {\r\n return new Promise(resolve => {\r\n this.PopulateSiteDropDown(organisationId).then(value => {\r\n var ddItems: DropDownItem[] = [];\r\n value.forEach(site => {\r\n ddItems.push({Key: site.ActorId, Value: site.Name});\r\n })\r\n this.SiteSelect = new Select(0, 'siteSelect', 'Site', 'ddSiteSelect', ddItems);\r\n this.SiteSelect.KeySelected = ddItems[0].Key;\r\n resolve(true);\r\n });\r\n })\r\n }\r\n\r\n \r\n private PopulateSiteDropDown(organisationFilterId): Promise {\r\n return new Promise(resolve => {\r\n this.GetSiteIds(10000, 0, organisationFilterId).then(value => {\r\n let returnSites = [];\r\n let missingIds: number[] = [];\r\n value.forEach(id => {\r\n if (this.DefaultSiteNameCollection.some(i => i.ActorId === id)) {\r\n var site = this.DefaultSiteNameCollection.find(i => i.ActorId === id)\r\n returnSites.push({ActorId: site.ActorId, Name: site.Name});\r\n } else {\r\n missingIds.push(id)\r\n }\r\n })\r\n \r\n if (missingIds.length > 0) {\r\n this.GetSiteNameCollection(missingIds).then(value => {\r\n value.forEach(site => {\r\n returnSites.push({ActorId: site.ActorId, Name: site.Name})\r\n })\r\n Sort();\r\n resolve(returnSites);\r\n })\r\n } else {\r\n Sort();\r\n resolve(returnSites);\r\n }\r\n \r\n function Sort() {\r\n returnSites.sort((a, b) => {\r\n let x = a.Name.localeCompare(b.Name);\r\n return x;\r\n });\r\n }\r\n })\r\n })\r\n }\r\n\r\n public FillColleagueSelect() {\r\n var ddItems: DropDownItem[] = [];\r\n this.DefaultColleagueCollection.forEach(colleague => {\r\n ddItems.push({Key: colleague.ActorId, Value: colleague.Forename + ' ' + colleague.Surname});\r\n })\r\n this.ColleagueSelect = new Select(0, 'colleagueSelect', 'Colleague', 'ddColleagueSelect', ddItems);\r\n this.ColleagueSelect.KeySelected = this.GetMyUserID();\r\n }\r\n\r\n\r\n public PopulateColleagueSelectForSiteId(siteId: number): Promise {\r\n return new Promise(resolve => {\r\n this.PopulateEmployeeDropDown(siteId).then(value => {\r\n var ddItems: DropDownItem[] = [];\r\n value.forEach(employee => {\r\n ddItems.push({Key: employee.ActorId, Value: employee.Forename + ' ' + employee.Surname});\r\n })\r\n this.ColleagueSelect = new Select(0, 'colleagueSelect', 'Colleague', 'ddColleagueSelect', ddItems);\r\n this.ColleagueSelect.KeySelected = this.GetMyUserID();\r\n resolve(true);\r\n })\r\n })\r\n }\r\n\r\n private PopulateEmployeeDropDown(siteFilterId): Promise {\r\n return new Promise(resolve => {\r\n this.GetEmployeeIdsForSite(10000, 0, siteFilterId).then(value => {\r\n let returnEmployees = [];\r\n let missingIds: number[] = [];\r\n value.forEach(id => {\r\n if (this.DefaultColleagueCollection.some(i => i.ActorId === id)) {\r\n var employee = this.DefaultColleagueCollection.find(i => i.ActorId === id)\r\n returnEmployees.push({ActorId: employee.ActorId, Forename: employee.Forename, Surname: employee.Surname});\r\n } else {\r\n missingIds.push(id)\r\n }\r\n })\r\n \r\n if (missingIds.length > 0) {\r\n this.GetBiologicalName(missingIds).then(value => {\r\n value.forEach(employee => {\r\n returnEmployees.push({ActorId: employee.ActorId, Forename: employee.Forename, Surname: employee.Surname})\r\n })\r\n SortEmployees();\r\n resolve(returnEmployees);\r\n })\r\n } else {\r\n SortEmployees();\r\n resolve(returnEmployees);\r\n }\r\n \r\n function SortEmployees() {\r\n returnEmployees.sort((a, b) => {\r\n let x = a.Forename.localeCompare(b.Forename);\r\n if (x == 0) {\r\n return a.Surname.localeCompare(b.Surname);\r\n }\r\n return x;\r\n })\r\n }\r\n })\r\n })\r\n }\r\n\r\n PopulateColleagueDropDownForOrganisationId(organsiationId: number): Promise {\r\n return new Promise(resolve => {\r\n this.PopulateEmployeeDropDownWithOrganisationId(organsiationId).then(value => {\r\n var ddItems: DropDownItem[] = [];\r\n value.forEach(employee => {\r\n ddItems.push({Key: employee.ActorId, Value: employee.Forename + ' ' + employee.Surname});\r\n })\r\n this.ColleagueSelect = new Select(0, 'colleagueSelect', 'Colleague', 'ddColleagueSelect', ddItems);\r\n this.ColleagueSelect.KeySelected = this.GetMyUserID();\r\n resolve(true);\r\n })\r\n })\r\n }\r\n\r\n private PopulateEmployeeDropDownWithOrganisationId(organisationId): Promise {\r\n return new Promise(resolve => {\r\n this.GetEmployeeIds(0, 0, organisationId).then(value => {\r\n let returnEmployees = [];\r\n let missingIds: number[] = [];\r\n value.forEach(id => {\r\n if (this.DefaultColleagueCollection.some(i => i.ActorId === id)) {\r\n var employee = this.DefaultColleagueCollection.find(i => i.ActorId === id)\r\n returnEmployees.push({ActorId: employee.ActorId, Forename: employee.Forename, Surname: employee.Surname});\r\n } else {\r\n missingIds.push(id)\r\n }\r\n })\r\n \r\n if (missingIds.length > 0) {\r\n this.GetBiologicalName(missingIds).then(value => {\r\n value.forEach(employee => {\r\n returnEmployees.push({ActorId: employee.ActorId, Forename: employee.Forename, Surname: employee.Surname})\r\n })\r\n SortEmployees();\r\n resolve(returnEmployees);\r\n })\r\n } else {\r\n SortEmployees();\r\n resolve(returnEmployees);\r\n }\r\n \r\n function SortEmployees() {\r\n returnEmployees.sort((a, b) => {\r\n let x = a.Forename.localeCompare(b.Forename);\r\n if (x == 0) {\r\n return a.Surname.localeCompare(b.Surname);\r\n }\r\n return x;\r\n })\r\n }\r\n })\r\n })\r\n }\r\n\r\n GetAgreementDocumentation(): Promise {\r\n return new Promise(resolve => {\r\n let privacyPolicy: boolean;\r\n let summaryOfPrivacyPolicy: boolean;\r\n let terms: boolean;\r\n let summaryOfTerms: boolean;\r\n let ipsosMori: boolean;\r\n\r\n // Privacy Policy\r\n // If Privacy Policy fails, we need to check if the user is an Organisation Admin and take them to the Site Setup page.\r\n let privacyPolicyVersionSubscription = this.GetDocumentVersions(this.UserDocumentation.PrivacyPolicy).subscribe(res => {\r\n privacyPolicyVersionSubscription.unsubscribe();\r\n\r\n SortDocumentVersions(res);\r\n this.UserDocumentation.PrivacyPolicyVersion = res[res.length-1];\r\n\r\n let privacyPolicyHTMLSubscription = this.GetDocument(this.UserOrganisationId, this.UserDocumentation.PrivacyPolicy, this.UserDocumentation.PrivacyPolicyVersion).subscribe(res => {\r\n this.UserDocumentation.PrivacyPolicyHTML = res;\r\n privacyPolicyHTMLSubscription.unsubscribe();\r\n\r\n privacyPolicy = true;\r\n if (privacyPolicy && summaryOfPrivacyPolicy && terms && summaryOfTerms && ipsosMori) {\r\n resolve(true);\r\n }\r\n }, err => {\r\n privacyPolicyHTMLSubscription.unsubscribe();\r\n resolve(false);\r\n })\r\n\r\n }, err => {\r\n privacyPolicyVersionSubscription.unsubscribe();\r\n resolve(false);\r\n })\r\n \r\n // Summary of Privacy Policy\r\n let summaryOfPrivacyPolicyVersionSubscription = this.GetDocumentVersions(this.UserDocumentation.SummaryOfPrivacyPolicy).subscribe(res => {\r\n summaryOfPrivacyPolicyVersionSubscription.unsubscribe();\r\n\r\n SortDocumentVersions(res)\r\n this.UserDocumentation.SummaryOfPrivacyPolicyVersion = res[res.length-1];\r\n\r\n let summaryOfPrivacyPolicyHTMLSubscription = this.GetDocument(this.UserOrganisationId, this.UserDocumentation.SummaryOfPrivacyPolicy, this.UserDocumentation.SummaryOfPrivacyPolicyVersion).subscribe(res => {\r\n this.UserDocumentation.SummaryOfPrivacyPolicyHTML = res;\r\n summaryOfPrivacyPolicyHTMLSubscription.unsubscribe();\r\n\r\n summaryOfPrivacyPolicy = true;\r\n if (privacyPolicy && summaryOfPrivacyPolicy && terms && summaryOfTerms && ipsosMori) {\r\n resolve(true);\r\n }\r\n }, err => {\r\n summaryOfPrivacyPolicyHTMLSubscription.unsubscribe();\r\n resolve(false);\r\n })\r\n }, err => {\r\n summaryOfPrivacyPolicyVersionSubscription.unsubscribe();\r\n resolve(false);\r\n })\r\n\r\n // Summary of Terms\r\n let summaryOfTermsVersionSubscription= this.GetDocumentVersions(this.UserDocumentation.SummaryOfTerms).subscribe(res => {\r\n summaryOfTermsVersionSubscription.unsubscribe();\r\n\r\n SortDocumentVersions(res);\r\n this.UserDocumentation.SummaryOfTermsVersion = res[res.length-1];\r\n\r\n let summaryOfTermsHTMLSubscription = this.GetDocument(this.UserOrganisationId, this.UserDocumentation.SummaryOfTerms, this.UserDocumentation.SummaryOfTermsVersion).subscribe(res => {\r\n this.UserDocumentation.SummaryOfTermsHTML = res;\r\n summaryOfTermsHTMLSubscription.unsubscribe();\r\n\r\n summaryOfTerms = true\r\n if (privacyPolicy && summaryOfPrivacyPolicy && terms && summaryOfTerms && ipsosMori) {\r\n resolve(true);\r\n }\r\n }, err => {\r\n summaryOfTermsHTMLSubscription.unsubscribe();\r\n resolve(false);\r\n })\r\n }, err => {\r\n summaryOfTermsVersionSubscription.unsubscribe();\r\n resolve(false);\r\n })\r\n\r\n\r\n // Terms\r\n let termsVersionSubscription = this.GetDocumentVersions(this.UserDocumentation.Terms).subscribe(res => {\r\n termsVersionSubscription.unsubscribe();\r\n\r\n SortDocumentVersions(res);\r\n this.UserDocumentation.TermsVersion = res[res.length-1];\r\n\r\n let termsHTMLSubscription = this.GetDocument(this.UserOrganisationId, this.UserDocumentation.Terms, this.UserDocumentation.TermsVersion).subscribe(res => {\r\n this.UserDocumentation.TermsHTML = res;\r\n termsHTMLSubscription.unsubscribe();\r\n\r\n terms = true;\r\n if (privacyPolicy && summaryOfPrivacyPolicy && terms && summaryOfTerms && ipsosMori) {\r\n resolve(true);\r\n }\r\n }, err => {\r\n termsHTMLSubscription.unsubscribe();\r\n resolve(false);\r\n })\r\n }, err => {\r\n termsVersionSubscription.unsubscribe();\r\n resolve(false);\r\n })\r\n\r\n // Ipsos Mori\r\n let ipsosMoriVersionSubscription = this.GetGenericDocumentVersion(this.UserDocumentation.IpsosMori).subscribe(res => {\r\n ipsosMoriVersionSubscription.unsubscribe();\r\n\r\n SortDocumentVersions(res);\r\n this.UserDocumentation.IpsosMoriVersion = res[res.length-1];\r\n\r\n let ipsosMoriHTMLSubscription = this.GetGenericDocument(this.UserDocumentation.IpsosMori, this.UserDocumentation.IpsosMoriVersion).subscribe(res => {\r\n this.UserDocumentation.IpsosMoriHTML = res;\r\n ipsosMoriHTMLSubscription.unsubscribe();\r\n\r\n ipsosMori = true;\r\n if (privacyPolicy && summaryOfPrivacyPolicy && terms && summaryOfTerms && ipsosMori) {\r\n resolve(true);\r\n }\r\n }, err => {\r\n ipsosMoriHTMLSubscription.unsubscribe();\r\n resolve(false);\r\n })\r\n }, err => {\r\n ipsosMoriVersionSubscription.unsubscribe();\r\n resolve(false);\r\n })\r\n });\r\n\r\n function SortDocumentVersions(documentArray) {\r\n documentArray.sort((n1, n2) => {\r\n if (n1 > n2) {\r\n return 1;\r\n }\r\n if (n1 < n2) {\r\n return -1;\r\n }\r\n return 0;\r\n })\r\n }\r\n }\r\n\r\n public GetIdentificationDocuments() : Observable {\r\n return this.dsrv.Get(\"api/IdentificationDocumentKeys\");\r\n }\r\n\r\n public GetReinstatementModel(interactionId: number): Promise {\r\n return new Promise(resolve => {\r\n let subscription = this._api.getReinstatements(interactionId).subscribe(res => {\r\n subscription.unsubscribe();\r\n resolve(res);\r\n }, err => {\r\n subscription.unsubscribe()\r\n resolve(new View_ReinstatementsCompositeModel(null, [], null, null, null, null, null, null, null));\r\n })\r\n })\r\n }\r\n\r\n // public AddReinstatement(reinstate: Reinstate) {\r\n // return this.dsrv.Post(\"api/view_reinstatementscompositemodel\", reinstate)\r\n // }\r\n\r\n // public GetReinstatements(interactionId: number): Observable {\r\n // return this.dsrv.Get('api/view_reinstatementscompositemodel?Views_ExclusionAssetModel.exclusions_InteractionId=' + interactionId);\r\n // }\r\n\r\n public InteractionHasReinstated(interactionId: number): Promise {\r\n return new Promise(resolve => {\r\n let subscription = this.dsrv.Get('view_reinstatementscompositemodel?Views_ExclusionAssetModel.interactionId=' + interactionId).subscribe(res => {\r\n subscription.unsubscribe();\r\n resolve(true);\r\n }, err => {\r\n subscription.unsubscribe();\r\n resolve(false);\r\n })\r\n })\r\n }\r\n\r\n public GetExclusionIds(sendObject: any): Observable {\r\n return this.dsrv.Post('api/view_exclusioninteractionids', sendObject);\r\n }\r\n\r\n public GetBreach(interactionid: number): Promise {\r\n return new Promise(resolve => {\r\n let subscription = this._api.getBreachCompositeModel(interactionid).subscribe(res => {\r\n subscription.unsubscribe();\r\n console.log('*****************',res);\r\n res.AssociatedActorId = res.AssociatedActorIdCollection[0];\r\n resolve(res);\r\n })\r\n })\r\n }\r\n\r\n // private GetBreachCompositeModel(interactionid: number): Observable {\r\n // return this.dsrv.Get('api/View_ExclusionBreachesCompositeModel?Views_ExclusionAssetModel.interactionId=' + interactionid);\r\n // }\r\n\r\n public GetActorSettings(actorid: number): Observable {\r\n return this.dsrv.Get('api/Actors_Settings?Actor_Setting.actorId=' + actorid)\r\n }\r\n \r\n public PostActorSetting(actorid: number, setting: Actor_Settings): Observable {\r\n let obj = {ActorId: actorid, Settings: [setting.Settings]};\r\n return this.dsrv.Post('api/Actors_Settings', obj);\r\n }\r\n\r\n public GetReinstatementIds(sendObject: any): Observable {\r\n return this.dsrv.Post('api/view_reinstatementinteractionids', sendObject)\r\n }\r\n\r\n public GetInteractionIds(sendObject: any): Observable {\r\n return this.dsrv.Post('api/View_InteractionIds', sendObject);\r\n }\r\n\r\n public GetCrimeAlertIds(sendObject: any): Observable {\r\n return this.dsrv.Post('api/view_crimealertinteractionids', sendObject);\r\n }\r\n\r\n public GetFireCheckIds(sendObject: any): Observable {\r\n return this.dsrv.Post('api/view_firecheckinteractionids', sendObject);\r\n }\r\n\r\n public GetToiletCheckIds(sendObject: any): Observable {\r\n return this.dsrv.Post('api/view_wccheckinteractionids', sendObject);\r\n }\r\n\r\n public GetCleaningCheckIds(sendObject: any): Observable {\r\n return this.dsrv.Post('api/view_cleaningcheckinteractionids', sendObject);\r\n }\r\n\r\n public GetMachinePayoutIds(sendObject: any): Observable {\r\n return this.dsrv.Post('api/view_machinepayoutinteractionids', sendObject);\r\n }\r\n\r\n public GetMachineServiceVisitIds(sendObject: any): Observable {\r\n return this.dsrv.Post('api/view_machineserviceinteractionids', sendObject);\r\n }\r\n\r\n public GetStatutoryVisitIds(sendObject: any): Observable {\r\n return this.dsrv.Post('api/view_statutoryvisitinteractionids', sendObject);\r\n }\r\n\r\n public GetAgeVerificationIds(sendObject: any): Observable {\r\n return this.dsrv.Post('api/view_ageverificationinteractionids', sendObject);\r\n }\r\n\r\n public GetOrganisation(actorid: number): Observable {\r\n return this.dsrv.Get('api/View_OrganisationCompositeModel/' + actorid);\r\n }\r\n\r\n public PostOrganisation(organisation: Organisation): Observable {\r\n return this.dsrv.Post('api/View_OrganisationCompositeModel/', organisation);\r\n }\r\n\r\n public GetInteractionReferenceCompositeModel(postObject: Post_InteractionReferenceCompositeModel): Observable {\r\n return this.dsrv.Post('api/view_InteractionReferenceCompositeModel', postObject);\r\n }\r\n\r\n public GetUserOrganisationDataProtectionOfficer(): Promise {\r\n return new Promise(resolve => {\r\n // Default Organisation Settings \r\n let orgSubscription = this.GetOrganisation(this.UserOrganisationId).subscribe(res => {\r\n orgSubscription.unsubscribe();\r\n if (res.SettingCollection.some(i => i.SettingKeyId === 23)) {\r\n this.GetBiologicalName([+res.SettingCollection.find(i => i.SettingKeyId === 23).Value]).then(value => {\r\n resolve(value[0].Forename + ' ' + value[0].Surname);\r\n })\r\n } else {\r\n resolve(this.GetUsersFullName());\r\n }\r\n })\r\n })\r\n }\r\n\r\n // ******************************************************************************\r\n // ******************************************************************************\r\n // Anything below here is redundent and needs a refactor. Working on this as I go.\r\n\r\n /*public GetMySites() : Observable {\r\n return this.dsrv.Get(\"api/View_EmployeeSites?Views_EmployeeSitesModel.employees_ActorId=\"+this.dsrv.GetMyUserID());\r\n }*/\r\n\r\n public GetMySites() : Observable {\r\n return this.dsrv.Get(\"api/View_ActorsSites?Views_ActorsSitesModel.actorId=\"+this.dsrv.GetMyUserID());\r\n }\r\n\r\n public GetSiteName(sites_ActorId: number): Observable {\r\n return this.dsrv.Get(\"api/View_EmployeeSites?Views_EmployeeSitesModel.employees_ActorId=\" + this.dsrv.GetMyUserID() + \"&Views_EmployeeSitesModel.sites_ActorId=\" + sites_ActorId);\r\n }\r\n\r\n public GetEmployeeDefaultSites(): Observable {\r\n return this.dsrv.Get(\"api/View_EmployeeSites?Views_EmployeeSitesModel.employees_ActorId=\" + this.dsrv.GetMyUserID());\r\n }\r\n\r\n public ExclusionDurationOptions() : Observable {\r\n return this.dsrv.Get(\"api/ExclusionDurationOptions\");\r\n }\r\n\r\n public ExclusionDurationOption(DurationId: number) : Observable {\r\n return this.dsrv.Get(\"api/ExclusionDurationOptions/\"+DurationId);\r\n }\r\n\r\n public ExclusionReasonOptions() : Observable {\r\n return this.dsrv.Get(\"api/ExclusionReasonKeys\");\r\n }\r\n\r\n // public AddBreach(Breach: Breach) : Observable {\r\n // return this.dsrv.Post(\"api/View_ExclusionBreachesCompositeModel\", Breach);\r\n // }\r\n\r\n // public GetBreaches(exclusionId: number) : Observable {\r\n // return this.dsrv.Get(\"api/View_ExclusionBreachesCompositeModel?exclusionid=\" + exclusionId);\r\n // }\r\n\r\n // public GetBreacheByBreachId(breachid: number) : Observable {\r\n // return this.dsrv.Get(\"api/View_ExclusionBreachesCompositeModel?exclusionbreachid=\" + breachid);\r\n // }\r\n\r\n public GetActorNamesCompositeModel(): Observable {\r\n return this.dsrv.Get('api/view_actornamescompositemodel/' + this.dsrv.GetMyUserID());\r\n }\r\n\r\n public GetActorNamesCompositeModelByActorId(actorId: number): Observable {\r\n return this.dsrv.Get('api/view_actornamescompositemodel/' + actorId);\r\n }\r\n\r\n // New Calls, require models to be created\r\n // http://bactaapi/swagger/\r\n public GetSettingsKeys(): Observable {\r\n return this.dsrv.Get('api/settingkeys');\r\n }\r\n\r\n public GetSettingsKeysForId(settingsKeyId: number): Observable {\r\n return this.dsrv.Get('api/settingkeys/' + settingsKeyId);\r\n }\r\n\r\n public GetAPIUsage(sendObject: any): Observable {\r\n return this.dsrv.Post('api/view_apiusage', sendObject)\r\n }\r\n\r\n public GetExclusionBreachCount(sendObject: any): Observable {\r\n return this.dsrv.Post('api/view_exclusionbreachcount', sendObject)\r\n }\r\n\r\n public GetExclusionCount(sendObject: any): Observable {\r\n return this.dsrv.Post('api/view_exclusioncount', sendObject)\r\n }\r\n\r\n public GetReinstatementCount(sendObject: any): Observable {\r\n return this.dsrv.Post('api/view_reinstatementcount', sendObject)\r\n }\r\n\r\n public GetBreachIds(sendObject: any): Observable {\r\n return this.dsrv.Post('api/view_exclusionbreachids', sendObject)\r\n }\r\n\r\n public GetUserExclusionSummary(sendObject: any): Observable {\r\n return this.dsrv.Post('api/view_interactionsummary', sendObject);\r\n }\r\n\r\n public GetMySiteIds() : Observable {\r\n return this.dsrv.Get(\"api/Actors_Sites?Actors_Sites.actorId=\"+this.dsrv.GetMyUserID());\r\n }\r\n\r\n public GetSitesForId(id: number) : Observable {\r\n return this.dsrv.Get(\"api/Actors_Sites?Actors_Sites.actorId=\" + id);\r\n }\r\n\r\n public GetSiteDetails(siteId: number) {\r\n return this.dsrv.Get('api/view_sitecompositemodel/' + siteId)\r\n }\r\n\r\n public UpdateSite(site: SiteDetail) {\r\n return this.dsrv.Post('api/view_sitecompositemodel/', site);\r\n }\r\n\r\n public GetNameDetailsForId(id: number): Observable {\r\n return this.dsrv.Get('api/actors_names?Actors_Names.actorId=' + id);\r\n }\r\n\r\n public GetNameForNameId(id: number): Observable {\r\n return this.dsrv.Get('api/names?Name_.nameId=' + id);\r\n }\r\n\r\n public GetCustomerAcknowledgement(): Observable {\r\n return this.dsrv.Get('api/documents_generic/CustomerAcknowledgement_' + this.acknowledgementVersion);\r\n }\r\n\r\n public GetGenericDocumentVersion(documentName: string): Observable {\r\n return this.dsrv.Get('api/view_documents_generic/' + documentName);\r\n }\r\n\r\n public GetGenericDocument(document: string, version: string): Observable {\r\n return this.dsrv.Get('api/view_documents_generic/' + document + '/' + version);\r\n }\r\n\r\n public GetDocumentVersions(documentName: string): Observable {\r\n return this.dsrv.Get('api/view_documents_organisation/' + documentName);\r\n }\r\n\r\n public GetDocument(organisations_actorid: number, document: string, version: string): Observable {\r\n return this.dsrv.Get('api/view_documents_organisation/' + organisations_actorid + '/' + document + '/' + version);\r\n }\r\n\r\n public GetOrganisationForActorId(actorId: number): Observable {\r\n return this.dsrv.Get('api/Actors_Organisations?Actors_Organisations.actorId=' + actorId);\r\n }\r\n\r\n public GetExclusionSummaryVersion(documentName: string): Observable {\r\n return this.dsrv.Get('api/view_documents_exclusion/' + documentName);\r\n }\r\n\r\n public GetExclusionSummary(exclusionId: number, documentName: string, version: string): Observable {\r\n return this.dsrv.Get('api/view_documents_exclusion/' + exclusionId + '/' + documentName + '/' + version);\r\n }\r\n\r\n public GetEmployeeDetails(actorId: number): Observable {\r\n return this.dsrv.Get('api/view_employeecompositemodel/' + actorId);\r\n }\r\n\r\n public PostEmployeeDetails(employeeDetails: EmployeeDetails) {\r\n return this.dsrv.Post('api/view_employeecompositemodel/', employeeDetails);\r\n }\r\n\r\n public GetTagInfo(tagId: number): Observable {\r\n return this.dsrv.Get('api/tags?Tags.tagId=' + tagId);\r\n }\r\n\r\n public TestStatusCodes(): Observable {\r\n return this.dsrv.Get('api/Test/400');\r\n }\r\n\r\n public GetPostalAddressForPostalAddressId(postalAddressId: number): Observable {\r\n return this.dsrv.Get('api/PostalAddresses_PostalAddressFieldClasses?PostalAddresses_PostalAddressFieldClasses.postalAddressId=' + postalAddressId)\r\n }\r\n\r\n public GetContactPostalAddress(actorId: number): Observable {\r\n return this.dsrv.Get('api/Contacts_PostalAddresses?Contacts_PostalAddresses.actorId=' + actorId);\r\n }\r\n \r\n public GetToken(): Observable {\r\n return this.dsrv.Get('api/View_SessionTokens');\r\n }\r\n\r\n public GetExclusionSites(exclusionId: number): Observable {\r\n return this.dsrv.Get('api/Exclusion_Sites?Exclusions_Sites.exclusionId=' + exclusionId);\r\n }\r\n\r\n public GetCommunicationContactTags(): Observable {\r\n return this.dsrv.Get('api/communicationcontacttags');\r\n }\r\n\r\n // Unknown return at this time\r\n public GetCommunicationContactsContactTags(): Observable {\r\n return this.dsrv.Get('');\r\n }\r\n\r\n public PostCommuicationContactsContactTags(object: CommunicationContacts_CommunicationContactTags): Observable {\r\n return this.dsrv.Post('api/CommunicationContacts_CommunicationContactTags', object);\r\n }\r\n\r\n public PostCommunicationAccountMessageCompositeModel(object: any): Observable {\r\n return this.dsrv.Post('api/View_CommunicationAccountMessageCompositeModel', object);\r\n } \r\n\r\n public GetCommunicationDetailsForId(communicationId: number): Observable {\r\n return this.dsrv.Get('api/View_CommunicationAccountMessageCompositeModel/' + communicationId)\r\n }\r\n\r\n public GetUserLogin(actorId: number): Observable {\r\n return this.dsrv.Get('api/logincredentials/' + actorId);\r\n }\r\n\r\n public CompareLoginCredentials(credentialsBrief: CredentialsBrief) {\r\n return this.dsrv.Post('api/logincredentials/compare', credentialsBrief)\r\n }\r\n\r\n public PostNewCredentials(credentials: Credentials) {\r\n return this.dsrv.Post('api/logincredentials', credentials);\r\n }\r\n\r\n public UpsertTag(tag: Tag): Observable {\r\n return this.dsrv.Post('api/tags', tag);\r\n }\r\n\r\n public SearchTagByName(phrase: string): Observable {\r\n return this.dsrv.Get('api/tags?Tags.name=' + phrase);\r\n }\r\n\r\n public GetTagCollectionForSearchPhrase(tagColleciton: any): Observable {\r\n return this.dsrv.Post('api/view_TagIds', tagColleciton);\r\n }\r\n}\r\n\r\nclass Globals {\r\n public BackgroundColor: BackgroundColor = new BackgroundColor();\r\n public Border: Border = new Border();\r\n public ClassKeyIds: ClassKeyIds = new ClassKeyIds();\r\n public FontColor: FontColor = new FontColor();\r\n public Positioning: Positioning = new Positioning();\r\n public TableProperties: TableProperties = new TableProperties();\r\n public TagValues: TagValues = new TagValues();\r\n}","import { Injectable } from '@angular/core';\r\nimport { Actor_Settings } from '../models/Actor_Settings';\r\nimport { GenericTagList } from '../models/admin/GenericTag';\r\nimport { Credentials, CredentialsBrief } from '../models/Credentials';\r\nimport { EmployeeDetails } from '../models/EmployeeDetails';\r\nimport { SettingCollection } from '../models/SettingCollection';\r\nimport { SiteDetail, EmployeeRow } from '../models/SiteDetail';\r\nimport { ActorService } from './actor.service';\r\n\r\nconst retired: number = 1;\r\nconst adminlevel: number = 3;\r\nconst primarysite: number = 61;\r\nconst errorBorderColor: string = 'red';\r\nconst defaultBorderColor: string = '#223464';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AdminService {\r\n public SiteList: SiteList;\r\n public SiteListToShow: SiteList;\r\n public OrganisationList: OrganisationList;\r\n public UserList: UserList;\r\n public UserListToShow: UserList;\r\n public SiteListSiteNameAscended: boolean = false;\r\n public SiteListOrganisationNameAscended: boolean = true;\r\n public IsAdmin: boolean = false;\r\n public UserRoleId: number;\r\n\r\n // Cross App Form Controls\r\n public creatingNewRecord: boolean;\r\n public organisationCreateMode: boolean;\r\n public passwordConfirm: string;\r\n public site: SiteDetail;\r\n public siteTags: GenericTagList;\r\n public employeeDetails: EmployeeDetails;\r\n public userCredententials: Credentials;\r\n\r\n private readonly defaultBorderColor: string = '#223464';\r\n private readonly errorBorderColor: string = 'red';\r\n private readonly primarysitekey: number = 61;\r\n\r\n public OrganisationFilter: OrganisationFilter[] = [];\r\n public ActiveOrganisationFilterId: number = 0;\r\n\r\n constructor(public asrv: ActorService) {\r\n }\r\n\r\n SetOrganisationFilter() {\r\n if (this.ActiveOrganisationFilterId === 0) {\r\n this.ActiveOrganisationFilterId = this.asrv.DefaultOrganisationNameCollection[0].ActorId\r\n }\r\n }\r\n\r\n PopulateSiteList(suspended): Promise {\r\n return new Promise(resolve => {\r\n let tags: number[] = [];\r\n if (suspended) {\r\n tags.push(1);\r\n }\r\n this.SiteListToShow = new SiteList(this.IsAdmin, this.asrv); \r\n\r\n this.asrv.GetSiteIds(0, 0, this.ActiveOrganisationFilterId, tags).then(value => {\r\n value.forEach(id => {\r\n this.SiteListToShow.AddRow(id, 'Fetching Sitename...', this.ActiveOrganisationFilterId);\r\n })\r\n this.asrv.GetSiteNameCollection(value).then(value => {\r\n value.forEach(siteName => {\r\n this.SiteListToShow.Rows.find(i => i.SiteId === siteName.ActorId).SiteName = siteName.Name;\r\n })\r\n this.SortSiteListBySiteNameAscending();\r\n resolve(true);\r\n })\r\n })\r\n });\r\n }\r\n\r\n PopulateOrganisationList(organisationIds: number[]): Promise {\r\n return new Promise(resolve => {\r\n this.OrganisationList = new OrganisationList();\r\n this.asrv.GetOrganisationNameCollection(organisationIds).then(value => {\r\n value.forEach(object => {\r\n this.OrganisationList.AddRow(object.ActorId, object.Name);\r\n })\r\n this.OrganisationList.Rows.sort((a, b) => {\r\n let x = a.OrganisationName.localeCompare(b.OrganisationName);\r\n return x;\r\n })\r\n resolve(true);\r\n })\r\n })\r\n }\r\n\r\n FetchOrganisationFilterValues(): Promise {\r\n return new Promise(resolve => {\r\n this.asrv.GetOrganisationIdsDBSync(0, 0).then(value => {\r\n this.asrv.GetOrganisationNameCollection(value).then(value => {\r\n value.forEach(organisation => {\r\n if (!this.OrganisationFilter.some(i => i.OrganisationId === organisation.ActorId)) {\r\n this.OrganisationFilter.push({OrganisationId: organisation.ActorId, OrganisationName: organisation.Name})\r\n }\r\n })\r\n this.SortOrganisationFilter();\r\n resolve(true);\r\n });\r\n });\r\n });\r\n }\r\n\r\n AddOrganisationToFilter(organisationId: number, organisationName: string) {\r\n if (!this.OrganisationFilter.some(i => i.OrganisationId === organisationId)) {\r\n this.OrganisationFilter.push({OrganisationId: organisationId, OrganisationName: organisationName});\r\n this.SortOrganisationFilter();\r\n }\r\n }\r\n\r\n FilterOrganisationList(suspended?: boolean): Promise {\r\n return new Promise(resolve => {\r\n let tags: number[] = [];\r\n if (suspended) {\r\n tags.push(1);\r\n }\r\n this.asrv.GetOrganisationIds(10000, 0, tags).then(value => {\r\n this.PopulateOrganisationList(value).then(value => {\r\n resolve(value);\r\n });\r\n })\r\n })\r\n }\r\n\r\n CheckUserIsAdmin() {\r\n this.asrv.GetActorRole().then(value => {\r\n this.IsAdmin = value.ActorRoleId <= adminlevel? true: false;\r\n this.UserRoleId = value.ActorRoleId;\r\n })\r\n }\r\n\r\n PopulateUserList(userIds: number[]): Promise {\r\n return new Promise(resolve => {\r\n this.UserList = new UserList(this.asrv);\r\n this.UserListToShow = new UserList(this.asrv);\r\n userIds.forEach(id => {\r\n this.UserList.AddRow(id);\r\n })\r\n this.UserListToShow.Rows = this.UserList.Rows;\r\n this.UserListToShow.GetAllData();\r\n // this.SortUserListByNameAscending();\r\n resolve(true);\r\n })\r\n }\r\n\r\n FilterUserList(suspended?: boolean): Promise {\r\n return new Promise(resolve => {\r\n let tags: number[] = [];\r\n if (suspended) {\r\n tags.push(1);\r\n }\r\n this.asrv.GetEmployeeIds(10000, 0, this.ActiveOrganisationFilterId, tags).then(value => {\r\n this.PopulateUserList(value).then(value => {\r\n resolve(value);\r\n });\r\n })\r\n })\r\n }\r\n\r\n SortOrganisationFilter() {\r\n this.OrganisationFilter.sort((a, b) => {\r\n let x = a.OrganisationName.localeCompare(b.OrganisationName);\r\n return x;\r\n });\r\n }\r\n\r\n SortSiteList(key: string) {\r\n if (key === 'Organisation') {\r\n if (this.SiteListOrganisationNameAscended) {\r\n this.SortSiteListByOrganisationNameDescending();\r\n } else {\r\n this.SortSiteListByOrganisationNameAscending();\r\n }\r\n } else {\r\n if (this.SiteListSiteNameAscended) {\r\n this.SortSiteListBySiteNameDescending();\r\n } else {\r\n this.SortSiteListBySiteNameAscending();\r\n }\r\n }\r\n }\r\n\r\n SortSiteListByOrganisationNameAscending() {\r\n this.SiteListToShow.Rows.sort((a, b) => {\r\n let x = a.OrganisationName.localeCompare(b.OrganisationName);\r\n if (x == 0) {\r\n return a.OrganisationName.localeCompare(b.SiteName);\r\n }\r\n this.SiteListSiteNameAscended = false;\r\n this.SiteListOrganisationNameAscended = true;\r\n return x;\r\n });\r\n }\r\n\r\n SortSiteListByOrganisationNameDescending() {\r\n this.SiteListToShow.Rows.sort((a, b) => {\r\n let x = b.OrganisationName.localeCompare(a.OrganisationName);\r\n if (x == 0) {\r\n return b.OrganisationName.localeCompare(a.SiteName);\r\n }\r\n this.SiteListSiteNameAscended = false;\r\n this.SiteListOrganisationNameAscended = false;\r\n return x;\r\n });\r\n }\r\n\r\n SortSiteListBySiteNameAscending() {\r\n this.SiteListToShow.Rows.sort((a, b) => {\r\n let x = a.SiteName.localeCompare(b.SiteName);\r\n if (x == 0 && !this.IsAdmin) {\r\n return a.OrganisationName.localeCompare(b.OrganisationName);\r\n }\r\n this.SiteListSiteNameAscended = true;\r\n this.SiteListOrganisationNameAscended = false;\r\n return x;\r\n });\r\n }\r\n\r\n SortSiteListBySiteNameDescending() {\r\n this.SiteListToShow.Rows.sort((a, b) => {\r\n let x = b.SiteName.localeCompare(a.SiteName);\r\n if (x == 0 && !this.IsAdmin) {\r\n return b.OrganisationName.localeCompare(a.OrganisationName);\r\n }\r\n this.SiteListSiteNameAscended = false;\r\n this.SiteListOrganisationNameAscended = false;\r\n return x;\r\n });\r\n }\r\n\r\n SortUserListByNameAscending() {\r\n this.UserListToShow.Rows.sort((a, b) => {\r\n let x = a.Forename.localeCompare(b.Forename);\r\n if (x == 0 && !this.IsAdmin) {\r\n return a.Surname.localeCompare(b.Surname);\r\n }\r\n this.SiteListSiteNameAscended = true;\r\n this.SiteListOrganisationNameAscended = false;\r\n return x;\r\n });\r\n }\r\n \r\n SortUserListByNameDescending() {\r\n this.UserListToShow.Rows.sort((a, b) => {\r\n let x = b.Forename.localeCompare(a.Forename);\r\n if (x == 0 && !this.IsAdmin) {\r\n return b.Surname.localeCompare(a.Surname);\r\n }\r\n this.SiteListSiteNameAscended = false;\r\n this.SiteListOrganisationNameAscended = false;\r\n return x;\r\n });\r\n }\r\n\r\n GetActorSettings(actorid): Promise {\r\n return new Promise(resolve => {\r\n let subscription = this.asrv.GetActorSettings(actorid).subscribe(res => {\r\n subscription.unsubscribe();\r\n resolve(res);\r\n })\r\n })\r\n }\r\n\r\n SaveActorPrimarySite(actorid, primarysiteid): Promise {\r\n return new Promise(resolve => {\r\n let setting = new Actor_Settings();\r\n setting.Settings.SettingKeyId = primarysite;\r\n setting.Settings.Value = primarysiteid;\r\n let subscription = this.asrv.PostActorSetting(actorid, setting).subscribe(res => {\r\n subscription.unsubscribe();\r\n resolve(true);\r\n }, err => {\r\n subscription.unsubscribe();\r\n resolve(false);\r\n }) \r\n })\r\n }\r\n\r\n public UpdateElement(domId: string, validationResult: boolean) {\r\n document.getElementById(domId).style.borderColor = validationResult? defaultBorderColor: errorBorderColor;\r\n }\r\n\r\n // Site Common Functions\r\n CreateFirstSite(organisationId: number) {\r\n this.site = new SiteDetail();\r\n this.siteTags = new GenericTagList(this.asrv);\r\n this.site.Organisation_ActorId = organisationId;\r\n }\r\n\r\n UpdateSite(): Promise {\r\n return new Promise(resolve => {\r\n if (this.ValidateSite()) {\r\n this.site.Postcode = this.site.Postcode.replace(' ', '');\r\n this.site.Country = \"UK\";\r\n this.site.PostalAddressClassId = 2;\r\n if (this.site.EmployeeCollection && this.site.EmployeeCollection.length > 0) {\r\n this.site.ContactIdCollection = [];\r\n this.site.EmployeeCollection.forEach(employee => {\r\n if (employee.Contactable) {\r\n this.site.ContactIdCollection.push(employee.Id);\r\n }\r\n })\r\n }\r\n this.siteTags.Rows.forEach(row => {\r\n var tagId: number = row['TagId'];\r\n if (tagId > 0) {\r\n this.site.TagIdCollection.push(tagId);\r\n }\r\n })\r\n let subscription = this.asrv.UpdateSite(this.site).subscribe(res => {\r\n subscription.unsubscribe();\r\n this.site = res;\r\n resolve(true);\r\n }, err => {\r\n subscription.unsubscribe();\r\n resolve(false);\r\n })\r\n } else {\r\n resolve(false);\r\n }\r\n }) \r\n }\r\n\r\n ValidateSite(): boolean {\r\n let result: boolean = true;\r\n if (!this.site.Name) {\r\n document.getElementById('inputGroupName').style.borderColor = this.errorBorderColor;\r\n result = false;\r\n } else {\r\n document.getElementById('inputGroupName').style.borderColor = this.defaultBorderColor;\r\n }\r\n if (!this.site.Postcode) {\r\n document.getElementById('inputGroupPostcode').style.borderColor = this.errorBorderColor;\r\n result = false;\r\n } else {\r\n document.getElementById('inputGroupPostcode').style.borderColor = this.defaultBorderColor;\r\n } \r\n if (!this.site.Line1) {\r\n document.getElementById('inputGroupLine1').style.borderColor = this.errorBorderColor;\r\n document.getElementById('inputAddressSelect').style.borderColor = this.errorBorderColor;\r\n result = false;\r\n } else {\r\n document.getElementById('inputGroupLine1').style.borderColor = this.defaultBorderColor;\r\n document.getElementById('inputAddressSelect').style.borderColor = this.defaultBorderColor;\r\n }\r\n return result;\r\n }\r\n\r\n\r\n // Employee Common Functions\r\n CreateFirstUser(organisationId: number, siteId: number) {\r\n this.employeeDetails = new EmployeeDetails();\r\n this.userCredententials = new Credentials();\r\n this.userCredententials.Login = '';\r\n this.userCredententials.Hash = '';\r\n\r\n this.employeeDetails.Organisation_ActorId = organisationId;\r\n this.employeeDetails.ActorRoleId = 4;\r\n this.employeeDetails.SiteIdCollection.push(siteId);\r\n this.employeeDetails.SettingCollection.push({\r\n SettingKeyId: this.primarysitekey,\r\n Value: siteId.toString()\r\n });\r\n }\r\n\r\n SetCredentials(): Promise {\r\n return new Promise(resolve => {\r\n if (this.userCredententials.Hash === this.passwordConfirm) {\r\n this.UpdateElement('inputPassword', true);\r\n this.UpdateElement('inputPasswordConfirm', true);\r\n if (!this.CheckPasswordStrength()) {\r\n resolve(false);\r\n return;\r\n }\r\n } else {\r\n this.UpdateElement('inputPassword', false);\r\n this.UpdateElement('inputPasswordConfirm', false);\r\n alert('Password inputs do not match, please make sure you enter the correct password.')\r\n resolve(false);\r\n return;\r\n } \r\n let postCredentials = this.asrv.PostNewCredentials(this.userCredententials).subscribe(res => {\r\n postCredentials.unsubscribe();\r\n alert(`Successfully set credentials for ${this.employeeDetails.Forename} ${this.employeeDetails.Surname}`);\r\n resolve(true);\r\n return;\r\n }, err => {\r\n postCredentials.unsubscribe();\r\n alert('Error posting credentials, please try again. If the error persists, please contact support.');\r\n resolve(false);\r\n return;\r\n });\r\n })\r\n }\r\n\r\n AddEmployee(): Promise {\r\n if (this.employeeDetails.MemWord === '') {\r\n delete this.employeeDetails.MemWord;\r\n }\r\n return new Promise(resolve => {\r\n this.CheckEmailAddress();\r\n this.employeeDetails.PostalAddressClassId = 1;\r\n this.employeeDetails.Organisation_ActorId = this.ActiveOrganisationFilterId;\r\n if (this.employeeDetails.SiteIdCollection.length === 0) {\r\n this.employeeDetails.SiteIdCollection.push(+this.employeeDetails.SettingCollection.find(i => i.SettingKeyId === this.primarysitekey).Value)\r\n };\r\n // Actor Exists, likely only wants Credentials posted\r\n let postEmployeeSubscription = this.asrv.PostEmployeeDetails(this.employeeDetails).subscribe(res => {\r\n postEmployeeSubscription.unsubscribe();\r\n this.employeeDetails = res;\r\n this.userCredententials.ActorId = this.employeeDetails.ActorId;\r\n resolve(true);\r\n }, err => {\r\n postEmployeeSubscription.unsubscribe();\r\n alert('Error posting employee details, please try again. If the error persists, please contact support.');\r\n resolve(false);\r\n });\r\n })\r\n }\r\n\r\n UpdateEmployee(): Promise {\r\n if (this.employeeDetails.MemWord === '') {\r\n delete this.employeeDetails.MemWord;\r\n }\r\n return new Promise(resolve => {\r\n if (this.ValidateEmployee()) {\r\n this.employeeDetails.PostalAddressClassId = 1;\r\n\r\n let postEmployeeSubscription = this.asrv.PostEmployeeDetails(this.employeeDetails).subscribe(res => {\r\n postEmployeeSubscription.unsubscribe();\r\n resolve(true);\r\n }, err => {\r\n postEmployeeSubscription.unsubscribe();\r\n });\r\n }\r\n })\r\n }\r\n\r\n ValidateEmployee(): boolean {\r\n var result: boolean = true;\r\n if (!this.employeeDetails.HonorificId) {\r\n this.UpdateElement('inputTitle', false);\r\n result = false;\r\n } else {\r\n this.UpdateElement('inputTitle', true);\r\n }\r\n\r\n if (!this.employeeDetails.GenderId) {\r\n this.UpdateElement('inputGender', false);\r\n result = false;\r\n } else {\r\n this.UpdateElement('inputGender', true);\r\n }\r\n\r\n if (!this.employeeDetails.Forename) {\r\n this.UpdateElement('inputForename', false);\r\n result = false;\r\n } else {\r\n this.UpdateElement('inputForename', true);\r\n }\r\n\r\n if (!this.employeeDetails.Surname) {\r\n this.UpdateElement('inputSurname', false);\r\n result = false;\r\n } else {\r\n this.UpdateElement('inputSurname', true);\r\n }\r\n\r\n if (this.employeeDetails.SiteIdCollection.length === 0) {\r\n this.UpdateElement('inputTitle', false);\r\n result = false;\r\n } else {\r\n this.UpdateElement('inputTitle', true);\r\n }\r\n\r\n var settingCollection: SettingCollection[] = [];\r\n this.employeeDetails.SettingCollection.forEach(setting => {\r\n if (!settingCollection.some(i => i.Value === setting.Value && i.SettingKeyId === setting.SettingKeyId)) {\r\n settingCollection.push(setting);\r\n }\r\n })\r\n this.employeeDetails.SettingCollection = settingCollection;\r\n\r\n if (!result) {\r\n return result;\r\n } \r\n\r\n return this.CheckEmailAddress();\r\n }\r\n\r\n CheckEmailAddress(): boolean {\r\n /*\r\n let mailFormat = /^\\w+([\\.-]?\\w+)*@\\w+([\\.-]?\\w+)*(\\.\\w{2,3})+$/;\r\n if (this.userCredententials.Login == null || !this.userCredententials.Login.match(mailFormat)) {\r\n alert('Please enter a valid email address for the user login.');\r\n return false;\r\n } else {\r\n this.employeeDetails.Email = this.userCredententials.Login;\r\n }\r\n */\r\n return true;\r\n }\r\n\r\n CheckPasswordStrength(): boolean {\r\n let result = true;\r\n if (this.userCredententials.Hash.length > 0) {\r\n var testStrength: RegExp = /^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.{8,})/;\r\n if (!testStrength.test(this.userCredententials.Hash)) {\r\n alert(\"Passwords must be at least 8 characters long and contain at least 1 uppercase, special & numeric character\");\r\n result = false\r\n }\r\n }\r\n return result;\r\n }\r\n\r\n CheckCredentials() {\r\n let credentialsBrief = new CredentialsBrief();\r\n credentialsBrief.Login = this.userCredententials.Login;\r\n credentialsBrief.Password = this.userCredententials.Hash;\r\n this.asrv.CompareLoginCredentials(credentialsBrief).subscribe(res => {\r\n // Matched\r\n }, err => {\r\n // Not matched\r\n })\r\n }\r\n\r\n}\r\n\r\n// Move to seperate files, these are here strictly for testing purposes for now.\r\nexport class OrganisationList {\r\n public Rows: OrganisationRow[] = [];\r\n public HeaderTranslation = [{\r\n 'OrganisationName': 'Name',\r\n }];\r\n\r\n public AddRow(organisationId: number, organisationName: string) {\r\n this.Rows.push({\r\n OrganisationId: organisationId, \r\n OrganisationName: organisationName\r\n });\r\n }\r\n}\r\n\r\nexport class OrganisationRow {\r\n OrganisationId: number;\r\n OrganisationName: string;\r\n}\r\n\r\nclass OrganisationFilter {\r\n OrganisationId: number;\r\n OrganisationName: string;\r\n}\r\n\r\nexport class SiteList {\r\n public Rows: SiteRow[];\r\n public AddRow(siteId: number, siteName: string, organisationId: number) {\r\n this.Rows.push({\r\n SiteId: siteId, \r\n SiteName: siteName, \r\n OrganisationId: organisationId, \r\n OrganisationName: ''\r\n });\r\n }\r\n\r\n constructor(private IsAdmin: boolean, public asrv: ActorService) {\r\n this.Rows = [];\r\n }\r\n\r\n public HeaderTranslation() {\r\n return [{'SiteName': 'Site Name'}]; \r\n } \r\n\r\n public UpdateRow(siteId: number, organisationId: number) {\r\n this.asrv.GetSiteNameCollection([siteId]).then(value => {\r\n this.Rows.find(i => i.SiteId === siteId).SiteName = value[0].Name;\r\n })\r\n\r\n this.asrv.GetOrganisationNameCollection([organisationId]).then(value => {\r\n this.Rows.find(i => i.SiteId === siteId && i.OrganisationId === organisationId).OrganisationName = value[0].Name;\r\n })\r\n }\r\n}\r\n\r\nclass SiteRow {\r\n SiteId: number;\r\n SiteName: string;\r\n OrganisationId: number;\r\n OrganisationName: string;\r\n}\r\n\r\nexport class UserList {\r\n public Rows: any = [];\r\n public HeaderTranslation = [{\r\n 'Name': 'Name'\r\n }];\r\n\r\n constructor(public asrv: ActorService) {}\r\n\r\n public AddRow(actorId: number) {\r\n let newRow = {};\r\n newRow['ActorId'] = actorId;\r\n newRow['Forename'] = false;\r\n newRow['Surname'] = false;\r\n newRow['Name'] = false;\r\n newRow['ActorRole'] = false;\r\n this.Rows.push(newRow);\r\n }\r\n\r\n public GetAllData() {\r\n let ids: number[] = this.Rows.map(function (el) { return el.ActorId; });\r\n this.asrv.GetBiologicalName(ids).then(value => {\r\n this.Rows.forEach(row => {\r\n var actor = value.find(i => i.ActorId === row.ActorId);\r\n row['Forename'] = actor.Forename;\r\n row['Surname'] = actor.Surname;\r\n row['Name'] = row['Forename'] + ' ' + row['Surname'];\r\n if (actor.ActorRoleCollection) {\r\n row['ActorRoleId'] = actor.ActorRoleCollection.ActorRoleId;\r\n row['ActorRole'] = actor.ActorRoleCollection.Name;\r\n }\r\n })\r\n })\r\n }\r\n}","// import { PropertyBindingType } from '@angular/compiler';\r\nimport { Injectable } from '@angular/core';\r\nimport { MatNativeDateModule } from '@angular/material/core';\r\nimport { Router } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport { BreachList } from '../models/Reports/BreachList';\r\nimport { DataService } from './data.service';\r\nimport { ErrorhanderService } from './errorhander.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AdvancedSearchService {\r\n\r\n public SearchedFeature: string;\r\n public SearchedDomain: string;\r\n public SearchModel: SearchModel = new SearchModel();\r\n public SearchTerms: SearchTermCollection[] = [];\r\n public SearchResult: AdvancedSearchResult[];\r\n public MetaData: any[] = [];\r\n public MetaDataKeys: any[] = [];\r\n public ShowEditNavigation: boolean = false;\r\n\r\n public Properties = [\r\n { id: 0, domainIds: [4, 5, 6], name: 'Organisation', type: 'string', value: null },\r\n { id: 1, domainIds: [5], name: 'Site', type: 'string', value: null },\r\n { id: 2, domainIds: [0, 1], name: 'Forename', type: 'string', value: null },\r\n { id: 3, domainIds: [0, 1], name: 'Surname', type: 'string', value: null },\r\n { id: 4, domainIds: [0], name: 'Alias', type: 'string', value: null },\r\n { id: 5, domainIds: [2], name: 'Bacta', type: 'string', value: null },\r\n { id: 6, domainIds: [3], name: 'Line1', type: 'string', value: null },\r\n { id: 7, domainIds: [3], name: 'Line2', type: 'string', value: null },\r\n { id: 8, domainIds: [3], name: 'Town', type: 'string', value: null },\r\n { id: 9, domainIds: [3], name: 'County', type: 'string', value: null },\r\n { id: 10, domainIds: [3], name: 'Postcode', type: 'string', value: null },\r\n ]\r\n // {id: 11, domainIds: [3], name: 'City', type: 'string', value: null},\r\n // {id: 12, domainIds: [8], name: 'From', type: 'datetime', from: new Date(), dpd: 'dp1'}, \r\n // {id: 13, domainIds: [8], name: 'To', type: 'test', from: new Date(), dpd: 'dp2'}, \r\n // {id: 14, domainIds: [7], name: 'Products', type: 'string', value: null},\r\n\r\n public SearchingDomainId: number = 0;\r\n public Domains = [\r\n { id: 0, featureIds: [0, 1, 2, 3], name: 'InteractedActors', display: 'Name', properties: this.Properties.filter(x => x.domainIds.some(i => i === 0)) },\r\n { id: 1, featureIds: [0, 1, 2, 3, 4], name: 'EmployeeActors', display: 'Employee', properties: this.Properties.filter(x => x.domainIds.some(i => i === 1)) },\r\n { id: 2, featureIds: [0, 1, 2, 3], name: 'Reference', display: 'Bacta Reference', properties: this.Properties.filter(x => x.domainIds.some(i => i === 2)) },\r\n { id: 3, featureIds: [0, 1, 2, 3], name: 'InteractedActorAddress', display: 'Address', properties: this.Properties.filter(x => x.domainIds.some(i => i === 3)) },\r\n ]\r\n // {id: 4, featureIds: [4, 5, 6], name: 'Reference', display: 'Organisation Reference', properties: this.Properties.filter(x => x.domainIds.some(i => i === 4))}, \r\n // {id: 5, featureIds: [5, 6], name: 'Actor', display: 'Actor', properties: this.Properties.filter(x => x.domainIds.some(i => i === 5))}, \r\n // {id: 6, featureIds: [0], name: 'ProcessingActors', display: 'Location', properties: this.Properties.filter(x => x.domainIds.some(i => i === 6))},\r\n // {id: 7, featureIds: [0], name: 'Tags', display: 'Tags', properties: this.Properties.filter(x => x.domainIds.some(i => i === 7))},\r\n // {id: 8, featureIds: [0, 1, 2, 3, 4, 5, 6], name: 'Edited', display: 'Edited', properties: this.Properties.filter(x => x.domainIds.some(i => i === 8))},\r\n\r\n public SearchingFeatureId: number = 0;\r\n public Features = [\r\n { id: 0, name: 'CustomerInteractions', display: 'Customer Interaction', domains: this.Domains.filter(x => x.featureIds.some(i => i === 0)) },\r\n { id: 1, name: 'ExclusionInteractions', display: 'Self-Exclusion', domains: this.Domains.filter(x => x.featureIds.some(i => i === 1)) },\r\n { id: 2, name: 'ExclusionBreaches', display: 'Breaches', domains: this.Domains.filter(x => x.featureIds.some(i => i === 2)) },\r\n { id: 3, name: 'Reinstatements', display: 'Reinstatements', domains: this.Domains.filter(x => x.featureIds.some(i => i === 3)) },\r\n ]\r\n // {id: 4, name: 'EmployeeActors', display: 'Employee', domains: this.Domains.filter(x => x.featureIds.some(i => i === 4))},\r\n // {id: 5, name: 'Organisations', display: 'Organisation', domains: this.Domains.filter(x => x.featureIds.some(i => i === 5))},\r\n // {id: 6, name: 'Sites', display: 'Sites', domains: this.Domains.filter(x => x.featureIds.some(i => i === 6))},\r\n\r\n /* Currently know logic\r\n James uses the setid to associate which logic to apply. Any with the same set id will use an \"AND\" operator.\r\n Different setids likely use an \"OR\" operator.\r\n */\r\n public LogicFilters = [\r\n { Id: 0, BackendValue: 1, FrontendValue: 'and' },\r\n ]\r\n\r\n constructor(public dsrv: DataService, public errsrv: ErrorhanderService, private router: Router) { }\r\n\r\n ReinitializeSearchModel(): Promise {\r\n return new Promise(resolve => {\r\n this.SearchingFeatureId = 0;\r\n this.SearchingDomainId = 0;\r\n this.Properties.forEach(property => { property.value = null; });\r\n\r\n this.ShowEditNavigation = false;\r\n this.SearchModel = new SearchModel();\r\n this.SearchTerms = [];\r\n resolve(true);\r\n })\r\n }\r\n\r\n Search(): Promise {\r\n this.SearchedFeature = this.Features[this.SearchingFeatureId].name;\r\n this.SearchedDomain = this.Domains[this.SearchingDomainId].name;\r\n this.SearchModel.SearchSetChainCollection.push(new SearchSetChainCollection(1, this.Features[this.SearchingFeatureId].name))\r\n this.SearchModel.SearchSetChainLinkCollection.push(new SearchSetChainLinkCollection(1, 0, 1));\r\n\r\n var id: number = 1;\r\n this.Domains[this.SearchingDomainId].properties.forEach(property => {\r\n var searchTermCollection: SearchTermCollection = new SearchTermCollection(id, id, this.SearchedDomain, property.name, property.value, 1);\r\n if (searchTermCollection.SearchTerm) {\r\n id += 1;\r\n this.SearchModel.SearchTermCollection.push(searchTermCollection);\r\n }\r\n })\r\n this.MetaData = [];\r\n\r\n return new Promise(resolve => {\r\n let subscription = this.QueryDatabase().subscribe(res => {\r\n subscription.unsubscribe();\r\n try {\r\n this.SearchResult = res;\r\n this.MetaDataKeys = Object.keys(this.SearchResult[0].MetaData);\r\n this.SearchResult.forEach(result => {\r\n result.Domain = this.SearchModel.SearchTermCollection.find(i => i.SetId === result.SearchSetChainId).Domain;\r\n })\r\n } catch (error) {\r\n console.log('No object returned, resetting advanced search');\r\n this.SearchResult = [];\r\n this.MetaDataKeys = [];\r\n }\r\n this.NavigateToSearchPage();\r\n this.ReinitializeSearchModel();\r\n resolve(true);\r\n }, err => {\r\n subscription.unsubscribe();\r\n this.ReinitializeSearchModel();\r\n resolve(false);\r\n });\r\n })\r\n }\r\n\r\n NavigateToSearchPage() {\r\n this.router.navigate(['/user/search']);\r\n }\r\n\r\n SearchRecordByClick(tableRow: AdvancedSearchResult) {\r\n console.log(tableRow, this.SearchedFeature);\r\n if (this.SearchedFeature !== 'ExclusionBreaches') {\r\n this.router.navigate([this.GetUrl(tableRow.KeyId)]);\r\n } else {\r\n this.router.navigate([this.GetUrl(tableRow.MetaData.Exclusions_InteractionID)]);\r\n }\r\n }\r\n\r\n SearchRecordByAuxClick(tableRow: AdvancedSearchResult) {\r\n\r\n if (this.SearchedFeature !== 'ExclusionBreaches') {\r\n window.open(this.GetUrl(tableRow.KeyId));\r\n } else {\r\n window.open(this.GetUrl(tableRow.MetaData.Exclusions_InteractionID));\r\n }\r\n }\r\n\r\n GetUrl(keyid: number) {\r\n switch (this.SearchedFeature) {\r\n case 'CustomerInteractions':\r\n return 'user/customer-interaction/view/' + keyid;\r\n break;\r\n case 'ExclusionBreaches':\r\n return 'user/breach/view/' + keyid;\r\n break;\r\n case 'ExclusionInteractions':\r\n case 'ExclusionReinstatements':\r\n return 'user/exclusion/view/' + keyid;\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n QueryDatabase(): Observable {\r\n return this.dsrv.Post('api/View_SearchCompositeModel', this.SearchModel);\r\n }\r\n}\r\n\r\nclass SearchFilter {\r\n constructor(public Domain: string, public Property: string, public SearchTerm: string, public SetId: number, public Page: number, public SearchId) { }\r\n}\r\n\r\nclass SearchModel {\r\n OrganisationIdSearchCollection: number[] = []\r\n OrganisationTagIdLookupOperatorSearchCollection: number[] = [];\r\n OrganisationTagIdCollection: number[] = [];\r\n SiteIdSearchCollection: number[] = [];\r\n SiteTagIdLookupOperatorSearchCollection: number[] = [];\r\n SiteTagIdCollection: number[] = [];\r\n TagIdLookupOperatorSearchCollection: number[] = [];\r\n TagIdSearchCollection: number[] = [];\r\n SearchSetChainCollection: SearchSetChainCollection[] = [];\r\n SearchSetChainLinkCollection: SearchSetChainLinkCollection[] = [];\r\n SearchTermCollection: SearchTermCollection[] = [];\r\n Limit: number = 0;\r\n Offset: number = 0;\r\n}\r\n\r\nclass SearchSetChainCollection {\r\n constructor(public SearchSetChainId: number, public Feature: string) { };\r\n}\r\n\r\nclass SearchSetChainLinkCollection {\r\n constructor(public SetId: number, public SetId_Seed: number, public SearchSetChainId: number) { };\r\n}\r\n\r\nexport class SearchTermCollection {\r\n constructor(public Id: number, public Order: number, public Domain: string, public Property: string, public SearchTerm: string, public SetId: number) { };\r\n}\r\n\r\nexport class AdvancedSearchResult {\r\n Domain: string;\r\n KeyId: number;\r\n KeyName: string;\r\n SearchSetChainId: number;\r\n SetId: number;\r\n MetaData: any; // JSON\r\n}\r\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { environment } from 'src/environments/environment';\r\n// import * as settings from '../../assets/settings.json';\r\nimport { Breach } from '../models/Breach';\r\nimport { View_ExclusionBreachesCompositeModel } from '../models/InteractionExclusion/Breach/View_ExclusionBreachesCompositeModel';\r\nimport { View_ReinstatementsCompositeModel } from '../models/InteractionExclusion/Reinstatement/View_ReinstatementsCompositeModel';\r\nimport { GetExclusionsCompositeModel, Views_Get_ExclusionsCompositeModel } from '../models/InteractionExclusion/Views_Get_ExclusionsCompositeModel';\r\nimport { Views_InteractionsCompositeModel } from '../models/InteractionExclusion/Views_InteractionsCompositeModel';\r\nimport { Reinstate } from '../models/Reinstate';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ApiService {\r\n // settings = settings.settings.apiEndpoint;\r\n private _apiBaseURL = environment.apiURL //demo\r\n creds = sessionStorage.getItem(\"BactaapiCreds\");\r\n headers = new HttpHeaders({\r\n 'Authorization': 'Basic ' + this.creds\r\n });\r\n constructor(\r\n private _http: HttpClient\r\n ) {\r\n\r\n }\r\n\r\n public getPublicDocument(docname: string): Observable {\r\n return this._http.get(\r\n `${this._apiBaseURL}api/View_documents_public/${docname}`, { headers: this.headers }\r\n );\r\n }\r\n\r\n public getPublicDocumentVersion(docname: string, version: string): Observable {\r\n return this._http.get(\r\n `${this._apiBaseURL}api/View_documents_public/${docname}/${version}`, { headers: this.headers }\r\n );\r\n }\r\n\r\n public getInteractionCompositeModel(interactionId: number): Observable {\r\n return this._http.get(\r\n `${this._apiBaseURL}api/View_InteractionCompositeModel/${interactionId}`, { headers: this.headers }\r\n );\r\n }\r\n\r\n public getAgeVerificationCompositeModel(interactionId: number): Observable {\r\n return this._http.get(\r\n `${this._apiBaseURL}api/View_AgeVerificationInteractionCompositeModel/${interactionId}`, { headers: this.headers }\r\n );\r\n }\r\n\r\n public getCrimeAlertCompositeModel(interactionId: number): Observable {\r\n return this._http.get(\r\n `${this._apiBaseURL}api/View_CrimeAlertInteractionCompositeModel/${interactionId}`, { headers: this.headers }\r\n );\r\n }\r\n\r\n public getFireCheckCompositeModel(interactionId: number): Observable {\r\n return this._http.get(\r\n `${this._apiBaseURL}api/View_FireCheckInteractionCompositeModel/${interactionId}`, { headers: this.headers }\r\n );\r\n }\r\n\r\n public getToiletCheckCompositeModel(interactionId: number): Observable {\r\n return this._http.get(\r\n `${this._apiBaseURL}api/View_WcCheckInteractionCompositeModel/${interactionId}`, { headers: this.headers }\r\n );\r\n }\r\n\r\n public getCleaningCheckCompositeModel(interactionId: number): Observable {\r\n return this._http.get(\r\n `${this._apiBaseURL}api/View_CleaningCheckInteractionCompositeModel/${interactionId}`, { headers: this.headers }\r\n );\r\n }\r\n\r\n public getMachinePayoutCompositeModel(interactionId: number): Observable {\r\n return this._http.get(\r\n `${this._apiBaseURL}api/View_MachinePayoutInteractionCompositeModel/${interactionId}`, { headers: this.headers }\r\n );\r\n }\r\n\r\n public getMachineServiceVisitCompositeModel(interactionId: number): Observable {\r\n return this._http.get(\r\n `${this._apiBaseURL}api/View_MachineServiceInteractionCompositeModel/${interactionId}`, { headers: this.headers }\r\n );\r\n }\r\n\r\n public getStatutoryVisitCompositeModel(interactionId: number): Observable {\r\n return this._http.get(\r\n `${this._apiBaseURL}api/View_StatutoryVisitInteractionCompositeModel/${interactionId}`, { headers: this.headers }\r\n );\r\n }\r\n\r\n public postInteractionCompositeModel(interaction: Views_InteractionsCompositeModel): Observable {\r\n // let _interaction = interaction;\r\n // _interaction.InteractedActorCompositeModelCollection.push(interaction.InteractedActorCompositeModel);\r\n let _interaction = interaction;\r\n if (_interaction.InteractedActorCompositeModelCollection.length > 0) {\r\n _interaction.InteractedActorCompositeModelCollection[0] = interaction.InteractedActorCompositeModel;\r\n } else {\r\n _interaction.InteractedActorCompositeModelCollection.push(interaction.InteractedActorCompositeModel);\r\n }\r\n return this._http.post(\r\n `${this._apiBaseURL}api/View_InteractionCompositeModel/`, _interaction, { headers: this.headers }\r\n );\r\n }\r\n\r\n public getBreachCompositeModel(interactionid: number): Observable {\r\n return this._http.get(\r\n `${this._apiBaseURL}api/View_ExclusionBreachesCompositeModel?Views_ExclusionAssetModel.interactionId=${interactionid}`, { headers: this.headers }\r\n );\r\n }\r\n\r\n public addBreach(Breach: Breach): Observable {\r\n return this._http.post(\r\n `${this._apiBaseURL}api/View_ExclusionBreachesCompositeModel`, Breach, { headers: this.headers }\r\n );\r\n }\r\n\r\n public getBreaches(exclusionId: number): Observable {\r\n return this._http.get(\r\n `${this._apiBaseURL}api/View_ExclusionBreachesCompositeModel?exclusionid=${exclusionId}`, { headers: this.headers }\r\n );\r\n }\r\n\r\n public getBreacheByBreachId(breachid: number): Observable {\r\n return this._http.get(\r\n `${this._apiBaseURL}api/View_ExclusionBreachesCompositeModel?exclusionbreachid=${breachid}`, { headers: this.headers }\r\n );\r\n }\r\n\r\n public postViewBreachCompositeModel(breach: View_ExclusionBreachesCompositeModel): Observable {\r\n return this._http.post(\r\n `${this._apiBaseURL}api/View_ExclusionBreachesCompositeModel`, breach, { headers: this.headers }\r\n );\r\n }\r\n\r\n public getReinstatements(interactionId: number): Observable {\r\n return this._http.get(\r\n `${this._apiBaseURL}api/view_reinstatementscompositemodel?Views_ExclusionAssetModel.exclusions_InteractionId=${interactionId}`, { headers: this.headers }\r\n );\r\n }\r\n\r\n public getReinstatementsForReports(interactionId: number): Observable {\r\n return this._http.get(\r\n `${this._apiBaseURL}api/view_reinstatementscompositemodel?Views_ExclusionAssetModel.interactionId=${interactionId}`, { headers: this.headers }\r\n );\r\n }\r\n\r\n public addReinstatement(reinstate: Reinstate) {\r\n return this._http.post(\r\n `${this._apiBaseURL}api/view_reinstatementscompositemodel`, reinstate, { headers: this.headers }\r\n )\r\n }\r\n\r\n public postViewReinstatementsCompositeModel(reinstatement: View_ReinstatementsCompositeModel): Observable {\r\n return this._http.post(\r\n `${this._apiBaseURL}api/View_ReinstatementsCompositeModel`, reinstatement, { headers: this.headers }\r\n );\r\n }\r\n\r\n public getViewExclusionCompositeModel(interactionId: number): Observable {\r\n return this._http.get(\r\n `${this._apiBaseURL}api/View_ExclusionCompositeModel/${interactionId}`, { headers: this.headers }\r\n );\r\n }\r\n\r\n public postViewExclusionCompositeModel(exclusion?: Views_Get_ExclusionsCompositeModel): Observable {\r\n let _exclusion = exclusion;\r\n if (_exclusion.InteractedActorCompositeModelCollection.length > 0) {\r\n _exclusion.InteractedActorCompositeModelCollection[0] = exclusion.InteractedActorCompositeModel;\r\n } else {\r\n _exclusion.InteractedActorCompositeModelCollection.push(exclusion.InteractedActorCompositeModel);\r\n }\r\n return this._http.post(\r\n `${this._apiBaseURL}api/View_ExclusionCompositeModel/`, exclusion, { headers: this.headers }\r\n );\r\n }\r\n\r\n public postExtension(exclusion: GetExclusionsCompositeModel): Observable {\r\n let _exclusion = exclusion;\r\n if (_exclusion.InteractedActorCompositeModelCollection.length > 0) {\r\n _exclusion.InteractedActorCompositeModelCollection[0] = exclusion.InteractedActorCompositeModel;\r\n } else {\r\n _exclusion.InteractedActorCompositeModelCollection.push(exclusion.InteractedActorCompositeModel);\r\n }\r\n return this._http.post(\r\n `${this._apiBaseURL}api/View_ExclusionCompositeModel/`, _exclusion, { headers: this.headers }\r\n );\r\n }\r\n\r\n public getTagCollectionCompositeModel(collectionID: number): Observable {\r\n return this._http.get(\r\n `${this._apiBaseURL}api/View_TagCollectionCompositeModel?TagCollectionId=${collectionID}`, { headers: this.headers }\r\n );\r\n }\r\n\r\n public postTagCollectionCompositeModelTags(tagCollectionId: number, tagId = 0, name: string): Observable {\r\n return this._http.post(\r\n `${this._apiBaseURL}api/View_TagCollectionCompositeModel/tags`,\r\n {\r\n TagCollectionId: tagCollectionId,\r\n TagId: tagId,\r\n Name: name\r\n },\r\n { headers: this.headers }\r\n );\r\n }\r\n\r\n public getGenders(): Observable {\r\n return this._http.get(\r\n `${this._apiBaseURL}api/Genders`, { headers: this.headers }\r\n );\r\n }\r\n\r\n public getUserOrgID(userID: number): Observable {\r\n return this._http.get(\r\n `${this._apiBaseURL}api/View_EmployeeOrganisations?Views_EmployeeOrganisationsModel.employees_actorId=${userID}`, { headers: this.headers }\r\n );\r\n }\r\n\r\n public getUserEmployeesList(orgID: number): Observable {\r\n return this._http.get(\r\n `${this._apiBaseURL}api/View_EmployeeOrganisations?Views_EmployeeOrganisationsModel.organisations_ActorId=${orgID}`, { headers: this.headers }\r\n );\r\n }\r\n\r\n public postAgeVerification(ageVerificationModel): Observable {\r\n return this._http.post(\r\n `${this._apiBaseURL}api/View_AgeVerificationInteractionCompositeModel`, ageVerificationModel, { headers: this.headers }\r\n );\r\n }\r\n\r\n public postCrimeAlert(crimeAlertModel): Observable {\r\n return this._http.post(\r\n `${this._apiBaseURL}api/View_CrimeAlertInteractionCompositeModel`, crimeAlertModel, { headers: this.headers }\r\n );\r\n }\r\n\r\n public searchEquipment(searchModel: any): Observable {\r\n return this._http.post(\r\n `${this._apiBaseURL}api/View_SearchCompositeModel`, searchModel, { headers: this.headers }\r\n );\r\n }\r\n\r\n public getSubscriptionModel(userIDs: Array, creds): Observable {\r\n return this._http.post(\r\n `${this._apiBaseURL}api/View_ActorsSubscriptionsCompositeModel`, userIDs\r\n );\r\n }\r\n\r\n public postFireCheck(checkModel): Observable {\r\n return this._http.post(\r\n `${this._apiBaseURL}api/View_FireCheckInteractionCompositeModel`, checkModel, { headers: this.headers }\r\n );\r\n }\r\n\r\n public postToiletCheck(checkModel): Observable {\r\n return this._http.post(\r\n `${this._apiBaseURL}api/View_WcCheckInteractionCompositeModel`, checkModel, { headers: this.headers }\r\n );\r\n }\r\n\r\n public postCleaningCheck(checkModel): Observable {\r\n return this._http.post(\r\n `${this._apiBaseURL}api/View_CleaningCheckInteractionCompositeModel`, checkModel, { headers: this.headers }\r\n );\r\n }\r\n\r\n public postMachinePayoutCheck(checkModel): Observable {\r\n return this._http.post(\r\n `${this._apiBaseURL}api/View_MachinePayoutInteractionCompositeModel`, checkModel, { headers: this.headers }\r\n );\r\n }\r\n\r\n public postMachineServiceCheck(checkModel): Observable {\r\n return this._http.post(\r\n `${this._apiBaseURL}api/View_MachineServiceInteractionCompositeModel`, checkModel, { headers: this.headers }\r\n );\r\n }\r\n\r\n public postStatutoryVisit(checkModel): Observable {\r\n return this._http.post(\r\n `${this._apiBaseURL}api/View_StatutoryVisitInteractionCompositeModel`, checkModel, { headers: this.headers }\r\n );\r\n }\r\n\r\n public getExclustionBreachCompositeModel(interactionId: number): Observable {\r\n return this._http.get(\r\n `${this._apiBaseURL}api/View_exclusionbreachescompositemodel/?Views_ExclusionAssetModel.exclusions_InteractionId=${interactionId}`, { headers: this.headers }\r\n );\r\n }\r\n\r\n public getActorNames(idCollection: number[]): Observable {\r\n return this._http.post(\r\n `${this._apiBaseURL}api/view_PublicActorCompositeModel`, idCollection, { headers: this.headers }\r\n );\r\n }\r\n\r\n public getStatutoryBodyList(checkModel): Observable {\r\n return this._http.post(\r\n `${this._apiBaseURL}api/View_SearchCompositeModel`, checkModel, { headers: this.headers }\r\n );\r\n }\r\n\r\n public getSecretKey(): Observable {\r\n return this._http.get(\r\n `${this._apiBaseURL}api/View_SecretKeyToken`, { headers: this.headers }\r\n );\r\n }\r\n\r\n public postSecretKey(data): Observable {\r\n return this._http.post(\r\n `${this._apiBaseURL}api/View_SecretKeyToken`, data, { headers: this.headers }\r\n );\r\n }\r\n\r\n public getCheckToken(token: string): Observable {\r\n return this._http.get(\r\n `${this._apiBaseURL}api/View_SecretKeyToken/${token}`\r\n );\r\n }\r\n\r\n public getExclusionsList(fields: any): Observable {\r\n return this._http.post(\r\n `${this._apiBaseURL}api/view_ExclusionInteractionIds/`, fields\r\n );\r\n }\r\n\r\n \r\n}\r\n","import { Injectable, EventEmitter } from '@angular/core';\r\nimport { HttpClient, HttpErrorResponse, HttpHeaders } from '@angular/common/http';\r\nimport { Router } from '@angular/router';\r\nimport { Observable, of, throwError, Subject, BehaviorSubject } from 'rxjs';\r\nimport { catchError, concatMap, delay, retry, retryWhen, tap, timeout } from 'rxjs/operators';\r\nimport { SecurityToken } from '../models/SecurityToken';\r\nimport { ErrorhanderService } from './errorhander.service'\r\nimport { Token } from '../models/Token';\r\nimport { UserSites } from '../models/UserSites';\r\nimport { ExcluderBrief } from '../models/ExcluderBrief';\r\nimport { Actor_Settings } from '../models/Actor_Settings';\r\nimport { Actors_Tags } from '../models/Actors_Tags';\r\nimport { UserDocumentation } from '../models/UserDocumentation';\r\nimport { Names, NameDetails, Actors_Names } from '../models/Name';\r\nimport { OrganisationBrief } from '../models/OrganisationBrief';\r\n// import { settings } from '../../assets/settings.json'\r\nimport { HtmlParser } from '@angular/compiler';\r\nimport { duration } from 'moment';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DataService {\r\n\r\n constructor(private http: HttpClient,\r\n private router: Router,\r\n public errsrv: ErrorhanderService) {\r\n this.onError = new EventEmitter();\r\n }\r\n\r\n dataLoaded = false;\r\n memWord = '';\r\n authToken = '';\r\n\r\n private lqtkey: string = 'TW78-WN15-WR57-MT84';\r\n private addressFindEndpoint: string = 'https://services.postcodeanywhere.co.uk/Capture/Interactive/Find/v1.10/json3.ws?';\r\n private addressRetrieveEndpoint: string = 'https://services.postcodeanywhere.co.uk/Capture/Interactive/Retrieve/v1.10/json3.ws?';\r\n private geocodeRetrieveEndpoint: string = 'https://api.addressy.com/Geocoding/UK/Geocode/v2.1/json3.ws?';\r\n // Update Endpoint on error handler if different here.\r\n private Endpoint = environment.apiURL;\r\n public onError: EventEmitter;\r\n public lastPostModel: any;\r\n\r\n public postErrors = false;\r\n public memwordError = new Subject();\r\n public initGallery = new Subject();\r\n\r\n\r\n public GetVersion(): string {\r\n let version = 'v1.3.4';\r\n if (this.Endpoint.includes('staging')) {\r\n version += ' - Staging';\r\n }\r\n return version;\r\n }\r\n\r\n public getInitGallery(): Observable {\r\n return this.initGallery;\r\n }\r\n\r\n public setInitGallery(val: boolean) {\r\n this.initGallery.next(val);\r\n }\r\n\r\n public getMemwordError(): Observable {\r\n return this.memwordError;\r\n }\r\n\r\n public setMemwordError(val: boolean) {\r\n this.memwordError.next(val);\r\n }\r\n\r\n public Credentials(): string {\r\n return sessionStorage.getItem(\"BactaapiCreds\");\r\n } /* base64 */\r\n\r\n public SetMyUserID(uid: number) {\r\n sessionStorage.setItem(\"BactaUserID\", uid.toString());\r\n }\r\n\r\n public GetMyUserID(): number {\r\n return +sessionStorage.getItem('BactaUserID');\r\n }\r\n\r\n public GetUserSites(): UserSites[] {\r\n return JSON.parse(sessionStorage.getItem('UserSites'));\r\n }\r\n\r\n public SetUserSites(sites: UserSites[]) {\r\n sessionStorage.setItem('UserSites', JSON.stringify(sites));\r\n }\r\n\r\n public GetUserSettings(): Actor_Settings[] {\r\n return JSON.parse('UserSettings');\r\n }\r\n\r\n public SetUserSettings(actorSettings: Actor_Settings[]) {\r\n sessionStorage.setItem('UserSettings', JSON.stringify(actorSettings));\r\n }\r\n\r\n public GetUserTags(): Actors_Tags[] {\r\n return JSON.parse('UserTags');\r\n }\r\n\r\n public SetUserTags(userTags: Actors_Tags[]) {\r\n sessionStorage.setItem('UserTags', JSON.stringify(userTags));\r\n }\r\n\r\n public ClearExclusionProgress() {\r\n sessionStorage.removeItem('NewExclusionProgress');\r\n sessionStorage.setItem('NewExclusionProgressPage', '0');\r\n }\r\n\r\n public GetNewExclusionProgressPage(): number {\r\n return +sessionStorage.getItem('NewExclusionProgressPage');\r\n }\r\n\r\n public SetNewExclusionProgressPage(page: number) {\r\n sessionStorage.setItem('NewExclusionProgressPage', page.toString());\r\n }\r\n\r\n public RemoveUpdateExclusion() {\r\n sessionStorage.removeItem('UpdateExclusion');\r\n }\r\n\r\n public GetSelectedExclusion(): ExcluderBrief {\r\n return JSON.parse(sessionStorage.getItem('SelectedExclusion'));\r\n }\r\n\r\n public SetSelectedExclusion(excluder: ExcluderBrief) {\r\n sessionStorage.setItem('SelectedExclusion', JSON.stringify(excluder));\r\n }\r\n\r\n public RemoveSelectedExclusion() {\r\n sessionStorage.removeItem('SelectedExclusion');\r\n }\r\n\r\n public GetSelectedExclusionId(): number {\r\n return +sessionStorage.getItem('SelectedExclusionId');\r\n }\r\n\r\n public SetSelectedExclusionId(id: number) {\r\n sessionStorage.setItem('SelectedExclusionId', id.toString());\r\n }\r\n\r\n public RemoveSelectedExclusionId() {\r\n sessionStorage.removeItem('SelectedExclusionId');\r\n }\r\n\r\n public SetUsername(firstName, surname) {\r\n sessionStorage.setItem(\"Username\", firstName + ' ' + surname);\r\n }\r\n\r\n public GetUsername(): string {\r\n return sessionStorage.getItem(\"Username\");\r\n }\r\n\r\n public SetMyOrganisationBriefs(organisationBrief: OrganisationBrief[]) {\r\n var title: string = '_' + btoa('actorOrganisations');\r\n localStorage.setItem(title, JSON.stringify(organisationBrief))\r\n }\r\n\r\n public GetMyOrganisationBriefs(): OrganisationBrief[] {\r\n var title: string = '_' + btoa('actorOrganisations');\r\n return JSON.parse(localStorage.getItem(title));\r\n }\r\n\r\n // Directories for speeding the page up.\r\n public AddToNameDirectory(id: number, name: string) {\r\n var directory: Names[] = JSON.parse(sessionStorage.getItem('_names'));\r\n if (!directory) {\r\n directory = [];\r\n }\r\n var newEntry: Names = new Names;\r\n\r\n if (!(directory.find(i => i.NameId === id))) {\r\n newEntry.NameId = id;\r\n newEntry.Name = name;\r\n directory.push(newEntry)\r\n }\r\n sessionStorage.setItem('_names', JSON.stringify(directory));\r\n }\r\n public GetNameDirectory(): Names[] {\r\n var directory = JSON.parse(sessionStorage.getItem('_names'));\r\n if (!directory) {\r\n directory = [];\r\n }\r\n return directory;\r\n }\r\n\r\n public AddToActorIdToNameIdDirectory(actorsNames: Actors_Names[]) {\r\n var directory: NameDetails[] = JSON.parse(sessionStorage.getItem('_actorIdToNameId'));\r\n if (!directory) {\r\n directory = [];\r\n }\r\n actorsNames.forEach(name => {\r\n if (!(directory.find(i => i.ActorId === name.ActorId && i.NameClassKeyId === name.NameClassKeyId))) {\r\n var newEntry: NameDetails = new NameDetails();\r\n newEntry.ActorId = name.ActorId;\r\n newEntry.NameId = name.NameId;\r\n newEntry.NameClassKeyId = name.NameClassKeyId;\r\n directory.push(newEntry);\r\n }\r\n })\r\n\r\n sessionStorage.setItem('_actorIdToNameId', JSON.stringify(directory));\r\n }\r\n public GetActorIdToNameIdDirectory(): NameDetails[] {\r\n var directory = JSON.parse(sessionStorage.getItem('_actorIdToNameId'));\r\n if (!directory) {\r\n directory = [];\r\n }\r\n return directory;\r\n }\r\n\r\n public SetToken(token: Token) {\r\n sessionStorage.setItem('UserToken', JSON.stringify(token))\r\n }\r\n\r\n public GetToken(): Token {\r\n return JSON.parse(sessionStorage.getItem('UserToken'));\r\n }\r\n\r\n public GetUserDocumentationVersions(): UserDocumentation {\r\n return JSON.parse(localStorage.getItem('UserDocumentationVersions'))\r\n }\r\n\r\n public SetUserDocumentationVersions(userDocumentation: UserDocumentation) {\r\n localStorage.setItem('UserDocumentationVersions', JSON.stringify(userDocumentation));\r\n }\r\n\r\n public ClearExclusionCache() {\r\n this.RemoveSelectedExclusion();\r\n this.RemoveSelectedExclusionId();\r\n }\r\n\r\n public SetAdminUserList(rows: any[]) {\r\n sessionStorage.setItem('AdminUserList', JSON.stringify(rows));\r\n }\r\n\r\n public GetAdminUserList(): any[] {\r\n let result;\r\n if (!sessionStorage.getItem('AdminUserList')) {\r\n result = [];\r\n } else {\r\n result = JSON.parse(sessionStorage.getItem('AdminUserList'));\r\n }\r\n return result;\r\n }\r\n\r\n // End of Memory Manager\r\n\r\n private SetUser(user) {\r\n this.SetMyUserID(user.ActorIdCollection[0]);\r\n this.SetToken(user.Token)\r\n }\r\n\r\n private GetHeader(uri: string): HttpHeaders {\r\n /* remove comment with new API version\r\n if (uri !== 'View_SessionTokens') {\r\n return new HttpHeaders({\r\n 'Authorization': 'Bearer '+this.GetToken()\r\n }); \r\n }\r\n */\r\n return new HttpHeaders({\r\n 'Authorization': 'Basic ' + this.Credentials()\r\n });\r\n }\r\n\r\n public Get(uri: string): Observable {\r\n let head: HttpHeaders = this.GetHeader(uri);\r\n\r\n sessionStorage.setItem(\"sentUri\", uri);\r\n sessionStorage.setItem(\"sentHeader\", head.getAll.toString());\r\n\r\n return this.http.get(this.Endpoint + uri).pipe(\r\n timeout(120000),\r\n retryWhen(errors => errors.pipe(\r\n concatMap((error, count) => {\r\n if (error.status === 404) {\r\n // Write a handler for user documents.\r\n\r\n // End of requests\r\n return throwError(error);\r\n } else if (error.status >= 500 && error.status <= 599) {\r\n this.errsrv.ShowHttpOops(error, false);\r\n return throwError(error);\r\n } else if (error.status === 401 || error.status === 403) {\r\n this.WipeTokens();\r\n window.location.href = '#'\r\n } else if (count === 3) {\r\n this.errsrv.ShowHttpOops(error, false);\r\n return throwError(error);\r\n } else {\r\n return of(count);\r\n }\r\n }),\r\n delay(500)\r\n ))\r\n );\r\n //catchError((err: any, caught: Observable) => this.handleError(err, caught)));\r\n }\r\n\r\n public Post(uri: string, model: T): Observable {\r\n let head: HttpHeaders = this.GetHeader(uri);\r\n this.postErrors = false;\r\n this.lastPostModel = model;\r\n return this.http.post(this.Endpoint + uri, model).pipe(\r\n timeout(120000),\r\n retryWhen(errors => errors.pipe(\r\n concatMap((error, count) => {\r\n if (error.status === 404) {\r\n return throwError(error);\r\n } else if (error.status >= 500 && error.status <= 599) {\r\n\r\n this.errsrv.ShowHttpOops(error, true);\r\n return throwError(error);\r\n } else if (error.status === 401 || error.status === 403) {\r\n this.WipeTokens();\r\n window.location.href = '#'\r\n } else if (count === 3 && error.status !== 418) {\r\n this.errsrv.ShowHttpOops(error, true);\r\n return throwError(error);\r\n } else if (error.status === 418) {\r\n this.setMemwordError(true);\r\n this.postErrors = true;\r\n return throwError(error);\r\n } else {\r\n return of(count);\r\n }\r\n }),\r\n delay(500)\r\n ))\r\n );\r\n }\r\n\r\n public Put(uri: string, model: T): Observable {\r\n let head: HttpHeaders = this.GetHeader(uri);\r\n return this.http.put(this.Endpoint + uri, model, { headers: head }).pipe(\r\n retryWhen(errors => errors.pipe(\r\n concatMap((error, count) => {\r\n if (error.status === 404) {\r\n return throwError(error);\r\n } else if (error.status >= 500 && error.status <= 599) {\r\n this.errsrv.ShowHttpOops(error, true);\r\n return throwError(error);\r\n } else if (error.status === 401 || error.status === 403) {\r\n this.WipeTokens();\r\n window.location.href = '#'\r\n } else if (count === 3) {\r\n this.errsrv.ShowHttpOops(error, true);\r\n return throwError(error);\r\n } else {\r\n return of(count);\r\n }\r\n }),\r\n delay(500)\r\n ))\r\n );\r\n }\r\n\r\n public Delete(uri: string): Observable {\r\n let head: HttpHeaders = this.GetHeader(uri);\r\n return this.http.delete(this.Endpoint + uri, { headers: head }).pipe(\r\n retryWhen(errors => errors.pipe(\r\n concatMap((error, count) => {\r\n if (error.status === 404) {\r\n return throwError(error);\r\n } else if (error.status >= 500 && error.status <= 599) {\r\n this.errsrv.ShowHttpOops(error, false);\r\n return throwError(error);\r\n } else if (error.status === 401 || error.status === 403) {\r\n this.WipeTokens();\r\n window.location.href = '#'\r\n } else if (count === 3) {\r\n this.errsrv.ShowHttpOops(error, false);\r\n return throwError(error);\r\n } else {\r\n return of(count);\r\n }\r\n }),\r\n delay(500)\r\n ))\r\n );\r\n }\r\n\r\n public getAddressId(postcode: string): Observable {\r\n return this.http.get(this.addressFindEndpoint + 'Key=' + this.lqtkey + '&Text=' + postcode)\r\n }\r\n public getAddressList(postcode: string, Id: string): Observable {\r\n return this.http.get(this.addressFindEndpoint + 'Key=' + this.lqtkey + '&Text=' + postcode + '&Container=' + Id)\r\n }\r\n public getAddressDetails(Id: string): Observable {\r\n return this.http.get(this.addressRetrieveEndpoint + 'Key=' + this.lqtkey + '&Id=' + Id)\r\n }\r\n public getGeocode(location: string) {\r\n return this.http.get(this.geocodeRetrieveEndpoint + 'Key=' + this.lqtkey + '&Location=' + location);\r\n }\r\n\r\n public Login(Username: string, Password: string): Observable {\r\n this.authToken = btoa(Username + ':' + Password);\r\n this.WipeTokens();\r\n sessionStorage.setItem(\"BactaapiCreds\", btoa(Username + ':' + Password));\r\n let head: HttpHeaders = new HttpHeaders({\r\n 'Authorization': 'Basic ' + this.Credentials()\r\n });\r\n return this.http.get(this.Endpoint + 'api/View_SessionTokens', { headers: head }).pipe(\r\n tap(x => this.SetUser(x)),\r\n // Updated to return the error code to the calling method.\r\n catchError(err => of(err.status)\r\n ));\r\n }\r\n\r\n public LogOut() {\r\n let head: HttpHeaders = new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n 'SecurityToken': sessionStorage.getItem(\"BactaapiCreds\")\r\n });\r\n this.WipeTokens();\r\n sessionStorage.removeItem('BactaUserID');\r\n return this.http.post(this.Endpoint + 'api/View_SessionTokens', { headers: head }).pipe(\r\n catchError(err => of(err.status)\r\n ));\r\n }\r\n\r\n public IsLoggedIn(): boolean {\r\n this.http.get(this.Endpoint + 'auth').subscribe(res => {\r\n if (!res) {\r\n this.WipeTokens();\r\n return false;\r\n }\r\n });\r\n return true;\r\n }\r\n\r\n public WipeTokens() {\r\n sessionStorage.removeItem('BactaapiCreds');\r\n sessionStorage.removeItem('Username');\r\n sessionStorage.removeItem('UserToken');\r\n\r\n sessionStorage.setItem('BactaapiCreds', null);\r\n sessionStorage.setItem('Username', null);\r\n sessionStorage.setItem('UserToken', null);\r\n }\r\n\r\n public CreateInterval(): Observable {\r\n return this.http.get('').pipe();\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { Parameter } from '../models/Parameter';\r\nimport { ActorService } from './actor.service';\r\nimport { DataService } from './data.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ErrorhanderService {\r\n\r\n private defaultBorderColor = '#223464';\r\n private errorBorderColor = 'red'\r\n\r\n private parameters: Parameter[] = [];\r\n\r\n public name;\r\n public header;\r\n public message;\r\n public keys;\r\n public status;\r\n\r\n // Database Errors\r\n public lastPostObject;\r\n public showDataBaseCallback: boolean;\r\n public showPostObject: boolean;\r\n public messages: string[] = [];\r\n\r\n public showOops: boolean = false;\r\n public httpOops: boolean;\r\n public validationOops: boolean;\r\n public expiredOops: boolean;\r\n\r\n constructor(private router: Router) { }\r\n\r\n ShowHttpOops(error: any, showPostObject: boolean) {\r\n this.ClearError();\r\n if (error) {\r\n if (error.name) {\r\n this.name = error.name;\r\n }\r\n if (error.status === 400 || error.status === 500) {\r\n if (error.error) {\r\n this.showDataBaseCallback = true;\r\n this.keys = Object.keys(error.error);\r\n this.message = Object.keys(error.error).toString().split(',').join(', ');\r\n this.messages = Object.values(error.error);\r\n }\r\n } else if (error.message) {\r\n this.message = error.message;\r\n }\r\n if (error.status) {\r\n this.status = error.status;\r\n }\r\n }\r\n this.showPostObject = showPostObject;\r\n this.showOops = true;\r\n this.httpOops = true;\r\n window.scroll(0,0);\r\n document.body.style.overflow = 'hidden';\r\n }\r\n\r\n ShowValidationOops(header, message) {\r\n this.ClearError();\r\n this.header = header;\r\n this.message = message;\r\n this.showOops = true;\r\n this.validationOops = true;\r\n }\r\n\r\n HideOops() {\r\n this.showDataBaseCallback = false;\r\n this.showPostObject = false;\r\n this.showOops = false;\r\n this.httpOops = false;\r\n this.validationOops = false;\r\n this.expiredOops = false;\r\n document.body.style.overflow = 'auto';\r\n }\r\n\r\n ClearError() {\r\n this.name = null;\r\n this.message = null;\r\n this.status = null;\r\n }\r\n\r\n CatchError(functionName, componentName, error) {\r\n var obj = {function: functionName, component: componentName, error: error, parameters: this.parameters}\r\n console.error(obj);\r\n this.parameters = [];\r\n }\r\n\r\n CreateParameter(name, value) {\r\n var parameter = new Parameter();\r\n parameter.name = name;\r\n parameter.value = value;\r\n this.parameters.push(parameter)\r\n }\r\n\r\n BreachStringBuilder(errorObject) {\r\n if (errorObject.Breached) {\r\n document.getElementById('ctrlBreachDate').style.borderColor = this.errorBorderColor;\r\n document.getElementById('ctrlBreachTime').style.borderColor = this.errorBorderColor;\r\n } else {\r\n document.getElementById('ctrlBreachDate').style.borderColor = this.defaultBorderColor;\r\n document.getElementById('ctrlBreachTime').style.borderColor = this.defaultBorderColor;\r\n }\r\n if (errorObject.SiteId) {\r\n document.getElementById('ctrlSites').style.borderColor = this.errorBorderColor;\r\n } else {\r\n document.getElementById('ctrlSites').style.borderColor = this.defaultBorderColor;\r\n }\r\n }\r\n\r\n AddExclusionStringBuilder(errorObject) {\r\n var stringBuilder = 'Missing Required Data, please ensure that the ';\r\n if (errorObject.ExclusionId) {\r\n stringBuilder += 'ExclusionId, ';\r\n }\r\n if (errorObject.Reference) {\r\n stringBuilder += 'Reference, ';\r\n }\r\n if (errorObject.BirthDate) {\r\n stringBuilder += 'Birthdate, ';\r\n }\r\n if (errorObject.Forename) {\r\n stringBuilder += 'Forename, ';\r\n }\r\n if (errorObject.Surname) {\r\n stringBuilder += 'Surname, ';\r\n }\r\n if (errorObject.GenderId) {\r\n stringBuilder += 'GenderId, '\r\n }\r\n if (errorObject.HonorificId) {\r\n stringBuilder += 'HonorificId, ';\r\n }\r\n if (errorObject.County) {\r\n stringBuilder += 'County, ';\r\n }\r\n if (errorObject.Line1) {\r\n stringBuilder += 'Address Line 1, ';\r\n }\r\n if (errorObject.Line2) {\r\n stringBuilder += 'Address Line 2, ';\r\n }\r\n if (errorObject.Line3) {\r\n stringBuilder += 'Address Line 3, ';\r\n }\r\n if (errorObject.Postcode) {\r\n stringBuilder += 'Postcode, ';\r\n }\r\n if (errorObject.TownCity) {\r\n stringBuilder += 'City, ';\r\n }\r\n if (errorObject.Landline) {\r\n stringBuilder += 'Landline, ';\r\n }\r\n if (errorObject.Mobile) {\r\n stringBuilder += 'Mobile, ';\r\n }\r\n if (errorObject.Email) {\r\n stringBuilder += 'Email, ';\r\n }\r\n if (errorObject.CarReg) {\r\n stringBuilder += 'Car Registration, ';\r\n }\r\n if (errorObject.Employee_ActorId) {\r\n stringBuilder += 'Employee_ActorId, ';\r\n }\r\n if (errorObject.ExclusionDurationOptionId) {\r\n stringBuilder += 'ExclusionDurationOptionId, ';\r\n }\r\n if (errorObject.ExclusionReasonKeyId) {\r\n stringBuilder += 'ExclusionReasonKeyId, ';\r\n }\r\n if (errorObject.IdentificationDocumentKeyId) {\r\n stringBuilder += 'IdentificationDocumentKeyId, ';\r\n }\r\n /*\r\n if (errorObject.Image_Signiture) {\r\n stringBuilder += 'Image_Signature, ';\r\n }\r\n */\r\n if (errorObject.Notes) {\r\n stringBuilder += 'Notes, ';\r\n }\r\n if (errorObject.Radius) {\r\n stringBuilder += 'Radius, ';\r\n }\r\n if (errorObject.SiteId) {\r\n stringBuilder += 'SiteId, ';\r\n }\r\n if (errorObject.Start) {\r\n stringBuilder += 'Startdate, ';\r\n }\r\n if (errorObject.SiteCollection) {\r\n stringBuilder += 'SiteCollection, ';\r\n }\r\n if (errorObject.IdCheck) {\r\n stringBuilder += 'IdCheck, ';\r\n }\r\n if (errorObject.ReadTCs) {\r\n stringBuilder += 'ReadTCs Check, ';\r\n }\r\n if (errorObject.Exclude_Bingo) {\r\n stringBuilder += 'Exclude Bingo Check, ';\r\n }\r\n if (errorObject.Exclude_Casino) {\r\n stringBuilder += 'Exclude Casino Check, ';\r\n }\r\n if (errorObject.Exclude_BetShop) {\r\n stringBuilder += 'Exclude Betshop Check, ';\r\n }\r\n if (errorObject.Exclude_Online) {\r\n stringBuilder += 'Exclude Online Check, ';\r\n }\r\n if (errorObject.PlanExclude_Bingo) {\r\n stringBuilder += 'Plan to exclude bingo check, ';\r\n }\r\n if (errorObject.PlanExclude_Casino) {\r\n stringBuilder += 'plan to exclude casino check, ';\r\n }\r\n if (errorObject.PlanExclude_BetShop) {\r\n stringBuilder += 'Plan to exclude betshop check, ';\r\n }\r\n if (errorObject.PlanExclude_Online) {\r\n stringBuilder += 'Plan to exclude online check, ';\r\n }\r\n if (errorObject.Confirmed) {\r\n stringBuilder += 'Exclusion confirm check, ';\r\n }\r\n if (errorObject.Extension) {\r\n stringBuilder += 'Extension object, ';\r\n }\r\n if (errorObject.Reinstate) {\r\n stringBuilder += 'Reinstate object, ';\r\n }\r\n if (errorObject.Image_Excluder) {\r\n stringBuilder += 'Image_Excluder, ';\r\n }\r\n if (errorObject.EndDate) {\r\n stringBuilder += 'EndDate, ';\r\n }\r\n\r\n stringBuilder += ' please investigate.'\r\n\r\n if (errorObject.message) {\r\n console.log(errorObject.message);\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { DataService } from './data.service';\r\nimport { ExcluderBrief } from '../models/ExcluderBrief';\r\nimport { ISDDateMethods } from '../models/ISDDateMethods';\r\nimport { ActorService } from './actor.service';\r\nimport { ExclusionDurationOption } from '../models/ExclusionDurationOption';\r\nimport { PostObjects } from '../models/PostObjects';\r\nimport { DropDownItem } from '../models/controllers/Standard Controllers/Select';\r\nimport { ActorRole } from '../models/ActorRole';\r\nimport { Subject } from 'rxjs';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport * as moment from 'moment';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ExcluderGalleryService {\r\n public ExcluderBriefs: ExcluderBrief[] = [];\r\n public ExcluderBriefsToShow: ExcluderBrief[] = [];\r\n public ExcluderBriefsCurrentlyVisible: ExcluderBrief[] = [];\r\n public DurationOptions: ExclusionDurationOption[] = [];\r\n public Limit: number = 9; //Constant for now\r\n public EventHandler: GalleryEventsHandler = new GalleryEventsHandler(this.asrv);\r\n public Settings: Settings = new Settings();\r\n public MaximumPageCount: number;\r\n public LoadingCards: boolean;\r\n\r\n public ActiveOrganisationFilterId: number;\r\n public ActiveSiteFilterId: number;\r\n public IsAdmin: boolean = false;\r\n public ActorRole: ActorRole;\r\n public SiteList: DropDownItem[];\r\n public SiteListToShow: DropDownItem[];\r\n public OrganisationList: DropDownItem[];\r\n public FirstLoad: boolean;\r\n public reinstatementItems = [];\r\n public reinstatementItemstoShow = [];\r\n\r\n public CurrentPage: number = 0;\r\n private ExcluderIdsToShow: number[] = [];\r\n\r\n public initRunning = false;\r\n\r\n public galleryLoading = false;\r\n\r\n private destroy = new Subject();\r\n\r\n constructor(public dsrv: DataService, public asrv: ActorService, private dateMethods: ISDDateMethods) {\r\n if (sessionStorage.getItem('OrganisationFilter')) {\r\n this.ActiveOrganisationFilterId = +sessionStorage.getItem('OrganisationFilter');\r\n } else {\r\n this.ActiveOrganisationFilterId = 0;\r\n }\r\n if (sessionStorage.getItem('SiteFilter')) {\r\n this.ActiveSiteFilterId = +sessionStorage.getItem('SiteFilter');\r\n } else {\r\n this.ActiveSiteFilterId = 0;\r\n }\r\n this.FirstLoad = true;\r\n }\r\n\r\n public Initialize(): Promise {\r\n this.initRunning = true;\r\n this.CheckUserIsAdmin();\r\n return this.GetExcluderCards();\r\n }\r\n\r\n public GetExcluderCards(): Promise {\r\n this.destroy.next();\r\n this.destroy.complete();\r\n\r\n this.ExcluderBriefs = [];\r\n this.ExcluderBriefsToShow = [];\r\n this.ExcluderBriefsCurrentlyVisible = [];\r\n this.ExcluderIdsToShow = [];\r\n this.CurrentPage = 0;\r\n this.LoadingCards = true;\r\n return new Promise(resolve => {\r\n if (this.FirstLoad) {\r\n this.GetExcuderDurationOptions().then(value => {\r\n this.DurationOptions = value;\r\n })\r\n }\r\n this.GetExcluders(0).then(value => {\r\n this.GetActiveExcluderIds();\r\n this.ViewActiveExcluders();\r\n this.SortByDateAscending();\r\n this.LoadPage();\r\n this.MaximumPageCount = Math.ceil(this.ExcluderBriefsToShow.length / this.Limit);\r\n this.LoadingCards = false;\r\n resolve(true);\r\n this.initRunning = false;\r\n });\r\n })\r\n }\r\n\r\n CheckUserIsAdmin() {\r\n if (!this.OrganisationList) {\r\n this.asrv.GetActorRole().then(value => {\r\n this.ActorRole = value;\r\n this.SiteList = [];\r\n this.SiteListToShow = [];\r\n this.OrganisationList = [];\r\n this.IsAdmin = this.ActorRole.ActorRoleId <= 3 ? true : false;\r\n if (this.ActorRole.ActorRoleId <= 4) {\r\n this.asrv.GetOrganisationIdsDBSync(0, 0).then(value => {\r\n this.PopulateOrganisationList(value);\r\n });\r\n } else {\r\n this.PopulateSiteList();\r\n }\r\n })\r\n };\r\n }\r\n\r\n PopulateOrganisationList(organisationIds: number[]): Promise {\r\n return new Promise(resolve => {\r\n this.asrv.GetOrganisationNameCollection(organisationIds).then(value => {\r\n value.forEach(object => {\r\n this.OrganisationList.push({ Key: object.ActorId, Value: object.Name });\r\n })\r\n this.OrganisationList.sort((a, b) => {\r\n let x = a.Value.localeCompare(b.Value);\r\n return x;\r\n })\r\n this.PopulateSiteList().then(value => {\r\n });\r\n resolve(true);\r\n })\r\n })\r\n }\r\n\r\n PopulateSiteList(): Promise {\r\n return new Promise(resolve => {\r\n this.asrv.GetSiteIds(0, 0, this.ActiveOrganisationFilterId).then(value => {\r\n value.forEach(id => {\r\n this.SiteListToShow.push({ Key: id, Value: null });\r\n })\r\n this.asrv.GetSiteNameCollection(value).then(value => {\r\n this.SiteListToShow = [];\r\n value.forEach(siteName => {\r\n this.SiteListToShow.push({ Key: siteName.ActorId, Value: siteName.Name });\r\n })\r\n this.SortSiteListBySiteNameAscending();\r\n resolve(true);\r\n })\r\n })\r\n });\r\n }\r\n\r\n SortSiteListBySiteNameAscending() {\r\n this.SiteListToShow.sort((a, b) => {\r\n let x = a.Value.localeCompare(b.Value);\r\n if (x == 0 && !this.IsAdmin) {\r\n return a.Value.localeCompare(b.Value);\r\n }\r\n return x;\r\n });\r\n }\r\n\r\n private ViewActiveExcluders() {\r\n this.ExcluderIdsToShow.forEach(id => {\r\n this.ExcluderBriefsToShow.push(this.ExcluderBriefs.find(i => i.InteractionId === id));\r\n });\r\n this.reinstatementItems.forEach(id => {\r\n this.reinstatementItemstoShow.push(this.ExcluderBriefs.find(i => i.InteractionId === id));\r\n })\r\n }\r\n\r\n public GetExcluders(offset: number): Promise {\r\n console.log('%c Gallery Loading Started', 'background: #222; color: #bada55');\r\n this.galleryLoading = true;\r\n return new Promise(resolve => {\r\n let object = new PostObjects();\r\n if (!this.FirstLoad) {\r\n if (this.IsAdmin) {\r\n if (this.ActiveOrganisationFilterId > 0) {\r\n object.Model.OrganisationParameters.OrganisationIdCollection.push(this.ActiveOrganisationFilterId);\r\n sessionStorage.setItem('OrganisationFilter', this.ActiveOrganisationFilterId.toString());\r\n } else {\r\n // object.Model.OrganisationParameters.OrganisationIdCollection.push(this.asrv.UserOrganisationId);\r\n sessionStorage.setItem('OrganisationFilter', \"0\");\r\n }\r\n } else {\r\n object.Model.OrganisationParameters.OrganisationIdCollection.push(this.asrv.UserOrganisationId);\r\n sessionStorage.setItem('OrganisationFilter', \"0\");\r\n }\r\n\r\n if (this.ActiveSiteFilterId > 0) {\r\n object.Model.SiteParameters.SiteIdCollection.push(this.ActiveSiteFilterId);\r\n sessionStorage.setItem('SiteFilter', this.ActiveSiteFilterId.toString());\r\n } else {\r\n sessionStorage.setItem('SiteFilter', \"0\");\r\n }\r\n } else {\r\n sessionStorage.setItem('OrganisationFilter', \"0\");\r\n sessionStorage.setItem('SiteFilter', \"0\");\r\n this.FirstLoad = false;\r\n }\r\n\r\n object.Model.Offset = 1000 * offset;\r\n this.dsrv.Post(\"api/view_ExclusionInteractionGalleryCompositeModel\", object.Model).pipe(takeUntil(this.destroy)).subscribe(res => {\r\n console.log('%c Gallery Loading Finished', 'background: #222; color: #bada55');\r\n this.galleryLoading = false;\r\n res.forEach(brief => {\r\n this.ExcluderBriefs.push(brief);\r\n });\r\n if (res.length === 1000) {\r\n this.GetExcluders(offset + 1).then(value => {\r\n resolve(true);\r\n })\r\n } else {\r\n resolve(true);\r\n }\r\n }, err => {\r\n let returnBrief = new ExcluderBrief();\r\n let returnBriefs = [];\r\n returnBrief.InteractionId = -1;\r\n returnBriefs.push(returnBrief);\r\n resolve(true);\r\n });\r\n })\r\n }\r\n\r\n private GetExcuderDurationOptions(): Promise {\r\n return new Promise(resolve => {\r\n this.asrv.ExclusionDurationOptions().subscribe(res => {\r\n this.DurationOptions = res;\r\n resolve(res);\r\n })\r\n });\r\n }\r\n\r\n private GetActiveExcluderIds() {\r\n this.reinstatementItems = [];\r\n var now = this.dateMethods.ConvertDateToInteger(new Date());\r\n this.ExcluderBriefs.forEach(exclusion => {\r\n \r\n var start = this.dateMethods.ConvertDateToInteger(exclusion.Start);\r\n if (start < now) {\r\n \r\n if (exclusion.Extensions && !(this.dateMethods.ConvertDateToInteger(this.dateMethods.AddDays(exclusion.Start, exclusion.PeriodDays)) > now)) \r\n {\r\n // console.log(exclusion, exclusion.Reinstatement, exclusion.InteractionId);\r\n const _reinstatementDate = moment(exclusion.Reinstatement.Accepted);\r\n const _now = moment();\r\n const _dateDiff = _now.diff(_reinstatementDate, 'hours');\r\n\r\n // console.log(_dateDiff, exclusion.InteractionId);\r\n if (exclusion.Reinstatement && _dateDiff < 24) {\r\n // this.ExcluderIdsToShow.push(exclusion.InteractionId);\r\n this.reinstatementItems.push(exclusion.InteractionId);\r\n }\r\n } else {\r\n this.ExcluderIdsToShow.push(exclusion.InteractionId);\r\n \r\n }\r\n }\r\n });\r\n // this.ExcluderIdsToShow.unshift(..._reinstatementItems);\r\n }\r\n\r\n private LoadPage() {\r\n this.ExcluderBriefsCurrentlyVisible = [];\r\n let firstItem = this.CurrentPage * this.Limit;\r\n let lastItem = ((this.CurrentPage + 1) * this.Limit);\r\n for (let currentItem = firstItem; currentItem < lastItem; currentItem++) {\r\n if (this.ExcluderBriefsToShow[currentItem]) {\r\n this.ExcluderBriefsCurrentlyVisible.push(this.ExcluderBriefsToShow[currentItem])\r\n }\r\n }\r\n }\r\n\r\n NextPage() {\r\n this.CurrentPage = this.CurrentPage + 1;\r\n this.LoadPage();\r\n }\r\n\r\n PreviousPage() {\r\n this.CurrentPage = this.CurrentPage - 1;\r\n this.LoadPage();\r\n }\r\n\r\n SortByDateAscending() {\r\n this.ExcluderBriefsToShow.sort((a, b) => {\r\n\r\n if (a.Start === b.Start) {\r\n if (a.InteractionId < b.InteractionId) {\r\n return 1;\r\n } else {\r\n return -1;\r\n }\r\n }\r\n\r\n if (new Date(a.Start) < new Date(b.Start)) {\r\n return 1;\r\n }\r\n\r\n if (new Date(a.Start) > new Date(b.Start)) {\r\n return -1;\r\n }\r\n\r\n return 0;\r\n });\r\n this.ExcluderBriefsToShow.unshift(...this.reinstatementItemstoShow);\r\n this.LoadPage();\r\n }\r\n\r\n SortByDateDescending() {\r\n this.ExcluderBriefsToShow.sort((a, b) => {\r\n if (a.Start === b.Start) {\r\n if (a.InteractionId > b.InteractionId) {\r\n return 1;\r\n } else {\r\n return -1;\r\n }\r\n }\r\n\r\n if (new Date(a.Start) > new Date(b.Start)) {\r\n return 1;\r\n }\r\n\r\n if (new Date(a.Start) < new Date(b.Start)) {\r\n return -1;\r\n }\r\n\r\n return 0;\r\n });\r\n this.ExcluderBriefsToShow.unshift(...this.reinstatementItemstoShow);\r\n this.LoadPage();\r\n }\r\n\r\n SortByNameAscending() {\r\n this.ExcluderBriefsToShow.sort((a, b) => {\r\n let x = a.Surname.localeCompare(b.Surname);\r\n if (x == 0) {\r\n return a.Forename.localeCompare(b.Forename);\r\n }\r\n return x;\r\n });\r\n this.LoadPage();\r\n }\r\n\r\n SortByNameDescending() {\r\n this.ExcluderBriefsToShow.sort((a, b) => {\r\n let x = b.Surname.localeCompare(a.Surname);\r\n if (x == 0) {\r\n return b.Forename.localeCompare(a.Forename);\r\n }\r\n return x;\r\n });\r\n this.LoadPage();\r\n }\r\n\r\n ExcluderEndDate(excluder: ExcluderBrief): Date {\r\n let startDate: Date = new Date(excluder.Start);\r\n return new Date(this.dateMethods.AddDays(excluder.Start, excluder.PeriodDays));\r\n }\r\n}\r\n\r\nclass GalleryEventsHandler {\r\n constructor(public asrv: ActorService) { }\r\n}\r\n\r\nclass Settings {\r\n public OrganisationActorId: number = 0;\r\n public SitesActorid: number = 0;\r\n public Limit: number = 1000;\r\n public Offset: number = 0;\r\n\r\n public Colors: Colors = new Colors();\r\n constructor() { }\r\n}\r\n\r\nclass Colors {\r\n public readonly Red: string = '#d11722';\r\n public readonly Yellow: string = '#f8b03d';\r\n public readonly Green: string = '#64b32e';\r\n public readonly Blue: string = '#24ace2';\r\n}","import { Injectable } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { Site } from '../models/Site';\r\nimport { ActorService } from './actor.service';\r\nimport { ExcluderService } from './excluder.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ExcluderViewService {\r\n\r\n // What the user can see\r\n public CurrentForm: number = 0;\r\n public readonly AppNone: number = 0\r\n public readonly AppExtend: number = 1\r\n public readonly AppRecordBreach: number = 2;\r\n public readonly AppReinstate: number = 3;\r\n public readonly AppHTML: number = 4;\r\n public readonly AppUpdateExclusion: number = 5;\r\n public UserIsAdmin: Boolean;\r\n public ShowCard: boolean;\r\n public ShowButtons: boolean;\r\n public SiteGeoLocations: Site[] = []; \r\n public get CanReinstate(): boolean {\r\n return this.esrv.EligibleToReinstate()\r\n }\r\n public ShowLoadingSpinner: boolean;\r\n\r\n constructor(\r\n public esrv: ExcluderService,\r\n public asrv: ActorService, \r\n private router: Router,\r\n ) { }\r\n\r\n public Initialize(InteractionId: number): Promise {\r\n this.ShowLoadingSpinner = true;\r\n this.ShowCard = false;\r\n this.ShowButtons = false;\r\n this.UserIsAdmin = false;\r\n\r\n // End of First Method\r\n let sitesLoaded: boolean = false;\r\n\r\n // End of Second Method\r\n let siteNameCollectionLoaded: boolean = false;\r\n\r\n // End of Third Method\r\n let adminLoaded: boolean = false;\r\n\r\n // Once both methods have loaded return true.\r\n // Both methods must return a value, so this will always return. It returns true to force a reload with the data.\r\n\r\n return new Promise(resolve=> {\r\n this.esrv.LoadExclusion(InteractionId).then(value => {\r\n this.esrv.GetCurrentExcluderImage().then(value => {\r\n this.asrv.GetSiteNameCollection([this.esrv.CurrentExclusion.SiteId]).then(value => {\r\n siteNameCollectionLoaded = true;\r\n this.esrv.CurrentExclusion.ClientValues.ExclusionSiteName = value[0].Name;\r\n if (sitesLoaded && adminLoaded) {\r\n this.ShowAll();\r\n resolve(true);\r\n }\r\n })\r\n this.esrv.GetSitesUsingRadius(1000).then(value => {\r\n sitesLoaded =true;\r\n this.SiteGeoLocations = value;\r\n if (siteNameCollectionLoaded && adminLoaded) {\r\n this.ShowAll();\r\n resolve(true);\r\n }\r\n });\r\n })\r\n }) \r\n\r\n this.asrv.IsLoggedUserAdmin().then(value => {\r\n adminLoaded = true;\r\n if (value) {\r\n this.UserIsAdmin = true;\r\n }\r\n if (siteNameCollectionLoaded && sitesLoaded) {\r\n this.ShowAll();\r\n resolve(true);\r\n }\r\n })\r\n }) \r\n }\r\n\r\n public ShowAll() {\r\n this.ShowButtons = true;\r\n this.ShowCard = true;\r\n this.ShowLoadingSpinner = false;\r\n }\r\n\r\n public UpdateExcluderDetailsClick() {\r\n this.router.navigate(['/user/exclusion/update/', this.esrv.CurrentExclusion.InteractionId]);\r\n }\r\n\r\n public ExtendClick() {\r\n this.ShowButtons = false;\r\n this.CurrentForm = this.AppExtend;\r\n }\r\n\r\n public RecordBreachClick() {\r\n this.ShowButtons = false;\r\n this.CurrentForm = this.AppRecordBreach;\r\n }\r\n\r\n public ReinstateClick() {\r\n this.ShowButtons = false;\r\n this.CurrentForm = this.AppReinstate;\r\n }\r\n\r\n public MoreInfoClick() {\r\n this.ShowButtons = false;\r\n this.CurrentForm = this.AppHTML;\r\n } \r\n\r\n public UpdateExclusionDetailsClick() {\r\n this.ShowCard = false;\r\n this.ShowButtons = false;\r\n this.CurrentForm = this.AppUpdateExclusion;\r\n }\r\n\r\n ShowMainView(reload: boolean): Promise {\r\n this.CurrentForm = this.AppNone;\r\n if (reload) {\r\n this.ShowLoadingSpinner = true;\r\n return new Promise(resolve => {\r\n this.Initialize(this.esrv.CurrentExclusion.InteractionId).then(value => {\r\n this.ShowAll();\r\n resolve(value);\r\n });\r\n })\r\n } else {\r\n return new Promise(resolve => {\r\n this.ShowAll();\r\n resolve(true)\r\n });\r\n }\r\n }\r\n\r\n EnableDisableFormControls() {\r\n \r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ActorService } from './actor.service';\r\nimport { Views_InteractionsCompositeModel } from '../models/InteractionExclusion/Views_InteractionsCompositeModel';\r\nimport { Router } from '@angular/router';\r\nimport { Views_BiologicalActorCompositeModel } from '../models/InteractionExclusion/Views_BiologicalActorCompositeModel';\r\nimport { ISDDateMethods } from '../models/ISDDateMethods';\r\nimport { DataService } from './data.service';\r\nimport { Observable } from 'rxjs';\r\nimport { NonBiologicalName } from '../models/actor/Name';\r\nimport { Site } from '../models/Site';\r\nimport { GetExclusionsCompositeModel, Views_Get_ExclusionsCompositeModel } from '../models/InteractionExclusion/Views_Get_ExclusionsCompositeModel';\r\nimport { View_ExclusionBreachesCompositeModel } from '../models/InteractionExclusion/Breach/View_ExclusionBreachesCompositeModel';\r\nimport { View_ReinstatementsCompositeModel } from '../models/InteractionExclusion/Reinstatement/View_ReinstatementsCompositeModel';\r\nimport { ExcluderBrief } from '../models/ExcluderBrief';\r\nimport { ExclusionClientValues } from '../models/InteractionExclusion/ExclusionClientValues';\r\nimport { Views_MediaModel } from '../models/InteractionExclusion/Views_MediaModel';\r\nimport { Views_InteractedActorCompositeModel } from '../models/InteractionExclusion/Views_InteractedActorCompositeModel';\r\nimport { InteractionMonitoringPeriodsModel, Views_InteractionMonitoringPeriodsModel } from '../models/InteractionExclusion/Views_InteractionMonitoringPeriodsModel';\r\nimport { ExclusionBreaches } from '../models/ExclusionBreaches';\r\nimport { InteractionService } from './interaction.service';\r\nimport { Reinstatement } from '../models/controllers/ExclusionControllers/Reinstatement';\r\nimport { Extension } from '../models/controllers/ExclusionControllers/Extension';\r\nimport { ApiService } from './api.service';\r\n\r\nconst errorBorderColor: string = 'red';\r\nconst defaultBorderColor: string = '#223464';\r\nconst exclusionSessionStorage: string = 'current_exclusion';\r\nconst tagIdChecked: number = 31;\r\nconst tagReadTermsAndConditions: number = 32;\r\nconst marketing: number = 41;\r\nconst thirdPartyContactable: number = 42;\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ExcluderService {\r\n\r\n constructor(\r\n public asrv: ActorService,\r\n public dsrv: DataService,\r\n private router: Router,\r\n public isrv: InteractionService,\r\n private _api: ApiService\r\n ) { }\r\n\r\n public CurrentExclusion: Views_Get_ExclusionsCompositeModel;\r\n public SitesInRadiusNameCollection: NonBiologicalName[]\r\n public failedToSendOnce: boolean;\r\n private _postalAddressPopulated: boolean;\r\n private _errors: string[];\r\n private _datemethods: ISDDateMethods = new ISDDateMethods();\r\n private _pages = {\r\n customerDetail: 0,\r\n customerAddress: 1,\r\n excluderExclusion: 2,\r\n exclusionZone: 3,\r\n customerPhoto: 4,\r\n termsAndConditions: 5,\r\n exclusionDeclaration: 6,\r\n exclusionConfirmed: 7\r\n };\r\n\r\n public ExtensionControllers: Extension;\r\n public ReinstatementControllers: Reinstatement;\r\n\r\n public get PostalAddressPopulated(): boolean {\r\n return this._postalAddressPopulated;\r\n }\r\n\r\n public get ExclusionRadius(): string {\r\n if (this.CurrentExclusion.Radius > 0) {\r\n return `${this.CurrentExclusion.Radius}km`\r\n }\r\n return `Wide-Area Exclusion`\r\n }\r\n\r\n public StartNewExclusion(interaction: Views_InteractionsCompositeModel) {\r\n this.CurrentExclusion = new Views_Get_ExclusionsCompositeModel();\r\n // this.CurrentExclusion.InteractedActorCompositeModel = new Views_InteractedActorCompositeModel();\r\n this.CurrentExclusion.InteractionMonitoringPeriod = new Views_InteractionMonitoringPeriodsModel();\r\n this.CurrentExclusion.MediaModelCollection = [];\r\n this.CurrentExclusion.TagIdCollection = interaction.TagIdCollection;\r\n this.router.navigate(['user/exclusion/new']);\r\n }\r\n\r\n public ReInitiateExclusion() {\r\n this.CurrentExclusion = new Views_Get_ExclusionsCompositeModel();\r\n this.CurrentExclusion.InteractedActorCompositeModel = new Views_InteractedActorCompositeModel();\r\n this.CurrentExclusion.InteractionMonitoringPeriod = new Views_InteractionMonitoringPeriodsModel();\r\n this.CurrentExclusion.MediaModelCollection = [];\r\n }\r\n\r\n public ShutDownExclusion() {\r\n this.CurrentExclusion = null;\r\n }\r\n\r\n public StoreExcluderBrief(excluderBrief: ExcluderBrief) {\r\n this.CurrentExclusion = new Views_Get_ExclusionsCompositeModel();\r\n this.CurrentExclusion.InteractedActorCompositeModel = new Views_InteractedActorCompositeModel();\r\n this.CurrentExclusion.MediaModelCollection = [];\r\n\r\n // Standard\r\n this.CurrentExclusion.InteractionId = excluderBrief.InteractionId;\r\n this.CurrentExclusion.Reference = excluderBrief.Reference;\r\n\r\n // BiologicalActor\r\n this.CurrentExclusion.InteractedActorCompositeModel.BiologicalActorCompositeModel.Forename = excluderBrief.Forename;\r\n this.CurrentExclusion.InteractedActorCompositeModel.BiologicalActorCompositeModel.Surname = excluderBrief.Surname;\r\n\r\n // Get Image and fetch the full details\r\n this.CurrentExclusion.MediaModelCollection.push({ MediaId: excluderBrief.MediaId, MediaClassKeyId: 4, Data: excluderBrief.Image });\r\n }\r\n\r\n // Check if the interactionId has a promise preloaded, else in the event of a reload. Recall the Observable\r\n public LoadExclusion(interactionId: number): Promise {\r\n return new Promise(resolve => {\r\n this.LoadExclusionFromDatabase(interactionId).then(value => {\r\n this.CurrentExclusion = value;\r\n this.CurrentExclusion.ClientValues = new ExclusionClientValues();\r\n this.asrv.GetReinstatementModel(interactionId).then(value => {\r\n this.CurrentExclusion.Reinstatement = value;\r\n resolve(this.CurrentExclusion);\r\n })\r\n })\r\n })\r\n }\r\n\r\n private LoadExclusionFromDatabase(interactionId): Promise {\r\n return new Promise(resolve => {\r\n let subscription = this._api.getViewExclusionCompositeModel(interactionId).subscribe(res => {\r\n subscription.unsubscribe();\r\n res.InteractedActorCompositeModel = res.InteractedActorCompositeModelCollection[0];\r\n resolve(res);\r\n })\r\n })\r\n }\r\n\r\n // public GetViewExclusionCompositeModel(interactionId: number): Observable {\r\n // return this.dsrv.Get('api/View_ExclusionCompositeModel/' + interactionId);\r\n // }\r\n\r\n public SaveExclusion(): Promise {\r\n // May require updating in the future, but for now all PostalAddressClassId's in Exclusion are 2.\r\n this.CurrentExclusion.InteractedActorCompositeModel.BiologicalActorCompositeModel.PostalAddressClassId = 2;\r\n\r\n // Remove any space from the Postcode\r\n this.CurrentExclusion.InteractedActorCompositeModel.BiologicalActorCompositeModel.Postcode = this.CurrentExclusion.InteractedActorCompositeModel.BiologicalActorCompositeModel.Postcode.replace(/\\s/g, '');\r\n\r\n // May require updating in the future, but for now all Countries are U.K.\r\n this.CurrentExclusion.InteractedActorCompositeModel.BiologicalActorCompositeModel.Country = 'UK';\r\n\r\n // The SiteId of where the Exclusion Took place must also exist in the SiteIdCollection.\r\n if (!this.CurrentExclusion.SiteIdCollection.some(i => i === this.CurrentExclusion.SiteId)) {\r\n this.CurrentExclusion.SiteIdCollection.push(this.CurrentExclusion.SiteId);\r\n }\r\n\r\n return new Promise(resolve => {\r\n let subscription = this.PostViewExclusionCompositeModel().subscribe(res => {\r\n subscription.unsubscribe();\r\n resolve(res);\r\n }, err => {\r\n this.EnableButton('btnProcessExclusion');\r\n })\r\n })\r\n }\r\n\r\n public InitiateExtensionForm() {\r\n this.ExtensionControllers = new Extension(this.CurrentExclusion.InteractionId, this.GetExtensionStartDate());\r\n }\r\n\r\n public SaveExtension(months: number, mediaModel: Views_MediaModel[]): Promise {\r\n return new Promise(resolve => {\r\n var viewMediaModel = mediaModel.length > 0 ? mediaModel : this.CurrentExclusion.MediaModelCollection;\r\n\r\n var newDate: Date;\r\n if (this.GetCurrentExcluderEndDate() > new Date()) {\r\n newDate = this.GetExtensionStartDate();\r\n } else {\r\n newDate = new Date();\r\n }\r\n var monitorPeriod = this._datemethods.GetMonitoringPeriodUsingMonths(newDate, months)\r\n var monitoringPeriod: InteractionMonitoringPeriodsModel = new InteractionMonitoringPeriodsModel(monitorPeriod, newDate);\r\n let extension: GetExclusionsCompositeModel = new GetExclusionsCompositeModel(\r\n 0,\r\n this.CurrentExclusion.AssociatedActorIdCollection,\r\n this.CurrentExclusion.InteractedActorCompositeModel,\r\n this.CurrentExclusion.InteractedActorCompositeModelCollection,\r\n monitoringPeriod,\r\n viewMediaModel,\r\n null,\r\n this.CurrentExclusion.Reference,\r\n this.CurrentExclusion.SiteId,\r\n this.CurrentExclusion.TagIdCollection,\r\n this.CurrentExclusion.VehicleCollection,\r\n this.CurrentExclusion.ExclusionReasonKeyId,\r\n this.CurrentExclusion.IdentificationDocumentKeyId,\r\n this.CurrentExclusion.Radius,\r\n this.CurrentExclusion.SiteIdCollection,\r\n this.CurrentExclusion.Extension,\r\n this.CurrentExclusion.Reinstatement,\r\n this.CurrentExclusion.ExclusionBreachesCollection\r\n );\r\n\r\n let renavigate = this._datemethods.ConvertDateToInteger(this._datemethods.AddDays(this.CurrentExclusion.InteractionMonitoringPeriod.Start, this.CurrentExclusion.InteractionMonitoringPeriod.Duration)) < this._datemethods.ConvertDateToInteger(new Date())\r\n delete extension.ClientValues;\r\n let subscription = this.PostExtension(extension).subscribe(res => {\r\n subscription.unsubscribe();\r\n this.CurrentExclusion.InteractionId = res.InteractionId;\r\n this.CurrentExclusion.ClientValues.ExtensionExists = true;\r\n alert('Extension applied To Exclusion.')\r\n if (renavigate) { this.router.navigate([`user/exclusion/view/`, res.InteractionId]) };\r\n resolve(true);\r\n }, err => {\r\n subscription.unsubscribe();\r\n })\r\n })\r\n }\r\n\r\n // private PostViewExclusionCompositeModel(exclusion?: Views_Get_ExclusionsCompositeModel): Observable {\r\n // if (exclusion) {\r\n // return this.dsrv.Post('api/View_ExclusionCompositeModel/', exclusion);\r\n // } else {\r\n // return this.dsrv.Post('api/View_ExclusionCompositeModel/', this.CurrentExclusion);\r\n // }\r\n // }\r\n\r\n private PostViewExclusionCompositeModel(exclusion?: Views_Get_ExclusionsCompositeModel): Observable {\r\n if (exclusion) {\r\n return this._api.postViewExclusionCompositeModel(exclusion);\r\n } else {\r\n return this._api.postViewExclusionCompositeModel(this.CurrentExclusion);\r\n }\r\n } \r\n\r\n private PostExtension(exclusion: GetExclusionsCompositeModel): Observable {\r\n exclusion.SiteCollectionIdCollection = [];\r\n return this.dsrv.Post('api/View_ExclusionCompositeModel/', exclusion);\r\n }\r\n\r\n public SaveBreach(breach: View_ExclusionBreachesCompositeModel): Promise {\r\n return new Promise(resolve => {\r\n let subscription = this._api.postViewBreachCompositeModel(breach).subscribe(res => {\r\n subscription.unsubscribe();\r\n this.CurrentExclusion.ClientValues.BreachExists = true;\r\n resolve(true);\r\n }, err => {\r\n subscription.unsubscribe();\r\n resolve(false);\r\n })\r\n })\r\n }\r\n\r\n public GetCurrentExcluderImage(): Promise {\r\n return new Promise(resolve => {\r\n let subscription = this.asrv.GetInteractionMedia(this.CurrentExclusion.InteractionId).subscribe(res => {\r\n subscription.unsubscribe();\r\n if (!this.CurrentExclusion.MediaModelCollection) {\r\n this.CurrentExclusion.MediaModelCollection.push(res);\r\n } else {\r\n this.CurrentExclusion.MediaModelCollection = [];\r\n this.CurrentExclusion.MediaModelCollection.push(res);\r\n }\r\n resolve(true);\r\n }, err => {\r\n subscription.unsubscribe();\r\n resolve(false);\r\n })\r\n })\r\n }\r\n\r\n public GetRecentBreach(): ExclusionBreaches {\r\n let returnBreach: ExclusionBreaches;\r\n if (this.CurrentExclusion.ExclusionBreachesCollection) {\r\n let recentBreach: number = 0;\r\n this.CurrentExclusion.ExclusionBreachesCollection.forEach(breach => {\r\n let currentBreach = this._datemethods.ConvertDateToInteger(breach.Breached);\r\n if (currentBreach > recentBreach) {\r\n recentBreach = currentBreach;\r\n returnBreach = breach;\r\n }\r\n })\r\n }\r\n return returnBreach;\r\n }\r\n\r\n // private PostViewBreachCompositeModel(breach: View_ExclusionBreachesCompositeModel): Observable {\r\n // return this.dsrv.Post('api/View_ExclusionBreachesCompositeModel', breach);\r\n // }\r\n\r\n public StartReinstatement() {\r\n this.ReinstatementControllers = new Reinstatement(this.asrv.OrganisationSelect.KeySelected);\r\n }\r\n\r\n public ReinstatementSave(): Promise {\r\n return new Promise(resolve => {\r\n if (!this.ReinstatementControllers.Validate()) {\r\n var reinstatement = new View_ReinstatementsCompositeModel(\r\n 0,\r\n [this.ReinstatementControllers.EmployeeId],\r\n null,\r\n this.CurrentExclusion.Reference,\r\n this.ReinstatementControllers.SiteId,\r\n null,\r\n this.CurrentExclusion.InteractionId,\r\n this.ReinstatementControllers.MethodId,\r\n this.ReinstatementControllers.Date\r\n );\r\n\r\n if (!reinstatement.TagIdCollection) {\r\n reinstatement.TagIdCollection = [];\r\n }\r\n\r\n if (!reinstatement.TagIdCollection.some(i => i === 7)) {\r\n reinstatement.TagIdCollection.push(7);\r\n }\r\n reinstatement.ReinstatementRequestMethodKeyId = this.ReinstatementControllers.MethodId;\r\n let subscription = this._api.postViewReinstatementsCompositeModel(reinstatement).subscribe(res => {\r\n subscription.unsubscribe();\r\n resolve(true);\r\n }, err => {\r\n subscription.unsubscribe();\r\n resolve(false);\r\n })\r\n } else {\r\n // flag error service\r\n resolve(false);\r\n }\r\n })\r\n }\r\n\r\n public SaveReinstatement(reinstatement: View_ReinstatementsCompositeModel): Promise {\r\n return new Promise(resolve => {\r\n reinstatement.InteractionId = this.CurrentExclusion.InteractionId;\r\n // reinstatement.Exclusions_InteractionId = this.CurrentExclusion.InteractionId;\r\n reinstatement.Reference = this.CurrentExclusion.Reference;\r\n reinstatement.ReinstatementRequestMethodKeyId = 1;\r\n let subscription = this._api.postViewReinstatementsCompositeModel(reinstatement).subscribe(res => {\r\n subscription.unsubscribe();\r\n resolve(true);\r\n }, err => {\r\n subscription.unsubscribe();\r\n resolve(false);\r\n })\r\n })\r\n }\r\n\r\n // private PostViewReinstatementsCompositeModel(reinstatement: View_ReinstatementsCompositeModel): Observable {\r\n // return this.dsrv.Post('api/View_ReinstatementsCompositeModel', reinstatement);\r\n // }\r\n\r\n /*\r\n private CreateNewInteractionForReinstatement(reinstatement: View_ReinstatementsCompositeModel): Promise {\r\n var interaction: Views_InteractionsCompositeModel = new Views_InteractionsCompositeModel();\r\n\r\n interaction.AssociatedActorIdCollection = this.CurrentExclusion.AssociatedActorIdCollection;\r\n interaction.InteractedActorCompositeModel = this.CurrentExclusion.InteractedActorCompositeModel;\r\n interaction.InteractionId = 0;\r\n interaction.InteractionMonitoringPeriod.Duration = 28;\r\n interaction.InteractionMonitoringPeriod.Start = new Date();\r\n interaction.MediaModelCollection = this.CurrentExclusion.MediaModelCollection;\r\n interaction.Notes = this.CurrentExclusion.InteractedActorCompositeModel.BiologicalActorCompositeModel.Forename + ' ' + this.CurrentExclusion.InteractedActorCompositeModel.BiologicalActorCompositeModel.Surname + ' was reinstated ' + reinstatement.Accepted.toLocaleDateString() + '. This will require a review on ' + this._datemethods.AddDays(interaction.InteractionMonitoringPeriod.Start, 28) + '.';\r\n // Customer-led as this is a reinstatement\r\n interaction.TagIdCollection.push(this.asrv.Globals.TagValues.InteractionCustomerLed);\r\n // Push in the Behavior Reason\r\n interaction.TagIdCollection.push(this.asrv.Globals.TagValues.InteractionReasonBehaviour);\r\n // Push in the Monitor Behavior Action\r\n interaction.TagIdCollection.push(this.asrv.Globals.TagValues.InteractionActionMonitorBehaviour);\r\n interaction.Reference = this.CurrentExclusion.Reference;\r\n\r\n // Update when actor service has the users siteid\r\n interaction.SiteId = 101;\r\n \r\n\r\n return new Promise(resolve => {\r\n this.PostInteractionCompositeModel(interaction).subscribe(res => {\r\n resolve(true);\r\n }, err => {\r\n resolve(false);\r\n })\r\n })\r\n }\r\n\r\n private PostInteractionCompositeModel(interaction): Observable {\r\n return this.dsrv.Post('api/View_InteractionCompositeModel', interaction);\r\n }\r\n */\r\n\r\n public AddSitesWithinOneKilometer(): Promise {\r\n this.CurrentExclusion.ClientValues.SiteCollection = [];\r\n this.CurrentExclusion.Radius = 1;\r\n if (this.CurrentExclusion.SiteId) {\r\n return new Promise(resolve => {\r\n let subscription = this.asrv.GetSitesWithinRadius(this.CurrentExclusion.SiteId, 1).subscribe(res => {\r\n subscription.unsubscribe();\r\n try {\r\n this.CurrentExclusion.SiteIdCollection = [];\r\n this.CurrentExclusion.SiteIdCollection = res.map(function (el) { return el.ActorId; });\r\n } catch (error) {\r\n resolve(false);\r\n }\r\n this.asrv.GetSiteNameCollection(this.CurrentExclusion.SiteIdCollection).then(value => {\r\n this.CurrentExclusion.ClientValues.SiteCollection = value;\r\n resolve(true);\r\n })\r\n })\r\n })\r\n } else {\r\n return new Promise(resolve => { resolve(false); });\r\n }\r\n\r\n }\r\n\r\n public UpdateSitesWithinRadius(): Promise {\r\n this.CurrentExclusion.ClientValues.SiteCollection = [];\r\n return new Promise(resolve => {\r\n let subscription = this.asrv.GetSitesWithinRadius(this.CurrentExclusion.SiteId, this.CurrentExclusion.Radius).subscribe(res => {\r\n subscription.unsubscribe();\r\n this.CurrentExclusion.SiteIdCollection = res.map(function (el) { return el.ActorId; });\r\n resolve(res);\r\n }, err => {\r\n subscription.unsubscribe();\r\n resolve([]);\r\n })\r\n })\r\n }\r\n\r\n public GetSitesUsingRadius(radius: number): Promise {\r\n this.CurrentExclusion.ClientValues.SiteCollection = [];\r\n return new Promise(resolve => {\r\n let subscription = this.asrv.GetSitesWithinRadius(this.CurrentExclusion.SiteId, radius).subscribe(res => {\r\n subscription.unsubscribe();\r\n resolve(res);\r\n }, err => {\r\n subscription.unsubscribe();\r\n resolve([]);\r\n })\r\n })\r\n }\r\n\r\n public ValidatePage(page: number): Promise {\r\n return new Promise(resolve => {\r\n this._errors = [];\r\n switch (page) {\r\n case this._pages.customerDetail:\r\n this.ValidateCustomerDetail();\r\n break;\r\n case this._pages.customerAddress:\r\n this.ValidateCustomerAddress();\r\n break;\r\n case this._pages.excluderExclusion:\r\n this.ValidateExclusionInfo();\r\n break;\r\n case this._pages.exclusionZone:\r\n this.ValidateExclusionZone();\r\n break;\r\n case this._pages.customerPhoto:\r\n this.ValidateCustomerPhoto(true);\r\n break;\r\n case this._pages.termsAndConditions:\r\n this.ValidateTermsAndConditions();\r\n break;\r\n case this._pages.exclusionDeclaration:\r\n this.ExclusionDeclaration();\r\n break;\r\n }\r\n\r\n var result = this._errors.length > 0 ? false : true;\r\n if (!result) {\r\n this.ShowError();\r\n }\r\n\r\n // If validated and we're on the last page, save the exclusion.\r\n if (result && page === this._pages.exclusionDeclaration) {\r\n let sitename = this.CurrentExclusion.ClientValues.ExclusionSiteName;\r\n let radius = this.CurrentExclusion.ClientValues.Radius;\r\n\r\n var tags: number[] = [];\r\n this.CurrentExclusion.TagIdCollection.forEach(tagid => {\r\n if (!tags.some(i => i === tagid)) {\r\n tags.push(tagid);\r\n }\r\n })\r\n this.CurrentExclusion.TagIdCollection = tags;\r\n this.SaveExclusion().then(value => {\r\n this.CurrentExclusion = value;\r\n this.CurrentExclusion.ClientValues = new ExclusionClientValues();\r\n this.CurrentExclusion.ClientValues.ExclusionSiteName = sitename;\r\n this.CurrentExclusion.ClientValues.Radius = radius;\r\n resolve(result);\r\n })\r\n } else {\r\n // this._memoryManager.SetExclusionIntoSessionStorage(this.CurrentExclusion);\r\n resolve(result);\r\n }\r\n })\r\n }\r\n\r\n private ValidateCustomerDetail(): void {\r\n let biologicalModel: Views_BiologicalActorCompositeModel = this.CurrentExclusion.InteractedActorCompositeModel.BiologicalActorCompositeModel;\r\n // First Validate that Text Data has been populated.\r\n if (!biologicalModel.HonorificId) {\r\n this.ValidatedInput('inputTitle', false);\r\n this._errors.push('Title');\r\n } else {\r\n this.ValidatedInput('inputTitle', true);\r\n }\r\n\r\n if (!biologicalModel.GenderId) {\r\n this.ValidatedInput('inputGender', false);\r\n this._errors.push('Gender');\r\n } else {\r\n this.ValidatedInput('inputGender', true);\r\n }\r\n\r\n if (!biologicalModel.Forename && this.StringHasNumber(biologicalModel.Forename)) {\r\n this.ValidatedInput('inputFirstName', false);\r\n this._errors.push('Forename');\r\n } else {\r\n if (biologicalModel.Forename.length < 2) {\r\n this.ValidatedInput('inputFirstName', false);\r\n this._errors.push('Forename');\r\n } else {\r\n this.ValidatedInput('inputFirstName', true);\r\n }\r\n }\r\n\r\n if (!biologicalModel.Surname && this.StringHasNumber(biologicalModel.Surname)) {\r\n this.ValidatedInput('inputSurname', false);\r\n this._errors.push('Surname');\r\n } else {\r\n if (biologicalModel.Surname.length < 2) {\r\n this.ValidatedInput('inputSurname', false);\r\n this._errors.push('Surname');\r\n } else {\r\n this.ValidatedInput('inputSurname', true);\r\n }\r\n }\r\n\r\n // Check the Excluder is 18\r\n if (!this._datemethods.CheckBirthdateIsValid(new Date(biologicalModel.BirthDate))) {\r\n this.ValidatedInput('inputBirthDate', false);\r\n this._errors.push('Birthdate');\r\n } else {\r\n this.ValidatedInput('inputBirthDate', true);\r\n }\r\n\r\n if (biologicalModel.Mobile) {\r\n if (!this.StringHasNumber(biologicalModel.Mobile)) {\r\n this.ValidatedInput('inputMobile', false);\r\n this._errors.push('Mobile');\r\n } else {\r\n this.ValidatedInput('inputMobile', true);\r\n }\r\n }\r\n }\r\n\r\n private ValidateCustomerAddress() {\r\n if (!this.CurrentExclusion.InteractedActorCompositeModel.BiologicalActorCompositeModel.Postcode) {\r\n this.ValidatedInput('inputPostcode', false);\r\n this._errors.push('Postcode');\r\n } else {\r\n this.ValidatedInput('inputPostcode', true);\r\n }\r\n\r\n if (!this.CurrentExclusion.InteractedActorCompositeModel.BiologicalActorCompositeModel.Line1) {\r\n this.ValidatedInput('inputPostcode', false);\r\n this._errors.push('Select Address');\r\n } else {\r\n this.ValidatedInput('inputPostcode', true);\r\n }\r\n\r\n if (this.CurrentExclusion.InteractedActorCompositeModel.BiologicalActorCompositeModel.TownCity && !this.CurrentExclusion.InteractedActorCompositeModel.BiologicalActorCompositeModel.County) {\r\n this.CurrentExclusion.InteractedActorCompositeModel.BiologicalActorCompositeModel.County = this.CurrentExclusion.InteractedActorCompositeModel.BiologicalActorCompositeModel.TownCity.valueOf();\r\n }\r\n }\r\n\r\n private ValidateExclusionInfo(): void {\r\n if (!this.CurrentExclusion.InteractionMonitoringPeriod.Duration) {\r\n this.ValidatedInput('inputExclusionPeriod', false);\r\n this._errors.push('Exclusion Period');\r\n } else {\r\n this.ValidatedInput('inputExclusionPeriod', true);\r\n }\r\n\r\n // Will likely be a tag, get more tag options implemented.\r\n /*\r\n if (!this.exclusion.ExclusionReasonKeyId) {\r\n document.getElementById('inputReason').style.borderColor = this.errorBorderColor;\r\n errStrings.push('Reason');\r\n } else {\r\n document.getElementById('inputReason').style.borderColor = this.defaultBorderColor;\r\n }\r\n */\r\n\r\n /*\r\n if (!this.CurrentExclusion.InteractionMonitoringPeriod.Start) {\r\n this.ValidatedInput('inputStartDate', false);\r\n this._errors.push('Start Date');\r\n } else {\r\n this.ValidatedInput('inputStartDate', true);\r\n }\r\n */\r\n }\r\n\r\n private ValidateExclusionZone(): void {\r\n if (!this.CurrentExclusion.SiteId) {\r\n this.ValidatedInput('ctrlSites', false);\r\n this._errors.push('Site');\r\n } else {\r\n this.ValidatedInput('ctrlSites', true);\r\n }\r\n }\r\n\r\n public ValidateCustomerPhoto(fromExclusionJourney: boolean): void {\r\n /*\r\n if (!this.DummyExclusion.Image_ExcluderBase64 && fromExclusionJourney) {\r\n this._errors.push('Image');\r\n } else {\r\n if (this.CurrentExclusion.MediaModelCollection.some(i => i.MediaClassKeyId === 4)) {\r\n this.CurrentExclusion.MediaModelCollection.find(i => i.MediaClassKeyId === 4).Data = this.DummyExclusion.Image_ExcluderBase64;\r\n } else {\r\n this.CurrentExclusion.MediaModelCollection.push({Data: this.DummyExclusion.Image_ExcluderBase64, MediaClassKeyId: 4, MediaId: 0})\r\n }\r\n }\r\n */\r\n }\r\n\r\n private ValidateTermsAndConditions() {\r\n if (!this.CurrentExclusion.ClientValues.TermsAndConditions) {\r\n this.ValidatedInput('grpTermsAndConditions', false);\r\n this._errors.push('Terms & Conditions');\r\n } else {\r\n this.ValidatedInput('grpTermsAndConditions', true);\r\n this.AddTagToExclusion(tagReadTermsAndConditions);\r\n }\r\n\r\n if (!this.CurrentExclusion.ClientValues.ReinstateTerms) {\r\n this.ValidatedInput('grpReinstate', false);\r\n this._errors.push('Reinstatement Terms');\r\n } else {\r\n this.ValidatedInput('grpReinstate', true);\r\n }\r\n\r\n if (!this.CurrentExclusion.ClientValues.AgreeToThirdPartyContact) {\r\n this.ValidatedInput('grpAgreeToThirdPartyContact', false);\r\n this._errors.push('Third Party Details');\r\n } else {\r\n this.ValidatedInput('grpAgreeToThirdPartyContact', true);\r\n }\r\n\r\n if (!this.CurrentExclusion.ClientValues.OptOutPromo) {\r\n this.ValidatedInput('grpOptOutPromo', false);\r\n this._errors.push('Marketing & Promotional Details');\r\n } else {\r\n this.ValidatedInput('grpOptOutPromo', true);\r\n }\r\n\r\n if (!(this._errors.length > 0)) {\r\n this.AddTagToExclusion(tagReadTermsAndConditions);\r\n }\r\n }\r\n\r\n private ExclusionDeclaration() {\r\n if (this.CurrentExclusion.ClientValues.IdChecked) {\r\n if (!this.CurrentExclusion.IdentificationDocumentKeyId) {\r\n this.ValidatedInput('inputIDType', false);\r\n this._errors.push('ID Type');\r\n } else {\r\n this.ValidatedInput('inputIDType', true);\r\n }\r\n }\r\n }\r\n\r\n GetCurrentExcluderEndDate(): Date {\r\n return new Date(this._datemethods.AddDays(this.CurrentExclusion.InteractionMonitoringPeriod.Start, this.CurrentExclusion.InteractionMonitoringPeriod.Duration));\r\n }\r\n\r\n GetExtensionStartDate(): Date {\r\n return new Date(this._datemethods.AddDays(this.CurrentExclusion.InteractionMonitoringPeriod.Start, this.CurrentExclusion.InteractionMonitoringPeriod.Duration + 1));\r\n }\r\n\r\n StringHasNumber(value: string): boolean {\r\n return /\\d/.test(value);\r\n }\r\n\r\n EligibleToReinstate(): boolean {\r\n if (new Date() >= this.GetCurrentExcluderEndDate() && !this.ReinstatementExists()) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n ReinstatementExists(): boolean {\r\n if (this.CurrentExclusion.Reinstatement) {\r\n return this.CurrentExclusion.Reinstatement.InteractionId > 0;\r\n }\r\n return false;\r\n }\r\n\r\n // Generic DOM run commands\r\n private EnableButton(domId: string) {\r\n (document.getElementById(domId) as HTMLButtonElement).disabled = false;\r\n (document.getElementById(domId) as HTMLButtonElement).style.filter = 'Grayscale(0)';\r\n (document.getElementById(domId) as HTMLButtonElement).style.cursor = 'pointer';\r\n }\r\n\r\n private DisableButton(domId: string) {\r\n (document.getElementById(domId) as HTMLButtonElement).disabled = true;\r\n (document.getElementById(domId) as HTMLButtonElement).style.filter = 'Grayscale(0.75)';\r\n (document.getElementById(domId) as HTMLButtonElement).style.cursor = 'not-allowed';\r\n }\r\n\r\n private ValidatedInput(domId: string, validationResult: boolean) {\r\n document.getElementById(domId).style.borderColor = validationResult ? defaultBorderColor : errorBorderColor;\r\n }\r\n\r\n // Alert handler\r\n private ShowError() {\r\n var msg: string = 'Unable to proceed, please complete the following';\r\n this._errors.forEach(error => {\r\n msg += ', ' + error;\r\n })\r\n alert(msg + '.');\r\n }\r\n\r\n // Generic Handlers\r\n public SetExcluderEndDate(periodInMonths: number) {\r\n this.CurrentExclusion.InteractionMonitoringPeriod.Duration = this._datemethods.GetMonitoringPeriodUsingMonths(new Date(this.CurrentExclusion.InteractionMonitoringPeriod.Start), periodInMonths);\r\n }\r\n\r\n public GetEndDateForStartDate(startDate: Date, periodInMonths: number) {\r\n return this._datemethods.GetMonitoringPeriodUsingMonths(startDate, periodInMonths);\r\n }\r\n\r\n public AddTagToExclusion(tagId: number) {\r\n if (!this.CurrentExclusion.TagIdCollection.some(i => i === tagId)) {\r\n this.CurrentExclusion.TagIdCollection.push(tagId);\r\n }\r\n }\r\n\r\n public RemoveTagFromExclusion(tag: number) {\r\n if (this.CurrentExclusion.TagIdCollection.some(i => i === tag)) {\r\n let index = this.CurrentExclusion.TagIdCollection.indexOf(tag, 0);\r\n if (index > -1) {\r\n this.CurrentExclusion.TagIdCollection.splice(index, 1);\r\n }\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable, fromEvent, merge, Subject, timer, Subscription, interval, throwError } from 'rxjs';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { ApiService } from './api.service';\r\nimport { DataService } from './data.service';\r\nimport * as moment from 'moment';\r\nimport { Router } from '@angular/router';\r\nimport { ExcluderGalleryService } from './excluder-gallery.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class InactivityService {\r\n\r\n currentDate = new Date();\r\n startOfNextMinute = new Date(\r\n this.currentDate.getFullYear(),\r\n this.currentDate.getMonth(),\r\n this.currentDate.getDate(),\r\n this.currentDate.getHours(),\r\n this.currentDate.getMinutes() + 1\r\n );\r\n\r\n private idle$: Observable = new Observable();\r\n private idleSubscription$: Subscription = new Subscription();\r\n private timer$;\r\n private heartbeat$;\r\n private modal$;\r\n\r\n // private timer: Subscription = new Subscription();\r\n // private timer2: Subscription = new Subscription();\r\n // private timeOutMilliSeconds: number = 1000;\r\n // private idleSubscription: Subscription = new Subscription();\r\n\r\n public token = '';\r\n public secretKeyMap = [];\r\n public memwordChar1 = '';\r\n public memwordChar2 = '';\r\n public memwordChar3 = '';\r\n\r\n // public cachedMemwordChar1 = '';\r\n // public cachedMemwordChar2 = '';\r\n // public cachedMemwordChar3 = '';\r\n\r\n // public expired: Subject = new Subject();\r\n\r\n timerX = 0;\r\n timerY = 0;\r\n\r\n modalTimerX = 0;\r\n modalTimerY = 0;\r\n\r\n isInactive = true;\r\n\r\n userKicked = false;\r\n\r\n constructor(\r\n private _ds: DataService,\r\n private _api: ApiService,\r\n private _router: Router,\r\n private _gsrv: ExcluderGalleryService,\r\n ) {\r\n // this.startMonitor();\r\n // this.startTimer();\r\n }\r\n\r\n startMonitor() {\r\n if (this.idleSubscription$) {\r\n this.idleSubscription$.unsubscribe();\r\n }\r\n // console.log('Inactivity Monitor Started');\r\n this.idle$ = merge(\r\n // fromEvent(document, 'mousemove'),\r\n // fromEvent(window, 'mousemove'),\r\n fromEvent(document, 'click'),\r\n fromEvent(document, 'mousedown'),\r\n fromEvent(document, 'keypress'),\r\n fromEvent(document, 'DOMMouseScroll'),\r\n fromEvent(document, 'mousewheel'),\r\n fromEvent(document, 'touchmove'),\r\n fromEvent(document, 'MSPointerMove'),\r\n fromEvent(window, 'resize'),\r\n );\r\n\r\n this.idleSubscription$ = this.idle$.subscribe((res) => {\r\n this.isInactive = false;\r\n\r\n });\r\n }\r\n\r\n stopMonitor() {\r\n if (this.idleSubscription$) {\r\n this.idleSubscription$.unsubscribe();\r\n }\r\n // console.log('Inactivity Monitor Stopped');\r\n }\r\n\r\n startModalTimer() {\r\n if (this.modal$) {\r\n this.modal$.unsubscribe();\r\n }\r\n // console.log('Modal Timer Started');\r\n this.modalTimerX = 0;\r\n this.modalTimerY = 0;\r\n this.modal$ = timer(0, 1000).subscribe(n => {\r\n if (!this.isInactive) {\r\n this.resetModalTimer();\r\n }\r\n if (n % 10 === 0) {\r\n // console.log(`${this.modalTimerY}s elapsed`, this.modalTimerX, this.isInactive);\r\n if (this.modalTimerX === 5) {\r\n console.warn('50s elapsed. Modal Timer stopped');\r\n this.modal$.unsubscribe();\r\n this.kickUser();\r\n }\r\n this.modalTimerX++;\r\n }\r\n this.modalTimerY++;\r\n });\r\n }\r\n\r\n \r\n\r\n stopModalTimer() {\r\n if (this.modal$) {\r\n this.modal$.unsubscribe();\r\n }\r\n // console.log('Modal Timer Stopped');\r\n }\r\n\r\n resetModalTimer() {\r\n this.modalTimerX = 0;\r\n this.modalTimerY = 0;\r\n this.isInactive = true;\r\n }\r\n\r\n kickUser() {\r\n this._router.navigate(['/user/features']);\r\n this._ds.setMemwordError(false);\r\n this._ds.dataLoaded = false;\r\n this.userKicked = true;\r\n }\r\n\r\n startTimer() {\r\n if (this.timer$) {\r\n this.timer$.unsubscribe();\r\n }\r\n // console.log('Inactivity Timer Started');\r\n this.timerX = 0;\r\n this.timerY = 0;\r\n this.timer$ = timer(0, 1000).subscribe(n => {\r\n // console.log('timer', n, this.isInactive);\r\n \r\n if (n % 10 === 0) {\r\n if (!this.isInactive || this._gsrv.galleryLoading) {\r\n this.refreshToken();\r\n this.resetTimer();\r\n if (this._gsrv.galleryLoading) {\r\n console.log('%c Gallery still loading -- resetting timer', 'background: #222; color: #FFBF00');\r\n }\r\n \r\n }\r\n // console.log(`${this.timerY}s elapsed`, `---`, `Inactive triggered: ${!this.isInactive}`);\r\n this.checkToken();\r\n if (this.timerX === 5) {\r\n // console.warn('50s elapsed. Inactivity Timer stopped');\r\n this.timer$.unsubscribe();\r\n if (this.isInactive) {\r\n this._ds.setMemwordError(true);\r\n }\r\n }\r\n this.timerX++;\r\n }\r\n this.timerY++;\r\n });\r\n }\r\n\r\n refreshToken() {\r\n const _postData = JSON.parse(sessionStorage.getItem('__postData'));\r\n this._api.postSecretKey(_postData).subscribe(\r\n results => {\r\n \r\n // console.log('Token Refreshed');\r\n },\r\n error => {\r\n this.kickUser();\r\n }\r\n );\r\n }\r\n\r\n resetTimer() {\r\n this.timerX = 0;\r\n this.timerY = 0;\r\n this.isInactive = true;\r\n }\r\n\r\n stopTimer() {\r\n if (this.timer$) {\r\n this.timer$.unsubscribe();\r\n }\r\n // console.log('Inactivity Timer Stopped');\r\n }\r\n\r\n startHeartbeat() {\r\n // console.log('Heartbeat Started');\r\n let x = 0;\r\n this.heartbeat$ = timer(0, 1000).subscribe(n => {\r\n if (n % 10 === 0) {\r\n // console.warn('Heartbeat Ping', x, this.isInactive);\r\n if (x === 5) {\r\n this.heartbeat$.unsubscribe();\r\n }\r\n x++;\r\n }\r\n });\r\n }\r\n\r\n stopHeartbeat() {\r\n if (this.heartbeat$) {\r\n this.heartbeat$.unsubscribe();\r\n }\r\n // console.log('Heartbeat Stopped');\r\n }\r\n\r\n getNewKey() {\r\n this.secretKeyMap = [];\r\n // console.log('+=+= Getting New Key');\r\n this.memwordChar1 = '';\r\n this.memwordChar2 = '';\r\n this.memwordChar3 = '';\r\n this._api.getSecretKey().subscribe(results => {\r\n this.token = results.Token;\r\n const _secretKey = results.SecretKeyCharacterCollection;\r\n _secretKey.sort((a, b) => (a.Position > b.Position) ? 1 : -1);\r\n _secretKey.forEach(char => {\r\n this.secretKeyMap.push(char.Position);\r\n });\r\n });\r\n }\r\n\r\n checkToken() {\r\n // console.log('*** Checking Token ***');\r\n const _token = sessionStorage.getItem('__galleryToken');\r\n if (_token) {\r\n this._api.getCheckToken(_token).subscribe(\r\n results => {\r\n },\r\n error => {\r\n this._ds.setMemwordError(true);\r\n sessionStorage.removeItem('__galleryToken');\r\n }\r\n )\r\n } else {\r\n this._ds.setMemwordError(true);\r\n }\r\n }\r\n \r\n killSubscriptions() {\r\n if (this.heartbeat$) {this.heartbeat$.unsubscribe()}\r\n if (this.modal$) {this.modal$.unsubscribe()}\r\n if (this.idleSubscription$) {this.idleSubscription$.unsubscribe()}\r\n if (this.timer$) {this.timer$.unsubscribe()}\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\n// import { resolve } from 'url';\r\nimport { ActorRole } from '../models/ActorRole';\r\nimport { DropDownItem } from '../models/controllers/Standard Controllers/Select';\r\nimport { CustomerInteractionBrief } from '../models/CustomerInteractionBrief';\r\nimport { Views_InteractionsCompositeModel } from '../models/InteractionExclusion/Views_InteractionsCompositeModel';\r\nimport { ISDDateMethods } from '../models/ISDDateMethods';\r\nimport { PostObjects } from '../models/PostObjects';\r\nimport { ActorService } from './actor.service';\r\nimport { OrganisationList, SiteList } from './admin.service';\r\nimport { DataService } from './data.service';\r\n\r\nconst iconStart: number = 0;\r\nconst iconEnd: number = 31;\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class InteractionGalleryService {\r\n LoadingCards: boolean;\r\n public CustomerInteractionBriefs: CustomerInteractionBrief[] = [];\r\n public CustomerInteractionBriefsToShow: CustomerInteractionBrief[] = [];\r\n public CustomerInteractionBriefsCurrentlyVisible: CustomerInteractionBrief[] = [];\r\n\r\n public ActiveOrganisationFilterId: number;\r\n public ActiveSiteFilterId: number;\r\n public IsAdmin: boolean = false;\r\n public ActorRole: ActorRole;\r\n public SiteList: DropDownItem[];\r\n public SiteListToShow: DropDownItem[];\r\n public OrganisationList: DropDownItem[];\r\n public LoadingInteractions: boolean;\r\n\r\n public Limit: number = 9; //Constant for now\r\n public EventHandler: GalleryEventsHandler = new GalleryEventsHandler();\r\n public Settings: Settings = new Settings();\r\n public MaximumPageCount: number;\r\n\r\n public Filter: number = 0;\r\n public Sort: number = 0;\r\n public CurrentPage: number = 0;\r\n private Initializing: boolean;\r\n private CustomerInteractionIdsToShow: number[] = [];\r\n private FirstLoad: boolean;\r\n\r\n constructor(public dsrv: DataService, public asrv: ActorService, private dateMethods: ISDDateMethods) {\r\n if (sessionStorage.getItem('OrganisationFilter')) {\r\n this.ActiveOrganisationFilterId = +sessionStorage.getItem('OrganisationFilter');\r\n } else {\r\n this.ActiveOrganisationFilterId = 0;\r\n }\r\n if (sessionStorage.getItem('SiteFilter')) {\r\n this.ActiveSiteFilterId = +sessionStorage.getItem('SiteFilter');\r\n } else {\r\n this.ActiveSiteFilterId = 0;\r\n }\r\n if (sessionStorage.getItem('InteractionGalleryPageNumber')) {\r\n this.CurrentPage = +sessionStorage.getItem('InteractionGalleryPageNumber');\r\n } else {\r\n this.CurrentPage = 0;\r\n }\r\n this.FirstLoad = true;\r\n }\r\n\r\n public Initialize(): Promise {\r\n this.CheckUserIsAdmin();\r\n return this.GetInteractionCards();\r\n }\r\n\r\n public GetInteractionCards(): Promise {\r\n this.Initializing = true;\r\n this.CurrentPage = 0;\r\n this.CustomerInteractionBriefs = [];\r\n this.CustomerInteractionBriefsToShow = [];\r\n this.CustomerInteractionBriefsCurrentlyVisible = [];\r\n this.CustomerInteractionIdsToShow = [];\r\n return new Promise(resolve => {\r\n this.GetCustomerInteractions(0).then(value => {\r\n this.SetIconImagesToShow();\r\n this.GetActiveInteractionIds();\r\n this.GetIncompleteInteractionIds();\r\n this.FilterGallery()\r\n this.SortGallery();\r\n this.MaximumPageCount = Math.ceil(this.CustomerInteractionBriefsToShow.length / this.Limit);\r\n this.Initializing = false;\r\n this.LoadingInteractions = false;\r\n resolve(true);\r\n })\r\n })\r\n }\r\n\r\n CheckUserIsAdmin() {\r\n if (!this.OrganisationList) {\r\n this.asrv.GetActorRole().then(value => {\r\n this.ActorRole = value;\r\n this.SiteList = [];\r\n this.SiteListToShow = [];\r\n this.OrganisationList = [];\r\n this.IsAdmin = this.ActorRole.ActorRoleId <= 3? true: false;\r\n if (this.ActorRole.ActorRoleId <= 4) {\r\n this.asrv.GetOrganisationIdsDBSync(0, 0).then(value => {\r\n this.PopulateOrganisationList(value);\r\n });\r\n } else {\r\n this.PopulateSiteList();\r\n }\r\n })\r\n } \r\n }\r\n\r\n PopulateOrganisationList(organisationIds: number[]): Promise {\r\n return new Promise(resolve => {\r\n this.asrv.GetOrganisationNameCollection(organisationIds).then(value => {\r\n value.forEach(object => {\r\n this.OrganisationList.push({Key: object.ActorId, Value: object.Name});\r\n })\r\n this.OrganisationList.sort((a, b) => {\r\n let x = a.Value.localeCompare(b.Value);\r\n return x;\r\n })\r\n this.PopulateSiteList();\r\n resolve(true);\r\n })\r\n })\r\n }\r\n\r\n PopulateSiteList(): Promise {\r\n return new Promise(resolve => {\r\n this.asrv.GetSiteIds(0, 0, this.ActiveOrganisationFilterId).then(value => {\r\n value.forEach(id => {\r\n this.SiteListToShow.push({Key: id, Value: null});\r\n })\r\n this.asrv.GetSiteNameCollection(value).then(value => {\r\n this.SiteListToShow = [];\r\n value.forEach(siteName => {\r\n this.SiteListToShow.push({Key: siteName.ActorId, Value: siteName.Name});\r\n })\r\n this.SortSiteListBySiteNameAscending();\r\n resolve(true);\r\n })\r\n })\r\n });\r\n }\r\n\r\n SortSiteListBySiteNameAscending() {\r\n this.SiteListToShow.sort((a, b) => {\r\n let x = a.Value.localeCompare(b.Value);\r\n if (x == 0 && !this.IsAdmin) {\r\n return a.Value.localeCompare(b.Value);\r\n }\r\n return x;\r\n });\r\n }\r\n\r\n private ViewActiveInteractions(): void {\r\n this.CustomerInteractionIdsToShow.forEach(id => {\r\n this.CustomerInteractionBriefsToShow.push(this.CustomerInteractionBriefs.find(i => i.InteractionId === id));\r\n })\r\n }\r\n\r\n private GetCustomerInteractions(offset: number): Promise {\r\n this.LoadingInteractions = true;\r\n return new Promise(resolve => {\r\n let object = new PostObjects();\r\n\r\n object.Model.Start = this.dateMethods.GetEndDate(new Date(), -6);\r\n object.Model.End = this.dateMethods.AddDays(new Date(), 1);\r\n object.Model.TagIdCollection.push(this.asrv.Globals.TagValues.ArchivedInteraction);\r\n object.Model.TagIdCollection.push(this.asrv.Globals.TagValues.IncompleteInteraction);\r\n\r\n if (!this.FirstLoad) {\r\n if (this.IsAdmin) {\r\n if (this.ActiveOrganisationFilterId > 0) {\r\n object.Model.OrganisationParameters.OrganisationIdCollection.push(this.ActiveOrganisationFilterId);\r\n sessionStorage.setItem('OrganisationFilter', this.ActiveOrganisationFilterId.toString()); \r\n } else {\r\n //object.Model.OrganisationParameters.OrganisationIdCollection.push(this.asrv.UserOrganisationId);\r\n sessionStorage.setItem('OrganisationFilter', \"0\"); \r\n }\r\n } else {\r\n object.Model.OrganisationParameters.OrganisationIdCollection.push(this.asrv.UserOrganisationId);\r\n sessionStorage.setItem('OrganisationFilter', \"0\"); \r\n }\r\n \r\n if (this.ActiveSiteFilterId > 0) {\r\n object.Model.SiteParameters.SiteIdCollection.push(this.ActiveSiteFilterId);\r\n sessionStorage.setItem('SiteFilter', this.ActiveSiteFilterId.toString()); \r\n } else {\r\n sessionStorage.setItem('SiteFilter', \"0\"); \r\n }\r\n } else {\r\n sessionStorage.setItem('OrganisationFilter', \"0\"); \r\n sessionStorage.setItem('SiteFilter', \"0\"); \r\n this.FirstLoad = false;\r\n }\r\n\r\n object.Model.Offset = 1000*offset;\r\n\r\n let interactionSubscription = this.dsrv.Post(\"api/view_InteractionGalleryCompositeModelDBsync\", object.Model).subscribe(res => { \r\n interactionSubscription.unsubscribe();\r\n res.forEach(interactionBrief => {\r\n this.CustomerInteractionBriefs.push(interactionBrief);\r\n });\r\n if (res.length === 1000) {\r\n this.GetCustomerInteractions(offset+1).then(value => {\r\n resolve(true);\r\n });\r\n } else {\r\n resolve(true);\r\n } \r\n }, err => {\r\n let returnBrief = new CustomerInteractionBrief();\r\n let returnBriefs = [];\r\n returnBrief.InteractionId = -1;\r\n returnBriefs.push(returnBrief);\r\n interactionSubscription.unsubscribe();\r\n resolve(false);\r\n });\r\n })\r\n }\r\n\r\n private SetIconImagesToShow(): void {\r\n // Temp For Loop until Database flush.\r\n let mediaIds: number[] = [];\r\n for (let i: number = 0; i < this.CustomerInteractionBriefs.length; i++) {\r\n if (this.CustomerInteractionBriefs[i].Media) {\r\n mediaIds.push(this.CustomerInteractionBriefs[i].Media.MediaId);\r\n }\r\n }\r\n // End\r\n\r\n let ids: number[] = [];\r\n for (let i: number = iconStart; i <= iconEnd; i++) {\r\n // if (!this.CustomerInteractionBriefs.some(j => j.Media.MediaId === i)) {\r\n if (!mediaIds.some(j => j === i)) {\r\n ids.push(i);\r\n }\r\n }\r\n localStorage.setItem('IconIdsAvailable', JSON.stringify(ids));\r\n }\r\n\r\n private GetActiveInteractionIds(): void {\r\n this.CustomerInteractionBriefs.forEach(interaction => {\r\n if (!interaction.TagIdCollection.some(i => i === this.asrv.Globals.TagValues.IncompleteInteraction)) {\r\n this.CustomerInteractionIdsToShow.push(interaction.InteractionId);\r\n }\r\n });\r\n }\r\n\r\n private GetIncompleteInteractionIds(): void {\r\n this.CustomerInteractionBriefs.forEach(interaction => {\r\n if (interaction.TagIdCollection.some(i => i === this.asrv.Globals.TagValues.IncompleteInteraction)) {\r\n this.CustomerInteractionIdsToShow.push(interaction.InteractionId);\r\n }\r\n });\r\n }\r\n\r\n private LoadPage(): void {\r\n this.CustomerInteractionBriefsCurrentlyVisible = [];\r\n let firstItem = this.CurrentPage*this.Limit;\r\n let lastItem = ((this.CurrentPage+1)*this.Limit);\r\n for (let currentItem = firstItem; currentItem < lastItem; currentItem++) {\r\n if (this.CustomerInteractionBriefsToShow[currentItem]) {\r\n this.CustomerInteractionBriefsCurrentlyVisible.push(this.CustomerInteractionBriefsToShow[currentItem])\r\n }\r\n }\r\n }\r\n\r\n public FilterGallery() {\r\n this.CustomerInteractionBriefsCurrentlyVisible = [];\r\n this.CustomerInteractionBriefsToShow = [];\r\n\r\n switch (this.Filter) {\r\n case 0: \r\n this.ViewActiveInteractions();\r\n this.SortGallery();\r\n if (!this.Initializing) {this.ResetPageAndReload();}\r\n break;\r\n case 1:\r\n this.CustomerInteractionBriefs.forEach(interactionBrief => {\r\n if (interactionBrief.TagIdCollection.some(i => i === this.asrv.Globals.TagValues.InteractionActionBanned)) {\r\n this.CustomerInteractionBriefsToShow.push(interactionBrief);\r\n }\r\n })\r\n if (!this.Initializing) {this.ResetPageAndReload();}\r\n break;\r\n case 2:\r\n this.GetArchivedInteractionGallery().then(value => {\r\n this.CustomerInteractionBriefsToShow = value;\r\n if (!this.Initializing) {this.ResetPageAndReload();}\r\n })\r\n break;\r\n case 3: \r\n this.CustomerInteractionBriefs.forEach(interactionBrief => {\r\n if (interactionBrief.TagIdCollection.some(i => i === this.asrv.Globals.TagValues.InteractionActionTimeOut)) {\r\n this.CustomerInteractionBriefsToShow.push(interactionBrief);\r\n }\r\n });\r\n if (!this.Initializing) {this.ResetPageAndReload();}\r\n break;\r\n case 4: \r\n this.GetIncompleteInteractionGallery().then(value => {\r\n this.CustomerInteractionBriefsToShow = value;\r\n if (!this.Initializing) {this.ResetPageAndReload();}\r\n })\r\n break;\r\n case 5:\r\n this.GetReinstatedSelfExcludersGallery().then(value => {\r\n this.CustomerInteractionBriefsToShow = value;\r\n if (!this.Initializing) {this.ResetPageAndReload();}\r\n })\r\n break;\r\n case 6:\r\n this.GetReviewDueGallery().then(value => {\r\n this.CustomerInteractionBriefsToShow = value;\r\n if (!this.Initializing) {this.ResetPageAndReload();}\r\n })\r\n break;\r\n }\r\n }\r\n\r\n private GetArchivedInteractionGallery() : Promise {\r\n return new Promise(resolve => {\r\n let object = new PostObjects();\r\n\r\n // Set Dates\r\n // Add Filtering here.\r\n object.Model.Start = this.dateMethods.GetEndDate(new Date(), -6);\r\n object.Model.End = this.dateMethods.AddDays(new Date(), 1);\r\n object.Model.TagIdCollection.push(this.asrv.Globals.TagValues.ArchivedInteraction);\r\n object.Model.TagIdLookupOperator = 'Exists';\r\n\r\n if (!this.FirstLoad) {\r\n if (this.IsAdmin) {\r\n if (this.ActiveOrganisationFilterId > 0) {\r\n object.Model.OrganisationParameters.OrganisationIdCollection.push(this.ActiveOrganisationFilterId);\r\n sessionStorage.setItem('OrganisationFilter', this.ActiveOrganisationFilterId.toString()); \r\n } else {\r\n //object.Model.OrganisationParameters.OrganisationIdCollection.push(this.asrv.UserOrganisationId);\r\n sessionStorage.setItem('OrganisationFilter', \"0\"); \r\n }\r\n } else {\r\n object.Model.OrganisationParameters.OrganisationIdCollection.push(this.asrv.UserOrganisationId);\r\n sessionStorage.setItem('OrganisationFilter', \"0\"); \r\n }\r\n \r\n if (this.ActiveSiteFilterId > 0) {\r\n object.Model.SiteParameters.SiteIdCollection.push(this.ActiveSiteFilterId);\r\n sessionStorage.setItem('SiteFilter', this.ActiveSiteFilterId.toString()); \r\n } else {\r\n sessionStorage.setItem('SiteFilter', \"0\"); \r\n }\r\n } else {\r\n sessionStorage.setItem('OrganisationFilter', \"0\"); \r\n sessionStorage.setItem('SiteFilter', \"0\"); \r\n this.FirstLoad = false;\r\n }\r\n\r\n let subscription = this.dsrv.Post('api/view_InteractionGalleryCompositeModelDbSync', object.Model).subscribe(res => {\r\n subscription.unsubscribe();\r\n resolve(res);\r\n }, err => {\r\n let returnBrief = new CustomerInteractionBrief();\r\n let returnBriefs = [];\r\n returnBrief.InteractionId = -1;\r\n returnBriefs.push(returnBrief);\r\n subscription.unsubscribe();\r\n resolve(returnBriefs);\r\n });\r\n })\r\n }\r\n\r\n private GetIncompleteInteractionGallery() : Promise {\r\n return new Promise(resolve => {\r\n let object = new PostObjects();\r\n\r\n // Set Dates\r\n // Add Filtering here.\r\n object.Model.Start = this.dateMethods.GetEndDate(new Date(), -6);\r\n object.Model.End = this.dateMethods.AddDays(new Date(), 1);\r\n object.Model.TagIdCollection.push(this.asrv.Globals.TagValues.IncompleteInteraction);\r\n object.Model.TagIdLookupOperator = 'Exists';\r\n\r\n if (!this.FirstLoad) {\r\n if (this.IsAdmin) {\r\n if (this.ActiveOrganisationFilterId > 0) {\r\n object.Model.OrganisationParameters.OrganisationIdCollection.push(this.ActiveOrganisationFilterId);\r\n sessionStorage.setItem('OrganisationFilter', this.ActiveOrganisationFilterId.toString()); \r\n } else {\r\n //object.Model.OrganisationParameters.OrganisationIdCollection.push(this.asrv.UserOrganisationId);\r\n sessionStorage.setItem('OrganisationFilter', \"0\"); \r\n }\r\n } else {\r\n object.Model.OrganisationParameters.OrganisationIdCollection.push(this.asrv.UserOrganisationId);\r\n sessionStorage.setItem('OrganisationFilter', \"0\"); \r\n }\r\n \r\n if (this.ActiveSiteFilterId > 0) {\r\n object.Model.SiteParameters.SiteIdCollection.push(this.ActiveSiteFilterId);\r\n sessionStorage.setItem('SiteFilter', this.ActiveSiteFilterId.toString()); \r\n } else {\r\n sessionStorage.setItem('SiteFilter', \"0\"); \r\n }\r\n } else {\r\n sessionStorage.setItem('OrganisationFilter', \"0\"); \r\n sessionStorage.setItem('SiteFilter', \"0\"); \r\n this.FirstLoad = false;\r\n }\r\n\r\n let subscription = this.dsrv.Post('api/view_InteractionGalleryCompositeModelDbSync', object.Model).subscribe(res => {\r\n subscription.unsubscribe();\r\n resolve(res);\r\n }, err => {\r\n let returnBrief = new CustomerInteractionBrief();\r\n let returnBriefs = [];\r\n returnBrief.InteractionId = -1;\r\n returnBriefs.push(returnBrief);\r\n subscription.unsubscribe();\r\n resolve(returnBriefs);\r\n });\r\n })\r\n }\r\n\r\n private GetReinstatedSelfExcludersGallery() : Promise {\r\n return new Promise(resolve => {\r\n let object = new PostObjects();\r\n\r\n // Set Dates\r\n // Add Filtering here.\r\n object.Model.Start = this.dateMethods.GetEndDate(new Date(), -6);\r\n object.Model.End = new Date();\r\n object.Model.TagIdCollection.push(this.asrv.Globals.TagValues.ReinstatedExcluder);\r\n object.Model.TagIdLookupOperator = 'Exists';\r\n\r\n if (!this.FirstLoad) {\r\n if (this.IsAdmin) {\r\n if (this.ActiveOrganisationFilterId > 0) {\r\n object.Model.OrganisationParameters.OrganisationIdCollection.push(this.ActiveOrganisationFilterId);\r\n sessionStorage.setItem('OrganisationFilter', this.ActiveOrganisationFilterId.toString()); \r\n } else {\r\n //object.Model.OrganisationParameters.OrganisationIdCollection.push(this.asrv.UserOrganisationId);\r\n sessionStorage.setItem('OrganisationFilter', \"0\"); \r\n }\r\n } else {\r\n object.Model.OrganisationParameters.OrganisationIdCollection.push(this.asrv.UserOrganisationId);\r\n sessionStorage.setItem('OrganisationFilter', \"0\"); \r\n }\r\n \r\n if (this.ActiveSiteFilterId > 0) {\r\n object.Model.SiteParameters.SiteIdCollection.push(this.ActiveSiteFilterId);\r\n sessionStorage.setItem('SiteFilter', this.ActiveSiteFilterId.toString()); \r\n } else {\r\n sessionStorage.setItem('SiteFilter', \"0\"); \r\n }\r\n } else {\r\n sessionStorage.setItem('OrganisationFilter', \"0\"); \r\n sessionStorage.setItem('SiteFilter', \"0\"); \r\n this.FirstLoad = false;\r\n }\r\n\r\n let subscription = this.dsrv.Post('api/view_InteractionGalleryCompositeModelDbSync', object.Model).subscribe(res => {\r\n subscription.unsubscribe();\r\n resolve(res);\r\n }, err => {\r\n let returnBrief = new CustomerInteractionBrief();\r\n let returnBriefs = [];\r\n returnBrief.InteractionId = -1;\r\n returnBriefs.push(returnBrief);\r\n subscription.unsubscribe();\r\n resolve(returnBriefs);\r\n });\r\n })\r\n }\r\n\r\n private GetReviewDueGallery() : Promise {\r\n return new Promise(resolve => {\r\n let object = new PostObjects();\r\n\r\n // Set Dates\r\n // Add Filtering here.\r\n object.Model.Start = this.dateMethods.GetEndDate(new Date(), -6);\r\n object.Model.End = new Date();\r\n\r\n if (!this.FirstLoad) {\r\n if (this.IsAdmin) {\r\n if (this.ActiveOrganisationFilterId > 0) {\r\n object.Model.OrganisationParameters.OrganisationIdCollection.push(this.ActiveOrganisationFilterId);\r\n sessionStorage.setItem('OrganisationFilter', this.ActiveOrganisationFilterId.toString()); \r\n } else {\r\n //object.Model.OrganisationParameters.OrganisationIdCollection.push(this.asrv.UserOrganisationId);\r\n sessionStorage.setItem('OrganisationFilter', \"0\"); \r\n }\r\n } else {\r\n object.Model.OrganisationParameters.OrganisationIdCollection.push(this.asrv.UserOrganisationId);\r\n sessionStorage.setItem('OrganisationFilter', \"0\"); \r\n }\r\n \r\n if (this.ActiveSiteFilterId > 0) {\r\n object.Model.SiteParameters.SiteIdCollection.push(this.ActiveSiteFilterId);\r\n sessionStorage.setItem('SiteFilter', this.ActiveSiteFilterId.toString()); \r\n } else {\r\n sessionStorage.setItem('SiteFilter', \"0\"); \r\n }\r\n } else {\r\n sessionStorage.setItem('OrganisationFilter', \"0\"); \r\n sessionStorage.setItem('SiteFilter', \"0\"); \r\n this.FirstLoad = false;\r\n }\r\n\r\n let subscription = this.dsrv.Post('api/view_InteractionGalleryCompositeModelDbSync', object.Model).subscribe(res => {\r\n var returnBriefs: CustomerInteractionBrief[] = [];\r\n try {\r\n var databaseBriefs: CustomerInteractionBrief[] = res;\r\n databaseBriefs.forEach(customerBrief => {\r\n var endDate: Date = this.dateMethods.AddDays(customerBrief.Start, customerBrief.PeriodDays);\r\n if (endDate <= new Date() && !(customerBrief.TagIdCollection.some(i => i === this.asrv.Globals.TagValues.ArchivedInteraction))) {\r\n returnBriefs.push(customerBrief);\r\n }\r\n });\r\n } catch (error) {\r\n var returnBrief = new CustomerInteractionBrief();\r\n returnBrief.InteractionId = -1;\r\n returnBriefs.push(returnBrief);\r\n }\r\n\r\n subscription.unsubscribe();\r\n resolve(returnBriefs);\r\n }, err => {\r\n var returnBrief = new CustomerInteractionBrief();\r\n var returnBriefs = [];\r\n returnBrief.InteractionId = -1;\r\n returnBriefs.push(returnBrief);\r\n subscription.unsubscribe();\r\n resolve(returnBriefs);\r\n });\r\n })\r\n }\r\n\r\n ResetPageAndReload() {\r\n this.CurrentPage = 0;\r\n sessionStorage.setItem('InteractionGalleryPageNumber', this.CurrentPage.toString());\r\n this.MaximumPageCount = Math.ceil(this.CustomerInteractionBriefsToShow.length / this.Limit);\r\n this.LoadPage();\r\n }\r\n\r\n NextPage() {\r\n this.CurrentPage = this.CurrentPage + 1;\r\n sessionStorage.setItem('InteractionGalleryPageNumber', this.CurrentPage.toString());\r\n this.LoadPage();\r\n }\r\n\r\n PreviousPage() {\r\n this.CurrentPage = this.CurrentPage - 1;\r\n sessionStorage.setItem('InteractionGalleryPageNumber', this.CurrentPage.toString());\r\n this.LoadPage();\r\n }\r\n\r\n SortGallery() {\r\n switch (this.Sort) {\r\n case 0:\r\n this.SortByDateDescending();\r\n break;\r\n case 1:\r\n this.SortByDateAscending();\r\n break;\r\n case 2: \r\n this.SortByNameAscending();\r\n break;\r\n case 3: \r\n this.SortByNameDescending();\r\n break;\r\n }\r\n }\r\n\r\n SortByDateAscending() {\r\n this.CustomerInteractionBriefsToShow.sort((a, b) => {\r\n\r\n if (this.dateMethods.AddDays(a.Start, a.PeriodDays) === this.dateMethods.AddDays(b.Start, b.PeriodDays)) {\r\n if (a.InteractionId < b.InteractionId) {\r\n return 1;\r\n } else {\r\n return -1;\r\n }\r\n }\r\n\r\n if (this.dateMethods.AddDays(a.Start, a.PeriodDays) < this.dateMethods.AddDays(b.Start, b.PeriodDays)) {\r\n return 1;\r\n }\r\n\r\n if (this.dateMethods.AddDays(a.Start, a.PeriodDays) > this.dateMethods.AddDays(b.Start, b.PeriodDays)) {\r\n return -1;\r\n }\r\n\r\n return 0;\r\n });\r\n this.PlaceTimeOutFirst();\r\n this.LoadPage();\r\n }\r\n\r\n SortByDateDescending() {\r\n this.CustomerInteractionBriefsToShow.sort((a, b) => {\r\n if (this.dateMethods.AddDays(a.Start, a.PeriodDays) === this.dateMethods.AddDays(b.Start, b.PeriodDays)) {\r\n if (a.InteractionId > b.InteractionId) {\r\n return 1;\r\n } else {\r\n return -1;\r\n }\r\n }\r\n\r\n if (this.dateMethods.AddDays(a.Start, a.PeriodDays) > this.dateMethods.AddDays(b.Start, b.PeriodDays)) {\r\n return 1;\r\n }\r\n\r\n if (this.dateMethods.AddDays(a.Start, a.PeriodDays) < this.dateMethods.AddDays(b.Start, b.PeriodDays)) {\r\n return -1;\r\n }\r\n\r\n return 0;\r\n });\r\n this.PlaceTimeOutFirst();\r\n this.LoadPage();\r\n }\r\n\r\n SortByNameAscending() {\r\n this.CustomerInteractionBriefsToShow.sort((a, b) => {\r\n let aNicknameUsed: boolean = false;\r\n let bNicknameUsed: boolean = false;\r\n\r\n let aCompare: string;\r\n if (a.Surname) {\r\n aCompare = a.Surname;\r\n } else {\r\n aCompare = a.Alias\r\n aNicknameUsed = true;\r\n }\r\n\r\n let bCompare: string;\r\n if (b.Surname) {\r\n bCompare = b.Surname;\r\n } else { \r\n bCompare = b.Alias;\r\n bNicknameUsed = true;\r\n }\r\n\r\n let x = aCompare.localeCompare(bCompare);\r\n if (x == 0 && !(aNicknameUsed && bNicknameUsed)) {\r\n return a.Forename.localeCompare(b.Forename);\r\n } else if (aNicknameUsed && !bNicknameUsed) {\r\n return -1;\r\n } else if (!aNicknameUsed && bNicknameUsed) {\r\n return 1;\r\n }\r\n return x;\r\n });\r\n this.PlaceTimeOutFirst();\r\n this.LoadPage();\r\n }\r\n\r\n SortByNameDescending() {\r\n this.CustomerInteractionBriefsToShow.sort((a, b) => {\r\n let aNicknameUsed: boolean = false;\r\n let bNicknameUsed: boolean = false;\r\n\r\n let aCompare: string;\r\n if (a.Surname) {\r\n aCompare = a.Surname;\r\n } else {\r\n aCompare = a.Alias\r\n aNicknameUsed = true;\r\n }\r\n\r\n let bCompare: string;\r\n if (b.Surname) {\r\n bCompare = b.Surname;\r\n } else { \r\n bCompare = b.Alias;\r\n bNicknameUsed = true;\r\n }\r\n\r\n let x = bCompare.localeCompare(aCompare);\r\n if (x == 0 && !(aNicknameUsed && bNicknameUsed)) {\r\n return b.Forename.localeCompare(a.Forename);\r\n } else if (aNicknameUsed && !bNicknameUsed) {\r\n return -1;\r\n } else if (!aNicknameUsed && bNicknameUsed) {\r\n return 1;\r\n }\r\n return x;\r\n });\r\n this.PlaceTimeOutFirst();\r\n this.LoadPage();\r\n }\r\n\r\n PlaceTimeOutFirst() {\r\n this.CustomerInteractionBriefsToShow.sort((a, b) => {\r\n let aCompare: string = a.TagIdCollection.some(i => i === this.asrv.Globals.TagValues.InteractionActionTimeOut)? 'T': 'F';\r\n let bCompare: string = b.TagIdCollection.some(i => i === this.asrv.Globals.TagValues.InteractionActionTimeOut)? 'T': 'F';\r\n return bCompare.localeCompare(aCompare);\r\n });\r\n }\r\n\r\n CustomerInteractionEndDate(CustomerInteraction : CustomerInteractionBrief): Date {\r\n return this.dateMethods.AddDays(CustomerInteraction.Start, CustomerInteraction.PeriodDays);\r\n }\r\n\r\n // Generic DOM run commands\r\n private ButtonActive(domId: string) {\r\n (document.getElementById(domId) as HTMLButtonElement).style.backgroundColor = 'lightgray';\r\n (document.getElementById(domId) as HTMLButtonElement).style.borderRadius = '1em';\r\n }\r\n\r\n private ButtonInactive(domId: string) {\r\n (document.getElementById(domId) as HTMLButtonElement).style.backgroundColor = this.asrv.Globals.BackgroundColor.LightBlue;\r\n }\r\n}\r\n\r\nclass GalleryEventsHandler {\r\n constructor() {}\r\n}\r\n\r\nclass Settings {\r\n public OrganisationActorId: number = 0;\r\n public SitesActorid: number = 0;\r\n public Limit: number = 1000;\r\n public Offset: number = 0;\r\n\r\n public Colors: Colors = new Colors();\r\n constructor() {}\r\n}\r\n\r\nclass Colors {\r\n public readonly Red: string = '#d11722';\r\n public readonly Yellow: string = '#f8b03d';\r\n public readonly Green: string = '#64b32e';\r\n public readonly Blue: string = '#24ace2';\r\n}\r\n\r\n","import { Injectable, Input } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\nimport { Reasons } from '../models/controllers/Interaction Controllers/Reasons';\r\nimport { Views_BiologicalActorTraitModel } from '../models/InteractionExclusion/Views_BiologicalActorTraitModel';\r\nimport { Views_InteractedActorCompositeModel } from '../models/InteractionExclusion/Views_InteractedActorCompositeModel';\r\nimport { Views_InteractionMonitoringPeriodsModel } from '../models/InteractionExclusion/Views_InteractionMonitoringPeriodsModel';\r\nimport { Views_InteractionsCompositeModel } from '../models/InteractionExclusion/Views_InteractionsCompositeModel';\r\nimport { Views_MediaModel } from '../models/InteractionExclusion/Views_MediaModel';\r\nimport { Views_ReviewsCompositeModel } from '../models/InteractionExclusion/Views_ReviewsCompositeModel';\r\nimport { Post_InteractionReferenceCompositeModel, View_InteractionReferenceCompositeModel } from '../models/InteractionExclusion/View_InteractionReferenceCompositeModel';\r\nimport { ISDDateMethods } from '../models/ISDDateMethods';\r\nimport { ActorService } from './actor.service';\r\nimport { ApiService } from './api.service';\r\nimport { DataService } from './data.service';\r\nimport { ErrorhanderService } from './errorhander.service';\r\n\r\nconst redalert: string = '#d11722';\r\nconst yellowalert: string = '#f8b03d';\r\nconst greenalert: string = '#64b32e';\r\nconst greyalert: string = '#9d9d9c';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class InteractionService {\r\n public Interaction: Views_InteractionsCompositeModel;\r\n public HistoricIds: number[];\r\n public Review: Views_ReviewsCompositeModel;\r\n public ReadPrivacyNotice: boolean = false;\r\n public PersonCompletingForm: number;\r\n public Employees: string[] = [];\r\n public ReviewPageVisited: boolean;\r\n public chkGambling: boolean = false;\r\n public chkBehaviour: boolean = false;\r\n public chkPattern: boolean = false;\r\n\r\n public saveInteraction = new BehaviorSubject(false);\r\n\r\n public reviewMediaCollection = '';\r\n\r\n private _previousEvent: any;\r\n private _currentSelectedIconId: number;\r\n private _interactionUIDate: Date;\r\n private _dateMethods: ISDDateMethods = new ISDDateMethods();\r\n private _databaseCalls: DatabaseCalls;\r\n\r\n public ViewDataLoading: boolean;\r\n public ActorsDataProtectionOfficer: any = false;\r\n\r\n private readonly stageReason: number = 0;\r\n private readonly stagePrivacyNotice: number = 1;\r\n private readonly stageAction: number = 2;\r\n private readonly stageCustomerDetails: number = 3;\r\n private readonly stageIdentification: number = 4;\r\n private readonly stageDescription: number = 5;\r\n private readonly stageReview: number = 6;\r\n private readonly stageConfirmation: number = 7;\r\n\r\n // Tags\r\n private readonly archived: number = 4;\r\n private readonly incomplete: number = 5;\r\n private readonly identityChecked: number = 31;\r\n private readonly readTermsAndConditions: number = 32;\r\n private readonly excludeBingo: number = 33;\r\n private readonly excludeCasino: number = 34;\r\n private readonly excludeBetShop: number = 35;\r\n private readonly excludeOnline: number = 36;\r\n private readonly planExcludeBingo: number = 37;\r\n private readonly planExcludeCasinoW: number = 38;\r\n private readonly planExcludeBetShop: number = 39;\r\n private readonly planExcludeOnline: number = 40;\r\n private readonly marketing: number = 41;\r\n private readonly thirdPartyContactable: number = 42;\r\n private readonly participated: number = 50;\r\n private readonly siteNotificationContact: number = 61;\r\n private readonly interactionCustomerLed: number = 90;\r\n private readonly interactionReasonTime: number = 91;\r\n private readonly interactionReasonSpend: number = 92;\r\n private readonly interactionReasonBehaviour: number = 93;\r\n private readonly interactionReasonMachineAlert: number = 94;\r\n private readonly interactionReasonVulnerability: number = 95;\r\n private readonly interactionReasonWishToExclude: number = 96;\r\n private readonly interactionActionBanned: number = 110;\r\n private readonly interactionActionTakeABreak: number = 111;\r\n private readonly interactionActionImposeTimeLimits: number = 112;\r\n private readonly interactionActionImposeSpendLimits: number = 113;\r\n private readonly interactionActionChangeCategory: number = 114;\r\n private readonly interactionActionMonitorBehaviour: number = 115;\r\n private readonly interactionActionSignpostToGamcare: number = 116;\r\n private readonly interactionActionStayInControlLeaflet: number = 117;\r\n private readonly interactionActionGambleManagementApp: number = 118;\r\n private readonly interactionActionIssuedPlayDiary: number = 119;\r\n private readonly interactionReviewGamblingToolUsed: number = 130;\r\n private readonly interactionReviewBehaviourChanged: number = 131;\r\n private readonly interactionReviewGamblingPatternChange: number = 132;\r\n\r\n public readonly whiteSpaceImage = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADkAAAA9CAIAAACY61bEAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAABUSURBVGhD7c5BDQAwEASh+je9VcHjkkEBb3d0NboaXY2uRlejq9HV6Gp0NboaXY2uRlejq9HV6Gp0NboaXY2uRlejq9HV6Gp0NboaXY2uRlejq7B974OYmhOKU9kAAAAASUVORK5CYII=';\r\n\r\n // public ReasonControllers: Reasons;\r\n\r\n public SystemIconImageList = [\r\n { id: 1, name: 'BlueApple', src: '/assets/icons/fruits-new/Blue_Apple.svg', domid: 'iconImageOne' },\r\n { id: 2, name: 'BlueBanana', src: '/assets/icons/fruits-new/Blue_Banana.svg', domid: 'iconImageTwo' },\r\n { id: 3, name: 'BlueCherry', src: '/assets/icons/fruits-new/Blue_Cherry.svg', domid: 'iconImageThree' },\r\n { id: 4, name: 'BlueGrape', src: '/assets/icons/fruits-new/Blue_Grape.svg', domid: 'iconImageFour' },\r\n { id: 5, name: 'BlueLemon', src: '/assets/icons/fruits-new/Blue_Lemon.svg', domid: 'iconImageFive' },\r\n { id: 6, name: 'BluePear', src: '/assets/icons/fruits-new/Blue_Pear.svg', domid: 'iconImageSix' },\r\n { id: 7, name: 'BluePineapple', src: '/assets/icons/fruits-new/Blue_Pineapple.svg', domid: 'iconImageSeven' },\r\n { id: 8, name: 'BlueStrawberry', src: '/assets/icons/fruits-new/Blue_Strawberry.svg', domid: 'iconImageEight' },\r\n { id: 9, name: 'GreenApple', src: '/assets/icons/fruits-new/Green_Apple.svg', domid: 'iconImageNine' },\r\n { id: 10, name: 'GreenBanana', src: '/assets/icons/fruits-new/Green_Banana.svg', domid: 'iconImageTen' },\r\n { id: 11, name: 'GreenCherry', src: '/assets/icons/fruits-new/Green_Cherry.svg', domid: 'iconImageEleven' },\r\n { id: 12, name: 'GreenGrape', src: '/assets/icons/fruits-new/Green_Grape.svg', domid: 'iconImageTwelve' },\r\n { id: 13, name: 'GreenLemon', src: '/assets/icons/fruits-new/Green_Lemon.svg', domid: 'iconImageThirteen' },\r\n { id: 14, name: 'GreenPear', src: '/assets/icons/fruits-new/Green_Pear.svg', domid: 'iconImageFourteen' },\r\n { id: 15, name: 'GreenPineapple', src: '/assets/icons/fruits-new/Green_Pineapple.svg', domid: 'iconImageFifteen' },\r\n { id: 16, name: 'GreenStrawberry', src: '/assets/icons/fruits-new/Green_Strawberry.svg', domid: 'iconImageSixteen' },\r\n { id: 17, name: 'MauveApple', src: '/assets/icons/fruits-new/Mauve_Apple.svg', domid: 'iconImageSeventeen' },\r\n { id: 18, name: 'MauveBanana', src: '/assets/icons/fruits-new/Mauve_Banana.svg', domid: 'iconImageEighteen' },\r\n { id: 19, name: 'MauveCherry', src: '/assets/icons/fruits-new/Mauve_Cherry.svg', domid: 'iconImageNineteen' },\r\n { id: 20, name: 'MauveGrape', src: '/assets/icons/fruits-new/Mauve_Grape.svg', domid: 'iconImageTwenty' },\r\n { id: 21, name: 'MauveLemon', src: '/assets/icons/fruits-new/Mauve_Lemon.svg', domid: 'iconImageTwentyOne' },\r\n { id: 22, name: 'MauvePear', src: '/assets/icons/fruits-new/Mauve_Pear.svg', domid: 'iconImageTwentyTwo' },\r\n { id: 23, name: 'MauvePineapple', src: '/assets/icons/fruits-new/Mauve_Pineapple.svg', domid: 'iconImageTwentyThree' },\r\n { id: 24, name: 'MauveStrawberry', src: '/assets/icons/fruits-new/Mauve_Strawberry.svg', domid: 'iconImageTwentyFour' },\r\n { id: 25, name: 'RedApple', src: '/assets/icons/fruits-new/Red_Apple.svg', domid: 'iconImageTwentyFive' },\r\n { id: 26, name: 'RedBanana', src: '/assets/icons/fruits-new/Red_Banana.svg', domid: 'iconImageTwentySix' },\r\n { id: 27, name: 'RedCherry', src: '/assets/icons/fruits-new/Red_Cherry.svg', domid: 'iconImageTwentySeven' },\r\n { id: 28, name: 'RedGrape', src: '/assets/icons/fruits-new/Red_Grape.svg', domid: 'iconImageTwentyEight' },\r\n { id: 29, name: 'RedLemon', src: '/assets/icons/fruits-new/Red_Lemon.svg', domid: 'iconImageTwentyNine' },\r\n { id: 30, name: 'RedPear', src: '/assets/icons/fruits-new/Red_Pear.svg', domid: 'iconImageThirty' },\r\n { id: 31, name: 'RedPineapple', src: '/assets/icons/fruits-new/Red_Pineapple.svg', domid: 'iconImageThirtyOne' },\r\n { id: 32, name: 'RedStrawberry', src: '/assets/icons/fruits-new/Red_Strawberry.svg', domid: 'iconImageThirtyTwo' }\r\n ]\r\n\r\n public SystemOutlineImageList = [\r\n { id: 80, name: 'OutlineMale', src: '/assets/icons/outlines/Male icon.svg', domid: 'outlineImageEighty', width: \"100%\" },\r\n { id: 81, name: 'OutlineFemale', src: '/assets/icons/outlines/Female icon.svg', domid: 'outlineImageEightyOne', width: \"98%\" }\r\n ]\r\n\r\n public AgeId: number;\r\n public AgeOptions = [\r\n { AgeId: 0, Age: '' },\r\n { AgeId: 1, Age: '18-21' },\r\n { AgeId: 2, Age: '22-25' },\r\n { AgeId: 3, Age: '26-30' },\r\n { AgeId: 4, Age: '31-35' },\r\n { AgeId: 5, Age: '36-40' },\r\n { AgeId: 6, Age: '41-49' },\r\n { AgeId: 7, Age: '50-59' },\r\n { AgeId: 8, Age: '60-69' },\r\n { AgeId: 9, Age: '70+' }\r\n ]\r\n public HairstyleId: number;\r\n public HairstyleOptions = [\r\n { HairstyleId: 0, Hairstyle: '' },\r\n { HairstyleId: 1, Hairstyle: 'Bald' },\r\n { HairstyleId: 2, Hairstyle: 'Short' },\r\n { HairstyleId: 3, Hairstyle: 'Long' }\r\n ]\r\n public EthnicityId: number;\r\n public EthnicityOptions = [\r\n { EthnicityId: 0, Ethnicity: '' },\r\n { EthnicityId: 1, Ethnicity: 'White' },\r\n { EthnicityId: 2, Ethnicity: 'Black' },\r\n { EthnicityId: 3, Ethnicity: 'Eastern European' },\r\n { EthnicityId: 4, Ethnicity: 'South Asian' },\r\n { EthnicityId: 5, Ethnicity: 'East Asian' },\r\n { EthnicityId: 6, Ethnicity: 'Mixed' }\r\n ]\r\n public HairColourId: number;\r\n public HairColourOptions = [\r\n { HairColourId: 0, HairColour: '' },\r\n { HairColourId: 1, HairColour: 'Blonde' },\r\n { HairColourId: 2, HairColour: 'Brown' },\r\n { HairColourId: 3, HairColour: 'Black' },\r\n { HairColourId: 4, HairColour: 'Ginger' },\r\n { HairColourId: 5, HairColour: 'None' },\r\n { HairColourId: 6, HairColour: 'Other' }\r\n ]\r\n public HeightId: number;\r\n public HeightOptions = [\r\n { HeightId: 0, Height: \"\" },\r\n { HeightId: 1, Height: \"4'0 - 4'11\" },\r\n { HeightId: 2, Height: \"5'0 - 5'5\" },\r\n { HeightId: 3, Height: \"5'6 - 5'11\" },\r\n { HeightId: 4, Height: \"6'0 - 6'5\" },\r\n { HeightId: 5, Height: \"6'6+\" }\r\n ]\r\n public BuildId: number;\r\n public BuildOptions = [\r\n { BuildId: 0, Build: '' },\r\n { BuildId: 1, Build: 'Slim' },\r\n { BuildId: 2, Build: 'Average' },\r\n { BuildId: 3, Build: 'Large' }\r\n ]\r\n\r\n constructor(\r\n private router: Router,\r\n public dsrv: DataService,\r\n public asrv: ActorService,\r\n public errsrv: ErrorhanderService,\r\n private _api: ApiService,\r\n ) {\r\n this._databaseCalls = new DatabaseCalls(this.dsrv);\r\n }\r\n\r\n StartNewInteraction() {\r\n // this.ReasonControllers = new Reasons(this.errsrv);\r\n this.Interaction = new Views_InteractionsCompositeModel();\r\n this.Interaction.InteractedActorCompositeModel = new Views_InteractedActorCompositeModel();\r\n this.Interaction.MediaModelCollection = [];\r\n this.Interaction.Notes = '';\r\n this.ReadPrivacyNotice = false;\r\n this.AgeId = 0;\r\n this.HairstyleId = 0;\r\n this.EthnicityId = 0;\r\n this.HairColourId = 0;\r\n this.HeightId = 0;\r\n this.BuildId = 0;\r\n this.SetInteractionUIDate();\r\n this.PersonCompletingForm = this.asrv.GetMyUserID();\r\n }\r\n\r\n SaveProgress(stage: number): Promise {\r\n switch (stage) {\r\n case this.stageReason:\r\n // Privacy Notice has not been ticked\r\n case this.stagePrivacyNotice:\r\n // Actions have not been selected\r\n case this.stageAction:\r\n // Placeholder Customer Details\r\n case this.stageCustomerDetails:\r\n // No photo\r\n if (!this.Interaction.MediaModelCollection) {\r\n this.Interaction.MediaModelCollection = [];\r\n this.Interaction.MediaModelCollection.push({ MediaClassKeyId: 4, MediaId: 0, Data: this.whiteSpaceImage });\r\n }\r\n case this.stageIdentification:\r\n // Flag a nickname placeholder\r\n if (!this.Interaction.InteractedActorCompositeModel.BiologicalActorCompositeModel.Alias) {\r\n this.Interaction.InteractedActorCompositeModel.BiologicalActorCompositeModel.Alias = prompt('Please enter a nickname to identify this interaction');\r\n }\r\n if (!this.Interaction.InteractedActorCompositeModel.BiologicalActorCompositeModel.Alias) {\r\n alert('Record not saved, please try again.')\r\n return new Promise(resolve => { resolve(false) });\r\n }\r\n case this.stageDescription:\r\n // Handles Customer Review, this is currently not needed\r\n if (!this.Interaction.InteractionMonitoringPeriod) {\r\n this.Interaction.InteractionMonitoringPeriod = new Views_InteractionMonitoringPeriodsModel();\r\n }\r\n this.Interaction.InteractionMonitoringPeriod.Duration = 56;\r\n this.Interaction.InteractionMonitoringPeriod.Start = new Date();\r\n case this.stageReview:\r\n // Handles Confirmation, this shouldn't ever be needed, but will leave just incase.\r\n case this.stageConfirmation:\r\n // Post, shouldn't need anything, but will leave here incase of requests.\r\n }\r\n\r\n this.Interaction.InteractedActorCompositeModel.BiologicalActorCompositeModel.PostalAddressClassId = 1;\r\n this.Interaction.SiteId = this.asrv.DefaultSiteId;\r\n\r\n if (!this.Interaction.TagIdCollection.some(i => i === this.incomplete)) {\r\n this.Interaction.TagIdCollection.push(this.incomplete);\r\n }\r\n\r\n return new Promise(resolve => {\r\n let subscription = this._api.postInteractionCompositeModel(this.Interaction).subscribe(res => {\r\n subscription.unsubscribe();\r\n this.Interaction = res;\r\n this.Interaction.InteractedActorCompositeModel = res.InteractedActorCompositeModelCollection[0];\r\n console.log(this.Interaction);\r\n alert('Saved Successfully');\r\n resolve(true);\r\n }, err => {\r\n subscription.unsubscribe();\r\n alert('Record not saved, please try again.')\r\n this.Interaction.InteractedActorCompositeModel.BiologicalActorCompositeModel.Alias = null;\r\n resolve(false);\r\n })\r\n })\r\n }\r\n\r\n Save(updateTraits?: boolean): Promise {\r\n if (this.HasIconImage() && updateTraits) {\r\n let traits: Views_BiologicalActorTraitModel[] = [];\r\n traits.push({ TraitClassKeyId: 1, Data: this.HairColourOptions.find(i => i.HairColourId === this.HairColourId).HairColour });\r\n traits.push({ TraitClassKeyId: 2, Data: this.HairstyleOptions.find(i => i.HairstyleId === this.HairstyleId).Hairstyle });\r\n // traits.push({TraitClassKeyId: 3, Data: this.ClothingOptions.find(i => i.ClothingId === this.ClothingId).Clothing});\r\n // traits.push({TraitClassKeyId: 4, Data: this.AccentOptions.find(i => i.AccentId === this.AccentId).Accent});\r\n // traits.push({TraitClassKeyId: 5, Data: this.BodyArtOptions.find(i => i.BodyArtId === this.BodyArtId).BodyArt});\r\n traits.push({ TraitClassKeyId: 6, Data: this.AgeOptions.find(i => i.AgeId === this.AgeId).Age });\r\n traits.push({ TraitClassKeyId: 7, Data: this.HeightOptions.find(i => i.HeightId === this.HeightId).Height });\r\n traits.push({ TraitClassKeyId: 8, Data: this.BuildOptions.find(i => i.BuildId === this.BuildId).Build });\r\n traits.push({ TraitClassKeyId: 9, Data: this.EthnicityOptions.find(i => i.EthnicityId === this.EthnicityId).Ethnicity });\r\n\r\n this.Interaction.InteractedActorCompositeModel.BiologicalActorCompositeModel.BiologicalActorTraitModelCollection = traits;\r\n }\r\n\r\n this.Interaction.InteractedActorCompositeModel.BiologicalActorCompositeModel.PostalAddressClassId = 1;\r\n this.Interaction.SiteId = this.asrv.SiteSelect.KeySelected;\r\n\r\n this.RemoveIncompleteTag();\r\n\r\n var tags: number[] = [];\r\n this.Interaction.TagIdCollection.forEach(tag => {\r\n if (!tags.some(i => i === tag)) {\r\n tags.push(tag);\r\n }\r\n })\r\n this.Interaction.TagIdCollection = tags;\r\n return new Promise(resolve => {\r\n this._api.postInteractionCompositeModel(this.Interaction).subscribe(res => {\r\n this.Interaction = res;\r\n resolve(true);\r\n }, err => {\r\n resolve(false);\r\n })\r\n })\r\n }\r\n\r\n setSaveInteraction(val) {\r\n this.saveInteraction.next(val);\r\n }\r\n\r\n getSaveInteraction(): Observable {\r\n return this.saveInteraction;\r\n }\r\n\r\n CancelReview(): Promise {\r\n delete this.Interaction.InteractionMonitoringPeriod;\r\n\r\n /*\r\n if (!this.Interaction.MediaModelCollection.find(i => i.MediaClassKeyId === 4).Data) {\r\n this.Interaction.MediaModelCollection.find(i => i.MediaClassKeyId === 4).Data = this.whiteSpaceImage;\r\n }\r\n */\r\n\r\n this.RemoveIncompleteTag();\r\n\r\n return new Promise(resolve => {\r\n console.log(this.Interaction.TagIdCollection);\r\n if (!this.Interaction.TagIdCollection.some(i => i === this.archived)) {\r\n this.Interaction.TagIdCollection.push(this.archived);\r\n console.log('not found', this.Interaction.TagIdCollection);\r\n }\r\n if (this.Interaction.MediaModelCollection.length > 1) {\r\n this.Interaction.MediaModelCollection.length = 1;\r\n }\r\n if (!this.Interaction.MediaModelCollection.find(i => i.MediaClassKeyId === this.asrv.Globals.ClassKeyIds.MediaModelImage).Data) {\r\n this.Interaction.MediaModelCollection.find(i => i.MediaClassKeyId === this.asrv.Globals.ClassKeyIds.MediaModelImage).Data = this.whiteSpaceImage;\r\n }\r\n this._api.postInteractionCompositeModel(this.Interaction).subscribe(res => {\r\n this.Interaction = res;\r\n resolve(this.Interaction);\r\n })\r\n })\r\n }\r\n\r\n Load(interactionId: number): Promise {\r\n return new Promise(resolve => {\r\n let subscription = this._api.getInteractionCompositeModel(interactionId).subscribe(res => {\r\n subscription.unsubscribe();\r\n this.Interaction = res;\r\n this.Interaction.InteractedActorCompositeModel = res.InteractedActorCompositeModelCollection[0];\r\n this.Interaction.MediaModelCollection = [];\r\n this.ReadPrivacyNotice = false;\r\n this.GetHistoricInteractionIds();\r\n resolve(true);\r\n })\r\n })\r\n }\r\n\r\n LoadViewModel(interactionId: number, reload?: boolean): Promise {\r\n this.ViewDataLoading = true;\r\n return new Promise(resolve => {\r\n let subscription = this._api.getInteractionCompositeModel(interactionId).subscribe(res => {\r\n subscription.unsubscribe();\r\n this.Interaction = res;\r\n this.Interaction.InteractedActorCompositeModel = res.InteractedActorCompositeModelCollection[0];\r\n this.Interaction.MediaModelCollection = [];\r\n this.asrv.GetMediaForInteraction(interactionId).then(value => {\r\n this.Interaction.MediaModelCollection.push(value);\r\n if (!reload) { this.GetHistoricInteractionIds(); }\r\n this.ViewDataLoading = false;\r\n resolve(true);\r\n })\r\n })\r\n })\r\n }\r\n\r\n LoadHistoricInteraction(interactionId: number): Promise {\r\n return new Promise(resolve => {\r\n let subscription = this._api.getInteractionCompositeModel(interactionId).subscribe(res => {\r\n subscription.unsubscribe();\r\n this.Interaction = res;\r\n this.Interaction.InteractedActorCompositeModel = res.InteractedActorCompositeModelCollection[0];\r\n this.Interaction.MediaModelCollection = [];\r\n resolve(true);\r\n })\r\n })\r\n }\r\n\r\n LoadInteraction(interactionId: number): Promise {\r\n return new Promise(resolve => {\r\n let subscription = this._api.getInteractionCompositeModel(interactionId).subscribe(res => {\r\n subscription.unsubscribe();\r\n res.InteractedActorCompositeModel = res.InteractedActorCompositeModelCollection[0];\r\n resolve(res);\r\n })\r\n })\r\n }\r\n\r\n GetInteractionDetails(interactionId: number): Promise {\r\n return new Promise(resolve => {\r\n let subscription = this._api.getInteractionCompositeModel(interactionId).subscribe(res => {\r\n subscription.unsubscribe();\r\n res.InteractedActorCompositeModel = res.InteractedActorCompositeModelCollection[0];\r\n resolve(res);\r\n })\r\n })\r\n }\r\n\r\n // getInteractionCompositeModel(interactionId: number): Observable {\r\n // return this.dsrv.Get('api/View_InteractionCompositeModel/' + interactionId);\r\n // }\r\n\r\n private GetHistoricInteractionIds(): void {\r\n let postObject: Post_InteractionReferenceCompositeModel = new Post_InteractionReferenceCompositeModel([this.Interaction.InteractionId]);\r\n postObject.ReferenceCollection.push(this.Interaction.Reference);\r\n let subscription = this.asrv.GetInteractionReferenceCompositeModel(postObject).subscribe(res => {\r\n subscription.unsubscribe();\r\n this.HistoricIds = res.map(obj => {\r\n return obj.InteractionId;\r\n })\r\n })\r\n }\r\n\r\n RemoveIncompleteTag(): void {\r\n if (this.Interaction.TagIdCollection.some(i => i === this.asrv.Globals.TagValues.IncompleteInteraction)) {\r\n let index = this.Interaction.TagIdCollection.indexOf(this.asrv.Globals.TagValues.IncompleteInteraction, 0);\r\n if (index > -1) {\r\n this.Interaction.TagIdCollection.splice(index, 1);\r\n }\r\n }\r\n }\r\n\r\n StartReview(): void {\r\n this.Review = new Views_ReviewsCompositeModel();\r\n this.Review.Reference = this.Interaction.Reference;\r\n this.Review.Interactions_InteractionId = this.Interaction.InteractionId;\r\n this.Review.SiteId = this.asrv.DefaultSiteId;\r\n this.Review.InteractedActorCompositeModel = this.Interaction.InteractedActorCompositeModel;\r\n this.Review.MediaModelCollection = JSON.parse(this.reviewMediaCollection);\r\n }\r\n\r\n SaveReview(): Promise {\r\n return new Promise(resolve => {\r\n // console.log(this.Review);\r\n this.Review.InteractedActorCompositeModelCollection = [];\r\n this.Review.InteractedActorCompositeModelCollection.push(this.Review.InteractedActorCompositeModel);\r\n let subscription = this._databaseCalls.PostReviewCompositeModel(this.Review).subscribe(res => {\r\n subscription.unsubscribe();\r\n this.Interaction = res;\r\n resolve(true);\r\n }, err => {\r\n subscription.unsubscribe();\r\n var obj: Views_ReviewsCompositeModel = new Views_ReviewsCompositeModel;\r\n obj.InteractionId = -1;\r\n resolve(false);\r\n })\r\n })\r\n }\r\n\r\n GetInteractionReview(interactionid: number): Promise {\r\n return new Promise(resolve => {\r\n let subscription = this._databaseCalls.GetReviewCompositeModel(interactionid).subscribe(res => {\r\n subscription.unsubscribe();\r\n resolve(res);\r\n }, err => {\r\n subscription.unsubscribe();\r\n var obj: Views_ReviewsCompositeModel = new Views_ReviewsCompositeModel;\r\n obj.InteractionId = -1;\r\n resolve(obj);\r\n })\r\n })\r\n }\r\n\r\n SetInteractionUIDate() {\r\n this._interactionUIDate = new Date();\r\n }\r\n\r\n GetInteractionUIDate(): string {\r\n if (!this._interactionUIDate) { this.SetInteractionUIDate() };\r\n return this._interactionUIDate.toString().slice(0, 21);\r\n }\r\n\r\n GetActorsDataProtectionOfficer() {\r\n this.asrv.GetUserOrganisationDataProtectionOfficer().then(value => {\r\n this.ActorsDataProtectionOfficer = value;\r\n })\r\n }\r\n\r\n AddItemToTagCollection(tag: number) {\r\n if (!this.Interaction.TagIdCollection.some(i => i === tag)) {\r\n this.Interaction.TagIdCollection.push(tag);\r\n }\r\n }\r\n\r\n RemoveItemFromTagCollection(tag: number) {\r\n if (this.Interaction.TagIdCollection.some(i => i === tag)) {\r\n let index = this.Interaction.TagIdCollection.indexOf(tag, 0);\r\n if (index > -1) {\r\n this.Interaction.TagIdCollection.splice(index, 1);\r\n }\r\n }\r\n }\r\n\r\n GetMediaForInteraction(interactionId): Promise {\r\n return new Promise(resolve => {\r\n let subscription = this.asrv.GetInteractionMedia(interactionId).subscribe(res => {\r\n subscription.unsubscribe();\r\n resolve(res);\r\n }, error => {\r\n var media = new Views_MediaModel();\r\n media.MediaClassKeyId = 4;\r\n media.MediaId = 80;\r\n resolve(media);\r\n })\r\n })\r\n }\r\n\r\n HasIconImage(media?: Views_MediaModel): boolean {\r\n if (media) {\r\n return (media.MediaId > 0 && media.MediaId < 100)\r\n }\r\n\r\n if (!this.Interaction.MediaModelCollection) {\r\n return false;\r\n } else {\r\n return (this.Interaction.MediaModelCollection[0].MediaId > 0 && this.Interaction.MediaModelCollection[0].MediaId < 100)\r\n }\r\n }\r\n\r\n HasFruitImage(media?: Views_MediaModel): boolean {\r\n if (media) {\r\n return this.SystemIconImageList.some(i => i.id === media.MediaId);\r\n }\r\n return this.SystemIconImageList.some(i => i.id === this.Interaction.MediaModelCollection.find(i => i.MediaClassKeyId === this.asrv.Globals.ClassKeyIds.MediaModelImage).MediaId);\r\n }\r\n\r\n GetIconNameForInteractionImage() {\r\n return this.SystemIconImageList.find(i => i.id === this.Interaction.MediaModelCollection.find(i => i.MediaClassKeyId === this.asrv.Globals.ClassKeyIds.MediaModelImage).MediaId).name;\r\n }\r\n\r\n HasAction() {\r\n return this.Interaction.TagIdCollection.some(i => (i >= this.interactionActionBanned && i <= this.interactionActionIssuedPlayDiary) || i === 6);\r\n }\r\n\r\n ReviewHasAction() {\r\n return this.Review.TagIdCollection.some(i => i >= this.interactionActionBanned && i <= this.interactionActionIssuedPlayDiary);\r\n }\r\n\r\n GetReasonsString(interaction?: Views_InteractionsCompositeModel) {\r\n let obj: Views_InteractionsCompositeModel = interaction ? interaction : this.Interaction;\r\n let reasonsString: string = '';\r\n let reasonStrings: string[] = [];\r\n if (obj.TagIdCollection.some(i => i >= 91 && i <= 96)) {\r\n obj.TagIdCollection.forEach(tag => {\r\n if (tag === this.interactionReasonTime) { reasonStrings.push('Time') }\r\n if (tag === this.interactionReasonSpend) { reasonStrings.push('Spend') }\r\n if (tag === this.interactionReasonBehaviour) { reasonStrings.push('Behaviour') }\r\n if (tag === this.interactionReasonMachineAlert) { reasonStrings.push('Machine Alert') }\r\n if (tag === this.interactionReasonVulnerability) { reasonStrings.push('Vulnerability') }\r\n if (tag === this.interactionReasonWishToExclude) { reasonStrings.push('Wish to Self-Exclude') }\r\n })\r\n\r\n var numberOfReasons: number = reasonStrings.length;\r\n var counter: number = 0;\r\n reasonStrings.forEach(reason => {\r\n counter += 1;\r\n\r\n if (counter === numberOfReasons) {\r\n reasonsString = reasonsString + reason + '.';\r\n } else {\r\n reasonsString = reasonsString + reason + ', ';\r\n }\r\n })\r\n }\r\n\r\n return reasonsString;\r\n }\r\n\r\n GetActionsString(interaction?: Views_InteractionsCompositeModel) {\r\n let obj: Views_InteractionsCompositeModel = interaction ? interaction : this.Interaction;\r\n let actionsString: string = '';\r\n let actionStrings: string[] = [];\r\n if (obj.TagIdCollection.some(i => i >= 110 && i <= 119)) {\r\n obj.TagIdCollection.forEach(tag => {\r\n if (tag === this.interactionActionBanned) { actionStrings.push('Barred') }\r\n if (tag === this.interactionActionTakeABreak) { actionStrings.push('Break') }\r\n if (tag === this.interactionActionImposeTimeLimits) { actionStrings.push('Time Limits') }\r\n if (tag === this.interactionActionImposeSpendLimits) { actionStrings.push('Spend Limits') }\r\n if (tag === this.interactionActionChangeCategory) { actionStrings.push('Change Category') }\r\n if (tag === this.interactionActionMonitorBehaviour) { actionStrings.push('Behaviour') }\r\n if (tag === this.interactionActionSignpostToGamcare) { actionStrings.push('Signpost To Gamcare') }\r\n if (tag === this.interactionActionStayInControlLeaflet) { actionStrings.push('Stay In Control Leaflet') }\r\n if (tag === this.interactionActionGambleManagementApp) { actionStrings.push('Gamble Management App') }\r\n if (tag === this.interactionActionIssuedPlayDiary) { actionStrings.push('Play Diary') }\r\n this.interactionActionMonitorBehaviour\r\n\r\n })\r\n\r\n var numberOfActions: number = actionStrings.length;\r\n var counter: number = 0;\r\n actionStrings.forEach(action => {\r\n counter += 1;\r\n\r\n if (counter === numberOfActions) {\r\n actionsString = actionsString + action + '.';\r\n } else {\r\n actionsString = actionsString + action + ', ';\r\n }\r\n })\r\n }\r\n return actionsString;\r\n }\r\n\r\n AddBoxShadowToSelectedElement(event: any, id: number) {\r\n if (this._previousEvent) {\r\n this._previousEvent.style.border = '0px solid #5e698e';\r\n this._previousEvent.style.borderRadius = '0';\r\n this._previousEvent.style.boxShadow = '0px 0px 0px #5e698e';\r\n this._previousEvent.style.margin = '10px';\r\n }\r\n\r\n event.currentTarget.style.border = '5px solid #5e698e';\r\n if (id > 0 && id <= 8) {\r\n event.currentTarget.style.boxShadow = '10px 10px 10px #8694bf';\r\n } else if (id >= 9 && id <= 16) {\r\n event.currentTarget.style.boxShadow = '10px 10px 10px #82bcbc';\r\n } else if (id >= 17 && id <= 24) {\r\n event.currentTarget.style.boxShadow = '10px 10px 10px #9a444b';\r\n } else if (id >= 25 && id <= 32) {\r\n event.currentTarget.style.boxShadow = '10px 10px 10px #ba4022';\r\n } else {\r\n event.currentTarget.style.boxShadow = '10px 10px 10px #5e698e';\r\n }\r\n\r\n if (id < 80) {\r\n event.currentTarget.style.borderRadius = '5em';\r\n } else {\r\n event.currentTarget.style.borderRadius = '2.6em';\r\n }\r\n event.currentTarget.style.margin = 'px';\r\n this._previousEvent = event.currentTarget;\r\n this._currentSelectedIconId = id;\r\n }\r\n\r\n SaveImage(img?) {\r\n var currentMedia = new Views_MediaModel();\r\n currentMedia.MediaClassKeyId = 4;\r\n if (this.Interaction.MediaModelCollection.length > 0) {\r\n if (this.Interaction.MediaModelCollection.some(i => i.MediaClassKeyId === 4)) {\r\n currentMedia = this.Interaction.MediaModelCollection.find(i => i.MediaClassKeyId === 4)\r\n }\r\n }\r\n\r\n if (img) {\r\n currentMedia.Data = img;\r\n currentMedia.MediaId = 0;\r\n } else {\r\n currentMedia.Data = this.whiteSpaceImage;\r\n currentMedia.MediaId = this._currentSelectedIconId;\r\n }\r\n\r\n if (this.Interaction.MediaModelCollection.length === 0) {\r\n this.Interaction.MediaModelCollection.push(currentMedia);\r\n }\r\n }\r\n\r\n GetInteractionColor(): string {\r\n if (this.Interaction.TagIdCollection.some(i => i === this.asrv.Globals.TagValues.ArchivedInteraction)) {\r\n return this.asrv.Globals.BackgroundColor.Grey;\r\n } else if (this.Interaction.TagIdCollection.some(i => i === this.asrv.Globals.TagValues.IncompleteInteraction)) {\r\n return this.asrv.Globals.BackgroundColor.CyanBlue;\r\n // else if () { this.cardOuter.nativeElement.style.borderColor = this.asrv.Globals.BackgroundColor.MagentaPink; }\r\n } else if (this.Interaction.InteractionMonitoringPeriod) {\r\n let diffDaysStart = this._dateMethods.DateDifferenceInDays(new Date(this.Interaction.InteractionMonitoringPeriod.Start))\r\n let daysUntilReview = (this.Interaction.InteractionMonitoringPeriod.Duration - diffDaysStart)\r\n if (daysUntilReview <= -14) {\r\n return this.asrv.Globals.BackgroundColor.Red;\r\n } else if (daysUntilReview <= 0 && daysUntilReview > -14) {\r\n return this.asrv.Globals.BackgroundColor.Yellow;\r\n } else {\r\n return this.asrv.Globals.BackgroundColor.Green;\r\n }\r\n } else {\r\n return this.asrv.Globals.BackgroundColor.Grey;\r\n }\r\n }\r\n\r\n}\r\n\r\nclass DatabaseCalls {\r\n constructor(public dsrv: DataService) { }\r\n\r\n // Post a \"View Model\" comprising of an Interaction and associated models to the system. \r\n // This is designed to allow an entire Interaction to be submitted to the system in one operation.\r\n // PostInteractionCompositeModel(interaction: Views_InteractionsCompositeModel): Observable {\r\n // return this.dsrv.Post('api/View_InteractionCompositeModel', interaction);\r\n // }\r\n\r\n GetReviewCompositeModel(interactionid: number): Observable {\r\n return this.dsrv.Get('api/View_ReviewCompositeModel/' + interactionid);\r\n }\r\n\r\n PostReviewCompositeModel(reviewModel: Views_ReviewsCompositeModel): Observable {\r\n return this.dsrv.Post('api/View_ReviewCompositeModel', reviewModel);\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { NonBiologicalName } from '../models/actor/Name';\r\nimport { GenericTagList } from '../models/admin/GenericTag';\r\nimport { DropDownItem } from '../models/controllers/Standard Controllers/Select';\r\nimport { CommunicationRow, MessageList } from '../models/messaging/MessageList';\r\nimport { PostObjects } from '../models/PostObjects';\r\nimport { ActorService } from './actor.service';\r\n\r\ndeclare var require: any;\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class MessagingService {\r\n private readonly importantmessage: number = 2;\r\n private readonly unreadmessage: number = 3;\r\n\r\n private _getMessagesPostObject: PostObjects = new PostObjects();\r\n\r\n // Main Table Variables\r\n public TableDataLoaded: boolean;\r\n public MessageList: MessageList;\r\n\r\n // Show Edit Variables\r\n public ShowMessage: boolean;\r\n public ComposeMode: boolean;\r\n public SelectedComposer: string;\r\n public SelectedRecipients: DropDownItem[];\r\n public SelectedSubject: string;\r\n public SelectedBody: string;\r\n\r\n // Advanced Filter Variables\r\n public AvailableOrganisations: NonBiologicalName[] = [];\r\n public AvailableContacts: DropDownItem[] = [];\r\n public OrganisationIdFilter: number;\r\n public TagFilters: GenericTagList;\r\n\r\n // All Ids\r\n public AllCommunicationUserIds: number[];\r\n public AllowCompose: boolean;\r\n\r\n constructor(public asrv: ActorService) {\r\n this.AvailableOrganisations = this.asrv.DefaultOrganisationNameCollection;\r\n this._getMessagesPostObject.CommunicationAccountMessageCompositeModelController.Start = new Date('2019-01-01');\r\n this._getMessagesPostObject.CommunicationAccountMessageCompositeModelController.End = new Date();\r\n this._getMessagesPostObject.CommunicationAccountMessageCompositeModelController.Limit = 0;\r\n this._getMessagesPostObject.CommunicationAccountMessageCompositeModelController.Offset = 0;\r\n this.MessageList = new MessageList(this.asrv, []);\r\n this.TagFilters = new GenericTagList(this.asrv);\r\n this.asrv.GetEmployeeIds(0,0).then(value => {\r\n this.AllCommunicationUserIds = value;\r\n })\r\n this.asrv.IsLoggedUserBactaAdmin().then(value => {\r\n this.AllowCompose = value;\r\n });\r\n }\r\n\r\n SetStartDateFilter(val: Date): void {\r\n this._getMessagesPostObject.CommunicationAccountMessageCompositeModelController.Start = val;\r\n }\r\n\r\n SetEndDateFilter(val: Date): void {\r\n this._getMessagesPostObject.CommunicationAccountMessageCompositeModelController.End = val;\r\n }\r\n\r\n SetLimitFilter(val: number): void {\r\n this._getMessagesPostObject.CommunicationAccountMessageCompositeModelController.Limit = val;\r\n }\r\n\r\n SetOffsetFilter(val: number): void {\r\n this._getMessagesPostObject.CommunicationAccountMessageCompositeModelController.Offset = val;\r\n }\r\n\r\n public GetUnreadMessages(): Promise {\r\n return new Promise(resolve => {\r\n this._getMessagesPostObject.CommunicationAccountMessageCompositeModelController.TagIdLookupOperator = 'NotExists';\r\n this._getMessagesPostObject.CommunicationAccountMessageCompositeModelController.TagIdCollection = [this.unreadmessage];\r\n this.GetMessageObject().then(value => {\r\n resolve(value);\r\n })\r\n })\r\n }\r\n\r\n public GetImportantMessage(): Promise {\r\n return new Promise(resolve => {\r\n this._getMessagesPostObject.CommunicationAccountMessageCompositeModelController.TagIdLookupOperator = 'Exists';\r\n this._getMessagesPostObject.CommunicationAccountMessageCompositeModelController.TagIdCollection = [this.importantmessage];\r\n this.GetMessageObject().then(value => {\r\n resolve(value);\r\n })\r\n })\r\n }\r\n\r\n // Return All Messages \r\n public GetAllMessages(): Promise {\r\n return new Promise(resolve => {\r\n this._getMessagesPostObject.CommunicationAccountMessageCompositeModelController.TagIdLookupOperator = 'NotExists';\r\n this._getMessagesPostObject.CommunicationAccountMessageCompositeModelController.TagIdCollection = [];\r\n this.GetMessageObject().then(value => {\r\n resolve(value);\r\n })\r\n })\r\n }\r\n\r\n private GetMessageObject(): Promise {\r\n document.body.style.cursor = 'progress';\r\n this.TableDataLoaded = false;\r\n return new Promise(resolve => {\r\n let subscription = this.asrv.PostCommunicationAccountMessageCompositeModelController(this._getMessagesPostObject.CommunicationAccountMessageCompositeModelController).subscribe(res => {\r\n subscription.unsubscribe();\r\n this.MessageList = new MessageList(this.asrv, res);\r\n document.body.style.cursor = 'default';\r\n this.TableDataLoaded = true;\r\n resolve(true);\r\n }, err => {\r\n subscription.unsubscribe();\r\n this.MessageList = new MessageList(this.asrv, []);\r\n document.body.style.cursor = 'default';\r\n resolve(false);\r\n })\r\n })\r\n }\r\n\r\n public ReadMessage(communicationRow: CommunicationRow): Promise {\r\n this.ComposeMode = false;\r\n return new Promise(resolve => {\r\n if (!communicationRow.Sender) {\r\n this.SelectedComposer = '';\r\n this.asrv.GetBiologicalName([communicationRow.Edited_ActorID]).then(value => {\r\n this.SelectedComposer = value[0].Forename + ' ' + value[0].Surname;\r\n })\r\n } else {\r\n this.SelectedComposer = communicationRow.Sender.toString();\r\n }\r\n this.ParseXML(communicationRow.Body).then(value => {\r\n this.SelectedBody = value.accountMessage.body[0];\r\n });\r\n this.SelectedSubject = communicationRow.Subject;\r\n\r\n if (communicationRow.IsNew) {\r\n let postObject: PostObjects = new PostObjects();\r\n postObject.CommunicationContacts_CommunicationContactTags.ActorId = +this.asrv.GetMyUserID();\r\n postObject.CommunicationContacts_CommunicationContactTags.Edited_ActorId = +this.asrv.GetMyUserID();\r\n postObject.CommunicationContacts_CommunicationContactTags.CommunicationId = communicationRow.CommunicationId;\r\n postObject.CommunicationContacts_CommunicationContactTags.CommunicationMethodKeyId = 2;\r\n postObject.CommunicationContacts_CommunicationContactTags.TagId = 3;\r\n postObject.CommunicationContacts_CommunicationContactTags.Edited = new Date();\r\n communicationRow.IsNew = false;\r\n let postCommuicationContactsContactTags = this.asrv.PostCommuicationContactsContactTags(postObject.CommunicationContacts_CommunicationContactTags).subscribe(res => {\r\n postCommuicationContactsContactTags.unsubscribe();\r\n })\r\n }\r\n\r\n this.ShowMessage = true;\r\n resolve(true);\r\n })\r\n }\r\n\r\n ParseXML(xml): Promise {\r\n var parseString = require('xml2js').parseString;\r\n return new Promise(resolve => {\r\n parseString(xml, function(err, result: XMLMessage) {\r\n resolve(result);\r\n })\r\n })\r\n }\r\n\r\n public ComposeNewMessage(): void {\r\n this.ComposeMode = true;\r\n this.SelectedComposer = this.asrv.GetUsersFullName();\r\n this.SelectedSubject = '';\r\n this.SelectedBody = '';\r\n this.SelectedRecipients = [];\r\n this.ShowMessage = true;\r\n }\r\n\r\n public SendMessage(): Promise {\r\n return new Promise(resolve => {\r\n let postObject: PostObjects = new PostObjects();\r\n postObject.CommunicationAccountMessagesCompositeModel.Subject = this.SelectedSubject;\r\n postObject.CommunicationAccountMessagesCompositeModel.Body = this.SelectedBody;\r\n postObject.CommunicationAccountMessagesCompositeModel.TagIdCollection = [];\r\n postObject.CommunicationAccountMessagesCompositeModel.Edited_ActorId = +this.asrv.GetMyUserID();\r\n postObject.CommunicationAccountMessagesCompositeModel.ActorIdCollection = this.SelectedRecipients.map(function (el) { return el.Key; });\r\n let subscription = this.asrv.PostCommunicationAccountMessageCompositeModel(postObject.CommunicationAccountMessagesCompositeModel).subscribe(res => {\r\n subscription.unsubscribe();\r\n resolve(true);\r\n this.ShowMessage = false;\r\n }, err => {\r\n subscription.unsubscribe();\r\n resolve(false);\r\n })\r\n })\r\n }\r\n\r\n UpdateOrganisationFilter() {\r\n this.asrv.PopulateColleagueDropDownForOrganisationId(this.OrganisationIdFilter).then(value => {\r\n this.AvailableContacts = this.asrv.ColleagueSelect.DropDownItems;\r\n })\r\n }\r\n\r\n UpdateTagFilters() {\r\n let tagIds: number[] = this.TagFilters.Rows.map(function (el) { return el.TagId; })\r\n this.asrv.GetEmployeeIds(0,0, null, tagIds).then(value => {\r\n })\r\n }\r\n}\r\n\r\ninterface XMLMessage {\r\n accountMessage: AccountMessage;\r\n}\r\n\r\ninterface AccountMessage {\r\n body: string[];\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { DataService } from './data.service';\r\nimport { Observable } from 'rxjs';\r\nimport { Site } from '../models/Site';\r\nimport { SiteCollection } from '../models/SiteCollection';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class OrganisationService {\r\n\r\n constructor(public dsrv: DataService) { }\r\n\r\n public GetSite(){\r\n \r\n }\r\n\r\n public GetSitesWithinRadius(SiteActorID: number, Radius: number) : Observable {\r\n return this.dsrv.Get('api/View_SitesWithinRadiusCompositeModel?ActorId='+SiteActorID+'&Radius='+Radius);\r\n // return this.dsrv.Get('api/sitecollections?ActorId='+SiteActorID+'&Radius='+Radius);\r\n }\r\n\r\n public GetMotorWayServices(): Observable {\r\n return this.dsrv.Get('api/View_SiteCollectionCompositeModel?SiteCollectionId=0');\r\n //return this.dsrv.Get('api/sitecollections?sitecollectionid=0')\r\n }\r\n\r\n public GetSitesOnMotorWay(collectionId: number): Observable {\r\n return this.dsrv.Get('api/View_SiteCollectionCompositeModel?sitecollectionid=' + collectionId);\r\n }\r\n\r\n}\r\n","import { Injectable, EventEmitter } from '@angular/core';\r\nimport { DataService } from './data.service';\r\nimport { Observable } from 'rxjs';\r\nimport { Addresses, AddressDetails, GeocodingItems } from '../models/Addresses';\r\nimport { debounceTime } from 'rxjs/operators';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PostcodeanywhereService {\r\n addresses: Addresses;\r\n constructor(public dsrv: DataService) {\r\n }\r\n\r\n getAddressId(postcode: string): Observable {\r\n return this.dsrv.getAddressId(postcode);\r\n }\r\n\r\n getAddressList(postcode: string, Id: string): Observable {\r\n console.log(postcode, Id);\r\n return this.dsrv.getAddressList(postcode, Id);\r\n }\r\n\r\n getAddressDetails(Id: string): Observable {\r\n return this.dsrv.getAddressDetails(Id);\r\n } \r\n\r\n getGeocode(Location: string): Observable {\r\n return this.dsrv.getGeocode(Location);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, UrlTree, Router } from '@angular/router';\r\nimport { Observable, of } from 'rxjs';\r\nimport { DataService } from './data.service';\r\nimport { map, catchError } from 'rxjs/operators';\r\nimport { Token } from '../models/Token';\r\nimport { ActorService } from './actor.service';\r\nimport { ISDDateMethods } from '../models/ISDDateMethods';\r\nimport { ErrorhanderService } from './errorhander.service';\r\nimport { ApiService } from './api.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class RouteguardService implements CanActivate {\r\n\r\n constructor(\r\n public dsrv: DataService,\r\n private router: Router,\r\n public asrv: ActorService,\r\n private errorHandler: ErrorhanderService,\r\n private _api: ApiService\r\n ) { }\r\n\r\n private dateMethods: ISDDateMethods = new ISDDateMethods();\r\n\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean | UrlTree | Observable | Promise {\r\n \r\n if (!this.dsrv.Credentials() || !this.dsrv.GetMyUserID()) {\r\n // this.router.navigate(['/']);\r\n return false;\r\n }\r\n\r\n if (this.dsrv.Credentials) {\r\n let token: Token = this.dsrv.GetToken();\r\n if (token) {\r\n var diff = this.dateMethods.DateDifferenceInDays(token.Edited)\r\n if (diff >= 10000) {\r\n this.router.navigate['#']\r\n return false;\r\n }\r\n } else {\r\n let tokenSubscription = this.asrv.GetToken().subscribe(res => {\r\n this.dsrv.SetToken(res);\r\n tokenSubscription.unsubscribe();\r\n }, err => {\r\n this.errorHandler.CatchError('canActivate()', 'routeguard.service.ts', err)\r\n tokenSubscription.unsubscribe();\r\n return false\r\n })\r\n }\r\n return true;\r\n }\r\n\r\n // temp\r\n return false;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { BasicPostModel } from '../models/PostObjects';\r\nimport { ActorService } from './actor.service';\r\nimport { DataService } from './data.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TagService {\r\n private readonly organisationlookupkey: number = 0;\r\n private readonly sitelookupkey: number = 1;\r\n private readonly userlookupkey: number = 2;\r\n private SearchMode: number = 1; // Currently the default search outside of create.\r\n public Tags: Tag[] = [];\r\n public AllowNewTags: boolean;\r\n public TagsLoaded: boolean;\r\n\r\n // Make sure dsrv contains your get and post http calls. Otherwise this will not work.\r\n constructor(public dsrv: DataService) {}\r\n\r\n Init(allowNewTags: boolean, tagIdCollection: number[]) {\r\n this.AllowNewTags = allowNewTags;\r\n this.LoadTagCollection(tagIdCollection).then(value => {\r\n this.TagsLoaded = true\r\n });\r\n } \r\n\r\n SetSearchMode(searchMode: number) {\r\n this.SearchMode = searchMode;\r\n }\r\n\r\n public LoadTagCollection(tagIdCollection: number[]): Promise { \r\n return new Promise(resolve => {\r\n this.Tags = [];\r\n tagIdCollection.forEach(TagId => {\r\n this.Tags.push(new TagBuilder(TagId, this.dsrv));\r\n })\r\n resolve(true)\r\n })\r\n }\r\n\r\n AddTagToCollection(tag: Tag): Promise {\r\n return new Promise(resolve => {\r\n if (!this.Tags.some(i => i.TagId === tag.TagId)) {\r\n if (tag.TagId > 0) {\r\n this.Tags.push(tag);\r\n } else if (this.AllowNewTags) {\r\n let subscription = this.CreateTag(tag).subscribe(res => {\r\n subscription.unsubscribe();\r\n this.Tags.push(res);\r\n }, err => {\r\n subscription.unsubscribe();\r\n })\r\n }\r\n }\r\n resolve();\r\n })\r\n }\r\n\r\n RemoveTagFromCollection(tagIdToRemove: number): void {\r\n var rowToRemove = this.Tags.find(i => i.TagId === tagIdToRemove);\r\n let index = this.Tags.indexOf(rowToRemove, 0);\r\n if (index > -1) {\r\n this.Tags.splice(index, 1);\r\n }\r\n }\r\n\r\n CheckIfTagExistsForPhrase(lookupPhrase: string): Promise {\r\n return new Promise(resolve => {\r\n let returnTags: Tag[] = [];\r\n let subscription = this.SearchTagByName(lookupPhrase).subscribe(res => {\r\n subscription.unsubscribe();\r\n resolve(true);\r\n }, err => {\r\n subscription.unsubscribe();\r\n resolve(false);\r\n });\r\n })\r\n }\r\n\r\n // Returns a collection of tags resembling the lookup phrase.\r\n TagLookup(lookupPhrase: string): Promise {\r\n return new Promise(resolve => {\r\n let returnTags: Tag[] = [];\r\n let postObject = new TagLookup();\r\n switch (this.SearchMode) {\r\n case this.organisationlookupkey:\r\n // Currently not in use.\r\n postObject.TagNameParameters.OrganisationTagNameCollection.push(lookupPhrase);\r\n break;\r\n case this.sitelookupkey:\r\n postObject.TagNameParameters.SiteTagNameCollection.push(lookupPhrase);\r\n break;\r\n case this.userlookupkey: \r\n // Not in existance yet\r\n break;\r\n }\r\n\r\n let subscription = this.GetTagCollectionForSearchPhrase(postObject).subscribe(res => {\r\n subscription.unsubscribe();\r\n if (res.length > 0) {\r\n res.forEach(tagId => {\r\n returnTags.push(new TagBuilder(tagId, this.dsrv));\r\n })\r\n }\r\n resolve(returnTags);\r\n }, err => {\r\n // New Tag\r\n subscription.unsubscribe();\r\n resolve([{\r\n TagId: -1,\r\n Name: lookupPhrase,\r\n Edited: new Date(),\r\n Edited_ActorId: null\r\n }]);\r\n })\r\n })\r\n }\r\n\r\n GetTagByName(name: string): Promise {\r\n return new Promise(resolve => {\r\n let subsription = this.SearchTagByName(name).subscribe(res => {\r\n subsription.unsubscribe();\r\n resolve(res);\r\n }, err => {\r\n subsription.unsubscribe();\r\n resolve({\r\n TagId: -1,\r\n Name: name,\r\n Edited: new Date(),\r\n Edited_ActorId: null\r\n })\r\n }) \r\n })\r\n }\r\n\r\n public CreateTag(tag: Tag): Observable {\r\n return this.dsrv.Post('api/tags', tag);\r\n }\r\n\r\n public SearchTagByName(name: string): Observable {\r\n return this.dsrv.Get('api/tags?Tags.name=' + name);\r\n }\r\n\r\n public GetTagCollectionForSearchPhrase(tagColleciton: any): Observable {\r\n return this.dsrv.Post('api/view_TagIds', tagColleciton);\r\n }\r\n}\r\n\r\nexport interface Tag {\r\n TagId: number;\r\n Name: any;\r\n Edited: Date;\r\n Edited_ActorId: number;\r\n}\r\n\r\nexport class TagBuilder implements Tag {\r\n Name: any = false;\r\n Edited: Date;\r\n Edited_ActorId: number;\r\n\r\n constructor(public TagId: number, public dsrv: DataService) {\r\n this.LoadTagDetails();\r\n }\r\n\r\n private LoadTagDetails() {\r\n let subscription = this.GetTag().subscribe(result => {\r\n subscription.unsubscribe();\r\n this.TagId = result.TagId;\r\n this.Name = result.Name;\r\n this.Edited = result.Edited;\r\n this.Edited_ActorId = result.Edited_ActorId;\r\n }, err => {\r\n subscription.unsubscribe();\r\n this.Name = 'Failed to load name';\r\n })\r\n }\r\n\r\n private GetTag(): Observable {\r\n return this.dsrv.Get('api/tags?Tags.tagId=' + this.TagId);\r\n }\r\n}\r\n\r\nclass TagLookup extends BasicPostModel {\r\n TagNameParameters: TagNameParameters = new TagNameParameters();\r\n Limit: number;\r\n Offset: number;\r\n}\r\n\r\nclass TagNameParameters {\r\n OrganisationTagNameCollection: string[] = [];\r\n SiteTagNameCollection: string[] = [];\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpInterceptor, HttpRequest, HttpHandler, HttpEvent, HttpResponse } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { DataService } from './data.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TokeninterceptorService implements HttpInterceptor {\r\n\r\n private _token;\r\n\r\n constructor(\r\n private _ds: DataService\r\n ) {\r\n this._token = sessionStorage.getItem('BactaapiCreds');\r\n }\r\n\r\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n const _isAuthReq = request.url.includes('View_SessionTokens');\r\n if (this._ds.authToken && !_isAuthReq) {\r\n request = request.clone({\r\n setHeaders: {\r\n Authorization: `Basic ${this._ds.authToken}`\r\n }\r\n });\r\n } else if (this._token && !_isAuthReq) {\r\n request = request.clone({\r\n setHeaders: {\r\n Authorization: `Basic ${this._token}`\r\n }\r\n });\r\n }\r\n return next.handle(request);\r\n }\r\n\r\n\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 { Router } from '@angular/router';\r\nimport { ActorService } from 'src/app/services/actor.service';\r\nimport { AdminService } from 'src/app/services/admin.service';\r\n\r\n@Component({\r\n selector: 'app-admin-main-view',\r\n templateUrl: './admin-main-view.component.html',\r\n styleUrls: ['./admin-main-view.component.scss']\r\n})\r\n\r\nexport class AdminMainViewComponent implements OnInit {\r\n\r\n public dataModel: any;\r\n public dataSpinner: boolean = true;\r\n public showPage: number;\r\n\r\n constructor(private router: Router, public asrv: ActorService, public adminsrv: AdminService) { }\r\n\r\n ngOnInit() { \r\n this.adminsrv.CheckUserIsAdmin();\r\n this.adminsrv.FetchOrganisationFilterValues().then(value => {\r\n this.dataSpinner = false;\r\n });\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-data',\r\n templateUrl: './data.component.html',\r\n styleUrls: ['./data.component.scss']\r\n})\r\nexport class AdminDataComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Organisation\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n Field\r\n
\r\n
\r\n Display\r\n
\r\n
\r\n Mandatory\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n [(actor.dataService.field)]\r\n
\r\n
\r\n [(actor.dataService.display)]\r\n
\r\n
\r\n [(actor.dataService.mandatory)]\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { BiologicalUserInfo, NonBiologicalName } from 'src/app/models/actor/Name';\r\nimport { Organisation } from 'src/app/models/Organisation';\r\nimport { UserSites } from 'src/app/models/UserSites';\r\nimport { ActorService } from 'src/app/services/actor.service';\r\nimport { AdminService } from 'src/app/services/admin.service';\r\n\r\nconst creationOrganisation: number = 0;\r\nconst creationSite: number = 1;\r\nconst creationUser: number = 2;\r\nconst creationCredentials: number = 3;\r\nconst primarycontact: number = 21;\r\nconst dataprotectionofficer: number = 23;\r\nconst headquarters: number = 41;\r\n\r\n@Component({\r\n selector: 'app-edit-organisation',\r\n templateUrl: './edit-organisation.component.html',\r\n styleUrls: ['./edit-organisation.component.scss']\r\n})\r\nexport class EditOrganisationComponent implements OnInit {\r\n\r\n public organisation: Organisation;\r\n @Input('organisation') get Organisation(): Organisation {\r\n return this.organisation;\r\n };\r\n @Output('organisation') organisationDetailsChange: EventEmitter = new EventEmitter();\r\n set Organisation(val: Organisation) {\r\n this.organisation = val;\r\n this.organisationDetailsChange.emit(this.organisation);\r\n }\r\n\r\n public creationStep: number;\r\n public showPushSpinner: boolean;\r\n public showSiteData: boolean = false;\r\n public showCredentials: boolean;\r\n\r\n public showEmployeeData: boolean = false;\r\n public organisationActive: boolean;\r\n\r\n public showSpinner: boolean;\r\n public headquartersExists: boolean;\r\n public primaryContactExists: boolean;\r\n public dataProtectionOfficerExists: boolean;\r\n public sitesInOrganisation: UserSites[] = [];\r\n public usersInOrganisation: UserRow[] = [];\r\n\r\n public errorMessage: string;\r\n\r\n public get siteInactive(): boolean {\r\n return this.organisation.TagIdCollection.some(i => i === 1);\r\n }\r\n\r\n constructor(public asrv: ActorService, public adminsrv: AdminService) { }\r\n\r\n ngOnInit() {\r\n if (this.adminsrv.organisationCreateMode) {\r\n this.ToggleCreationMode();\r\n } else if (!this.organisation.Name) { \r\n this.asrv.GetOrganisation(this.asrv.UserOrganisationId).subscribe(res => {\r\n this.organisation = res; \r\n this.organisationActive = !this.organisation.TagIdCollection.some(i => i === 1);\r\n this.GetSitesForOrganisationId();\r\n this.GetEmployeesForOrganisationId();\r\n })\r\n } else {\r\n this.organisationActive = !this.organisation.TagIdCollection.some(i => i === 1);\r\n this.GetSitesForOrganisationId();\r\n this.GetEmployeesForOrganisationId();\r\n }\r\n }\r\n\r\n ToggleCreationMode() {\r\n this.creationStep = creationOrganisation;\r\n if (this.organisation.ActorId) {\r\n this.adminsrv.ActiveOrganisationFilterId = this.organisation.ActorId;\r\n if (this.organisation.SiteIdCollection.length > 0) {\r\n this.GetSitesForOrganisationId();\r\n if (this.organisation.EmployeeIdCollection.length > 0) {\r\n this.adminsrv.organisationCreateMode = false;\r\n this.creationStep = null;\r\n this.GetEmployeesForOrganisationId();\r\n } else {\r\n this.adminsrv.CreateFirstUser(this.organisation.ActorId, this.organisation.SiteIdCollection[0]);\r\n }\r\n } else {\r\n this.adminsrv.CreateFirstSite(this.organisation.ActorId);\r\n }\r\n }\r\n }\r\n\r\n GetSitesForOrganisationId(): void {\r\n this.showSpinner = true;\r\n this.sitesInOrganisation = [];\r\n this.asrv.GetSiteIds(0, 0, this.organisation.ActorId).then(value => {\r\n if (value.length > 0) {\r\n this.asrv.GetSiteNameCollection(value).then(value => {\r\n this.sitesInOrganisation = this.GetSiteMap(value);\r\n this.sitesInOrganisation.forEach(site => {\r\n if (this.adminsrv.employeeDetails.SiteIdCollection.some(i => i === site.Site_ActorId)) {\r\n this.adminsrv.employeeDetails.SiteIdCollection.push(site.Site_ActorId);\r\n }\r\n })\r\n this.showSpinner = false;\r\n })\r\n }\r\n })\r\n }\r\n\r\n GetEmployeesForOrganisationId(): void {\r\n this.showSpinner = true;\r\n this.sitesInOrganisation = [];\r\n this.asrv.GetEmployeeIds(0, 0, this.organisation.ActorId).then(value => {\r\n this.asrv.GetBiologicalName(value).then(value => {\r\n this.usersInOrganisation = this.GetEmployeeMap(value);\r\n this.showSpinner = false;\r\n })\r\n })\r\n }\r\n\r\n GetSiteMap(result: NonBiologicalName[]): UserSites[] {\r\n return result.map(item => {\r\n const userSite: UserSites = new UserSites();\r\n userSite.ActorId = item.ActorId;\r\n userSite.Name = item.Name;\r\n if (this.Organisation.SettingCollection.some(i => i.Value === userSite.ActorId.toString())) {\r\n userSite.Headquarters = true;\r\n this.headquartersExists = true;\r\n }\r\n return userSite;\r\n })\r\n }\r\n\r\n GetEmployeeMap(result: BiologicalUserInfo[]): UserRow[] {\r\n return result.map(item => {\r\n const user: UserRow = new UserRow();\r\n user.ActorId = item.ActorId;\r\n user.Name = item.Forename + ' ' + item.Surname;\r\n if (this.Organisation.SettingCollection.some(i => i.Value === user.ActorId.toString() && i.SettingKeyId === primarycontact)) {\r\n user.PrimaryContact = true;\r\n this.primaryContactExists = true;\r\n }\r\n\r\n if (this.Organisation.SettingCollection.some(i => i.Value === user.ActorId.toString() && i.SettingKeyId === dataprotectionofficer)) {\r\n user.DataProtectionOfficer = true;\r\n this.dataProtectionOfficerExists = true;\r\n } \r\n\r\n return user;\r\n })\r\n }\r\n\r\n CheckSite(siteBrief: UserSites): void {\r\n if (siteBrief.Headquarters) {\r\n this.SetSiteAsOrganisationHeadquarters(siteBrief);\r\n } else {\r\n this.RemoveSiteAsOrganisationHeadquarters(siteBrief);\r\n }\r\n }\r\n\r\n SetSiteAsOrganisationHeadquarters(siteBrief: UserSites): void {\r\n if (this.headquartersExists) {\r\n var previousid = +this.Organisation.SettingCollection.find(i => i.SettingKeyId === headquarters).Value\r\n this.sitesInOrganisation.find(i => i.ActorId === previousid).Headquarters = false;\r\n this.Organisation.SettingCollection.find(i => i.SettingKeyId === headquarters).Value = siteBrief.ActorId.toString();\r\n } else {\r\n this.SetUpSettingCollectionObject(headquarters, siteBrief.ActorId.toString());\r\n }\r\n this.headquartersExists = true;\r\n }\r\n\r\n RemoveSiteAsOrganisationHeadquarters(siteBrief: UserSites): void {\r\n siteBrief.Headquarters = false;\r\n this.SetUpSettingCollectionObject(headquarters, '');\r\n this.headquartersExists = false;\r\n }\r\n\r\n CheckUser(user: UserRow) {\r\n if (user.PrimaryContact) {\r\n this.SetUserAsPrimaryContact(user);\r\n } else {\r\n this.RemoveUserAsPrimaryContact(user);\r\n }\r\n }\r\n\r\n SetUserAsPrimaryContact(user: UserRow): void {\r\n if (this.primaryContactExists) {\r\n var previousid = +this.Organisation.SettingCollection.find(i => i.SettingKeyId === primarycontact).Value\r\n this.usersInOrganisation.find(i => i.ActorId === previousid).PrimaryContact = false;\r\n this.Organisation.SettingCollection.find(i => i.SettingKeyId === primarycontact).Value = user.ActorId.toString();\r\n } else {\r\n this.SetUpSettingCollectionObject(primarycontact, user.ActorId.toString());\r\n }\r\n this.primaryContactExists = true;\r\n }\r\n\r\n RemoveUserAsPrimaryContact(user: UserRow): void {\r\n user.PrimaryContact = false;\r\n this.SetUpSettingCollectionObject(primarycontact, '');\r\n this.primaryContactExists = false;\r\n }\r\n\r\n CheckDataProtectionOfficer(user: UserRow) {\r\n if (user.DataProtectionOfficer) {\r\n this.SetUserAsDataProtectionOfficer(user);\r\n } else {\r\n this.RemoveUserAsDataProtectionOfficer(user);\r\n }\r\n }\r\n\r\n SetUserAsDataProtectionOfficer(user: UserRow): void {\r\n if (this.dataProtectionOfficerExists) {\r\n var previousid = +this.Organisation.SettingCollection.find(i => i.SettingKeyId === dataprotectionofficer).Value\r\n this.usersInOrganisation.find(i => i.ActorId === previousid).DataProtectionOfficer = false;\r\n this.Organisation.SettingCollection.find(i => i.SettingKeyId === dataprotectionofficer).Value = user.ActorId.toString();\r\n } else {\r\n this.SetUpSettingCollectionObject(dataprotectionofficer, user.ActorId.toString());\r\n }\r\n this.dataProtectionOfficerExists = true;\r\n }\r\n\r\n RemoveUserAsDataProtectionOfficer(user: UserRow): void {\r\n user.DataProtectionOfficer = false;\r\n this.SetUpSettingCollectionObject(dataprotectionofficer, '');\r\n this.dataProtectionOfficerExists = false;\r\n }\r\n\r\n SetUpSettingCollectionObject(keyid: number, value: string): void {\r\n if (!this.Organisation.SettingCollection.some(i => i.SettingKeyId === keyid)) {\r\n this.Organisation.SettingCollection.push({\r\n SettingKeyId: keyid, \r\n Value: value\r\n })\r\n }\r\n }\r\n\r\n CloseUserForm() {\r\n this.showEmployeeData = false;\r\n this.GetEmployeesForOrganisationId();\r\n }\r\n\r\n CloseSiteForm() {\r\n \r\n }\r\n \r\n SubmitNewOrganisation(): Promise {\r\n return new Promise(resolve => {\r\n this.showPushSpinner = true;\r\n let subscription = this.asrv.PostOrganisation(this.organisation).subscribe(res => {\r\n subscription.unsubscribe();\r\n this.showPushSpinner = false;\r\n this.organisation = res;\r\n this.adminsrv.FetchOrganisationFilterValues().then(value => {\r\n this.adminsrv.AddOrganisationToFilter(this.organisation.ActorId, this.organisation.Name);\r\n this.adminsrv.ActiveOrganisationFilterId = this.organisation.ActorId;\r\n })\r\n resolve(true);\r\n }, err => {\r\n subscription.unsubscribe();\r\n this.showPushSpinner = false;\r\n resolve(false);\r\n })\r\n })\r\n }\r\n\r\n UpdateOrganisation(): Promise {\r\n return new Promise(resolve => {\r\n let subscription = this.asrv.PostOrganisation(this.organisation).subscribe(res => {\r\n subscription.unsubscribe();\r\n resolve(true);\r\n }, err => {\r\n subscription.unsubscribe();\r\n resolve(false);\r\n })\r\n })\r\n }\r\n\r\n GoNext() {\r\n this.showPushSpinner = true;\r\n if (this.adminsrv.organisationCreateMode) {\r\n if (this.creationStep === creationOrganisation) {\r\n if (this.organisation.Name) {\r\n this.SubmitNewOrganisation().then(value => {\r\n if (value) {\r\n this.adminsrv.CreateFirstSite(this.organisation.ActorId);\r\n this.creationStep = creationSite;\r\n }\r\n this.showPushSpinner = false;\r\n });\r\n } else {\r\n alert('Please enter an Organisation Name before proceeding.')\r\n this.showPushSpinner = false;\r\n }\r\n } else if (this.creationStep === creationSite) {\r\n this.adminsrv.UpdateSite().then(value => {\r\n if (value) {\r\n this.organisation.SettingCollection = [];\r\n this.organisation.SiteIdCollection = [];\r\n\r\n this.SetUpSettingCollectionObject(headquarters, this.adminsrv.site.ActorId.toString());\r\n this.organisation.SiteIdCollection.push(this.adminsrv.site.ActorId);\r\n \r\n this.adminsrv.CreateFirstUser(this.organisation.ActorId, this.organisation.SiteIdCollection[0]);\r\n this.creationStep = creationUser;\r\n }\r\n this.showPushSpinner = false;\r\n })\r\n } else if (this.creationStep === creationUser) {\r\n this.adminsrv.AddEmployee().then(value => {\r\n if (value) {\r\n this.UpdateOrganisation().then(value => {});\r\n this.organisation.EmployeeIdCollection = [];\r\n this.organisation.EmployeeIdCollection.push(this.adminsrv.employeeDetails.ActorId);\r\n this.SetUpSettingCollectionObject(primarycontact, this.organisation.EmployeeIdCollection[0].toString());\r\n this.creationStep = creationCredentials;\r\n this.showCredentials = true;\r\n this.showPushSpinner = false;\r\n } else {\r\n this.showPushSpinner = false;\r\n }\r\n })\r\n } else {\r\n this.adminsrv.SetCredentials().then(value => {\r\n if (value) {\r\n this.creationStep = null;\r\n this.adminsrv.organisationCreateMode = false;\r\n this.CloseEditForm.next();\r\n }\r\n this.showPushSpinner = false;\r\n })\r\n }\r\n } else {\r\n this.UpdateOrganisation().then(value => {\r\n this.showPushSpinner = false;\r\n this.CloseEditForm.next();\r\n });\r\n }\r\n }\r\n\r\n SuspendOrganisation() {\r\n if (confirm('This will suspend the organisation. Do you wish to proceed?')) {\r\n if (!this.organisation.TagIdCollection.some(i => i === 1)) {\r\n this.organisation.TagIdCollection.push(1);\r\n }\r\n this.GoNext();\r\n }\r\n }\r\n\r\n ReinstateOrganisation() {\r\n if (confirm('This will reinstate the organisation. Do you wish to proceed?')) {\r\n var index = this.organisation.TagIdCollection.indexOf(1, 0);\r\n if (index >= 0) {\r\n this.organisation.TagIdCollection.splice(index, 1);\r\n }\r\n this.GoNext();\r\n }\r\n }\r\n\r\n GoBack() {\r\n this.CloseEditForm.next();\r\n }\r\n\r\n CloseForm() {\r\n this.CloseEditForm.next();\r\n }\r\n\r\n @Output() CloseEditForm = new EventEmitter();\r\n}\r\n\r\nclass UserRow {\r\n ActorId: number;\r\n Name: string;\r\n PrimaryContact: boolean;\r\n DataProtectionOfficer: boolean;\r\n}\r\n","
\r\n
\r\n

Organisation

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Name\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
Organisation Sites
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Site Name\r\n Headquarters\r\n
\r\n
\r\n
\r\n \r\n {{siteBrief.Name}}\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
Organisation Employees
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Name\r\n Primary Contact\r\n Data Protection Officer\r\n
\r\n
\r\n
\r\n \r\n {{user.Name}}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\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, ViewChild, ElementRef, EventEmitter, Input, Output } from '@angular/core';\r\nimport { ActorService } from 'src/app/services/actor.service';\r\nimport { Organisation } from 'src/app/models/Organisation';\r\nimport { AdminService, OrganisationList, OrganisationRow } from 'src/app/services/admin.service';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-organisation',\r\n templateUrl: './organisation.component.html',\r\n styleUrls: ['./organisation.component.scss', '../admin-main-view.component.scss']\r\n})\r\nexport class AdminOrganisationComponent implements OnInit {\r\n \r\n @ViewChild('table') table: ElementRef;\r\n\r\n object = [{id: false}];\r\n objectKeys = [];\r\n tableKeys = [];\r\n\r\n public dataLoaded: boolean;\r\n public showOrganisationData: boolean = false;\r\n public organisation: Organisation;\r\n public showSendingSpinner: boolean = false;\r\n public showAddOrganisation: boolean = false;\r\n public doNotShow: boolean = false; \r\n public creationMode: boolean = false;\r\n public showSuspended: boolean = false;\r\n \r\n public dataModel: OrganisationList;\r\n @Input('dataModel') get DataModel(): OrganisationList {\r\n return this.dataModel;\r\n };\r\n @Output('dataModel') dataModelChange: EventEmitter = new EventEmitter();\r\n set DataModel(val: OrganisationList) {\r\n this.dataModel = val;\r\n this.dataModelChange.emit(this.dataModel);\r\n } \r\n\r\n constructor(public asrv: ActorService, public adminsrv: AdminService, private router: Router) { }\r\n\r\n ngOnInit() {\r\n this.adminsrv.organisationCreateMode = false;\r\n this.dataLoaded = false;\r\n if (this.adminsrv.UserRoleId <= 3) {\r\n this.asrv.GetOrganisationIdsDBSync(0, 0).then(value => {\r\n this.adminsrv.PopulateOrganisationList(value).then(value => {\r\n if (value) {\r\n if (this.adminsrv.OrganisationList.Rows.length >= 2) {\r\n this.SetDataObject();\r\n } else {\r\n this.ShowEditOrganisationOnly();\r\n }\r\n this.dataLoaded = true;\r\n }\r\n })\r\n })\r\n } else {\r\n alert('You are unable to view, add or edit organisation records.');\r\n this.router.navigate(['user']);\r\n }\r\n\r\n }\r\n\r\n SortSiteList(key: any) {\r\n\r\n }\r\n\r\n FilterOrganisations() {\r\n this.adminsrv.FilterOrganisationList(this.showSuspended).then(value => {\r\n this.SetDataObject();\r\n });\r\n }\r\n\r\n SetDataObject() {\r\n this.object = [];\r\n this.objectKeys = Object.values(this.adminsrv.OrganisationList.HeaderTranslation[0]);\r\n this.tableKeys = Object.keys(this.adminsrv.OrganisationList.HeaderTranslation[0]);\r\n this.adminsrv.OrganisationList.Rows.forEach(row => {\r\n let newRow: any = {};\r\n newRow['OrganisationId'] = row.OrganisationId;\r\n newRow['OrganisationName'] = row.OrganisationName;\r\n this.object.push(newRow);\r\n })\r\n }\r\n\r\n ShowEditOrganisationOnly() {\r\n this.organisation = new Organisation();\r\n this.showSendingSpinner = false;\r\n this.showOrganisationData = true;\r\n this.organisation.Organisations_ActorId = this.dataModel.Rows[0]['OrganisationId'];\r\n this.organisation.Organisations_Name = this.dataModel.Rows[0]['OrganisationName'];\r\n }\r\n\r\n ShowOrganisation(row: OrganisationRow) {\r\n document.body.style.cursor = 'progress';\r\n this.asrv.GetOrganisation(row.OrganisationId).subscribe(res => {\r\n this.organisation = res;\r\n this.showSendingSpinner = false;\r\n\r\n // Organisations must have at least 1 site and 1 employee to be edited, else they need to be created.\r\n if (res.SiteIdCollection.length > 0 && res.EmployeeIdCollection.length > 0) {\r\n this.adminsrv.organisationCreateMode = false;\r\n } else {\r\n this.adminsrv.organisationCreateMode = true;\r\n }\r\n\r\n document.body.style.cursor = 'default';\r\n this.showOrganisationData = true;\r\n })\r\n }\r\n\r\n AddNewRecord() {\r\n this.organisation = new Organisation();\r\n this.adminsrv.organisationCreateMode = true;\r\n this.showOrganisationData = true;\r\n }\r\n\r\n CloseEditForm() {\r\n this.showOrganisationData = false;\r\n this.ngOnInit();\r\n }\r\n\r\n PostOrganisation() {\r\n // this.organisation.Postcode = this.employeeDetails.Postcode.replace(' ', '');\r\n // this.organisation.Country = \"UK\";\r\n // this.organisation.PostalAddressClassId = 2;\r\n this.showSendingSpinner = true;\r\n this.asrv.PostOrganisation(this.organisation).subscribe(res => {\r\n // Do things\r\n })\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
Show Suspended
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
{{key}}
\r\n {{row[x]}}\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, Input, Output, EventEmitter, OnDestroy } from '@angular/core';\r\nimport { SiteDetail } from 'src/app/models/SiteDetail'\r\nimport { PostcodeanywhereService } from 'src/app/services/postcodeanywhere.service';\r\nimport { Addresses, Address } from 'src/app/models/Addresses';\r\nimport { Subject, Subscription } from 'rxjs';\r\nimport { debounceTime, distinctUntilChanged } from 'rxjs/operators';\r\nimport { ActorService } from 'src/app/services/actor.service';\r\nimport { OrganisationBrief } from 'src/app/models/OrganisationBrief';\r\nimport { GenericTagList } from 'src/app/models/admin/GenericTag';\r\nimport { AdminService } from 'src/app/services/admin.service';\r\nimport { TagService } from 'src/app/services/tag.service';\r\n\r\n@Component({\r\n selector: 'app-edit-site',\r\n templateUrl: './edit-site.component.html',\r\n styleUrls: ['./edit-site.component.scss']\r\n})\r\nexport class EditSiteComponent implements OnInit, OnDestroy {\r\n\r\n addresses: Addresses = new Addresses(); \r\n address: Address;\r\n loadingAddressList: boolean = false;\r\n currentAddressId;\r\n addressPopulated: boolean = false;\r\n postCodeSearchIsValid: boolean = false;\r\n postCodeControl = new Subject();\r\n public showSendingSpinner: boolean = false;\r\n public showSiteData: boolean = true;\r\n public addingNewSite: boolean;\r\n public allowNewTags: boolean = true;\r\n public newOrganisation: boolean;\r\n public isMotorwayService: boolean;\r\n\r\n private getAddressIdSubscription: Subscription;\r\n private getAddressListSubscription: Subscription;\r\n private allowUnsubscribe: boolean = false;\r\n private defaultBorderColor = '#223464';\r\n private errorBorderColor = 'red';\r\n public errorMessage: string;\r\n\r\n public get siteInactive(): boolean {\r\n return this.tsrv.Tags.some(i => i.TagId === 1);\r\n }\r\n\r\n constructor(private postcodeAnywhere: PostcodeanywhereService, public asrv: ActorService, public adminsrv: AdminService, public tsrv: TagService) {\r\n this.postCodeControl.pipe(\r\n debounceTime(400),\r\n distinctUntilChanged())\r\n .subscribe(value => {\r\n if (value.length > 4)\r\n this.AddressLookup();\r\n this.allowUnsubscribe = true;\r\n }\r\n );\r\n }\r\n\r\n ngOnInit() {\r\n this.tsrv.Init(true, this.adminsrv.site.TagIdCollection);\r\n if (this.adminsrv.site.TagIdCollection.some(i => i === 21)) {\r\n this.isMotorwayService = true;\r\n }\r\n if (this.adminsrv.site.Postcode) {\r\n this.postcodeAnywhere.getGeocode(this.adminsrv.site.Postcode).subscribe( res => {\r\n this.adminsrv.site.Longitude = res.Items[0].Longitude;\r\n this.adminsrv.site.Latitude = res.Items[0].Latitude;\r\n });\r\n this.addressPopulated = true;\r\n }\r\n\r\n this.SetDefaultValues();\r\n }\r\n\r\n SetDefaultValues() {\r\n this.adminsrv.siteTags = new GenericTagList(this.asrv);\r\n this.addingNewSite = !(this.adminsrv.site.ActorId > 0)\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.allowUnsubscribe) {\r\n this.getAddressIdSubscription.unsubscribe();\r\n this.getAddressListSubscription.unsubscribe();\r\n }\r\n }\r\n\r\n AddressLookup() {\r\n this.loadingAddressList = true;\r\n\r\n this.postcodeAnywhere.getGeocode(this.adminsrv.site.Postcode).subscribe( res => {\r\n if (res.Items.length > 0) {\r\n this.adminsrv.site.Longitude = res.Items[0].Longitude;\r\n this.adminsrv.site.Latitude = res.Items[0].Latitude;\r\n } else {\r\n this.adminsrv.site.Longitude = null;\r\n this.adminsrv.site.Latitude = null;\r\n }\r\n })\r\n\r\n // Query the API and Add the Addresses\r\n return this.getAddressIdSubscription = this.postcodeAnywhere.getAddressId(this.adminsrv.site.Postcode).subscribe( res => {\r\n this.getAddressListSubscription = this.postcodeAnywhere.getAddressList(this.adminsrv.site.Postcode, res.Items[0].Id).subscribe( res2 => {\r\n this.addresses = res2;\r\n this.postCodeSearchIsValid = true;\r\n this.adminsrv.site.Line1 = null;\r\n this.adminsrv.site.Line2 = null;\r\n this.adminsrv.site.TownCity = null;\r\n this.adminsrv.site.County = null;\r\n this.addressPopulated = false;\r\n this.loadingAddressList = false;\r\n });\r\n });\r\n }\r\n\r\n PopulateAddress() {\r\n this.postcodeAnywhere.getAddressDetails(this.currentAddressId).subscribe( res => {\r\n this.adminsrv.site.Line1 = res.Items[0].Line1;\r\n this.adminsrv.site.Line2 = res.Items[0].Line2;\r\n this.adminsrv.site.TownCity = res.Items[0].City;\r\n this.adminsrv.site.County = res.Items[0].Province;\r\n if (!this.adminsrv.site.County) {\r\n this.adminsrv.site.County = this.adminsrv.site.TownCity;\r\n }\r\n this.addressPopulated = true;\r\n });\r\n }\r\n\r\n AddNewTag() {\r\n this.showSiteData = false;\r\n }\r\n\r\n GoForward() {\r\n this.adminsrv.site.TagIdCollection = this.tsrv.Tags.map(function (el) { return el.TagId; });\r\n this.adminsrv.UpdateSite().then(value => {\r\n if (value) {\r\n this.CloseEditForm.next();\r\n }\r\n })\r\n }\r\n\r\n SuspendSite() {\r\n if (confirm('This will suspend the site. Do you wish to proceed?')) {\r\n if (!this.tsrv.Tags.some(i => i.TagId === 1)) {\r\n var edited = new Date('2019-11-20T19:38:48Z');\r\n this.tsrv.Tags.push({TagId: 1, Name: 'Disabled', Edited: edited, Edited_ActorId: 1});\r\n }\r\n this.GoForward();\r\n }\r\n }\r\n\r\n ReinstateSite() {\r\n if (confirm('This will reinstate the site. Do you wish to proceed?')) {\r\n var index = this.tsrv.Tags.map(function(e) { return e.TagId }).indexOf(1, 0);\r\n if (index >= 0) {\r\n this.tsrv.Tags.splice(index, 1);\r\n }\r\n this.GoForward();\r\n }\r\n }\r\n\r\n SetMotorwayService() {\r\n if (!this.isMotorwayService) {\r\n this.tsrv.AddTagToCollection({TagId: 21, Name: 'Motorway Service', Edited: null, Edited_ActorId: null});\r\n } else {\r\n this.tsrv.RemoveTagFromCollection(21);\r\n }\r\n }\r\n\r\n GoBack() {\r\n this.CloseEditForm.next()\r\n }\r\n\r\n @Output() CloseEditForm = new EventEmitter();\r\n\r\n}\r\n","
\r\n
\r\n \r\n
\r\n

Edit Site

\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
Details
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Name\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n Organisation \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
Address
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Postcode\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n Lookup\r\n
\r\n \r\n Fetching Addresses...\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Address 1\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n Address 2\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Town/City\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n County\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Employees
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Name\r\n Receive Emails\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n {{row.Name}}\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Tags
\r\n
\r\n
\r\n
\r\n
\r\n
MOTORWAY SERVICE
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\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, ViewChild, Input, Output, EventEmitter, ElementRef } from '@angular/core';\r\nimport { SiteDetail, EmployeeRow } from 'src/app/models/SiteDetail'\r\nimport { ActorService } from 'src/app/services/actor.service';\r\nimport { Tags } from 'src/app/models/Tags';\r\nimport { Subject } from 'rxjs';\r\nimport { debounceTime, distinctUntilChanged } from 'rxjs/operators';\r\nimport { OrganisationBrief } from 'src/app/models/OrganisationBrief';\r\nimport { AdminService } from 'src/app/services/admin.service';\r\nimport { EmployeeDetails } from 'src/app/models/EmployeeDetails';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-site',\r\n templateUrl: './site.component.html',\r\n styleUrls: ['./site.component.scss', '../admin-main-view.component.scss']\r\n})\r\nexport class AdminSiteComponent implements OnInit {\r\n\r\n @ViewChild('table') table: ElementRef;\r\n\r\n object = [{id: false}];\r\n objectKeys = [];\r\n tableKeys = [];\r\n\r\n public dataLoaded: boolean;\r\n public showSiteData: boolean = false;\r\n public site: SiteDetail;\r\n public searchControl = new Subject();\r\n public displaySiteSearch: boolean = false;\r\n public siteSearchPhrase: string;\r\n public organisationBriefs: OrganisationBrief[] = [];\r\n private disableTable: boolean;\r\n public showSuspended: boolean = false;\r\n \r\n public dataModel: any;\r\n @Input('dataModel') get DataModel(): any {\r\n return this.dataModel;\r\n };\r\n @Output('dataModel') dataModelChange: EventEmitter = new EventEmitter();\r\n set DataModel(val: any) {\r\n this.dataModel = val;\r\n this.dataModelChange.emit(this.dataModel);\r\n } \r\n\r\n constructor(public asrv: ActorService, private tags: Tags, public adminsrv: AdminService, private router: Router) { \r\n this.searchControl.pipe(debounceTime(400), distinctUntilChanged()).subscribe(value => {\r\n if (value.length > 2) {\r\n this.SearchSites();\r\n }\r\n }\r\n );\r\n }\r\n\r\n ngOnInit() {\r\n if (this.adminsrv.UserRoleId <= 4) {\r\n this.adminsrv.organisationCreateMode = false;\r\n this.adminsrv.SetOrganisationFilter();\r\n this.adminsrv.PopulateSiteList(this.showSuspended).then(value => {\r\n if (value) {\r\n this.SetDataObject();\r\n }\r\n })\r\n } else {\r\n alert('You are unable to view, add or edit site records.');\r\n this.router.navigate(['user']);\r\n }\r\n }\r\n\r\n SetDataObject() {\r\n this.object = [];\r\n this.objectKeys = Object.values(this.adminsrv.SiteListToShow.HeaderTranslation()[0]);\r\n this.tableKeys = Object.keys(this.adminsrv.SiteListToShow.HeaderTranslation()[0]);\r\n this.adminsrv.SiteListToShow.Rows.forEach(row => {\r\n let newRow: any = {};\r\n newRow['SiteId'] = row.SiteId;\r\n newRow['SiteName'] = row.SiteName;\r\n this.object.push(newRow);\r\n })\r\n }\r\n\r\n FilterOrganisations() {\r\n this.object = [];\r\n this.adminsrv.PopulateSiteList(this.showSuspended).then(value => {\r\n this.SetDataObject();\r\n });\r\n }\r\n\r\n SearchSites() {\r\n this.object = [];\r\n this.dataModel.Rows.forEach(row => {\r\n let searchPhrase: string = row['Name'] + '';\r\n if (searchPhrase.toUpperCase().includes(this.siteSearchPhrase.toUpperCase())) {\r\n this.object.push(row);\r\n }\r\n\r\n searchPhrase = row['OrganisationName'] + '';\r\n if (searchPhrase.toUpperCase().includes(this.siteSearchPhrase.toUpperCase())) {\r\n if (!this.object.some(i => i['OrganisationName'] === row['OrganisationName']) && !this.object.some(i => i['SiteId'] === row['SiteId'])) {\r\n this.object.push(row);\r\n }\r\n }\r\n });\r\n }\r\n\r\n SortSiteList(key: string) {\r\n this.adminsrv.SortSiteList(key);\r\n this.ngOnInit();\r\n }\r\n\r\n ShowSite(row) {\r\n if (!this.disableTable) {\r\n document.body.style.cursor = 'progress';\r\n this.disableTable = true;\r\n let siteDetails = this.asrv.GetSiteDetails(row['SiteId']).subscribe(res => {\r\n this.adminsrv.site = res;\r\n if (res.TagIdCollection.length > 0) {\r\n this.adminsrv.site.TagIdCollection = res.TagIdCollection;\r\n }\r\n let employees = this.asrv.GetActorNames(this.adminsrv.site.EmployeeIdCollection).subscribe(res => {\r\n this.adminsrv.site.EmployeeCollection = res.map(item => {\r\n var forename: string = item.NameCollection.find(i => i.NameClassKeyId === 1).Name;\r\n var surname: string = item.NameCollection.find(i => i.NameClassKeyId === 2).Name;\r\n const row: EmployeeRow = {\r\n Id: item.ActorId,\r\n Name: `${forename} ${surname}`,\r\n Contactable: this.adminsrv.site.ContactIdCollection.some(i => i === item.ActorId)\r\n }\r\n return row;\r\n })\r\n employees.unsubscribe();\r\n })\r\n\r\n siteDetails.unsubscribe();\r\n this.showSiteData = true;\r\n this.disableTable = false;\r\n document.body.style.cursor = 'default';\r\n });\r\n }\r\n }\r\n\r\n AddNewRecord() {\r\n this.adminsrv.site = new SiteDetail();\r\n this.showSiteData = true;\r\n }\r\n\r\n CloseEditForm() {\r\n this.showSiteData = false;\r\n // Update the site Model\r\n this.object = [];\r\n this.adminsrv.PopulateSiteList(this.showSuspended).then(value => {\r\n this.adminsrv.SiteListToShow.Rows.forEach(row => {\r\n if (!this.object.find(i => i['SiteId'] === row.SiteId)) {\r\n let newRow: any = {};\r\n newRow['SiteId'] = row.SiteId;\r\n newRow['SiteName'] = row.SiteName;\r\n this.object.push(newRow);\r\n }\r\n })\r\n });\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n Organisation\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Show Suspended
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
{{key}}
\r\n {{row[x]}}\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, Input, Output, EventEmitter } from '@angular/core';\r\nimport { EmployeeDetails } from 'src/app/models/EmployeeDetails';\r\nimport { ActorService } from 'src/app/services/actor.service';\r\nimport { Honorific } from 'src/app/models/Honorific';\r\nimport { Gender } from 'src/app/models/Gender';\r\nimport { Credentials, CredentialsBrief } from 'src/app/models/Credentials';\r\nimport { UserSites } from 'src/app/models/UserSites';\r\nimport { AdminService } from 'src/app/services/admin.service';\r\nimport { NonBiologicalName } from 'src/app/models/actor/Name';\r\nimport { GenericTagList } from 'src/app/models/admin/GenericTag';\r\nimport { TagService } from 'src/app/services/tag.service';\r\nimport { MatDatepickerInputEvent } from '@angular/material/datepicker';\r\n\r\n\r\nconst primarysitekey: number = 61;\r\nconst secretkey: number = 62;\r\n\r\n@Component({\r\n selector: 'app-edit-user',\r\n templateUrl: './edit-user.component.html',\r\n styleUrls: ['./edit-user.component.scss']\r\n})\r\nexport class EditUserComponent implements OnInit {\r\n public genders: Gender[];\r\n public honorifics: Honorific[];\r\n\r\n public ActiveCredentials: boolean;\r\n public siteId: number;\r\n public showSendingSpinner: boolean;\r\n public showSpinner: boolean;\r\n public sitesInOrganisation: UserSites[];\r\n public sitesToDisplay: UserSites[];\r\n public showSiteSelect: boolean = false;\r\n public siteName: string = 'test'\r\n public SiteSearchPhrase: string;\r\n public primarySiteId: number;\r\n public passwordConfirm: string;\r\n private primarySiteExists: boolean;\r\n public allowNewTags: boolean = true;\r\n public tagFilters: GenericTagList;\r\n public receiveNotifications: boolean;\r\n public userActive: boolean;\r\n\r\n\r\n strength = 0;\r\n\r\n public get NotAllSitesSelected(): boolean {\r\n return this.sitesInOrganisation.some(i => !i.WorksHere);\r\n }\r\n\r\n public get SearchEnabled(): boolean {\r\n return this.sitesInOrganisation.length > 10;\r\n }\r\n\r\n showCredentials: boolean;\r\n @Input('showCredentials') get ShowCredentials(): boolean {\r\n return this.showCredentials;\r\n };\r\n @Output('showCredentials') showCredentialsChange: EventEmitter = new EventEmitter();\r\n set ShowCredentials(val: boolean) {\r\n this.showCredentials = val;\r\n this.showCredentialsChange.emit(this.showCredentials);\r\n }\r\n\r\n constructor(\r\n public asrv: ActorService,\r\n public adminsrv: AdminService,\r\n public tsrv: TagService\r\n ) {\r\n this.tagFilters = new GenericTagList(this.asrv);\r\n\r\n }\r\n\r\n addEvent(type: string, event: MatDatepickerInputEvent) {\r\n }\r\n\r\n checkWord(ev: any) {\r\n const _memWord = ev;\r\n const _strengthCountArr = [];\r\n const _lowercase = new RegExp('^.*[a-z].*');\r\n const _uppercase = new RegExp('^.*[A-Z].*');\r\n const _numbers = new RegExp('^.*[0-9].*');\r\n const _length = new RegExp('^.*[a-zA-Z0-9]{8,12}$');\r\n // const _symbols = new RegExp(\"^.*[!@#$%^&*()_-'].*\");\r\n _strengthCountArr.push(\r\n _lowercase.test(_memWord),\r\n _uppercase.test(_memWord),\r\n _numbers.test(_memWord),\r\n _length.test(_memWord),\r\n );\r\n // console.log(_symbols.test(_memWord));\r\n this.strength = _strengthCountArr.filter(Boolean).length;\r\n }\r\n\r\n ngOnInit() {\r\n this.adminsrv.passwordConfirm = null;\r\n this.adminsrv.userCredententials.Hash = null;\r\n this.asrv.GetHonorifics().then(value => {\r\n this.honorifics = value;\r\n });\r\n this.asrv.GetGenders().then(value => {\r\n this.genders = value;\r\n });\r\n\r\n if (this.adminsrv.employeeDetails.Organisation_ActorId) {\r\n this.adminsrv.ActiveOrganisationFilterId = this.adminsrv.employeeDetails.Organisation_ActorId;\r\n }\r\n this.showSendingSpinner = false;\r\n this.receiveNotifications = this.adminsrv.employeeDetails.TagIdCollection.some(i => i === 61);\r\n this.userActive = !this.adminsrv.employeeDetails.TagIdCollection.some(i => i === 1);\r\n\r\n if (this.adminsrv.employeeDetails.SiteIdCollection) {\r\n this.showSiteSelect = true;\r\n this.GetUserSites();\r\n this.siteId = this.adminsrv.employeeDetails.SiteIdCollection[0];\r\n }\r\n\r\n if (this.adminsrv.creatingNewRecord) {\r\n this.ActiveCredentials = false;\r\n } else {\r\n this.ActiveCredentials = true;\r\n }\r\n }\r\n\r\n GetUserSites() {\r\n this.showSpinner = true;\r\n this.sitesInOrganisation = [];\r\n this.adminsrv.employeeDetails.Organisation_ActorId = this.adminsrv.ActiveOrganisationFilterId;\r\n this.asrv.GetSiteIds(10000, 0, this.adminsrv.ActiveOrganisationFilterId).then(value => {\r\n this.showSiteSelect = true;\r\n this.asrv.GetSiteNameCollection(value).then(value => {\r\n value.sort((a, b) => {\r\n return a.Name.localeCompare(b.Name);\r\n })\r\n this.sitesInOrganisation = this.GetSiteMap(value);\r\n this.sitesToDisplay = this.sitesInOrganisation;\r\n if (this.adminsrv.employeeDetails.SettingCollection.some(i => i.SettingKeyId === primarysitekey)) {\r\n this.primarySiteId = +this.adminsrv.employeeDetails.SettingCollection.find(i => i.SettingKeyId === primarysitekey).Value;\r\n this.primarySiteExists = true;\r\n }\r\n this.showSpinner = false;\r\n })\r\n })\r\n }\r\n\r\n GetSiteMap(result: NonBiologicalName[]): UserSites[] {\r\n return result.map(item => {\r\n const userSite: UserSites = new UserSites();\r\n userSite.ActorId = item.ActorId;\r\n userSite.Name = item.Name;\r\n if (this.adminsrv.employeeDetails.SiteIdCollection) {\r\n userSite.WorksHere = this.adminsrv.employeeDetails.SiteIdCollection.some(i => i === userSite.ActorId);\r\n } else {\r\n userSite.WorksHere = false;\r\n }\r\n return userSite;\r\n })\r\n }\r\n\r\n CheckSite(siteBrief: UserSites) {\r\n if (siteBrief.WorksHere) {\r\n siteBrief.WorksHere = true;\r\n this.adminsrv.employeeDetails.SiteIdCollection.push(siteBrief.ActorId);\r\n } else {\r\n siteBrief.WorksHere = false;\r\n var index = this.adminsrv.employeeDetails.SiteIdCollection.indexOf(siteBrief.ActorId, 0);\r\n if (index >= 0) {\r\n this.adminsrv.employeeDetails.SiteIdCollection.splice(index, 1);\r\n }\r\n }\r\n }\r\n\r\n SelectAllSites() {\r\n this.sitesInOrganisation.forEach(site => {\r\n site.WorksHere = true;\r\n if (!this.adminsrv.employeeDetails.SiteIdCollection.some(i => i === site.ActorId)) {\r\n this.adminsrv.employeeDetails.SiteIdCollection.push(site.ActorId);\r\n }\r\n })\r\n }\r\n\r\n RemoveAllSites() {\r\n this.sitesInOrganisation.forEach(site => {\r\n site.WorksHere = false;\r\n if (!this.adminsrv.employeeDetails.SiteIdCollection.some(i => i === site.ActorId)) {\r\n this.adminsrv.employeeDetails.SiteIdCollection.push(site.ActorId);\r\n }\r\n })\r\n }\r\n\r\n SearchSites(searchPhase: string) {\r\n this.sitesToDisplay = [];\r\n this.sitesInOrganisation.forEach(site => {\r\n if (site.Name.toLowerCase().includes(searchPhase.toLowerCase())) {\r\n this.sitesToDisplay.push(site);\r\n }\r\n })\r\n }\r\n\r\n SuspendUser() {\r\n if (confirm('This will suspend the user and they can no longer use the system. Do you wish to proceed?')) {\r\n if (!this.adminsrv.employeeDetails.TagIdCollection.some(i => i === 1)) {\r\n this.adminsrv.employeeDetails.TagIdCollection.push(1)\r\n }\r\n\r\n this.UpdateEmployee();\r\n }\r\n }\r\n\r\n ReinstateUser() {\r\n if (confirm('This will reinstate the user and the user will be able to access the system. Do you wish to proceed?')) {\r\n var index = this.adminsrv.employeeDetails.TagIdCollection.indexOf(1, 0);\r\n if (index >= 0) {\r\n this.adminsrv.employeeDetails.TagIdCollection.splice(index, 1);\r\n }\r\n this.UpdateEmployee();\r\n }\r\n }\r\n\r\n SetCredentials() {\r\n this.adminsrv.SetCredentials().then(value => {\r\n })\r\n }\r\n\r\n AddEmployee() {\r\n const _memWord = this.adminsrv.employeeDetails.MemWord;\r\n if (!this.primarySiteId) {\r\n alert('You cannot update an Employee without a Primary Site.');\r\n } else {\r\n if (!this.adminsrv.employeeDetails.SettingCollection.some(i => i.SettingKeyId === primarysitekey)) {\r\n this.adminsrv.employeeDetails.SettingCollection.push({ SettingKeyId: primarysitekey, Value: this.primarySiteId.toString() });\r\n } else {\r\n this.adminsrv.employeeDetails.SettingCollection.find(i => i.SettingKeyId === primarysitekey).Value = this.primarySiteId.toString();\r\n }\r\n\r\n if (_memWord && _memWord !== '') {\r\n if (!this.adminsrv.employeeDetails.SettingCollection.some(i => i.SettingKeyId === secretkey)) {\r\n this.adminsrv.employeeDetails.SettingCollection.push({ SettingKeyId: secretkey, Value: _memWord.toString() });\r\n } else {\r\n this.adminsrv.employeeDetails.SettingCollection.find(i => i.SettingKeyId === secretkey).Value = _memWord.toString();\r\n }\r\n }\r\n\r\n this.adminsrv.AddEmployee().then(value => {\r\n if (value) {\r\n this.adminsrv.creatingNewRecord = false;\r\n alert('Please create credentials in order for the new user to login.')\r\n }\r\n })\r\n }\r\n }\r\n\r\n UpdateEmployee() {\r\n const _memWord = this.adminsrv.employeeDetails.MemWord;\r\n if (!this.primarySiteId) {\r\n alert('You cannot update an Employee without a Primary Site.');\r\n } else {\r\n if (this.adminsrv.employeeDetails.SettingCollection.length > 0) {\r\n this.adminsrv.employeeDetails.SettingCollection.find(i => i.SettingKeyId === primarysitekey).Value = this.primarySiteId.toString();\r\n\r\n } else {\r\n this.adminsrv.employeeDetails.SettingCollection = [];\r\n this.adminsrv.employeeDetails.SettingCollection.push({ SettingKeyId: primarysitekey, Value: this.primarySiteId.toString() });\r\n\r\n }\r\n\r\n if (_memWord && _memWord !== '') {\r\n if (!this.adminsrv.employeeDetails.SettingCollection.some(i => i.SettingKeyId === secretkey)) {\r\n this.adminsrv.employeeDetails.SettingCollection.push({ SettingKeyId: secretkey, Value: _memWord.toString() });\r\n } else {\r\n this.adminsrv.employeeDetails.SettingCollection.find(i => i.SettingKeyId === secretkey).Value = _memWord.toString();\r\n }\r\n }\r\n\r\n\r\n this.adminsrv.UpdateEmployee().then(value => {\r\n if (value) {\r\n this.CloseEditForm.next();\r\n }\r\n });\r\n }\r\n }\r\n\r\n GoForward() {\r\n this.adminsrv.employeeDetails.TagIdCollection = this.tagFilters.Rows.length > 0 ? this.tagFilters.Rows.map(function (el) { return el.TagId; }) : [];\r\n if (this.receiveNotifications) {\r\n this.adminsrv.employeeDetails.TagIdCollection.push(61);\r\n }\r\n if (this.adminsrv.creatingNewRecord) {\r\n this.AddEmployee();\r\n } else {\r\n this.UpdateEmployee();\r\n }\r\n }\r\n\r\n GoBack() {\r\n this.CloseEditForm.next()\r\n }\r\n\r\n @Output() CloseEditForm = new EventEmitter();\r\n\r\n}\r\n","
\r\n
\r\n

Edit User

\r\n
\r\n
\r\n
\r\n
\r\n
User Details
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Organisation\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n Mobile\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Title\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n Gender\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n First Name\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n Surname\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Birth Date\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n Email\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Memorable Word\r\n
\r\n \r\n
\r\n Memorable word invalid. Please check all requirements\r\n
\r\n
\r\n
0 ? 'filled' : ''}}\">
\r\n
1 ? 'filled' : ''}}\">
\r\n
2 ? 'filled' : ''}}\">
\r\n
3 ? 'filled' : ''}}\">
\r\n
\r\n \r\n
\r\n Memorable word needs to contain at least: \r\n
    \r\n
  • 1 lowercase letter
  • \r\n
  • 1 uppercase letter
  • \r\n
  • 1 digit
  • \r\n
  • 8 - 12 characters
  • \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
User Sites
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Site Monitor\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n Search\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Site Name\r\n Scope\r\n
\r\n
\r\n
\r\n \r\n {{siteBrief.Name}}\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Primary Site\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
Bacta Portal Details
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Access\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n Login\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Password\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n Confirm\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\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, Input, Output, EventEmitter } from '@angular/core';\r\nimport { ActorService } from 'src/app/services/actor.service';\r\nimport { EmployeeDetails } from 'src/app/models/EmployeeDetails';\r\nimport { Honorific } from 'src/app/models/Honorific';\r\nimport { Gender } from 'src/app/models/Gender';\r\nimport { RoleBriefs, Tags } from 'src/app/models/Tags';\r\nimport { Credentials } from 'src/app/models/Credentials';\r\nimport { OrganisationBrief } from 'src/app/models/OrganisationBrief';\r\nimport { UserSites } from 'src/app/models/UserSites';\r\nimport { AdminService } from 'src/app/services/admin.service';\r\nimport { Actor_Settings } from 'src/app/models/Actor_Settings';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-user',\r\n templateUrl: './user.component.html',\r\n styleUrls: ['./user.component.scss', '../admin-main-view.component.scss']\r\n})\r\nexport class AdminUserComponent implements OnInit {\r\n\r\n object = [{ id: false }];\r\n objectKeys = [];\r\n tableKeys = [];\r\n\r\n public dataLoaded: boolean;\r\n public showEmployeeData: boolean = false;\r\n public employeeDetails: EmployeeDetails;\r\n public showSendingSpinner: boolean = false;\r\n public honorifics: Honorific[];\r\n public genders: Gender[];\r\n public addingNewEmployee: boolean = false;\r\n public actorRole: number;\r\n public roleBriefs: RoleBriefs[] = [];\r\n public updateEmployeeCredentials: boolean = false;\r\n public userCredententials: Credentials;\r\n public organisationBriefs: OrganisationBrief[];\r\n public organisationId: number = -1;\r\n public siteBriefs: UserSites[];\r\n public siteId: number = -1;\r\n public disableTable: boolean;\r\n public showSuspended: boolean;\r\n\r\n constructor(\r\n public asrv: ActorService,\r\n private tags: Tags,\r\n public adminsrv: AdminService,\r\n private router: Router,\r\n private route: ActivatedRoute\r\n ) {\r\n \r\n }\r\n\r\n ngOnInit() {\r\n this.adminsrv.organisationCreateMode = false;\r\n this.adminsrv.SetOrganisationFilter();\r\n this.adminsrv.FilterUserList().then(value => {\r\n if (value) {\r\n this.SetDataObject();\r\n }\r\n });\r\n this.route.queryParams.subscribe(params => {\r\n if (params.uid) {\r\n this.LoadEmployeeFromUID(params.uid)\r\n }\r\n });\r\n }\r\n\r\n SetDataObject() {\r\n this.object = [];\r\n this.objectKeys = Object.values(this.adminsrv.UserList.HeaderTranslation[0]);\r\n this.tableKeys = Object.keys(this.adminsrv.UserList.HeaderTranslation[0]);\r\n this.object = this.adminsrv.UserListToShow.Rows;\r\n }\r\n\r\n FilterOrganisations() {\r\n this.adminsrv.FilterUserList(this.showSuspended).then(value => {\r\n this.SetDataObject();\r\n });\r\n }\r\n\r\n ShowEmployee(employee: any, event: any) {\r\n const _uid = this.asrv.GetMyUserID();\r\n if (!this.disableTable) {\r\n this.disableTable = true;\r\n document.body.style.cursor = 'progress';\r\n this.adminsrv.creatingNewRecord = false;\r\n this.asrv.GetEmployeeDetails(employee.ActorId).subscribe(res => {\r\n this.adminsrv.userCredententials = new Credentials();\r\n this.adminsrv.employeeDetails = res;\r\n let userLoginSubscription = this.asrv.GetUserLogin(this.adminsrv.employeeDetails.ActorId).subscribe(res => {\r\n userLoginSubscription.unsubscribe();\r\n res.Hash = '';\r\n this.adminsrv.userCredententials = res;\r\n if (_uid === employee.ActorId) {\r\n this.ShowEmployeeDetails(true);\r\n } else {\r\n this.ShowEmployeeDetails();\r\n }\r\n \r\n }, err => {\r\n this.adminsrv.userCredententials.Hash = '';\r\n this.adminsrv.userCredententials.Login = '';\r\n this.adminsrv.userCredententials.ActorId = this.adminsrv.employeeDetails.ActorId;\r\n alert('User does not have an active login. Without this they cannot use the system.');\r\n if (_uid === employee.ActorId) {\r\n this.ShowEmployeeDetails(true);\r\n } else {\r\n this.ShowEmployeeDetails();\r\n }\r\n })\r\n })\r\n }\r\n }\r\n\r\n LoadEmployeeFromUID(uid: number) {\r\n if (!this.disableTable) {\r\n this.disableTable = true;\r\n document.body.style.cursor = 'progress';\r\n this.adminsrv.creatingNewRecord = false;\r\n this.asrv.GetEmployeeDetails(uid).subscribe(res => {\r\n this.adminsrv.userCredententials = new Credentials();\r\n this.adminsrv.employeeDetails = res;\r\n let userLoginSubscription = this.asrv.GetUserLogin(this.adminsrv.employeeDetails.ActorId).subscribe(res => {\r\n userLoginSubscription.unsubscribe();\r\n res.Hash = '';\r\n this.adminsrv.userCredententials = res\r\n this.ShowEmployeeDetails(true);\r\n }, err => {\r\n this.adminsrv.userCredententials.Hash = '';\r\n this.adminsrv.userCredententials.Login = '';\r\n this.adminsrv.userCredententials.ActorId = this.adminsrv.employeeDetails.ActorId;\r\n alert('User does not have an active login. Without this they cannot use the system.');\r\n this.ShowEmployeeDetails(true);\r\n })\r\n })\r\n }\r\n }\r\n\r\n AddNewRecord() {\r\n if (this.adminsrv.UserRoleId <= 5) {\r\n this.adminsrv.employeeDetails = new EmployeeDetails();\r\n this.adminsrv.userCredententials = new Credentials();\r\n this.adminsrv.userCredententials.Login = '';\r\n this.adminsrv.userCredententials.Hash = '';\r\n this.adminsrv.creatingNewRecord = true;\r\n this.ShowEmployeeDetails();\r\n } else {\r\n alert('You are unable to add or edit employee records.');\r\n this.router.navigate(['user']);\r\n }\r\n }\r\n\r\n ShowEmployeeDetails(canview?: boolean) {\r\n if (this.adminsrv.UserRoleId <= 5) {\r\n this.disableTable = false;\r\n document.body.style.cursor = 'default';\r\n this.showEmployeeData = true;\r\n } else {\r\n if (canview) {\r\n this.showEmployeeData = true;\r\n } else {\r\n alert('You are unable to add or edit employee records.');\r\n this.router.navigate(['user']);\r\n }\r\n\r\n }\r\n }\r\n\r\n CloseEditForm() {\r\n this.showEmployeeData = false;\r\n this.FilterOrganisations();\r\n }\r\n}","
\r\n
\r\n
\r\n
\r\n
\r\n Organisation\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Show Suspended
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
{{key}}
\r\n {{row[x]}}\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, OnDestroy, AfterViewInit, ElementRef, ViewChild } from '@angular/core';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { Router, NavigationEnd } from '@angular/router';\r\nimport { ActorService } from 'src/app/services/actor.service';\r\nimport { OrganisationService } from 'src/app/services/organisation.service';\r\nimport { Honorific } from 'src/app/models/Honorific';\r\nimport { Gender } from 'src/app/models/Gender';\r\nimport { ExclusionDurationOption } from 'src/app/models/ExclusionDurationOption';\r\nimport { ExclusionReason } from 'src/app/models/ExclusionReason';\r\nimport { Site } from 'src/app/models/Site';\r\nimport { Organisation } from 'src/app/models/Organisation';\r\nimport { IdentificationDocument } from 'src/app/models/IdentificationDocumentKey';\r\nimport { SiteCollection } from 'src/app/models/SiteCollection';\r\nimport { Subscription } from 'rxjs';\r\nimport { UserSites } from 'src/app/models/UserSites';\r\nimport { AdminService } from 'src/app/services/admin.service';\r\n\r\n@Component({\r\n selector: 'app-admin',\r\n templateUrl: './admin.component.html',\r\n styleUrls: ['./admin.component.scss']\r\n})\r\nexport class AdminComponent implements OnInit { \r\n constructor(public asrv: ActorService, public adminsrv: AdminService, private titleService: Title) { }\r\n\r\n ngOnInit() {\r\n this.titleService.setTitle('Admin');\r\n }\r\n}\r\n","
\r\n
\r\n \r\n
\r\n
\r\n","import { Component, ElementRef, OnInit, ViewChild } from '@angular/core';\r\nimport { MatDatepickerInputEvent } from '@angular/material/datepicker';\r\nimport { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack-bar';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { Router, NavigationEnd } from '@angular/router';\r\nimport * as moment from 'moment';\r\nimport { Subscription } from 'rxjs';\r\nimport { ISDDateMethods } from 'src/app/models/ISDDateMethods';\r\nimport { ActorService } from 'src/app/services/actor.service';\r\nimport { AdvancedSearchService } from 'src/app/services/advanced-search.service';\r\nimport { ApiService } from 'src/app/services/api.service';\r\nimport { DataService } from 'src/app/services/data.service';\r\nimport { ErrorhanderService } from 'src/app/services/errorhander.service';\r\n\r\n@Component({\r\n selector: 'app-age-verification',\r\n templateUrl: './age-verification.component.html',\r\n styleUrls: ['./age-verification.component.scss']\r\n})\r\nexport class AgeVerificationComponent implements OnInit {\r\n\r\n @ViewChild('dropDownToggle') DropDownToggle: ElementRef;\r\n @ViewChild('exclusionDropDownToggle') ExclusionDropDownToggle: ElementRef;\r\n @ViewChild('reportingDropDownToggle') ReportingDropDownToggle: ElementRef;\r\n @ViewChild('adminDropDownToggle') AdminDropDownToggle: ElementRef;\r\n @ViewChild('messagingDropDownToggle') MessagingDropDownToggle: ElementRef;\r\n @ViewChild('advancedSearchToggle') AdvancedSearchToggle: ElementRef;\r\n @ViewChild('adminToolsDropDownToggle') AdminToolsDropDownToggle: ElementRef;\r\n\r\n @ViewChild('status') status: ElementRef;\r\n public showStatus: boolean = false;\r\n\r\n ageDate;\r\n dobDate;\r\n ageDateModel;\r\n dobDateModel;\r\n ageTime;\r\n challengeType;\r\n idType;\r\n checkedIDTrue;\r\n checkedIDFalse;\r\n genderList;\r\n gender;\r\n wasAskedToLeave = false;\r\n transactions;\r\n employeeList;\r\n isSavedSuccess = false;\r\n isError = false;\r\n employeeListLoading = true;\r\n challengeListLoading = true;\r\n idTypeListLoading = true;\r\n genderListLoading = true;\r\n playListLoading = true;\r\n notes;\r\n errorMsg;\r\n\r\n detailsOfChallengeList = [\r\n {\r\n Value: 'Challenged on Entry'\r\n },\r\n {\r\n Value: 'Challenged whilst Browsing'\r\n },\r\n {\r\n Value: 'Challenged whilst playing machines'\r\n },\r\n ];\r\n\r\n idTypeList = [\r\n {\r\n Value: 'Bus Pass'\r\n },\r\n {\r\n Value: 'Driving Licence'\r\n },\r\n {\r\n Value: 'Passport'\r\n },\r\n {\r\n Value: 'Student Card'\r\n },\r\n {\r\n Value: 'Other'\r\n },\r\n ];\r\n\r\n siteID;\r\n\r\n transactionsList = [];\r\n\r\n constructor(\r\n public dsrv: DataService,\r\n public asrv: ActorService,\r\n private router: Router,\r\n public errsrv: ErrorhanderService,\r\n public assrv: AdvancedSearchService,\r\n private titleService: Title,\r\n private _api: ApiService,\r\n private _snackBar: MatSnackBar\r\n ) { }\r\n\r\n // Always display on initialise\r\n public displayFeatures: boolean = false;\r\n public displayAddNewExcluder: boolean = false;\r\n public mainWindowHeight: string;\r\n public unreadMessages: boolean = false;\r\n public unreadMessageCount: string;\r\n public readonly FeatureNotReady: boolean = false;\r\n\r\n public logOutSubscription: Subscription;\r\n\r\n public dropDownIsShowing: boolean;\r\n public exclusionDropDownIsShowing: boolean;\r\n public reportingDropDownIsShowing: boolean;\r\n public adminDropDownIsShowing: boolean;\r\n public messagingDropDownIsShowing: boolean;\r\n public advancedSearchIsShowing: boolean;\r\n public adminToolsDropDownIsShowing: boolean;\r\n\r\n private nextCheckForMessage: Date;\r\n private nextCheckTime: number = 30000;\r\n private dateMethods: ISDDateMethods = new ISDDateMethods();\r\n private _dataready: boolean = false;\r\n\r\n public NavigatedId: number;\r\n public employeeId: any;\r\n\r\n isSaving = false;\r\n\r\n events: string[] = [];\r\n\r\n toastRef;\r\n usingLoggedInName = false;\r\n loggedInName = '';\r\n loggedInUserID = 0;\r\n\r\n openToast(message: string, action: string) {\r\n this.toastRef = this._snackBar.open(message, action, { duration: 10000 });\r\n }\r\n\r\n addEvent(type: string, event: MatDatepickerInputEvent) {\r\n this.events.push(`${type}: ${event.value}`);\r\n this.dobDate = moment(this.dobDateModel).format('YYYY-MM-DDTHH:mm:ss:SSS[Z]');\r\n this.ageDate = moment(this.ageDateModel).format('YYYY-MM-DD');\r\n }\r\n\r\n showedIDCheck(wasChecked) {\r\n if (wasChecked) {\r\n this.checkedIDTrue = true;\r\n this.checkedIDFalse = false;\r\n this.wasAskedToLeave = false;\r\n this.transactions = [];\r\n } else {\r\n this.checkedIDTrue = false;\r\n this.checkedIDFalse = true;\r\n }\r\n }\r\n\r\n\r\n\r\n ngOnInit() {\r\n document.body.style.backgroundColor = '#f7f9fc';\r\n \r\n this.getDetailsOfChallengeList();\r\n this.getIDTypeList();\r\n this.getGenderList();\r\n this.getTransactionsList();\r\n this.getEmployeeList();\r\n\r\n this.titleService.setTitle('Age Verify');\r\n this.GetUnreadMessageCount();\r\n\r\n let userSettingsLoaded: boolean = false;\r\n let actorCompositeModelLoaded: boolean = false;\r\n\r\n // Untangle this\r\n this.asrv.GetUserSettings().then(value => {\r\n // console.log(value);\r\n\r\n userSettingsLoaded = true;\r\n if (userSettingsLoaded && actorCompositeModelLoaded) { this._dataready = true; };\r\n\r\n this.asrv.GetAgreementDocumentation().then(value => {\r\n if (!value) {\r\n this.asrv.IsLoggedUserOrganisationAdmin().then(value => {\r\n if (value) {\r\n this.errsrv.ShowValidationOops('No Organisation Site Found', 'Please set a site as the organisation headquarters before proceeding. Your organisation will be unable to create any interactions until this is resolved.');\r\n this.router.navigate(['user/admin/organisation-panel']);\r\n } else {\r\n this.errsrv.ShowValidationOops('No Organisation Site Found', 'No organisation headquarters found! Please contact the organisation admin to resolve this. No interactions can be created by this organisation until this is resolved.')\r\n }\r\n })\r\n }\r\n })\r\n this.asrv.GetActorCompositeModel().then(value => {\r\n actorCompositeModelLoaded = true;\r\n if (userSettingsLoaded && actorCompositeModelLoaded) { this._dataready = true; };\r\n });\r\n });\r\n\r\n this.router.events.subscribe(event => {\r\n // Check Message Ping\r\n var currentTime = new Date();\r\n if (currentTime > this.nextCheckForMessage) {\r\n this.nextCheckForMessage = new Date(this.dateMethods.ConvertDateToInteger(new Date()) + this.nextCheckTime);\r\n this.GetUnreadMessageCount();\r\n };\r\n\r\n if (event instanceof NavigationEnd) {\r\n // Display Footer Buttons Based on the URL\r\n if (event.url.includes('user/features')) {\r\n this.displayFeatures = false;\r\n this.displayAddNewExcluder = false;\r\n };\r\n\r\n if (!event.url.includes('user/exclusion/new')) {\r\n this.ClearNewExclusionCache();\r\n };\r\n\r\n if (event.url.includes('customer-interaction')) {\r\n document.body.style.backgroundColor = this.asrv.Globals.BackgroundColor.LightBlue;\r\n document.body.style.color = this.asrv.Globals.BackgroundColor.DarkBlue;\r\n } else {\r\n document.body.style.backgroundColor = this.asrv.Globals.BackgroundColor.Beige;\r\n document.body.style.color = this.asrv.Globals.BackgroundColor.DarkPurple;\r\n };\r\n };\r\n });\r\n\r\n if (window.innerHeight > 820) {\r\n this.mainWindowHeight = '88vh';\r\n } else {\r\n this.mainWindowHeight = '100%';\r\n };\r\n\r\n this._api.getTagCollectionCompositeModel(50).subscribe(res => {\r\n // console.log(res);\r\n });\r\n }\r\n\r\n setTime(ev) {\r\n // this.ageDate = moment(this.ageDateModel + ' ' + this.ageTime).format('YYYY-MM-DDTHH:mm:ss:SSS[Z]');\r\n // console.log(this.ageTime, this.ageDate);\r\n \r\n // console.log('Final: ', moment(this.ageDate + ' ' + this.ageTime, 'YYYY-MM-DD HH:mm').format('YYYY-MM-DDTHH:mm:ss:SSS[Z]') );\r\n }\r\n\r\n getEmployeeList() {\r\n this.usingLoggedInName = false;\r\n this.employeeListLoading = true;\r\n const _userID = this.dsrv.GetMyUserID();\r\n this.loggedInUserID = _userID;\r\n // console.log(this.loggedInUserID);\r\n this._api.getUserOrgID(_userID).subscribe(results => {\r\n\r\n const _orgID = results[0].Organisations_ActorId;\r\n const _employeeIDs = [];\r\n this._api.getUserEmployeesList(_orgID).subscribe(employeeResults => {\r\n employeeResults.forEach(element => {\r\n _employeeIDs.push(element.Employees_ActorId);\r\n });\r\n\r\n this.asrv.GetBiologicalName(_employeeIDs).then(value => {\r\n this.employeeList = value;\r\n this.employeeListLoading = false;\r\n });\r\n }, \r\n error => {\r\n this.usingLoggedInName = true;\r\n this.loggedInName = this.asrv.GetUsersFullName();\r\n this.employeeListLoading = false;\r\n });\r\n });\r\n }\r\n\r\n getDetailsOfChallengeList() {\r\n this.challengeListLoading = true;\r\n this._api.getTagCollectionCompositeModel(1).subscribe(results => {\r\n this.detailsOfChallengeList = results.Tags;\r\n // this.detailsOfChallengeList = results.Tags.map((obj, index) => ({ ...obj, Value: this.detailsOfChallengeList[index].Value }));\r\n this.challengeListLoading = false;\r\n });\r\n }\r\n\r\n setChallengeType() {\r\n // console.log('Challenge Type TagID: ', this.challengeType);\r\n }\r\n\r\n getIDTypeList() {\r\n this.idTypeListLoading = true;\r\n this._api.getTagCollectionCompositeModel(30).subscribe(results => {\r\n this.idTypeList = results.Tags;\r\n // this.idTypeList = results.Tags.map((obj, index) => ({ ...obj, Value: this.idTypeList[index].Value }));\r\n this.idTypeListLoading = false;\r\n });\r\n }\r\n\r\n setIDType() {\r\n // console.log('ID Type TagID: ', this.idType);\r\n }\r\n\r\n getGenderList() {\r\n this.genderListLoading = true;\r\n this._api.getGenders().subscribe(results => {\r\n this.genderList = results;\r\n this.genderListLoading = false;\r\n });\r\n }\r\n\r\n setGender() {\r\n // console.log('Gender TagID: ', this.gender);\r\n }\r\n\r\n askedToLeave() {\r\n // console.log('Was asked to leave: ', this.wasAskedToLeave);\r\n }\r\n\r\n getTransactionsList() {\r\n this._api.getTagCollectionCompositeModel(50).subscribe(results => {\r\n this.transactionsList = [\r\n {\r\n Name: \"\",\r\n TagId: null,\r\n Value: \"No\"\r\n },\r\n {\r\n Name: \"\",\r\n TagId: [50, 134],\r\n Value: \"Yes, stake returned\"\r\n },\r\n {\r\n Name: \"\",\r\n TagId: [50, 135],\r\n Value: \"Yes, prize returned\"\r\n },\r\n {\r\n Name: \"\",\r\n TagId: [50, 134, 135],\r\n Value: \"Yes, stake and prize returned\"\r\n },\r\n ]\r\n });\r\n }\r\n\r\n setTransactions() {\r\n // console.log(this.transactions);\r\n }\r\n\r\n saveAgeVerification() {\r\n console.log(moment(this.ageDate + ' ' + this.ageTime, 'YYYY-MM-DD HH:mm').utc().format('YYYY-MM-DDTHH:mm'));\r\n console.log(moment(this.ageDate + ' ' + this.ageTime, 'YYYY-MM-DD HH:mm').utc());\r\n console.log(moment(this.ageDate + ' ' + this.ageTime, 'YYYY-MM-DD HH:mm'));\r\n const _recordedDate = moment(this.ageDate + ' ' + this.ageTime, 'YYYY-MM-DD HH:mm').utc().format('YYYY-MM-DDTHH:mm');\r\n this.siteID = this.asrv.DefaultSiteId;\r\n this.isSaving = true;\r\n const _tagIDCollection = [];\r\n\r\n // _tagIDCollection.push(this.employeeId);\r\n\r\n if (this.transactions && this.transactions.length > 0) {\r\n this.transactions.forEach(el => {\r\n _tagIDCollection.push(el);\r\n });\r\n }\r\n\r\n if (this.wasAskedToLeave) {\r\n _tagIDCollection.push(110);\r\n }\r\n if (this.checkedIDTrue) {\r\n _tagIDCollection.push(this.idType);\r\n }\r\n _tagIDCollection.push(this.challengeType);\r\n\r\n this._api.postAgeVerification(\r\n {\r\n AssociatedActorIdCollection: [\r\n this.employeeId\r\n ],\r\n InteractedActorCompositeModelCollection: [\r\n {\r\n BiologicalActorCompositeModel: {\r\n BirthDate: this.dobDate,\r\n GenderId: this.gender,\r\n PostalAddressClassId: 1,\r\n }\r\n }\r\n ],\r\n\r\n Notes: this.notes,\r\n SiteId: this.siteID,\r\n Recorded: _recordedDate,\r\n TagIdCollection: _tagIDCollection,\r\n\r\n }\r\n ).subscribe(result => {\r\n this.isSaving = false;\r\n this.isSavedSuccess = true;\r\n this.isError = false;\r\n setTimeout(() => { \r\n this.isSavedSuccess = false; \r\n this.router.navigate(['/user/features']);\r\n }, 3000);\r\n }, error => {\r\n this.isSaving = false;\r\n this.isError = true;\r\n this.errorMsg = error.error;\r\n console.log(error);\r\n });\r\n }\r\n\r\n closeNotification() {\r\n this.isError = false;\r\n this.isSavedSuccess = false;\r\n }\r\n\r\n GetUnreadMessageCount() {\r\n this.asrv.GetUnreadMessageCount().then(value => {\r\n this.unreadMessages = value.HasUnreadMesssages;\r\n if (value.MessageCount > 9) {\r\n this.unreadMessageCount = '9+'\r\n } else {\r\n this.unreadMessageCount = value.MessageCount.toString();\r\n }\r\n this.nextCheckForMessage = new Date(this.dateMethods.ConvertDateToInteger(new Date()) + this.nextCheckTime);\r\n });\r\n }\r\n\r\n ClearNewExclusionCache() {\r\n this.dsrv.ClearExclusionProgress();\r\n }\r\n\r\n ngOnChanges() {\r\n }\r\n\r\n ToggleFeatureMenu() {\r\n // If Displaying Feature Collection, hide any buttons\r\n this.displayFeatures = !this.displayFeatures;\r\n }\r\n\r\n MenuSelectionMade(event: any) {\r\n\r\n }\r\n\r\n onActivate(componentRef) {\r\n this.displayAddNewExcluder = true;\r\n }\r\n\r\n HideDropDowns() {\r\n if (this.dropDownIsShowing) { this.DropDownToggle.nativeElement.click(); }\r\n if (this.exclusionDropDownIsShowing) { this.ExclusionDropDownToggle.nativeElement.click(); }\r\n if (this.reportingDropDownIsShowing) { this.ReportingDropDownToggle.nativeElement.click(); }\r\n if (this.adminDropDownIsShowing) { this.AdminDropDownToggle.nativeElement.click(); }\r\n if (this.messagingDropDownIsShowing) { this.MessagingDropDownToggle.nativeElement.click(); }\r\n if (this.advancedSearchIsShowing) { this.AdvancedSearchToggle.nativeElement.click(); };\r\n if (this.adminToolsDropDownIsShowing) { this.AdminToolsDropDownToggle.nativeElement.click(); }\r\n this.dropDownIsShowing = false;\r\n this.exclusionDropDownIsShowing = false;\r\n this.reportingDropDownIsShowing = false;\r\n this.adminDropDownIsShowing = false;\r\n this.messagingDropDownIsShowing = false;\r\n this.advancedSearchIsShowing = false;\r\n this.adminToolsDropDownIsShowing = false;\r\n }\r\n\r\n // Double click event in place to prevent bar locking.\r\n DropDownClicked() {\r\n if (this.advancedSearchIsShowing) {\r\n this.AdvancedSearchToggle.nativeElement.click();\r\n this.advancedSearchIsShowing = false;\r\n }\r\n this.dropDownIsShowing = !this.dropDownIsShowing;\r\n }\r\n\r\n ExclusionDropDownClicked() {\r\n this.exclusionDropDownIsShowing = !this.exclusionDropDownIsShowing;\r\n }\r\n\r\n ReportingDropDownClicked() {\r\n this.reportingDropDownIsShowing = !this.reportingDropDownIsShowing;\r\n }\r\n\r\n AdminDropDownClicked() {\r\n this.adminDropDownIsShowing = !this.adminDropDownIsShowing;\r\n }\r\n\r\n MessagingDropDownClicked() {\r\n this.messagingDropDownIsShowing = !this.messagingDropDownIsShowing;\r\n }\r\n\r\n AdministrationToolsDropDownClicked() {\r\n this.adminToolsDropDownIsShowing = !this.adminToolsDropDownIsShowing;\r\n }\r\n\r\n navigateToFeatureCollection() {\r\n this.HideOverlayMenu();\r\n this.HideDropDowns();\r\n this.router.navigate(['/user/features']);\r\n }\r\n\r\n NavigateToGallery() {\r\n this.HideOverlayMenu();\r\n this.HideDropDowns();\r\n this.router.navigate(['user/exclusion/gallery']);\r\n }\r\n\r\n CreateNewExclusion() {\r\n this.HideOverlayMenu();\r\n this.HideDropDowns();\r\n this.router.navigate(['user/exclusion/new']);\r\n }\r\n\r\n NavigateToReportsBuilder() {\r\n this.HideOverlayMenu();\r\n this.HideDropDowns();\r\n this.router.navigate(['user/reporting']);\r\n }\r\n\r\n NavigateToUserAdmin() {\r\n this.HideOverlayMenu();\r\n this.HideDropDowns();\r\n this.router.navigate(['user/admin/user-panel']);\r\n }\r\n\r\n NavigateToSiteAdmin() {\r\n this.HideOverlayMenu();\r\n this.HideDropDowns();\r\n this.router.navigate(['user/admin/site-panel']);\r\n }\r\n\r\n NavigateToOrganisationAdmin() {\r\n this.HideOverlayMenu();\r\n this.HideDropDowns();\r\n this.router.navigate(['user/admin/organisation-panel']);\r\n }\r\n\r\n NavigateToMessaging() {\r\n this.HideOverlayMenu();\r\n this.HideDropDowns();\r\n this.router.navigate(['user/messaging']);\r\n }\r\n\r\n HideOverlayMenu() {\r\n if (this.displayFeatures)\r\n this.displayFeatures = false;\r\n }\r\n\r\n LogOut() {\r\n this.logOutSubscription = this.dsrv.LogOut().subscribe(res => {\r\n this.router.navigate(['/#']);\r\n });\r\n }\r\n\r\n // Double click event in place to prevent bar locking.\r\n AdvancedSearchClicked() {\r\n if (this.dropDownIsShowing) {\r\n this.DropDownToggle.nativeElement.click();\r\n this.dropDownIsShowing = false;\r\n }\r\n this.assrv.ReinitializeSearchModel();\r\n this.advancedSearchIsShowing = !this.advancedSearchIsShowing;\r\n }\r\n\r\n PrintSearchQuery() {\r\n // this.assrv.PrintSearchQuery()\r\n }\r\n\r\n Search() {\r\n this.assrv.Search().then(value => {\r\n if (this.advancedSearchIsShowing) { this.AdvancedSearchToggle.nativeElement.click(); };\r\n });\r\n }\r\n\r\n NewSearch() {\r\n this.assrv.ReinitializeSearchModel().then(value => {\r\n });\r\n }\r\n\r\n ToggleElevationMode() {\r\n this.asrv.ToggleElevationMode().then(value => { })\r\n }\r\n\r\n ReloadDropDownControllers() {\r\n if (this.asrv.ElevatedMode) {\r\n this.asrv.PopulateSiteSelectForOrgansiationId(this.asrv.UserOrganisationId).then(value => {\r\n this.asrv.PopulateColleagueSelectForSiteId(this.asrv.SiteSelect.KeySelected).then(value => { })\r\n });\r\n } else {\r\n this.asrv.PopulateDefaultEmployeeSitesSelect().then(value => {\r\n this.asrv.PopulateColleagueSelectForSiteId(this.asrv.SiteSelect.KeySelected).then(value => { })\r\n })\r\n }\r\n }\r\n\r\n UnlockAllButtons() {\r\n this.asrv.ToggleLockedButtons().then(value => { })\r\n }\r\n\r\n GoBack() {\r\n this.router.navigate(['/user/features']);\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n

Age Verify

\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n Date\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n 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 Challenge made by\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n Details of Challenge\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
Did customer show ID
\r\n
\r\n Yes\r\n \r\n
\r\n
\r\n No\r\n \r\n
\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n ID Type\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n Gender\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n Date of Birth\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n
If NO, please confirm if customer was asked to leave
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Did customer play the machines?\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n \r\n
\r\n Notes\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n Saving...\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
Success
\r\n
X
\r\n
\r\n
\r\n Saved Age Verification Challenge\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
Error
\r\n
X
\r\n
\r\n
\r\n There was an error saving the age verification. Please check all fields and try again.\r\n
\r\n {{errorMsg | json}}\r\n
\r\n
\r\n
","import { Component, OnInit, AfterViewInit, ViewChild, ElementRef, Directive, Input, OnChanges } from '@angular/core';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { ActorService } from 'src/app/services/actor.service';\r\nimport { Tags } from 'src/app/models/Tags';\r\nimport { ExcluderService } from 'src/app/services/excluder.service';\r\nimport { Site } from 'src/app/models/Site';\r\nimport { ExcluderViewService } from 'src/app/services/excluder-view.service';\r\nimport { ExcluderGalleryService } from 'src/app/services/excluder-gallery.service';\r\nimport { ApiService } from 'src/app/services/api.service';\r\nimport * as moment from 'moment';\r\n\r\n@Component({\r\n selector: 'app-breach-view',\r\n templateUrl: './breach-view.component.html',\r\n styleUrls: ['./breach-view.component.scss']\r\n})\r\nexport class BreachViewComponent implements OnInit {\r\n\r\n @ViewChild('btnExtend') btnExtend: ElementRef;\r\n @ViewChild('btnBreach') btnBreach: ElementRef;\r\n @ViewChild('btnReinstate') btnReinstate: ElementRef;\r\n @ViewChild('btnMoreInfo') btnMoreInfo: ElementRef;\r\n @ViewChild('btnUpdate') btnUpdate: ElementRef;\r\n @ViewChild('btnUpdateExclusion') btnUpdateExclusion: ElementRef;\r\n\r\n breachNotes = [];\r\n dataProcessed = false;\r\n\r\n public showSpinner: boolean = true;\r\n constructor(\r\n public evsrv: ExcluderViewService,\r\n private titleService: Title,\r\n private route: ActivatedRoute,\r\n public asrv: ActorService,\r\n public gsrv: ExcluderGalleryService,\r\n private _api: ApiService\r\n ) { }\r\n\r\n ngOnInit() {\r\n const _interactionID = this.route.snapshot.params['id'];\r\n this.showSpinner = true;\r\n this.titleService.setTitle('View Exclusion');\r\n this.evsrv.Initialize(+_interactionID).then(value => {\r\n this._api.getExclustionBreachCompositeModel(_interactionID).subscribe(results => {\r\n this.breachNotes = results;\r\n this.breachNotes.forEach(item => {\r\n item.BreachedDateTime = moment(item.Breached).utc().format('YYYY-MM-DD HH:mm');\r\n this._api.getActorNames([item.AssociatedActorIdCollection[0]]).subscribe(actorData => {\r\n item.Name = `${actorData[0].NameCollection[0].Name} ${actorData[0].NameCollection[1].Name}`;\r\n this.asrv.GetSiteNameCollection([item.SiteId]).then(value => {\r\n item.SiteName = value[0].Name;\r\n this.dataProcessed = true;\r\n });\r\n });\r\n });\r\n \r\n this.showSpinner = false;\r\n });\r\n \r\n })\r\n }\r\n\r\n}\r\n","
\n \n \n \n
\n\n
\n\n \n
\n \n
\n\n
\n \n
\n\n
\n

Breach Notes

\n
\n
\n
\n \n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
#Site NameBreach DateRecorded ByNotes
{{i+1}}{{item.SiteName}}{{item.BreachedDateTime}}{{item.Name}}{{item.Notes}}
\n
\n
\n
","import { Component, OnInit } from '@angular/core';\r\nimport { MatDatepickerInputEvent } from '@angular/material/datepicker';\r\nimport { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack-bar';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { Router } from '@angular/router';\r\nimport { ActorService } from 'src/app/services/actor.service';\r\nimport { AdvancedSearchService } from 'src/app/services/advanced-search.service';\r\nimport { ApiService } from 'src/app/services/api.service';\r\nimport { DataService } from 'src/app/services/data.service';\r\nimport { ErrorhanderService } from 'src/app/services/errorhander.service';\r\nimport * as moment from 'moment';\r\n\r\n@Component({\r\n selector: 'app-cleaning-check',\r\n templateUrl: './cleaning-check.component.html',\r\n styleUrls: ['./cleaning-check.component.scss']\r\n})\r\nexport class CleaningCheckComponent implements OnInit {\r\n\r\n checkDate;\r\n checkDateModel;\r\n checkTime;\r\n siteID;\r\n events: string[] = [];\r\n usingLoggedInName = false;\r\n employeeListLoading = false;\r\n loggedInUserID;\r\n employeeList = [];\r\n loggedInName;\r\n checkOKTrue;\r\n checkOKFalse;\r\n isSaving = false;\r\n employeeId;\r\n notes;\r\n errorMsg;\r\n isSavedSuccess;\r\n isError;\r\n constructor(\r\n public dsrv: DataService,\r\n public asrv: ActorService,\r\n private router: Router,\r\n public errsrv: ErrorhanderService,\r\n public assrv: AdvancedSearchService,\r\n private titleService: Title,\r\n private _api: ApiService,\r\n private _snackBar: MatSnackBar\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.getEmployeeList();\r\n document.body.style.backgroundColor = '#c3cddd';\r\n }\r\n\r\n addEvent(type: string, event: MatDatepickerInputEvent) {\r\n this.events.push(`${type}: ${event.value}`);\r\n this.checkDate = moment(this.checkDateModel).format('YYYY-MM-DD');\r\n }\r\n\r\n getTagCollection(id: number) {\r\n this._api.getTagCollectionCompositeModel(id).subscribe(collection => {\r\n \r\n });\r\n }\r\n\r\n setItem() { }\r\n\r\n getEmployeeList() {\r\n this.usingLoggedInName = false;\r\n this.employeeListLoading = true;\r\n const _userID = this.dsrv.GetMyUserID();\r\n this.loggedInUserID = _userID;\r\n // console.log(this.loggedInUserID);\r\n this._api.getUserOrgID(_userID).subscribe(results => {\r\n\r\n const _orgID = results[0].Organisations_ActorId;\r\n const _employeeIDs = [];\r\n this._api.getUserEmployeesList(_orgID).subscribe(employeeResults => {\r\n employeeResults.forEach(element => {\r\n _employeeIDs.push(element.Employees_ActorId);\r\n });\r\n\r\n this.asrv.GetBiologicalName(_employeeIDs).then(value => {\r\n this.employeeList = value;\r\n this.employeeListLoading = false;\r\n });\r\n },\r\n error => {\r\n this.usingLoggedInName = true;\r\n this.loggedInName = this.asrv.GetUsersFullName();\r\n this.employeeListLoading = false;\r\n });\r\n });\r\n }\r\n\r\n checkItem(wasChecked) {\r\n if (wasChecked) {\r\n this.checkOKTrue = true;\r\n this.checkOKFalse = false;\r\n } else {\r\n this.checkOKTrue = false;\r\n this.checkOKFalse = true;\r\n }\r\n }\r\n\r\n GoBack() {\r\n this.router.navigate(['/user/toolkit']);\r\n }\r\n\r\n closeNotification() {\r\n this.isError = false;\r\n this.isSavedSuccess = false;\r\n }\r\n\r\n saveCheck() {\r\n console.log(moment(this.checkDate + ' ' + this.checkTime, 'YYYY-MM-DD HH:mm').utc().format('YYYY-MM-DDTHH:mm'));\r\n console.log(moment(this.checkDate + ' ' + this.checkTime, 'YYYY-MM-DD HH:mm').utc());\r\n console.log(moment(this.checkDate + ' ' + this.checkTime, 'YYYY-MM-DD HH:mm'));\r\n const _recordedDate = moment(this.checkDate + ' ' + this.checkTime, 'YYYY-MM-DD HH:mm').utc().format('YYYY-MM-DDTHH:mm');\r\n this.siteID = this.asrv.DefaultSiteId;\r\n this.isSaving = true;\r\n const _tagIDCollection = [];\r\n\r\n if (this.checkOKTrue) {\r\n _tagIDCollection.push(3);\r\n }\r\n\r\n if ((this.checkOKFalse && this.notes && this.notes.length > 0) || this.checkOKTrue) {\r\n console.log(_recordedDate, this.employeeId, this.checkOKTrue, this.checkOKFalse, this.notes)\r\n this._api.postCleaningCheck(\r\n {\r\n AssociatedActorIdCollection: [\r\n this.employeeId\r\n ],\r\n InteractedActorCompositeModelCollection: [\r\n {\r\n BiologicalActorCompositeModel: {\r\n PostalAddressClassId: 1,\r\n }\r\n }\r\n ],\r\n\r\n Notes: this.notes,\r\n SiteId: this.siteID,\r\n Recorded: _recordedDate,\r\n TagIdCollection: _tagIDCollection,\r\n\r\n }\r\n ).subscribe(result => {\r\n this.isSaving = false;\r\n this.isSavedSuccess = true;\r\n this.isError = false;\r\n setTimeout(() => {\r\n this.isSavedSuccess = false;\r\n this.router.navigate(['/user/toolkit']);\r\n }, 3000);\r\n }, error => {\r\n this.isSaving = false;\r\n this.isError = true;\r\n this.errorMsg = error.error;\r\n console.log(error);\r\n });\r\n }\r\n\r\n this.isSaving = false;\r\n }\r\n\r\n}\r\n","
\n
\n
\n
\n

Cleaning Check

\n
\n
\n
\n\n
\n
\n
\n
\n Date\n
\n \n
\n \n \n
\n \n \n
\n
\n
\n
\n
\n Time\n
\n \n \n
\n
\n
\n\n
\n
\n
\n
\n Staff Member\n
\n
\n
\n \n
\n
\n\n \n \n
\n
\n\n
\n
\n
\n
\n
Check OK?
\n
\n Yes\n \n
\n
\n No\n \n
\n
\n
\n
\n\n
\n
\n Please add any details about the check\n \n
\n Notes\n
\n
\n\n \n \n
\n
\n
\n
\n\n
\n
\n \n
\n \n
\n 0) || this.checkOKTrue\" />\n 0) || this.checkOKTrue)\" />\n
\n
\n\n
\n
\n
\n
\n Saving...\n
\n
\n \n
\n
\n
\n
\n\n
\n
\n
\n
Success
\n
X
\n
\n
\n Saved Cleaning Check\n
\n
\n
\n\n
\n
\n
\n
Error
\n
X
\n
\n
\n There was an error saving the age verification. Please check all fields and try again.\n
\n {{errorMsg | json}}\n
\n
\n
","import { AfterViewInit, Component, ElementRef, OnInit, ViewChild } from '@angular/core';\r\nimport { MatDatepickerInputEvent } from '@angular/material/datepicker';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { Router, NavigationEnd } from '@angular/router';\r\nimport { fromEvent, Subscription } from 'rxjs';\r\nimport { debounceTime, distinctUntilChanged, filter, map } from 'rxjs/operators';\r\nimport { ISDDateMethods } from 'src/app/models/ISDDateMethods';\r\nimport { ActorService } from 'src/app/services/actor.service';\r\nimport { AdvancedSearchService } from 'src/app/services/advanced-search.service';\r\nimport { ApiService } from 'src/app/services/api.service';\r\nimport { DataService } from 'src/app/services/data.service';\r\nimport { ErrorhanderService } from 'src/app/services/errorhander.service';\r\nimport { InteractionService } from 'src/app/services/interaction.service';\r\nimport * as moment from 'moment';\r\nimport { CrimeAlertList } from 'src/app/models/Reports/CrimeAlertList';\r\n\r\n@Component({\r\n selector: 'app-crime-alert',\r\n templateUrl: './crime-alert.component.html',\r\n styleUrls: ['./crime-alert.component.scss'],\r\n})\r\nexport class CrimeAlertComponent implements OnInit, AfterViewInit {\r\n @ViewChild('dropDownToggle') DropDownToggle: ElementRef;\r\n @ViewChild('exclusionDropDownToggle') ExclusionDropDownToggle: ElementRef;\r\n @ViewChild('reportingDropDownToggle') ReportingDropDownToggle: ElementRef;\r\n @ViewChild('adminDropDownToggle') AdminDropDownToggle: ElementRef;\r\n @ViewChild('messagingDropDownToggle') MessagingDropDownToggle: ElementRef;\r\n @ViewChild('advancedSearchToggle') AdvancedSearchToggle: ElementRef;\r\n @ViewChild('adminToolsDropDownToggle') AdminToolsDropDownToggle: ElementRef;\r\n\r\n @ViewChild('status') status: ElementRef;\r\n\r\n @ViewChild('equipmentSearch') equipmentSearch: ElementRef;\r\n public showStatus: boolean = false;\r\n\r\n constructor(\r\n public dsrv: DataService,\r\n public asrv: ActorService,\r\n private router: Router,\r\n public errsrv: ErrorhanderService,\r\n public assrv: AdvancedSearchService,\r\n private titleService: Title,\r\n private _api: ApiService,\r\n public isrv: InteractionService\r\n ) { }\r\n\r\n public displayFeatures: boolean = false;\r\n public displayAddNewExcluder: boolean = false;\r\n public mainWindowHeight: string;\r\n public unreadMessages: boolean = false;\r\n public unreadMessageCount: string;\r\n public readonly FeatureNotReady: boolean = false;\r\n\r\n public logOutSubscription: Subscription;\r\n\r\n public dropDownIsShowing: boolean;\r\n public exclusionDropDownIsShowing: boolean;\r\n public reportingDropDownIsShowing: boolean;\r\n public adminDropDownIsShowing: boolean;\r\n public messagingDropDownIsShowing: boolean;\r\n public advancedSearchIsShowing: boolean;\r\n public adminToolsDropDownIsShowing: boolean;\r\n\r\n private nextCheckForMessage: Date;\r\n private nextCheckTime: number = 30000;\r\n private dateMethods: ISDDateMethods = new ISDDateMethods();\r\n private _dataready: boolean = false;\r\n\r\n public NavigatedId: number;\r\n public employeeId: any;\r\n\r\n public stage: number;\r\n\r\n events: string[] = [];\r\n\r\n eventTypeList = [\r\n {\r\n Value: 'Break In'\r\n },\r\n {\r\n Value: 'Abusive Behaiour'\r\n },\r\n {\r\n Value: 'Violent Behaviour'\r\n },\r\n {\r\n Value: 'Property Damaged'\r\n },\r\n {\r\n Value: 'Fruit Machine Attacked/Strimmed'\r\n },\r\n ];\r\n\r\n suspectList = [\r\n // {\r\n // genderId: null,\r\n // hairColour: null,\r\n // age: null,\r\n // height: null,\r\n // }\r\n ];\r\n\r\n vehicleList = [\r\n // {\r\n // vehicleReg: null\r\n // }\r\n ];\r\n\r\n searchTagCollection = [];\r\n searchResults: any[] = [];\r\n\r\n alertDateModel;\r\n alertDate;\r\n alertTime;\r\n equipmentTargeted;\r\n wasPoliceCalled = false;\r\n policeCalledTrue = false;\r\n policeCalledFalse = false;\r\n eventTypeID;\r\n notes;\r\n genderList;\r\n gender1;\r\n hairColourId1;\r\n ageId1;\r\n heightId1;\r\n isSearching = false;\r\n isSaving = false;\r\n isSavedSuccess = false;\r\n isError = false;\r\n errorMsg;\r\n showSearchResults = false;\r\n isSavingTag = false;\r\n textSearch;\r\n missingFields = [];\r\n isMissingFields = false;\r\n showLiveAlertModal = false;\r\n siteID;\r\n dataModel;\r\n isLoadingAlerts = true;\r\n tableKeys = [];\r\n dateRange = '';\r\n showAlertItemModal = false;\r\n isLoadingAlertItem = false;\r\n alertItem;\r\n selectedAlert;\r\n\r\n ngOnInit() {\r\n this.stage = 1;\r\n this.getGenderList();\r\n this.getEventAlertList();\r\n document.body.style.backgroundColor = '#f9f2f2';\r\n\r\n this.asrv.GetLoggedUserDetails().then(value => {\r\n // console.log('user settings', this.siteID = this.asrv.DefaultSiteId);\r\n this.getLiveCrimeAlerts();\r\n // this.asrv.GetActorCompositeModel().then(value => {\r\n // console.log('actor comp model', value);\r\n // this.siteID = this.asrv.DefaultSiteId;\r\n // console.log(this.siteID);\r\n // });\r\n });\r\n }\r\n\r\n getLiveCrimeAlerts() {\r\n const dateStart = moment().subtract(4, 'weeks');\r\n const dateEnd = moment();\r\n\r\n this.dateRange = `${dateStart.format('ddd DD-MM-YYYY HH:mm')} - ${dateEnd.format('ddd DD-MM-YYYY HH:mm')}`;\r\n const searchObject = {\r\n Start: dateStart.format('YYYY-MM-DDTHH:mm:ss[Z]'),\r\n End: dateEnd.format('YYYY-MM-DDTHH:mm:ss[Z]'),\r\n Offset: 0,\r\n TagIdLookupOperator: \"NotExists\",\r\n TagIdCollection: [],\r\n OrganisationParameters: {\r\n OrganisationIdCollection: [],\r\n TagIdLookupOperator: \"NotExists\",\r\n TagIdCollection: []\r\n },\r\n SiteParameters: {\r\n SiteIdCollection: [],\r\n TagIdLookupOperator: \"NotExists\",\r\n TagIdCollection: []\r\n }\r\n }\r\n this.asrv.GetCrimeAlertIds(searchObject).subscribe(res => {\r\n this.dataModel = new CrimeAlertList(this.asrv, this.isrv, res, this._api);\r\n this.dataModel.SubscriptionsOpened = res.length;\r\n // console.log(this.dataModel.Rows);\r\n // this.dataModel.Rows = this.dataModel.Rows.map(item => {\r\n // return {...item, Recorded2: moment(item.Recorded, 'YYYY-MM-DD HH:mm').utc().toString() }\r\n // });\r\n // console.log(this.dataModel);\r\n this.isLoadingAlerts = false;\r\n });\r\n }\r\n\r\n openAlert(item: any) {\r\n this.selectedAlert = item;\r\n\r\n this.isLoadingAlertItem = true;\r\n // console.log(item);\r\n this.showAlertItemModal = true;\r\n this._api.getCrimeAlertCompositeModel(item.InteractionId).subscribe(alertItem => {\r\n // console.log(alertItem);\r\n this.alertItem = alertItem;\r\n this.alertItem = { ...this.alertItem, suspects: [] };\r\n this.alertItem.InteractedActorCompositeModelCollection.forEach(IA => {\r\n // console.log(IA);\r\n\r\n let gender;\r\n let hairColour;\r\n let age;\r\n let height;\r\n switch (IA.BiologicalActorCompositeModel.GenderId) {\r\n case 1: gender = 'Male';\r\n break;\r\n\r\n case 2: gender = 'Female';\r\n break;\r\n\r\n case 3: gender = 'Other';\r\n break;\r\n }\r\n IA.BiologicalActorCompositeModel.BiologicalActorTraitModelCollection.forEach(bio => {\r\n // console.log(bio);\r\n switch (bio.TraitClassKeyId) {\r\n case 1: hairColour = bio.Data;\r\n break;\r\n\r\n case 6: age = bio.Data;\r\n break;\r\n\r\n case 7: height = bio.Data;\r\n break;\r\n }\r\n });\r\n this.alertItem.suspects.push(\r\n {\r\n gender,\r\n hairColour,\r\n age,\r\n height\r\n }\r\n )\r\n // console.log(this.alertItem);\r\n });\r\n\r\n this.isLoadingAlertItem = false;\r\n })\r\n }\r\n\r\n closeAlertItem() {\r\n this.showAlertItemModal = false;\r\n }\r\n\r\n ngAfterViewInit() {\r\n fromEvent(this.equipmentSearch.nativeElement, 'keyup').pipe(\r\n map((event: any) => {\r\n return event.target.value;\r\n })\r\n , filter(res => res.length > 0)\r\n , debounceTime(1000)\r\n ).subscribe((text: string) => {\r\n this.showSearchResults = false;\r\n this.textSearch = text;\r\n this.isSearching = true;\r\n const _searchModel = {\r\n OrganisationIdSearchCollection: [],\r\n OrganisationTagIdLookupOperatorSearchCollection: [],\r\n OrganisationTagIdCollection: [],\r\n SiteIdSearchCollection: [],\r\n SiteTagIdLookupOperatorSearchCollection: [],\r\n SiteTagIdCollection: [],\r\n TagIdLookupOperatorSearchCollection: [],\r\n TagIdSearchCollection: [],\r\n SearchSetChainCollection: [\r\n {\r\n SearchSetChainId: 1,\r\n Feature: \"Tags\"\r\n }\r\n ],\r\n SearchSetChainLinkCollection: [\r\n {\r\n SetId: 1,\r\n SetId_Seed: 0,\r\n SearchSetChainId: 1\r\n }\r\n ],\r\n SearchTermCollection: [\r\n {\r\n Id: 1,\r\n Order: 1,\r\n Domain: \"Tags\",\r\n Property: \"Equipment\",\r\n SearchTerm: this.textSearch,\r\n SetId: 1\r\n }\r\n ],\r\n Limit: 0,\r\n Offset: 0\r\n };\r\n\r\n\r\n this._api.searchEquipment(_searchModel).subscribe(results => {\r\n this.searchResults = results;\r\n this.searchResults.forEach(item => {\r\n this.searchTagCollection.forEach(tagItem => {\r\n if (tagItem.KeyId === item.KeyId) {\r\n item.selected = true;\r\n }\r\n });\r\n });\r\n this.isSearching = false;\r\n this.showSearchResults = true;\r\n });\r\n });\r\n }\r\n\r\n showLiveAlerts() {\r\n this.showLiveAlertModal = true;\r\n }\r\n\r\n closeLiveAlerts() {\r\n this.showLiveAlertModal = false;\r\n }\r\n\r\n addNewTag(name: string) {\r\n this.showSearchResults = false;\r\n // console.log(name);\r\n this.isSavingTag = true;\r\n this._api.postTagCollectionCompositeModelTags(20, 0, name).subscribe(\r\n results => {\r\n // console.log(results);\r\n this.isSavingTag = false;\r\n const _newTag =\r\n {\r\n KeyId: results.TagId,\r\n MetaData: {\r\n Name: results.Name\r\n },\r\n selected: true\r\n }\r\n this.selectSearchTag(_newTag);\r\n },\r\n error => {\r\n console.log(error);\r\n this.isSavingTag = false;\r\n alert('Error saving tag. Please try again');\r\n }\r\n );\r\n }\r\n\r\n addAtLeastOne() {\r\n alert('Please add at least one suspect');\r\n }\r\n\r\n nextStage() {\r\n this.missingFields = [];\r\n if (!this.alertDate) {\r\n this.missingFields.push('Date');\r\n }\r\n if (!this.alertTime) {\r\n this.missingFields.push('Time');\r\n }\r\n if (!this.eventTypeID) {\r\n this.missingFields.push('Event Type');\r\n }\r\n if (!this.policeCalledFalse && !this.policeCalledTrue) {\r\n this.missingFields.push('Police Called');\r\n }\r\n this.isMissingFields = this.missingFields.length > 0 ? true : false;\r\n if (!this.isMissingFields) {\r\n this.stage = 2;\r\n }\r\n }\r\n\r\n deleteSuspect(ind) {\r\n if (confirm(`Are you sure you want to delete suspect ${ind + 1}?`)) {\r\n this.suspectList.splice(ind, 1);\r\n }\r\n }\r\n\r\n deleteVehicle(ind) {\r\n if (confirm(`Are you sure you want to delete vehicle ${ind + 1}?`)) {\r\n this.vehicleList.splice(ind, 1);\r\n }\r\n }\r\n\r\n selectSearchTag(item) {\r\n item.selected = !item.selected;\r\n if (!this.searchTagCollection.some(x => x.KeyId === item.KeyId) && item.selected) {\r\n this.searchTagCollection.push(item);\r\n } else if (this.searchTagCollection.some(x => x.KeyId === item.KeyId)) {\r\n const _indexOfTag = this.searchTagCollection.findIndex(x => {\r\n return x.KeyId === item.KeyId;\r\n });\r\n this.searchTagCollection.splice(_indexOfTag, 1);\r\n }\r\n }\r\n\r\n removeTag(tag) {\r\n // console.log(tag.KeyId);\r\n const _indexOfTag = this.searchResults.findIndex(x => {\r\n return x.KeyId === tag.KeyId;\r\n });\r\n this.searchTagCollection.splice(_indexOfTag, 1);\r\n }\r\n\r\n closeSearchResults() {\r\n this.showSearchResults = false;\r\n }\r\n\r\n addSuspect() {\r\n this.suspectList.push({\r\n genderId: null,\r\n hairColour: null,\r\n age: null,\r\n height: null,\r\n });\r\n }\r\n\r\n addVehicle() {\r\n this.vehicleList.push({\r\n vehicleReg: null\r\n });\r\n }\r\n\r\n closeNotification() {\r\n this.isError = false;\r\n this.isSavedSuccess = false;\r\n }\r\n\r\n getGenderList() {\r\n // this.genderListLoading = true;\r\n this._api.getGenders().subscribe(results => {\r\n this.genderList = results;\r\n // this.genderListLoading = false;\r\n });\r\n }\r\n\r\n\r\n\r\n setGender(ev) {\r\n // console.log(ev);\r\n }\r\n\r\n getEventAlertList() {\r\n // this.challengeListLoading = true;\r\n this._api.getTagCollectionCompositeModel(2).subscribe(results => {\r\n this.eventTypeList = results.Tags;\r\n // this.eventTypeList = results.Tags.map((obj, index) => ({ ...obj, Value: this.eventTypeList[index].Value }));\r\n // this.challengeListLoading = false;\r\n });\r\n }\r\n\r\n policeCalled(wasCalled) {\r\n if (wasCalled) {\r\n this.policeCalledTrue = true;\r\n this.policeCalledFalse = false;\r\n this.wasPoliceCalled = true;\r\n\r\n } else {\r\n this.policeCalledTrue = false;\r\n this.policeCalledFalse = true;\r\n this.wasPoliceCalled = false;\r\n }\r\n }\r\n\r\n setTime(ev) {\r\n // console.log(this.alertTime);\r\n }\r\n\r\n\r\n\r\n\r\n addEvent(type: string, event: MatDatepickerInputEvent) {\r\n this.events.push(`${type}: ${event.value}`);\r\n this.alertDate = moment(this.alertDateModel).format('YYYY-MM-DD');\r\n }\r\n\r\n ToggleFeatureMenu() {\r\n // If Displaying Feature Collection, hide any buttons\r\n this.displayFeatures = !this.displayFeatures;\r\n }\r\n\r\n\r\n\r\n\r\n onActivate(componentRef) {\r\n this.displayAddNewExcluder = true;\r\n }\r\n\r\n HideDropDowns() {\r\n if (this.dropDownIsShowing) { this.DropDownToggle.nativeElement.click(); }\r\n if (this.exclusionDropDownIsShowing) { this.ExclusionDropDownToggle.nativeElement.click(); }\r\n if (this.reportingDropDownIsShowing) { this.ReportingDropDownToggle.nativeElement.click(); }\r\n if (this.adminDropDownIsShowing) { this.AdminDropDownToggle.nativeElement.click(); }\r\n if (this.messagingDropDownIsShowing) { this.MessagingDropDownToggle.nativeElement.click(); }\r\n if (this.advancedSearchIsShowing) { this.AdvancedSearchToggle.nativeElement.click(); };\r\n if (this.adminToolsDropDownIsShowing) { this.AdminToolsDropDownToggle.nativeElement.click(); }\r\n this.dropDownIsShowing = false;\r\n this.exclusionDropDownIsShowing = false;\r\n this.reportingDropDownIsShowing = false;\r\n this.adminDropDownIsShowing = false;\r\n this.messagingDropDownIsShowing = false;\r\n this.advancedSearchIsShowing = false;\r\n this.adminToolsDropDownIsShowing = false;\r\n }\r\n\r\n // Double click event in place to prevent bar locking.\r\n DropDownClicked() {\r\n if (this.advancedSearchIsShowing) {\r\n this.AdvancedSearchToggle.nativeElement.click();\r\n this.advancedSearchIsShowing = false;\r\n }\r\n this.dropDownIsShowing = !this.dropDownIsShowing;\r\n }\r\n\r\n ExclusionDropDownClicked() {\r\n this.exclusionDropDownIsShowing = !this.exclusionDropDownIsShowing;\r\n }\r\n\r\n ReportingDropDownClicked() {\r\n this.reportingDropDownIsShowing = !this.reportingDropDownIsShowing;\r\n }\r\n\r\n AdminDropDownClicked() {\r\n this.adminDropDownIsShowing = !this.adminDropDownIsShowing;\r\n }\r\n\r\n MessagingDropDownClicked() {\r\n this.messagingDropDownIsShowing = !this.messagingDropDownIsShowing;\r\n }\r\n\r\n AdministrationToolsDropDownClicked() {\r\n this.adminToolsDropDownIsShowing = !this.adminToolsDropDownIsShowing;\r\n }\r\n\r\n navigateToFeatureCollection() {\r\n this.HideOverlayMenu();\r\n this.HideDropDowns();\r\n this.router.navigate(['/user/features']);\r\n }\r\n\r\n NavigateToGallery() {\r\n this.HideOverlayMenu();\r\n this.HideDropDowns();\r\n this.router.navigate(['user/exclusion/gallery']);\r\n }\r\n\r\n CreateNewExclusion() {\r\n this.HideOverlayMenu();\r\n this.HideDropDowns();\r\n this.router.navigate(['user/exclusion/new']);\r\n }\r\n\r\n NavigateToReportsBuilder() {\r\n this.HideOverlayMenu();\r\n this.HideDropDowns();\r\n this.router.navigate(['user/reporting']);\r\n }\r\n\r\n NavigateToUserAdmin() {\r\n this.HideOverlayMenu();\r\n this.HideDropDowns();\r\n this.router.navigate(['user/admin/user-panel']);\r\n }\r\n\r\n NavigateToSiteAdmin() {\r\n this.HideOverlayMenu();\r\n this.HideDropDowns();\r\n this.router.navigate(['user/admin/site-panel']);\r\n }\r\n\r\n NavigateToOrganisationAdmin() {\r\n this.HideOverlayMenu();\r\n this.HideDropDowns();\r\n this.router.navigate(['user/admin/organisation-panel']);\r\n }\r\n\r\n NavigateToMessaging() {\r\n this.HideOverlayMenu();\r\n this.HideDropDowns();\r\n this.router.navigate(['user/messaging']);\r\n }\r\n\r\n HideOverlayMenu() {\r\n if (this.displayFeatures)\r\n this.displayFeatures = false;\r\n }\r\n\r\n LogOut() {\r\n this.logOutSubscription = this.dsrv.LogOut().subscribe(res => {\r\n this.router.navigate(['/#']);\r\n });\r\n }\r\n\r\n // Double click event in place to prevent bar locking.\r\n AdvancedSearchClicked() {\r\n if (this.dropDownIsShowing) {\r\n this.DropDownToggle.nativeElement.click();\r\n this.dropDownIsShowing = false;\r\n }\r\n this.assrv.ReinitializeSearchModel();\r\n this.advancedSearchIsShowing = !this.advancedSearchIsShowing;\r\n }\r\n\r\n PrintSearchQuery() {\r\n // this.assrv.PrintSearchQuery()\r\n }\r\n\r\n Search() {\r\n this.assrv.Search().then(value => {\r\n if (this.advancedSearchIsShowing) { this.AdvancedSearchToggle.nativeElement.click(); };\r\n });\r\n }\r\n\r\n NewSearch() {\r\n this.assrv.ReinitializeSearchModel().then(value => {\r\n });\r\n }\r\n\r\n ToggleElevationMode() {\r\n this.asrv.ToggleElevationMode().then(value => { })\r\n }\r\n\r\n ReloadDropDownControllers() {\r\n if (this.asrv.ElevatedMode) {\r\n this.asrv.PopulateSiteSelectForOrgansiationId(this.asrv.UserOrganisationId).then(value => {\r\n this.asrv.PopulateColleagueSelectForSiteId(this.asrv.SiteSelect.KeySelected).then(value => { })\r\n });\r\n } else {\r\n this.asrv.PopulateDefaultEmployeeSitesSelect().then(value => {\r\n this.asrv.PopulateColleagueSelectForSiteId(this.asrv.SiteSelect.KeySelected).then(value => { })\r\n })\r\n }\r\n }\r\n\r\n UnlockAllButtons() {\r\n this.asrv.ToggleLockedButtons().then(value => { })\r\n }\r\n\r\n GoBack() {\r\n this.router.navigate(['/user/features']);\r\n }\r\n\r\n saveCrimeAlert() {\r\n this.missingFields = [];\r\n const _recordedDate = moment(this.alertDate + ' ' + this.alertTime, 'YYYY-MM-DD HH:mm').utc().format('YYYY-MM-DDTHH:mm:ss');\r\n const _siteID = this.asrv.DefaultSiteId;\r\n const _userID = this.dsrv.GetMyUserID();\r\n this.isSaving = true;\r\n const _suspects: any[] = [];\r\n const _vehicles: any[] = [];\r\n const _tagIDCollection = [];\r\n\r\n _tagIDCollection.push(this.eventTypeID);\r\n\r\n if (this.policeCalledTrue) {\r\n _tagIDCollection.push(120);\r\n }\r\n\r\n this.suspectList.forEach((suspect, index) => {\r\n let isValid = true;\r\n // if (!suspect.genderId) {\r\n // this.missingFields.push(`Suspect ${index + 1} gender`);\r\n // // isValid = false;\r\n // }\r\n // if (!suspect.hairColour) {\r\n // this.missingFields.push(`Suspect ${index + 1} hair colour`);\r\n // // isValid = false;\r\n // }\r\n // if (!suspect.age) {\r\n // this.missingFields.push(`Suspect ${index + 1} age`);\r\n // // isValid = false;\r\n // }\r\n // if (!suspect.height) {\r\n // this.missingFields.push(`Suspect ${index + 1} height`);\r\n // // isValid = false;\r\n // }\r\n\r\n let hairTraitModel;\r\n let ageTraitModel;\r\n let heightTraitModel;\r\n\r\n if (suspect.hairColour) {\r\n hairTraitModel = {\r\n TraitClassKeyId: 1,\r\n Data: suspect.hairColour\r\n };\r\n }\r\n\r\n if (suspect.age) {\r\n ageTraitModel = {\r\n TraitClassKeyId: 6,\r\n Data: suspect.age\r\n };\r\n }\r\n\r\n if (suspect.height) {\r\n heightTraitModel = {\r\n TraitClassKeyId: 7,\r\n Data: suspect.height\r\n }\r\n }\r\n\r\n const BiologicalActorTraitModelCollection = [];\r\n if (hairTraitModel) {\r\n BiologicalActorTraitModelCollection.push(hairTraitModel);\r\n }\r\n if (ageTraitModel) {\r\n BiologicalActorTraitModelCollection.push(ageTraitModel);\r\n }\r\n if (heightTraitModel) {\r\n BiologicalActorTraitModelCollection.push(heightTraitModel);\r\n }\r\n \r\n if (isValid) {\r\n _suspects.push(\r\n {\r\n BiologicalActorCompositeModel: {\r\n BiologicalActorTraitModelCollection,\r\n GenderId: suspect.genderId,\r\n PostalAddressClassId: 1,\r\n }\r\n }\r\n );\r\n }\r\n });\r\n\r\n this.vehicleList.forEach((vehicle, index) => {\r\n let isValid = true;\r\n if (!vehicle.vehicleReg) {\r\n this.missingFields.push(`Vehicle ${index + 1} registration`);\r\n isValid = false;\r\n }\r\n if (isValid) {\r\n _vehicles.push(\r\n {\r\n VehicleProperties: [\r\n {\r\n VehiclePropertyKeyId: 1,\r\n Data: vehicle.vehicleReg\r\n }\r\n ]\r\n }\r\n );\r\n }\r\n });\r\n\r\n this.isMissingFields = this.missingFields.length > 0 ? true : false;\r\n\r\n this.searchTagCollection.forEach(tag => {\r\n _tagIDCollection.push(tag.KeyId);\r\n });\r\n\r\n const _crimeAlertModel = {\r\n Recorded: _recordedDate,\r\n InteractionId: 0,\r\n InteractedActorCompositeModelCollection: _suspects,\r\n AssociatedActorIdCollection: [\r\n _userID\r\n ],\r\n Notes: this.notes,\r\n SiteId: _siteID,\r\n TagIdCollection: _tagIDCollection,\r\n VehicleCollection: _vehicles\r\n };\r\n\r\n if (!this.isMissingFields) {\r\n this._api.postCrimeAlert(_crimeAlertModel).subscribe(\r\n result => {\r\n this.isSaving = false;\r\n this.isSavedSuccess = true;\r\n this.isError = false;\r\n setTimeout(() => {\r\n this.isSavedSuccess = false;\r\n this.router.navigate(['/user/features']);\r\n }, 3000);\r\n }, error => {\r\n this.isSaving = false;\r\n this.isError = true;\r\n this.errorMsg = error.error;\r\n console.log(error);\r\n });\r\n }\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n

Crime Alert

\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n LIVE ALERTS\r\n
\r\n {{this.dataModel.Rows?.length}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n

Live Crime Alerts

\r\n Date range: {{dateRange}}\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n
DateEvent TypePolice CalledSite ID
{{alert.Recorded === false ? 'loading...' : alert.Recorded}}{{alert.eventType === false ? 'loading...' : alert.eventType}}{{alert.policeCalled === false ? 'loading...' : alert.policeCalled}}{{alert.SiteId === false ? 'loading...' : alert.SiteId}}
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n

Crime Alert

\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n Date:  \r\n {{alertItem?.Recorded | date:'EEEE, d MMMM y, h:mm:ss a'}}\r\n
\r\n
\r\n Event Type:  \r\n {{selectedAlert?.eventType}}\r\n
\r\n
\r\n Police Called:  \r\n {{selectedAlert?.policeCalled}}\r\n
\r\n
\r\n Site ID:  \r\n {{selectedAlert?.SiteId}}\r\n
\r\n
\r\n Suspects:  \r\n No Suspects\r\n
    0\">\r\n
  • \r\n
    \r\n Gender:  \r\n {{suspect.gender}}\r\n
    \r\n
    \r\n Hair Colour:  \r\n {{suspect.hairColour}}\r\n
    \r\n
    \r\n Age:  \r\n {{suspect.age}}\r\n
    \r\n
    \r\n Height:  \r\n {{suspect.height}}\r\n
    \r\n
  • \r\n
\r\n
\r\n\r\n
\r\n Vehicles:  \r\n No Vehicles\r\n
    0\">\r\n
  • \r\n
    \r\n Reg:  \r\n {{property.Data}}\r\n
    \r\n \r\n
  • \r\n
\r\n
\r\n
\r\n Notes:  \r\n {{alertItem?.Notes}}\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n Date\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n 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 Event Type\r\n
\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n Equipment Targeted\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
No results found
\r\n \r\n \r\n
\r\n
\r\n\r\n
0\">\r\n
\r\n
Results
\r\n
X
\r\n
\r\n
\r\n
\r\n
\r\n
{{item.MetaData.Name}}
\r\n
X
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{tag.MetaData.Name}}\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
Police Called?
\r\n
\r\n Yes\r\n \r\n
\r\n
\r\n No\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n Please add any notes but avoid using any specific personal identifiers as this may be in\r\n contravention of GDPR\r\n \r\n
\r\n Notes\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n

0\">Suspects List

\r\n
\r\n
\r\n SUSPECT {{suspectIndex+1}}\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n Gender\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n Age\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n Hair Colour\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n Height\r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n \r\n
\r\n

0\">Vehicles List

\r\n
\r\n
\r\n VEHICLE {{vehicleIndex+1}}\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Vehicle Reg\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n\r\n \r\n
\r\n
If no suspect, please press SAVE INTERACTION
\r\n
Once you press Save, an email will be sent to other Operators within the agreed area
\r\n
\r\n
\r\n \r\n
\r\n \r\n
= 0\" class=\"navigation save {{stage === 2 ? 'col-1' : ''}}\"\r\n (click)=\"saveCrimeAlert()\">\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n Saving...\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
Success
\r\n
X
\r\n
\r\n
\r\n Saved Crime Alert Report\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
Error
\r\n
X
\r\n
\r\n
\r\n There was an error saving the crime alert. Please check all fields and try again.\r\n
\r\n {{errorMsg | json}}\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
Error
\r\n
X
\r\n
\r\n
\r\n The following required fields are missing:\r\n
\r\n
    \r\n
  • {{item}}
  • \r\n
\r\n
\r\n
\r\n
","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-customer-interaction',\r\n templateUrl: './customer-interaction.component.html',\r\n styleUrls: ['./customer-interaction.component.scss']\r\n})\r\nexport class CustomerInteractionComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n document.body.style.backgroundColor = '#ebf6f6';\r\n document.body.style.color = '#5e698e';\r\n }\r\n}\r\n","\r\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { ISDDateMethods } from 'src/app/models/ISDDateMethods';\r\nimport { CustomerInteractionBrief } from 'src/app/models/CustomerInteractionBrief';\r\nimport { InteractionService } from 'src/app/services/interaction.service';\r\nimport { Router } from '@angular/router';\r\nimport { ActorService } from 'src/app/services/actor.service';\r\n\r\n@Component({\r\n selector: 'app-interaction-card',\r\n templateUrl: './interaction-card.component.html',\r\n styleUrls: ['./interaction-card.component.scss']\r\n})\r\nexport class InteractionCardComponent implements OnInit {\r\n public showImageSpinner: boolean;\r\n public interactionImage: any;\r\n public showIconImage: boolean = false;\r\n public mediaId: number;\r\n public archived: boolean;\r\n public incomplete: boolean;\r\n public reinstatedSelfExcluder: boolean;\r\n\r\n private dateMethods: ISDDateMethods = new ISDDateMethods();\r\n public interaction: CustomerInteractionBrief;\r\n @Input('interaction') get Interaction(): CustomerInteractionBrief {\r\n return this.interaction;\r\n };\r\n @Output('interaction') interactionChange: EventEmitter = new EventEmitter();\r\n set Interaction(val: CustomerInteractionBrief) {\r\n this.interaction = val;\r\n this.interactionChange.emit(this.interaction);\r\n }\r\n\r\n constructor(public asrv: ActorService, public isrv: InteractionService, private router: Router) { }\r\n\r\n ngOnInit() {\r\n this.showImageSpinner = true;\r\n // console.log(this.interaction);\r\n this.archived = this.interaction.TagIdCollection.some(i => i === 4);\r\n this.incomplete = this.interaction.TagIdCollection.some(i => i === 5);\r\n // this.reinstatedSelfExcluder = \r\n this.isrv.GetMediaForInteraction(this.Interaction.InteractionId).then(value => {\r\n if (value.MediaClassKeyId === 4) {\r\n if (this.isrv.HasIconImage(value)) {\r\n this.showIconImage = true;\r\n this.mediaId = value.MediaId;\r\n } else {\r\n this.interactionImage = value.Data;\r\n }\r\n }\r\n\r\n this.showImageSpinner = false;\r\n });\r\n }\r\n\r\n GetInteractionColour() : string { \r\n let diffDaysStart = this.dateMethods.DateDifferenceInDays(this.interaction.Start);\r\n let daysUntilReview = (this.interaction.PeriodDays - diffDaysStart);\r\n\r\n if(this.archived) {\r\n return this.asrv.Globals.BackgroundColor.Grey;\r\n } else if (this.incomplete) {\r\n return this.asrv.Globals.BackgroundColor.CyanBlue;\r\n } else if (this.reinstatedSelfExcluder) {\r\n return this.asrv.Globals.BackgroundColor.MagentaPink;\r\n } else if(daysUntilReview <= -14)\r\n return this.asrv.Globals.BackgroundColor.Red;\r\n else if(daysUntilReview <= 0 && daysUntilReview > -14)\r\n return this.asrv.Globals.BackgroundColor.Yellow;\r\n else return this.asrv.Globals.BackgroundColor.Green;\r\n }\r\n\r\n GetEndDate(): Date {\r\n return this.dateMethods.AddDays(this.interaction.Start, this.interaction.PeriodDays);\r\n }\r\n\r\n InteractionOnTimeOut(): boolean {\r\n return this.interaction.TagIdCollection.some(i => i === this.asrv.Globals.TagValues.InteractionActionTimeOut);\r\n }\r\n\r\n ReinstatedSelfExcluder(): boolean {\r\n return this.interaction.TagIdCollection.some(i => i === this.asrv.Globals.TagValues.ReinstatedExcluder)\r\n }\r\n\r\n ViewInteraction(interaction: CustomerInteractionBrief) {\r\n this.isrv.Load(interaction.InteractionId).then(value => {\r\n this.router.navigate(['/user/customer-interaction/view', this.Interaction.InteractionId]);\r\n })\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{interaction.Forename}}
{{interaction.Surname}}
{{interaction.Alias}}
\r\n
\r\n
\r\n {{interaction.Start | date: 'dd/MM/yyyy'}}
{{GetEndDate() | date: 'dd/MM/yyyy'}}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n T\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, ViewChild, ElementRef } from '@angular/core';\r\nimport { ISDDateMethods } from 'src/app/models/ISDDateMethods';\r\nimport { CustomerInteractionBrief } from 'src/app/models/CustomerInteractionBrief';\r\nimport { InteractionGalleryService } from 'src/app/services/interaction-gallery.service';\r\nimport { ActorService } from 'src/app/services/actor.service';\r\n\r\n@Component({\r\n selector: 'app-interaction-cards',\r\n templateUrl: './interaction-cards.component.html',\r\n styleUrls: ['./interaction-cards.component.scss']\r\n})\r\nexport class InteractionCardsComponent implements OnInit {\r\n\r\n @ViewChild('searchField') searchField: ElementRef;\r\n public searchPhrase: string;\r\n private dateMethods: ISDDateMethods = new ISDDateMethods();\r\n\r\n constructor(public gsrv: InteractionGalleryService, public asrv: ActorService) {}\r\n\r\n ngOnInit() {\r\n }\r\n\r\n GetInteractionColour(interaction: CustomerInteractionBrief) : string { \r\n let diffDaysStart = this.dateMethods.DateDifferenceInDays(interaction.Start)\r\n let daysUntilReview = (interaction.PeriodDays - diffDaysStart)\r\n \r\n if(daysUntilReview < 0)\r\n return this.asrv.Globals.BackgroundColor.Red;\r\n else if(daysUntilReview > 0 && daysUntilReview < 5)\r\n return this.asrv.Globals.BackgroundColor.Yellow;\r\n else return this.asrv.Globals.BackgroundColor.Green;\r\n }\r\n}\r\n","
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n 0\" [style.marginTop]=\"asrv.Globals.Positioning.Small\" [style.marginBottom]=\"asrv.Globals.Positioning.Small\">Page {{gsrv.CurrentPage+1}} / {{gsrv.MaximumPageCount}}\r\n
\r\n
\r\n
\r\n 0)\">\r\n
\r\n \r\n
\r\n (gsrv.CurrentPage+1))\">\r\n
\r\n
\r\n
","import { Component, OnInit, Input, Output, EventEmitter, ViewChild, ElementRef } from '@angular/core';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { ActorService } from 'src/app/services/actor.service';\r\nimport { InteractionGalleryService } from 'src/app/services/interaction-gallery.service';\r\n\r\n@Component({\r\n selector: 'app-interaction-gallery',\r\n templateUrl: './interaction-gallery.component.html',\r\n styleUrls: ['./interaction-gallery.component.scss']\r\n})\r\nexport class InteractionGalleryComponent implements OnInit {\r\n\r\n @ViewChild('btnBarred') btnBarred: ElementRef;\r\n @ViewChild('btnArchive') btnArchive: ElementRef;\r\n\r\n\r\n public showSpinner: boolean;\r\n public sort: number = 0;\r\n public sortOptions = [\r\n { Id: 0, Value: 'Nearest Review Date' },\r\n { Id: 1, Value: 'Furthest Review Date' },\r\n { Id: 2, Value: 'Name (A to Z)' },\r\n { Id: 3, Value: 'Name (Z to A)' }\r\n ]\r\n public filter: number = 0;\r\n public filterOptions = [\r\n { Id: 0, Value: 'Active' },\r\n { Id: 2, Value: 'Archive' },\r\n { Id: 3, Value: 'Time Out' },\r\n { Id: 4, Value: 'Incomplete' },\r\n { Id: 5, Value: 'Reinstated Self-Excluder' },\r\n { Id: 6, Value: 'Review Due' }\r\n ]\r\n\r\n // { Id: 1, Value: 'Barred' }\r\n\r\n public fromReportBuilder: boolean;\r\n @Input('fromReportBuilder') get FromReportBuilder(): boolean {\r\n return this.fromReportBuilder;\r\n };\r\n @Output('fromReportBuilder') fromReportBuilderChange: EventEmitter = new EventEmitter();\r\n set FromReportBuilder(val: boolean) {\r\n this.fromReportBuilder = val;\r\n this.fromReportBuilderChange.emit(this.fromReportBuilder);\r\n }\r\n\r\n constructor(public gsrv: InteractionGalleryService, private router: Router, private titleService: Title, public asrv: ActorService, private route: ActivatedRoute) { }\r\n\r\n ngOnInit() {\r\n this.titleService.setTitle('Interaction Gallery');\r\n\r\n this.gsrv.Initialize().then(value => {\r\n this.showSpinner = false;\r\n })\r\n\r\n this.filterOptions.sort((a, b) => {\r\n return a.Value.localeCompare(b.Value);\r\n })\r\n }\r\n\r\n CreateNewCustomerInteraction() {\r\n this.router.navigate(['/user/customer-interaction/new']);\r\n }\r\n\r\n FilterOrganisations() {\r\n this.gsrv.ActiveSiteFilterId = 0;\r\n this.gsrv.PopulateSiteList().then(value => {\r\n this.gsrv.GetInteractionCards();\r\n });\r\n }\r\n\r\n \r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Review Overdue
\r\n
\r\n
\r\n
\r\n
Review Due
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Awaiting Review
\r\n
\r\n \r\n
\r\n
Reinstated Self-Excluder
\r\n
\r\n
\r\n
\r\n
T
\r\n
\r\n
Time Out
\r\n
\r\n
\r\n
\r\n
Incomplete Record
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Review Overdue\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Review Due\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Awaiting Review\r\n
\r\n
\r\n
\r\n \r\n
\r\n Reinstated Self-Excluder\r\n
\r\n
\r\n
\r\n
T
\r\n
\r\n
Time Out
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Incomplete Record
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Sort By\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n Filter By\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Organisation\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n Site\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\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) && (stage < 7)\" style=\"padding: 20px 15px;\">\r\n
\r\n
\r\n

New Interaction

\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n = 0) && (stage < 7) && (showForwardArrow)\">\r\n
\r\n
\r\n \r\n
\r\n
\r\n = 0) && (stage < 6) && (showForwardArrow)\">\r\n
\r\n
\r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { ActorService } from 'src/app/services/actor.service';\r\nimport { Honorific } from 'src/app/models/Honorific';\r\nimport { Gender } from 'src/app/models/Gender';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { Organisation } from 'src/app/models/Organisation';\r\nimport { DataService } from 'src/app/services/data.service';\r\nimport { UserDocumentation } from 'src/app/models/UserDocumentation';\r\nimport { InteractionService } from 'src/app/services/interaction.service';\r\nimport { ErrorhanderService } from 'src/app/services/errorhander.service';\r\n\r\n@Component({\r\n selector: 'app-interaction-new',\r\n templateUrl: './interaction-new.component.html',\r\n styleUrls: ['./interaction-new.component.scss']\r\n})\r\nexport class InteractionNewComponent implements OnInit {\r\n\r\n constructor(public isrv: InteractionService, public asrv: ActorService, private router: Router, private route: ActivatedRoute, public dsrv: DataService, public errsrv: ErrorhanderService) { }\r\n public showPage: boolean = false;\r\n public showSaveStateSpinner: boolean = false;\r\n public honorifics: Honorific[];\r\n public genders: Gender[];\r\n // public interaction: CustomerInteraction;\r\n public stage: number = 0;\r\n public showForwardArrow: boolean = true;\r\n\r\n public userDocumentation: UserDocumentation = this.dsrv.GetUserDocumentationVersions();\r\n public organisations: Organisation[] = [];\r\n public privacyPolicyHTML: string;\r\n public summaryPrivacyPolicyHTML: string;\r\n public formMessage: string = \"New Interaction\";\r\n\r\n ngOnInit() {\r\n if (!this.router.url.toString().includes('continue')) {\r\n this.isrv.StartNewInteraction();\r\n this.LoadSecondaryData();\r\n } else {\r\n this.isrv.Load(+this.route.snapshot.params['id']).then(value => {\r\n this.LoadSecondaryData();\r\n })\r\n }\r\n }\r\n\r\n LoadSecondaryData() {\r\n this.showPage = true;\r\n // this.interaction = new CustomerInteraction();\r\n this.asrv.GetHonorifics().then(value => {\r\n this.honorifics = value;\r\n });\r\n this.asrv.GetGenders().then(value => {\r\n this.genders = value;\r\n });\r\n\r\n let myOrganisationsSubscription = this.asrv.GetMyOrganisations().subscribe( orgs => {\r\n this.organisations = orgs;\r\n myOrganisationsSubscription.unsubscribe();\r\n\r\n let privacyPolicyHTMLSubscription = this.asrv.GetDocument(this.organisations[0].Organisations_ActorId, this.userDocumentation.PrivacyPolicy, this.userDocumentation.PrivacyPolicyVersion).subscribe(res => {\r\n this.privacyPolicyHTML = res;\r\n privacyPolicyHTMLSubscription.unsubscribe();\r\n }, err => {\r\n privacyPolicyHTMLSubscription.unsubscribe();\r\n })\r\n }, err => {\r\n myOrganisationsSubscription.unsubscribe();\r\n });\r\n }\r\n\r\n GoBack() {\r\n if (this.stage > 0) {\r\n if (this.stage === 6 && !this.isrv.HasIconImage()) {\r\n this.stage--;\r\n }\r\n this.stage--;\r\n } else {\r\n this.router.navigate(['/user/customer-interaction/gallery']);\r\n }\r\n }\r\n\r\n GoForward() {\r\n if (this.stage === 7) {\r\n this.SaveCustomerInteraction();\r\n } else if (this.stage === 4 && !this.MediaIsValid()) {\r\n this.errsrv.ShowValidationOops('No image!', 'You must supply a photo of the customer or select an icon to proceed.');\r\n } else if (this.stage === 3 && !this.DetailsAreValid()) {\r\n // halt\r\n // has it's own error messages\r\n } else if (this.stage === 2 && (!this.isrv.HasAction() && !this.isrv.Interaction.NoActionTaken)) {\r\n this.errsrv.ShowValidationOops('You have not selected an Action!', 'You must select at least one action before you can proceed.');\r\n } else if (this.stage === 1 && !this.isrv.ReadPrivacyNotice) { \r\n this.errsrv.ShowValidationOops('Missing required field!', 'Please read and confirm that you have read the privacy notice.');\r\n } else {\r\n this.stage++;\r\n // Skip Description if the interaction does not use an Icon Image\r\n if (this.stage === 5 && !this.isrv.HasIconImage()) {\r\n this.stage++;\r\n }\r\n window.scroll(0,0);\r\n }\r\n }\r\n\r\n StartSelfExclusion() {\r\n // Send interaction here.\r\n this.router.navigate(['/user/exclusion/new']);\r\n }\r\n\r\n SaveCustomerInteraction() {\r\n this.isrv.Save(true).then(value => {\r\n this.stage++;\r\n });\r\n }\r\n\r\n SaveCustomerInteractionState() {\r\n this.showSaveStateSpinner = true;\r\n this.isrv.SaveProgress(this.stage).then(value => {\r\n this.showSaveStateSpinner = false;\r\n })\r\n }\r\n\r\n MediaIsValid(): boolean {\r\n if (!this.isrv.Interaction.MediaModelCollection.some(i => i.MediaClassKeyId === 4)) {\r\n return false;\r\n }\r\n\r\n let mediaId = this.isrv.Interaction.MediaModelCollection.find(i => i.MediaClassKeyId === 4).MediaId;\r\n let imgString = this.isrv.Interaction.MediaModelCollection.find(i => i.MediaClassKeyId === 4).Data;\r\n if (!(mediaId > 0 && mediaId <= 100) && imgString === this.isrv.whiteSpaceImage) {\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n DetailsAreValid(): boolean {\r\n let biologicalModel = this.isrv.Interaction.InteractedActorCompositeModel.BiologicalActorCompositeModel;\r\n\r\n if (!biologicalModel.GenderId) {\r\n this.errsrv.ShowValidationOops('No gender selected!', 'You must supply the customers gender.');\r\n return false;\r\n } \r\n return true;\r\n }\r\n\r\n NameIsValid(name: string): boolean {\r\n return (/\\d/.test(name) || /\\s/g.test(name)) && (name.length >= 2);\r\n }\r\n\r\n ShowHideForwardArrow() {\r\n this.showForwardArrow = !this.showForwardArrow;\r\n }\r\n\r\n ShowSaveProgressButton(): boolean {\r\n return ((this.stage === 0) || (this.stage > 1 && this.stage < 6)) && (this.showForwardArrow)\r\n }\r\n}\r\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { CustomerInteraction } from 'src/app/models/CustomerInteraction';\r\n\r\n@Component({\r\n selector: 'app-cancel-review',\r\n templateUrl: './cancel-review.component.html',\r\n styleUrls: ['./cancel-review.component.scss']\r\n})\r\nexport class CancelReviewComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n interaction: CustomerInteraction;\r\n @Input('interaction') get Interaction(): CustomerInteraction {\r\n return this.interaction;\r\n };\r\n @Output('interaction') interactionChange: EventEmitter = new EventEmitter();\r\n set Interaction(val: CustomerInteraction) {\r\n this.interaction = val;\r\n this.interactionChange.emit(this.interaction);\r\n }\r\n\r\n stage: number;\r\n\r\n ngOnInit() {\r\n this.stage = 0;\r\n }\r\n\r\n GoForward() {\r\n if (this.stage === 0) {\r\n this.stage = 1;\r\n }\r\n }\r\n\r\n GoBack() {\r\n if (this.stage === 1) {\r\n this.stage = 0;\r\n }\r\n }\r\n\r\n SaveCustomerInteraction() {\r\n this.ShowDefaultApp.next();\r\n }\r\n\r\n ReturnToActionPage() {\r\n this.ShowDefaultApp.next();\r\n }\r\n\r\n @Output() ShowDefaultApp = new EventEmitter();\r\n\r\n}\r\n","
\r\n
\r\n \r\n \r\n
\r\n\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, Output, EventEmitter } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { Views_InteractionsCompositeModel } from 'src/app/models/InteractionExclusion/Views_InteractionsCompositeModel';\r\nimport { ISDDateMethods } from 'src/app/models/ISDDateMethods';\r\nimport { InteractionService } from 'src/app/services/interaction.service';\r\n@Component({\r\n selector: 'app-interaction-more-info',\r\n templateUrl: './interaction-more-info.component.html',\r\n styleUrls: ['./interaction-more-info.component.scss']\r\n})\r\nexport class InteractionMoreInfoComponent implements OnInit {\r\n\r\n private dateMethods: ISDDateMethods = new ISDDateMethods();\r\n public interactions: Views_InteractionsCompositeModel[] = [];\r\n\r\n constructor(public isrv: InteractionService, private router: Router) { }\r\n\r\n ngOnInit() {\r\n this.isrv.HistoricIds.forEach(id => {\r\n this.isrv.LoadInteraction(id).then(value => {\r\n var interaction: Views_InteractionsCompositeModel = new Views_InteractionsCompositeModel();\r\n interaction = value;\r\n interaction.Reasons = this.isrv.GetReasonsString(interaction);\r\n interaction.Actions = this.isrv.GetActionsString(interaction);\r\n this.interactions.push(interaction);\r\n })\r\n })\r\n }\r\n\r\n GetStartDate(interaction: Views_InteractionsCompositeModel) {\r\n if (interaction.InteractionMonitoringPeriod) {\r\n if (interaction.InteractionMonitoringPeriod.Duration === 0) {\r\n return '';\r\n }\r\n return interaction.InteractionMonitoringPeriod.Start;\r\n } else {\r\n return '';\r\n }\r\n }\r\n\r\n GetEndDate(interaction: Views_InteractionsCompositeModel) {\r\n if (interaction.InteractionMonitoringPeriod) {\r\n if (interaction.InteractionMonitoringPeriod.Duration === 0) {\r\n return '';\r\n }\r\n return this.dateMethods.AddDays(interaction.InteractionMonitoringPeriod.Start, interaction.InteractionMonitoringPeriod.Duration);\r\n } else {\r\n return '';\r\n }\r\n }\r\n\r\n ShowInteraction(interaction: Views_InteractionsCompositeModel) {\r\n if (!(interaction.InteractionId === this.isrv.Interaction.InteractionId)) {\r\n this.SetLoadingData.next();\r\n this.router.navigate(['/user/customer-interaction/view', interaction.InteractionId]);\r\n this.isrv.LoadViewModel(interaction.InteractionId, true).then(value => {\r\n this.ReloadMainApp.next();\r\n })\r\n }\r\n }\r\n\r\n CallCloseForm() {\r\n this.ShowDefaultApp.next();\r\n }\r\n\r\n DisableRow(interaction: Views_InteractionsCompositeModel) {\r\n return interaction.InteractionId === this.isrv.Interaction.InteractionId;\r\n }\r\n\r\n @Output() SetLoadingData = new EventEmitter();\r\n @Output() ReloadMainApp = new EventEmitter();\r\n @Output() ShowDefaultApp = new EventEmitter();\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n Notes\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
IDInteractionReview DateReason(s)Action(s)
{{interaction.InteractionId}}{{GetStartDate(interaction) | date: 'dd/MM/yyyy'}}{{GetEndDate(interaction) | date: 'dd/MM/yyyy'}}{{interaction.Reasons}}{{interaction.Actions}}
\r\n
\r\n\r\n
\r\n \r\n
","import { AfterViewInit, Component, ElementRef, OnInit, ViewChild } from '@angular/core';\r\nimport { CustomerInteraction } from 'src/app/models/CustomerInteraction';\r\nimport { InteractionService } from 'src/app/services/interaction.service';\r\nimport { ActivatedRoute, NavigationEnd, Router } from '@angular/router';\r\nimport { ActorService } from 'src/app/services/actor.service';\r\nimport { ISDDateMethods } from 'src/app/models/ISDDateMethods';\r\nimport { Views_InteractionsCompositeModel } from 'src/app/models/InteractionExclusion/Views_InteractionsCompositeModel';\r\nimport * as moment from 'moment';\r\nimport { distinctUntilChanged, filter } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'app-interaction-view',\r\n templateUrl: './interaction-view.component.html',\r\n styleUrls: ['./interaction-view.component.scss']\r\n})\r\nexport class InteractionViewComponent implements OnInit, AfterViewInit {\r\n\r\n @ViewChild('btnCancelReview') btnCancelReview: ElementRef;\r\n @ViewChild('divCancelReview') divCancelReview: ElementRef;\r\n\r\n constructor(\r\n public asrv: ActorService,\r\n public isrv: InteractionService,\r\n private route: ActivatedRoute,\r\n private router: Router\r\n ) {\r\n // route.data.subscribe(data => {\r\n // this.loadViewModel();\r\n // });\r\n\r\n this.isrv.getSaveInteraction().subscribe(result => {\r\n // console.log('firing obs');\r\n this.loadViewModel();\r\n });\r\n \r\n }\r\n\r\n public reference: string;\r\n public interaction: CustomerInteraction;\r\n public dataHasLoaded: boolean;\r\n public viewForm: number;\r\n public showFooter: boolean;\r\n public dummyInteraction: CustomerInteraction;\r\n public isArchived: boolean;\r\n public stage: number = 0;\r\n public showDefaultButtons: boolean;\r\n private _dateMethods: ISDDateMethods = new ISDDateMethods();\r\n private _justCancelled: boolean;\r\n\r\n public lockReview: boolean;\r\n public lockCancelReview: boolean;\r\n public formEditable: boolean = true;\r\n\r\n appViewInteraction = 0;\r\n appReview = 1;\r\n appReinstateSEReview = 2;\r\n appCancelReview = 3;\r\n appUploadCCTV = 4;\r\n appUpdateDetails = 5;\r\n appMoreInfo = 6;\r\n\r\n ngOnInit() {\r\n this.loadViewModel();\r\n\r\n }\r\n\r\n loadViewModel() {\r\n this.isrv.LoadViewModel(+this.route.snapshot.params['id']).then(value => {\r\n if (this._justCancelled && !this.isrv.Interaction.TagIdCollection.some(i => i === 4)) {\r\n this.isrv.Interaction.TagIdCollection.push(4);\r\n this._justCancelled = false;\r\n }\r\n this.isArchived = this.isrv.Interaction.TagIdCollection.some(i => i === 4);\r\n this.CheckLocks();\r\n this.ShowDefaultApp();\r\n });\r\n }\r\n\r\n ngAfterViewInit() {\r\n }\r\n\r\n CheckLocks() {\r\n \r\n // console.log('checking locks', this.isArchived);\r\n if (this.InteractionIncomplete()) {\r\n this.showDefaultButtons = false;\r\n } else {\r\n this.showDefaultButtons = true;\r\n let monitoringPeriod = this.isrv.Interaction.InteractionMonitoringPeriod;\r\n const _review = this.isrv.Interaction.Review;\r\n let reviewDate = this._dateMethods.AddDays(monitoringPeriod.Start, monitoringPeriod.Duration);\r\n // this.lockReview = reviewDate >= new Date() || this.isArchived;\r\n const _reviewDate = moment(this.isrv.Interaction.InteractionMonitoringPeriod.Start).add(this.isrv.Interaction.InteractionMonitoringPeriod.Duration, 'd');\r\n const _today = moment();\r\n const _dateDiff = _reviewDate.diff(_today, 'days');\r\n this.lockReview = (_review.InteractionId === 0 && _dateDiff > 7) || this.isArchived;\r\n this.lockCancelReview = this.isArchived; // (this._dateMethods.DateDifferenceInDays(reviewDate) > 1) || \r\n }\r\n }\r\n\r\n InteractionIncomplete(): boolean {\r\n return this.isrv.Interaction.TagIdCollection.some(i => i === 5);\r\n }\r\n\r\n CompleteInteraction() {\r\n this.router.navigate(['/user/customer-interaction/continue/' + this.isrv.Interaction.InteractionId])\r\n }\r\n\r\n ShowDefaultApp() {\r\n this.viewForm = this.appViewInteraction;\r\n this.showFooter = false;\r\n }\r\n\r\n ShowReview() {\r\n this.isrv.ReviewPageVisited = false;\r\n this.isrv.chkGambling = false;\r\n this.isrv.chkPattern = false;\r\n this.isrv.chkBehaviour = false;\r\n // this.dummyInteraction = new CustomerInteraction();\r\n this.viewForm = this.appReview;\r\n this.showFooter = true;\r\n }\r\n\r\n ShowReinstateSEReview() {\r\n this.viewForm = this.appReinstateSEReview;\r\n this.stage = 0;\r\n this.showFooter = true;\r\n }\r\n\r\n ShowCancelReview() {\r\n if (confirm('This will place this interaction into the Archive, do you wish to continue?')) {\r\n this.isrv.CancelReview().then(value => {\r\n this.router.navigate(['user/customer-interaction/gallery']);\r\n });\r\n }\r\n }\r\n\r\n ShowUploadCCTV() {\r\n /*\r\n this.viewForm = this.appUploadCCTV;\r\n */\r\n }\r\n\r\n ShowUpdateDetails() {\r\n this.viewForm = this.appUpdateDetails;\r\n this.stage = 0;\r\n this.showFooter = true;\r\n }\r\n\r\n SetLoadingData() {\r\n this.dataHasLoaded = false;\r\n }\r\n\r\n ReloadMainApp() {\r\n this.isArchived = this.isrv.Interaction.TagIdCollection.some(i => i === 4);\r\n this.CheckLocks();\r\n this.asrv.GetMediaForInteraction(this.isrv.Interaction.InteractionId).then(value => {\r\n this.isrv.Interaction.MediaModelCollection.push(value);\r\n this.dataHasLoaded = true;\r\n })\r\n }\r\n\r\n ReloadAndShowMainApp() {\r\n this.isArchived = this.isrv.Interaction.TagIdCollection.some(i => i === 4);\r\n this.CheckLocks();\r\n this.asrv.GetMediaForInteraction(this.isrv.Interaction.InteractionId).then(value => {\r\n this.isrv.Interaction.MediaModelCollection.push(value);\r\n this.ShowDefaultApp();\r\n this.dataHasLoaded = true;\r\n })\r\n }\r\n\r\n ShowMoreInfo() {\r\n this.viewForm = this.appMoreInfo;\r\n }\r\n}\r\n","
\r\n \r\n \r\n \r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n Notes\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n
\r\n \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, Input, Output, EventEmitter } from '@angular/core';\r\nimport { CustomerInteraction } from 'src/app/models/CustomerInteraction';\r\n\r\n@Component({\r\n selector: 'app-reinstated-se-review',\r\n templateUrl: './reinstated-se-review.component.html',\r\n styleUrls: ['./reinstated-se-review.component.scss']\r\n})\r\nexport class ReinstatedSeReviewComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n interaction: CustomerInteraction;\r\n @Input('interaction') get Interaction(): CustomerInteraction {\r\n return this.interaction;\r\n };\r\n @Output('interaction') interactionChange: EventEmitter = new EventEmitter();\r\n set Interaction(val: CustomerInteraction) {\r\n this.interaction = val;\r\n this.interactionChange.emit(this.interaction);\r\n }\r\n\r\n stage: number;\r\n\r\n ngOnInit() {\r\n this.stage = 0;\r\n }\r\n\r\n GoForward() {\r\n if (this.stage === 0) {\r\n this.stage = 1;\r\n }\r\n }\r\n\r\n GoBack() {\r\n if (this.stage === 1) {\r\n this.stage = 0;\r\n }\r\n }\r\n\r\n SaveCustomerInteraction() {\r\n this.ShowDefaultApp.next();\r\n }\r\n\r\n ReturnToActionPage() {\r\n this.ShowDefaultApp.next();\r\n }\r\n\r\n @Output() ShowDefaultApp = new EventEmitter();\r\n}\r\n","
\r\n
\r\n \r\n \r\n
\r\n\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, Output, EventEmitter } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { InteractionService } from 'src/app/services/interaction.service';\r\n\r\n@Component({\r\n selector: 'app-review',\r\n templateUrl: './review.component.html',\r\n styleUrls: ['./review.component.scss']\r\n})\r\nexport class ReviewComponent implements OnInit {\r\n\r\n constructor(public isrv: InteractionService, private router: Router) { }\r\n\r\n stage: number;\r\n showAction: boolean;\r\n reviewMode: boolean = true;\r\n\r\n ngOnInit() {\r\n this.isrv.StartReview();\r\n this.stage = 0;\r\n }\r\n\r\n GoForward() {\r\n if (this.stage === 0 && (!this.isrv.chkGambling || !this.isrv.chkPattern || !this.isrv.chkBehaviour)) {\r\n alert('Please check the yes/no boxes before proceeding')\r\n } else if (this.stage === 1) {\r\n if (!this.isrv.ReviewHasAction() && !this.isrv.Review.NoActionTaken) {\r\n alert('You must select at least one action before you can proceed.')\r\n } else {\r\n this.stage = 2;\r\n }\r\n } else if (this.stage === 2) {\r\n // console.log('go forward stage 2');\r\n this.SetLoadingData.next();\r\n this.router.navigate(['/user/customer-interaction/view', this.isrv.Interaction.InteractionId]);\r\n this.isrv.setSaveInteraction(true);\r\n\r\n // Review later, this is not functioning properly and required a hack to process to the correct page.\r\n this.isrv.LoadViewModel(this.isrv.Interaction.InteractionId, true).then(value => {\r\n this.ReloadAndShowMainApp.next();\r\n })\r\n this.isrv.Interaction.TagIdCollection.push(4);\r\n this.ShowDefaultApp.next();\r\n } else {\r\n this.stage = 2;\r\n }\r\n }\r\n\r\n GoBack() {\r\n if (this.stage === 0) {\r\n this.isrv.ReviewPageVisited = true;\r\n this.ShowDefaultApp.next();\r\n } else {\r\n this.stage = 0;\r\n }\r\n }\r\n\r\n ReturnToActionPage() {\r\n if (this.stage === 0 && (!this.isrv.chkGambling || !this.isrv.chkPattern || !this.isrv.chkBehaviour)) {\r\n alert('Please check the yes/no boxes before proceeding')\r\n } else {\r\n this.showAction = true;\r\n this.stage = 1;\r\n }\r\n }\r\n\r\n @Output() SetLoadingData = new EventEmitter();\r\n @Output() ShowDefaultApp = new EventEmitter();\r\n @Output() ReloadAndShowMainApp = new EventEmitter();\r\n\r\n}\r\n","
\r\n
\r\n \r\n \r\n \r\n
\r\n\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, Output, EventEmitter } from '@angular/core';\r\nimport { Gender } from 'src/app/models/Gender';\r\nimport { Honorific } from 'src/app/models/Honorific';\r\nimport { ActorService } from 'src/app/services/actor.service';\r\nimport { ErrorhanderService } from 'src/app/services/errorhander.service';\r\nimport { InteractionService } from 'src/app/services/interaction.service';\r\n\r\n@Component({\r\n selector: 'app-update-details',\r\n templateUrl: './update-details.component.html',\r\n styleUrls: ['./update-details.component.scss']\r\n})\r\nexport class UpdateDetailsComponent implements OnInit {\r\n\r\n public showForwardArrow: boolean = true;\r\n public stage: number = -1;\r\n public honorifics: Honorific[] = [];\r\n public genders: Gender[] = [];\r\n\r\n constructor(public isrv: InteractionService, public asrv: ActorService, public errsrv: ErrorhanderService) { }\r\n\r\n ngOnInit() {\r\n this.asrv.GetHonorifics().then(value => {\r\n this.honorifics = value;\r\n })\r\n\r\n this.asrv.GetGenders().then(value => {\r\n this.genders = value;\r\n })\r\n\r\n this.stage = 0;\r\n }\r\n\r\n GoForward() {\r\n switch (this.stage) {\r\n case 0:\r\n if (this.DetailsAreValid()) {\r\n this.stage++;\r\n }\r\n break;\r\n case 1:\r\n if (this.stage === 1 && !this.MediaIsValid()) {\r\n this.errsrv.ShowValidationOops('No image!', 'You must supply a photo of the customer or select an icon to proceed.');\r\n } else {\r\n if (!this.isrv.HasIconImage()) {\r\n this.SetLoadingData.next();\r\n this.isrv.Save(false).then(value => {\r\n this.ReloadAndShowMainApp.next();\r\n });\r\n } else {\r\n this.stage++;\r\n }\r\n }\r\n break;\r\n default: \r\n this.SetLoadingData.next();\r\n this.isrv.Save(false).then(value => {\r\n this.ReloadAndShowMainApp.next();\r\n });\r\n break;\r\n }\r\n }\r\n\r\n GoBack() {\r\n switch (this.stage) {\r\n case 1 || 2:\r\n this.stage--;\r\n break; \r\n default:\r\n this.ShowDefaultApp.next();\r\n break;\r\n }\r\n }\r\n\r\n DetailsAreValid(): boolean {\r\n let biologicalModel = this.isrv.Interaction.InteractedActorCompositeModel.BiologicalActorCompositeModel;\r\n if (!biologicalModel.HonorificId) {\r\n this.errsrv.ShowValidationOops('No title selected!', 'You must supply the customers title.');\r\n return false;\r\n }\r\n\r\n if (!biologicalModel.GenderId) {\r\n this.errsrv.ShowValidationOops('No gender selected!', 'You must supply the customers gender.');\r\n return false;\r\n }\r\n\r\n if ((!biologicalModel.Forename || !biologicalModel.Surname) && !biologicalModel.Alias) {\r\n this.errsrv.ShowValidationOops('No names filled out!', 'You must supply the customers firstname and surname, or a nickname.');\r\n return false;\r\n }\r\n\r\n if (biologicalModel.Alias) {\r\n if (this.NameIsValid(biologicalModel.Alias)) {\r\n this.errsrv.ShowValidationOops('Invalid nickname!', 'Nicknames cannot contain numeric characters or spaces.');\r\n return false;\r\n }\r\n } else {\r\n if (this.NameIsValid(biologicalModel.Forename) || this.NameIsValid(biologicalModel.Surname)) {\r\n this.errsrv.ShowValidationOops('Invalid name!', 'Names cannot contain numeric characters or spaces.');\r\n return false;\r\n }\r\n }\r\n \r\n return true;\r\n }\r\n\r\n NameIsValid(name: string): boolean {\r\n return /\\d/.test(name) || /\\s/g.test(name);;\r\n }\r\n\r\n MediaIsValid(): boolean {\r\n if (!this.isrv.Interaction.MediaModelCollection.some(i => i.MediaClassKeyId === 4)) {\r\n return false;\r\n }\r\n\r\n let mediaId = this.isrv.Interaction.MediaModelCollection.find(i => i.MediaClassKeyId === 4).MediaId;\r\n let imgString = this.isrv.Interaction.MediaModelCollection.find(i => i.MediaClassKeyId === 4).Data;\r\n if (!(mediaId > 0 && mediaId <= 100) && imgString === this.isrv.whiteSpaceImage) {\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n ShowHideForwardArrow() {\r\n this.showForwardArrow = !this.showForwardArrow;\r\n }\r\n\r\n @Output() SetLoadingData = new EventEmitter();\r\n @Output() ShowDefaultApp = new EventEmitter();\r\n @Output() ReloadAndShowMainApp = new EventEmitter();\r\n}\r\n","
\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n = 0) && (stage <= 2) && (showForwardArrow)\">\r\n
\r\n
\r\n
","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-upload-cctv',\r\n templateUrl: './upload-cctv.component.html',\r\n styleUrls: ['./upload-cctv.component.scss']\r\n})\r\nexport class UploadCctvComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","

upload-cctv works!

\r\n","
\r\n \r\n
\r\n\r\n\r\n
\r\n \r\n
\r\n
\r\n

Document not found

\r\n
\r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { ApiService } from 'src/app/services/api.service';\r\n\r\n@Component({\r\n selector: 'app-documents',\r\n templateUrl: './documents.component.html',\r\n styleUrls: ['./documents.component.scss']\r\n})\r\nexport class DocumentsComponent implements OnInit {\r\n documentNotFound = false;\r\n document = '';\r\n isLoading = true;\r\n constructor(\r\n private _api: ApiService,\r\n private _route: ActivatedRoute\r\n ) {\r\n const _docID = this._route.snapshot.params['id'];\r\n this._api.getPublicDocument(_docID).subscribe(results => {\r\n this.isLoading = true;\r\n const _docVersion = results.reverse()[0];\r\n this._api.getPublicDocumentVersion(_docID, _docVersion).subscribe(document => {\r\n this.document = document;\r\n // console.log(this.document);\r\n this.isLoading = false;\r\n });\r\n },\r\n error => {\r\n error.status === 404 ? this.documentNotFound = true : this.documentNotFound = false;\r\n this.isLoading = false;\r\n }\r\n );\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-detail',\r\n templateUrl: './detail.component.html',\r\n styleUrls: ['./detail.component.scss']\r\n})\r\nexport class DetailComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","

detail works!

\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ExcluderService } from 'src/app/services/excluder.service';\r\n\r\n@Component({\r\n selector: 'app-excluder',\r\n templateUrl: './excluder.component.html',\r\n styleUrls: ['./excluder.component.scss']\r\n})\r\nexport class ExcluderComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-exclusion-journey',\r\n templateUrl: './exclusion-journey.component.html',\r\n styleUrls: ['./exclusion-journey.component.scss']\r\n})\r\nexport class ExclusionJourneyComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n 0) && (stage < 7) && (showForwardArrow)\">\r\n
\r\n
\r\n

\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n = 0) && (stage < 6) && (showForwardArrow)\">\r\n
\r\n
\r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { ActorService } from 'src/app/services/actor.service';\r\nimport { OrganisationService } from 'src/app/services/organisation.service';\r\nimport { Honorific } from 'src/app/models/Honorific';\r\nimport { Gender } from 'src/app/models/Gender';\r\nimport { ExclusionReason } from 'src/app/models/ExclusionReason';\r\nimport { ExclusionDurationOption } from 'src/app/models/ExclusionDurationOption';\r\nimport { Organisation } from 'src/app/models/Organisation';\r\nimport { Site } from 'src/app/models/Site';\r\nimport { IdentificationDocument } from 'src/app/models/IdentificationDocumentKey';\r\nimport { SiteCollection } from 'src/app/models/SiteCollection';\r\nimport { ErrorhanderService } from 'src/app/services/errorhander.service';\r\nimport { UserSites } from 'src/app/models/UserSites';\r\nimport { DataService } from 'src/app/services/data.service';\r\nimport { ExcluderService } from 'src/app/services/excluder.service';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-excluder-new',\r\n templateUrl: './new.component.html',\r\n styleUrls: ['./new.component.scss']\r\n})\r\nexport class NewComponent implements OnInit {\r\n formMessage;\r\n displayWarning: boolean;\r\n constructor( \r\n public esrv: ExcluderService,\r\n public asrv: ActorService, \r\n private osrv: OrganisationService,\r\n private titleService: Title,\r\n private router: Router\r\n ) { \r\n }\r\n\r\n public stage: number = 0;\r\n public showSpinner: boolean;\r\n public formName = 'Excluder';\r\n public showForwardArrow = true;\r\n\r\n // Form Control Collections\r\n public honorifics: Honorific[] = [];\r\n public genders: Gender[] = [];\r\n public sites: Site[] = [];\r\n public organisations: Organisation[] = [];\r\n public idDocTypes: IdentificationDocument[] = [];\r\n public motorWayCollection: SiteCollection[] = []; \r\n public duration: number = 365;\r\n\r\n ngOnInit() {\r\n if (!this.esrv.CurrentExclusion) {\r\n this.router.navigate['user/exclusion/interaction']\r\n }\r\n\r\n this.esrv.ReInitiateExclusion();\r\n this.titleService.setTitle('New Exclusion');\r\n //default values for exclusion\r\n\r\n this.asrv.GetHonorifics().then(value => {\r\n this.honorifics = value;\r\n });\r\n this.asrv.GetGenders().then(value => {\r\n this.genders = value;\r\n this.showSpinner = false;\r\n })\r\n\r\n let motorWayServicesSubscription = this.osrv.GetMotorWayServices().subscribe(sites => {\r\n this.motorWayCollection = sites;\r\n motorWayServicesSubscription.unsubscribe();\r\n }, err => {\r\n motorWayServicesSubscription.unsubscribe();\r\n });\r\n }\r\n\r\n public GoBack() {\r\n if(this.stage > 0) {\r\n this.stage -= 1;\r\n window.scroll(0,0);\r\n if (this.stage === 4) {\r\n this.ShowHideForwardArrow();\r\n }\r\n }\r\n }\r\n\r\n public GoForward() {\r\n this.esrv.ValidatePage(this.stage).then(value => {\r\n if (value) {\r\n this.stage+=1;\r\n window.scroll(0,0);\r\n if (this.stage === 4) {\r\n this.ShowHideForwardArrow();\r\n }\r\n }\r\n });\r\n }\r\n\r\n ImageTaken() {\r\n this.ShowHideForwardArrow();\r\n this.GoForward();\r\n }\r\n\r\n ImageDiscarded() {\r\n this.ShowHideForwardArrow();\r\n this.GoBack();\r\n }\r\n\r\n ShowHideForwardArrow() {\r\n this.showForwardArrow = !this.showForwardArrow;\r\n }\r\n}\r\n\r\n\r\n\r\n","import { Component, OnInit, AfterViewInit, ViewChild, ElementRef, Output, EventEmitter } from '@angular/core';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\n\r\nimport { ISDDateMethods } from 'src/app/models/ISDDateMethods';\r\nimport { ActorService } from 'src/app/services/actor.service';\r\nimport { Subscription } from 'rxjs';\r\nimport { Honorific } from 'src/app/models/Honorific';\r\nimport { Gender } from 'src/app/models/Gender';\r\nimport { ExclusionReason } from 'src/app/models/ExclusionReason';\r\nimport { ExclusionDurationOption } from 'src/app/models/ExclusionDurationOption';\r\nimport { OrganisationBrief } from 'src/app/models/OrganisationBrief';\r\nimport { Site } from 'src/app/models/Site';\r\nimport { IdentificationDocument } from 'src/app/models/IdentificationDocumentKey';\r\nimport { DataService } from 'src/app/services/data.service';\r\nimport { ExcluderService } from 'src/app/services/excluder.service';\r\n\r\nconst redalert: string = '#d11722';\r\nconst yellowalert: string = '#f8b03d';\r\nconst greenalert: string = '#64b32e';\r\nconst bluealert: string = '#24ace2';\r\nconst defaultBorderColor = '#223464';\r\n\r\n@Component({\r\n selector: 'app-update',\r\n templateUrl: './update.component.html',\r\n styleUrls: ['./update.component.scss']\r\n})\r\nexport class UpdateComponent implements OnInit, AfterViewInit {\r\n Title;\r\n formName;\r\n displayWarning: boolean;\r\n showSpinner: boolean;\r\n @ViewChild('card') card: ElementRef;\r\n\r\n constructor(\r\n public dsrv: DataService, \r\n private route: ActivatedRoute, \r\n public asrv: ActorService, \r\n public esrv: ExcluderService,\r\n private titleService: Title,\r\n private router: Router\r\n ) {}\r\n\r\n public honorifics: Honorific[] = [];\r\n public genders: Gender[] = [];\r\n public formMessage = \"Exclusion Updated\";\r\n public stage: number = 0;\r\n public showForwardArrow: boolean = true;\r\n private dateMethods: ISDDateMethods = new ISDDateMethods();\r\n public excluderImage: string;\r\n\r\n\r\n public exclusionImageLoaded: boolean = false;\r\n public exclusionLoaded: boolean = false;\r\n\r\n ngOnInit() {\r\n this.GetExcluder();\r\n\r\n this.asrv.GetHonorifics().then(value => {\r\n this.honorifics = value;\r\n });\r\n this.asrv.GetGenders().then(value => {\r\n this.genders = value;\r\n })\r\n }\r\n\r\n GetExcluder() {\r\n if (!this.ExclusionExists()) {\r\n this.esrv.LoadExclusion(+this.route.snapshot.params['id']).then(value => {\r\n this.exclusionLoaded = true;\r\n this.GetExcluderImage();\r\n })\r\n } else {\r\n this.exclusionLoaded = true;\r\n this.GetExcluderImage();\r\n }\r\n }\r\n\r\n private ExclusionExists(): boolean {\r\n return this.esrv.CurrentExclusion? true: false;\r\n }\r\n\r\n GetExcluderImage() {\r\n if (!this.ExclusionImageExists()) {\r\n this.esrv.GetCurrentExcluderImage().then(value => {\r\n this.SetExcluderImage();\r\n })\r\n } else {\r\n this.SetExcluderImage();\r\n }\r\n }\r\n\r\n private ExclusionImageExists(): boolean {\r\n if (!this.esrv.CurrentExclusion.MediaModelCollection.some(i => i.Data)) {\r\n return false;\r\n }\r\n return this.esrv.CurrentExclusion.MediaModelCollection.some(i => i.MediaClassKeyId === 4);\r\n }\r\n\r\n private SetExcluderImage() {\r\n this.excluderImage = this.esrv.CurrentExclusion.MediaModelCollection.find(i => i.MediaClassKeyId === 4).Data;\r\n this.exclusionImageLoaded = true;\r\n }\r\n\r\n ngAfterViewInit() {};\r\n\r\n public GoBack() {\r\n if(this.stage > 0) {\r\n this.stage -= 1;\r\n window.scroll(0,0);\r\n }\r\n }\r\n\r\n public GoForward() {\r\n this.esrv.ValidatePage(this.stage).then(value => {\r\n if (value) {\r\n this.stage+=1;\r\n window.scroll(0,0);\r\n }\r\n })\r\n }\r\n\r\n ShowHideForwardArrow() {\r\n this.showForwardArrow = !this.showForwardArrow;\r\n }\r\n\r\n UpdateDetails() {\r\n this.PreventProcess();\r\n this.esrv.SaveExclusion().then(value => {\r\n this.GoForward();\r\n });\r\n }\r\n\r\n GetEndDate(): Date {\r\n return this.esrv.GetCurrentExcluderEndDate();\r\n }\r\n\r\n PreventProcess() {\r\n (document.getElementById('btnProcessExclusion') as HTMLButtonElement).disabled = true;\r\n (document.getElementById('btnProcessExclusion') as HTMLButtonElement).style.filter = 'Grayscale(0.75)';\r\n }\r\n\r\n GetBackgroundColor() { \r\n let diffDaysStart = this.dateMethods.DateDifferenceInDays(this.esrv.CurrentExclusion.InteractionMonitoringPeriod.Start)\r\n let diffDaysEnd = this.dateMethods.DateDifferenceInDays(this.dateMethods.AddDays(this.esrv.CurrentExclusion.InteractionMonitoringPeriod.Start, this.esrv.CurrentExclusion.InteractionMonitoringPeriod.Duration));\r\n if(this.esrv.CurrentExclusion.ClientValues.ReinstatementExists) {\r\n return bluealert;\r\n } else if(diffDaysStart <= 5)\r\n return redalert;\r\n else if(diffDaysEnd >= 0)\r\n return greenalert;\r\n else return yellowalert;\r\n }\r\n\r\n CallCloseForm() {\r\n this.router.navigate(['/user/exclusion/view', this.esrv.CurrentExclusion.InteractionId]);\r\n }\r\n\r\n\r\n}\r\n\r\n\r\n","
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{Title}} {{esrv.CurrentExclusion.InteractedActorCompositeModel.BiologicalActorCompositeModel.Forename}} {{esrv.CurrentExclusion.InteractedActorCompositeModel.BiologicalActorCompositeModel.Surname}}

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

Update Exclusion

\r\n

Reference: {{esrv.CurrentExclusion.Reference}}

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

\r\n \r\n
\r\n
\r\n \r\n
\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, Input, Output, EventEmitter } from '@angular/core';\r\nimport { ExcluderBrief } from 'src/app/models/ExcluderBrief';\r\nimport { ISDDateMethods } from 'src/app/models/ISDDateMethods';\r\nimport { ActorService } from 'src/app/services/actor.service';\r\nimport { ExcluderGalleryService } from 'src/app/services/excluder-gallery.service';\r\n\r\n@Component({\r\n selector: 'app-excluder-card',\r\n templateUrl: './excluder-card.component.html',\r\n styleUrls: ['./excluder-card.component.scss']\r\n})\r\nexport class ExcluderCardComponent implements OnInit {\r\n\r\n public showImageSpinner: boolean;\r\n\r\n private dateMethods: ISDDateMethods = new ISDDateMethods();\r\n public excluder: ExcluderBrief;\r\n @Input('excluder') get Excluder(): ExcluderBrief {\r\n return this.excluder;\r\n };\r\n @Output('excluder') excluderChange: EventEmitter = new EventEmitter();\r\n set Excluder(val: ExcluderBrief) {\r\n this.excluder = val;\r\n this.excluderChange.emit(this.excluder);\r\n }\r\n\r\n constructor(public gsrv: ExcluderGalleryService, public asrv: ActorService) { }\r\n\r\n ngOnInit() {\r\n this.showImageSpinner = true;\r\n this.asrv.GetMediaForInteraction(this.Excluder.InteractionId).then(value => {\r\n this.excluder.Image = value.Data;\r\n this.excluder.MediaId = value.MediaId;\r\n const _interaction = this.gsrv.ExcluderBriefsToShow.find(i => i.InteractionId === this.excluder.InteractionId);\r\n if (_interaction) {\r\n _interaction.Image = value.Data\r\n }\r\n // this.gsrv.ExcluderBriefsToShow.find(i => i.InteractionId === this.excluder.InteractionId).Image = value.Data;\r\n this.showImageSpinner = false;\r\n });\r\n }\r\n\r\n GetExcluderColour(excluder: ExcluderBrief): string {\r\n let diffDaysStart = this.dateMethods.DateDifferenceInDays(excluder.Start)\r\n let diffDaysEnd = this.dateMethods.DateDifferenceInDays(this.dateMethods.AddDays(excluder.Start, excluder.PeriodDays));\r\n if (this.ExcluderIsCoolingOff(excluder)) {\r\n return this.gsrv.Settings.Colors.Blue;\r\n } else if (diffDaysStart <= 5)\r\n return this.gsrv.Settings.Colors.Red;\r\n else if (diffDaysEnd >= 0)\r\n return this.gsrv.Settings.Colors.Green;\r\n else return this.gsrv.Settings.Colors.Yellow;\r\n }\r\n\r\n GetExtensionInMonths(excluder: ExcluderBrief) {\r\n // console.log('*******', excluder);\r\n return this.dateMethods.GetMonthDifference(excluder.Extensions.Start, excluder.Extensions.Duration);\r\n }\r\n\r\n GetEndDate(excluder: ExcluderBrief): Date {\r\n let startDate: Date = new Date(excluder.Start);\r\n return new Date(this.dateMethods.AddDays(excluder.Start, excluder.PeriodDays));\r\n }\r\n\r\n ExcluderIsCoolingOff(excluder: ExcluderBrief) {\r\n var diff = this.dateMethods.DateDifferenceInDays(excluder.Reinstatement.Accepted);\r\n if (diff === 0) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n ExcluderRecentlyBreached(excluder: ExcluderBrief): Boolean {\r\n if (excluder.ExclusionBreachesCollection.length > 0) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n ViewExcluder(ex: any) {\r\n \r\n }\r\n}\r\n","
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n {{excluder.Forename}}
{{excluder.Surname}}
\r\n
\r\n
\r\n {{excluder.Start | date: 'dd/MM/yyyy'}}
{{GetEndDate(excluder) | date: 'dd/MM/yyyy'}}
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
+{{GetExtensionInMonths(excluder)}}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit, ViewChild, ElementRef, AfterViewInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { ExcluderBrief } from 'src/app/models/ExcluderBrief';\r\nimport { ISDDateMethods } from 'src/app/models/ISDDateMethods';\r\nimport { ActorService } from 'src/app/services/actor.service';\r\nimport { DataService } from 'src/app/services/data.service';\r\nimport { ExcluderGalleryService } from 'src/app/services/excluder-gallery.service';\r\nimport { ExcluderService } from 'src/app/services/excluder.service';\r\n\r\n@Component({\r\n selector: 'app-excluder-cards',\r\n templateUrl: './excluder-cards.component.html',\r\n styleUrls: ['./excluder-cards.component.scss', '../gallery.component.scss']\r\n})\r\n\r\nexport class ExcluderCardsComponent implements OnInit, AfterViewInit {\r\n\r\n @ViewChild('searchField') searchField: ElementRef;\r\n public searchPhrase: string;\r\n private dateMethods: ISDDateMethods = new ISDDateMethods();\r\n showSpinner: boolean;\r\n constructor(\r\n public gsrv: ExcluderGalleryService,\r\n public esrv: ExcluderService,\r\n public asrv: ActorService,\r\n private router: Router\r\n ) { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n ngAfterViewInit() {\r\n }\r\n\r\n ViewExcluder(excluder: ExcluderBrief) {\r\n this.esrv.StoreExcluderBrief(excluder);\r\n this.esrv.LoadExclusion(excluder.InteractionId).then(value => {\r\n this.router.navigate(['/user/exclusion/view', excluder.InteractionId]);\r\n });\r\n }\r\n\r\n GetExcluderColour(excluder: ExcluderBrief): string {\r\n let diffDaysStart = this.dateMethods.DateDifferenceInDays(excluder.Start)\r\n let diffDaysEnd = this.dateMethods.DateDifferenceInDays(this.dateMethods.AddDays(excluder.Start, excluder.PeriodDays));\r\n if (this.ExcluderIsCoolingOff(excluder)) {\r\n return this.gsrv.Settings.Colors.Blue;\r\n } else if (diffDaysStart <= 5)\r\n return this.gsrv.Settings.Colors.Red;\r\n else if (diffDaysEnd >= 0)\r\n return this.gsrv.Settings.Colors.Green;\r\n else return this.gsrv.Settings.Colors.Yellow;\r\n }\r\n\r\n ExcluderIsCoolingOff(excluder: ExcluderBrief) {\r\n var diff = this.dateMethods.DateDifferenceInDays(excluder.Reinstatement.Accepted);\r\n if (diff > 0 && diff < 1) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n}\r\n","
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n 0\" style=\"margin-top:10px;margin-bottom:10px;\">Page {{gsrv.CurrentPage+1}}\r\n / {{gsrv.MaximumPageCount}}\r\n
\r\n
\r\n
\r\n 0)\">\r\n
\r\n \r\n
\r\n (gsrv.CurrentPage+1))\">\r\n
\r\n
\r\n
","import { Component, OnInit, OnDestroy, Input, Output, EventEmitter } from '@angular/core';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { Router } from '@angular/router';\r\nimport { ApiService } from 'src/app/services/api.service';\r\nimport { DataService } from 'src/app/services/data.service';\r\nimport { ExcluderGalleryService } from 'src/app/services/excluder-gallery.service';\r\nimport { ExcluderService } from 'src/app/services/excluder.service';\r\nimport { InactivityService } from 'src/app/services/inactivity.service';\r\n\r\n@Component({\r\n selector: 'app-gallery',\r\n templateUrl: './gallery.component.html',\r\n styleUrls: ['./gallery.component.scss']\r\n})\r\nexport class GalleryComponent implements OnInit {\r\n ShowExclusionButton: boolean;\r\n public showSpinner: boolean;\r\n public sort: number = 0;\r\n\r\n public fromReportBuilder: boolean;\r\n\r\n galleryInit$;\r\n\r\n @Input('fromReportBuilder') get FromReportBuilder(): boolean {\r\n return this.fromReportBuilder;\r\n };\r\n @Output('fromReportBuilder') fromReportBuilderChange: EventEmitter = new EventEmitter();\r\n set FromReportBuilder(val: boolean) {\r\n this.fromReportBuilder = val;\r\n this.fromReportBuilderChange.emit(this.fromReportBuilder);\r\n }\r\n\r\n constructor(\r\n public gsrv: ExcluderGalleryService,\r\n private router: Router,\r\n private titleService: Title,\r\n private _is: InactivityService,\r\n private _ds: DataService,\r\n private _api: ApiService\r\n ) {\r\n\r\n }\r\n\r\n ngOnInit() {\r\n this.titleService.setTitle('Exclusion Gallery');\r\n console.log('--------- Gallery Component Loaded');\r\n\r\n const _token = sessionStorage.getItem('__galleryToken');\r\n\r\n if (_token) {\r\n this._api.getCheckToken(_token).subscribe(\r\n results => {\r\n this._ds.setInitGallery(true);\r\n },\r\n error => {\r\n this._ds.setMemwordError(true);\r\n sessionStorage.removeItem('__galleryToken');\r\n }\r\n )\r\n } else {\r\n this._ds.setMemwordError(true);\r\n }\r\n\r\n this.galleryInit$ = this._ds.getInitGallery().subscribe(init => {\r\n this.galleryInit$.unsubscribe();\r\n if (!this._ds.dataLoaded) {\r\n if (!this.gsrv.initRunning) {\r\n this.initGallery();\r\n }\r\n } else {\r\n this._is.startMonitor();\r\n this._is.startTimer();\r\n }\r\n });\r\n }\r\n\r\n initGallery() {\r\n console.log('--------- Gallery Init Fired','First Load:', this.gsrv.FirstLoad);\r\n this.gsrv.Initialize().then(value => {\r\n \r\n if (this.gsrv.ExcluderBriefsCurrentlyVisible.length > 0) {\r\n this._ds.dataLoaded = true;\r\n this._is.startMonitor();\r\n this._is.startTimer();\r\n } else {\r\n this._ds.dataLoaded = false;\r\n console.log('no data loaded');\r\n this._ds.setMemwordError(true);\r\n }\r\n this.showSpinner = false;\r\n console.warn('gallery loaded');\r\n });\r\n }\r\n\r\n // initialInactiveSettings() {\r\n // console.log('Inactivity monitor starting');\r\n // const idleTimeoutInSeconds: number = 60;\r\n // const _isTimer = this.inactivityService.startWatching(idleTimeoutInSeconds).subscribe((isTimeOut: boolean) => {\r\n\r\n // if (isTimeOut) {\r\n // _isTimer.unsubscribe();\r\n // const _url = this.router.url;\r\n // if (_url === '/user/exclusion/gallery') {\r\n // this._ds.setMemwordError(true);\r\n // }\r\n // }\r\n // });\r\n // }\r\n\r\n CreateExcluder() {\r\n this.router.navigate(['/user/exclusion/new']);\r\n }\r\n\r\n SortOnChange() {\r\n switch (this.sort) {\r\n case 0:\r\n this.gsrv.SortByDateAscending();\r\n break;\r\n case 1:\r\n this.gsrv.SortByDateDescending();\r\n break;\r\n case 2:\r\n this.gsrv.SortByNameAscending();\r\n break;\r\n case 3:\r\n this.gsrv.SortByNameDescending();\r\n break;\r\n }\r\n }\r\n\r\n FilterOrganisations() {\r\n this.gsrv.ActiveSiteFilterId = 0;\r\n this.gsrv.PopulateSiteList().then(value => {\r\n this.gsrv.GetExcluderCards();\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n console.log('***leaving gallery');\r\n this._is.killSubscriptions();\r\n this._ds.setMemwordError(false);\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
New Exclusion
\r\n
\r\n \r\n
\r\n
24 Hour Cooling-off
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Current Exclusion
\r\n
\r\n \"Products\r\n
\r\n
Breach
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Awaiting Re-instatement
\r\n
\r\n
+6
\r\n
\r\n
Extension Applied
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n SE Less Than 5 Days\r\n
\r\n
\r\n
\r\n
\r\n
\r\n SE More Than 5 Days\r\n
\r\n
\r\n
\r\n
\r\n
\r\n SE Ended\r\n
\r\n
\r\n
\r\n \r\n
\r\n 24 Hour Cooling-off\r\n
\r\n
\r\n
\r\n \"Products\r\n
\r\n Breach\r\n
\r\n
\r\n
\r\n
+6
\r\n
\r\n Extension Applied\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Sort By\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Organisation\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n Site\r\n
\r\n \r\n
\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, Output, EventEmitter } from '@angular/core';\r\n\r\nimport { ActorService } from 'src/app/services/actor.service';\r\nimport { ISDDateMethods } from 'src/app/models/ISDDateMethods';\r\nimport { ExcluderService } from 'src/app/services/excluder.service';\r\nimport { BiologicalUserInfo, NonBiologicalName } from 'src/app/models/actor/Name';\r\nimport { Views_MediaModel } from 'src/app/models/InteractionExclusion/Views_MediaModel';\r\nimport { ExcluderViewService } from 'src/app/services/excluder-view.service';\r\n\r\n@Component({\r\n selector: 'app-extend',\r\n templateUrl: './extend.component.html',\r\n styleUrls: ['./extend.component.scss', '../view.component.scss']\r\n})\r\nexport class ExtendComponent implements OnInit {\r\n emailVerification;\r\n constructor(\r\n public asrv: ActorService,\r\n public esrv: ExcluderService,\r\n public evsrv: ExcluderViewService\r\n ) { }\r\n\r\n public showSendingSpinner: boolean = false;\r\n public durationPeriods: number[] = [6, 7, 8, 9, 10, 11, 12]\r\n public selectedDurationIndex: number = 6;\r\n public newStartDate: Date;\r\n public newStartDateString: string;\r\n public showPhotoApp: boolean = false;\r\n public associatedActorId: number;\r\n private dateMethods: ISDDateMethods = new ISDDateMethods();\r\n\r\n public startDate: Date;\r\n\r\n public updateImage: boolean;\r\n public mediaModel: Views_MediaModel[] = [];\r\n\r\n public loadingSiteDropDown: boolean;\r\n public siteId: number;\r\n public siteDropDown: NonBiologicalName[] = [];\r\n public loadingEmployeeDropDown: boolean;\r\n public employeeId: number;\r\n public employeeDropDown: BiologicalUserInfo[] = [];\r\n\r\n ngOnInit() {\r\n if (this.esrv.GetCurrentExcluderEndDate() > new Date()) {\r\n this.newStartDateString = this.esrv.GetExtensionStartDate().toString().slice(4, 15);\r\n } else { \r\n this.newStartDateString = new Date().toString().slice(4, 15);\r\n }\r\n\r\n this.loadingSiteDropDown = true;\r\n this.loadingEmployeeDropDown = true;\r\n this.PopulateSiteDropDown();\r\n }\r\n\r\n PopulateSiteDropDown() {\r\n this.loadingSiteDropDown = true;\r\n this.loadingEmployeeDropDown = true;\r\n this.asrv.PopulateDefaultEmployeeSitesSelect().then(value => {\r\n this.siteId = this.asrv.SiteSelect.KeySelected;\r\n this.loadingSiteDropDown = false;\r\n this.PopulateEmployeeDropDown();\r\n })\r\n }\r\n\r\n PopulateEmployeeDropDown() {\r\n this.loadingEmployeeDropDown = true;\r\n this.asrv.PopulateColleagueSelectForSiteId(this.siteId).then(value => {\r\n this.employeeId = this.asrv.GetMyUserID();\r\n this.loadingEmployeeDropDown = false;\r\n })\r\n }\r\n\r\n periodMovePrevious() {\r\n if (this.selectedDurationIndex <= 0) {\r\n this.selectedDurationIndex = 0;\r\n } else {\r\n this.selectedDurationIndex--;\r\n }\r\n }\r\n\r\n periodMoveNext() {\r\n if (this.selectedDurationIndex >= this.durationPeriods.length - 1) {\r\n this.selectedDurationIndex = this.durationPeriods.length - 1;\r\n } else {\r\n this.selectedDurationIndex++;\r\n }\r\n }\r\n\r\n ValidateAndSendData() {\r\n if (!this.showSendingSpinner) {\r\n this.showSendingSpinner = true;\r\n this.esrv.SaveExtension(this.durationPeriods[this.selectedDurationIndex], this.mediaModel).then(value => {\r\n this.showSendingSpinner = false;\r\n if (value) {\r\n this.esrv.CurrentExclusion.ClientValues.ExtensionExists = true;\r\n this.evsrv.ShowMainView(true);\r\n }\r\n });\r\n }\r\n }\r\n\r\n UpdatePhoto() {\r\n this.showPhotoApp = true;\r\n }\r\n\r\n ClosePhotoApp() {\r\n this.showPhotoApp = false;\r\n }\r\n\r\n @Output() CloseForm = new EventEmitter();\r\n}\r\n","
\r\n \r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n

Extend Exclusion

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n SITE*\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n Interview By\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n Start Date\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n Extend By\r\n
\r\n
\r\n <\r\n
\r\n \r\n
\r\n >\r\n
\r\n
\r\n MONTHS*\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
I confirm the extension to my self-exclusion
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { ActorService } from 'src/app/services/actor.service';\r\nimport { ExcluderViewService } from 'src/app/services/excluder-view.service';\r\nimport { ExcluderService } from 'src/app/services/excluder.service';\r\n\r\n@Component({\r\n selector: 'app-more-info',\r\n templateUrl: './more-info.component.html',\r\n styleUrls: ['./more-info.component.scss']\r\n})\r\nexport class MoreInfoComponent implements OnInit {\r\n\r\n public exclusionSites: string[] = [];\r\n public showSpinner: boolean;\r\n\r\n constructor(\r\n public esrv: ExcluderService, \r\n public evsrv: ExcluderViewService,\r\n public asrv: ActorService\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.showSpinner = true;\r\n this.asrv.GetSiteNameCollection(this.esrv.CurrentExclusion.SiteIdCollection).then(value => {\r\n value.forEach(site => {\r\n this.exclusionSites.push(site.Name);\r\n })\r\n this.showSpinner = false\r\n })\r\n }\r\n\r\n @Output() CloseForm = new EventEmitter();\r\n\r\n}\r\n","
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Sites Excluded From
{{site}}
\r\n
\r\n\r\n
\r\n \r\n
","import { Component, OnInit, Input, Output, EventEmitter, ViewChild, ElementRef } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\n\r\nimport { Breach } from 'src/app/models/Breach';\r\nimport { ActorService } from 'src/app/services/actor.service';\r\nimport { Site } from 'src/app/models/Site';\r\nimport { OrganisationService } from 'src/app/services/organisation.service';\r\nimport { DataService } from 'src/app/services/data.service';\r\nimport { ExcluderService } from 'src/app/services/excluder.service';\r\nimport { View_ExclusionBreachesCompositeModel } from 'src/app/models/InteractionExclusion/Breach/View_ExclusionBreachesCompositeModel';\r\nimport { BiologicalUserInfo, NonBiologicalName } from 'src/app/models/actor/Name';\r\nimport { ExcluderViewService } from 'src/app/services/excluder-view.service';\r\nimport { MatDatepickerInputEvent } from '@angular/material/datepicker';\r\n\r\n@Component({\r\n selector: 'app-record-breach',\r\n templateUrl: './record-breach.component.html',\r\n styleUrls: ['./record-breach.component.scss', '../view.component.scss']\r\n})\r\nexport class RecordBreachComponent implements OnInit {\r\n\r\n constructor(\r\n public dsrv: DataService,\r\n public asrv: ActorService,\r\n public esrv: ExcluderService,\r\n public evsrv: ExcluderViewService\r\n ) { }\r\n\r\n public loadingSiteDropDown: boolean;\r\n public siteDropDown: NonBiologicalName[] = [];\r\n public loadingEmployeeDropDown: boolean;\r\n public employeeId: number;\r\n public employeeDropDown: BiologicalUserInfo[] = [];\r\n public loadingUserDropDown: boolean;\r\n\r\n public showSendingSpinner: boolean = false;\r\n public actorName: string;\r\n public breach: View_ExclusionBreachesCompositeModel;\r\n\r\n @ViewChild('update', { static: true }) updateElement: ElementRef; \r\n\r\n events = [];\r\n addEvent(type: string, event: MatDatepickerInputEvent) {\r\n this.events.push(`${type}: ${event.value}`);\r\n }\r\n\r\n ngOnInit() {\r\n this.breach = new View_ExclusionBreachesCompositeModel();\r\n this.breach.Exclusions_InteractionId = this.esrv.CurrentExclusion.InteractionId;\r\n this.actorName = this.dsrv.GetUsername();\r\n this.loadingSiteDropDown = true;\r\n this.loadingEmployeeDropDown = true;\r\n this.PopulateSiteDropDown();\r\n }\r\n\r\n PopulateSiteDropDown() {\r\n this.loadingSiteDropDown = true;\r\n this.loadingEmployeeDropDown = true;\r\n this.asrv.PopulateDefaultEmployeeSitesSelect().then(value => {\r\n this.breach.SiteId = this.asrv.SiteSelect.KeySelected;\r\n this.loadingSiteDropDown = false;\r\n this.PopulateEmployeeDropDown();\r\n })\r\n }\r\n\r\n PopulateEmployeeDropDown() {\r\n this.loadingEmployeeDropDown = true;\r\n this.asrv.PopulateColleagueSelectForSiteId(this.breach.SiteId).then(value => {\r\n this.employeeId = this.asrv.GetMyUserID();\r\n this.loadingEmployeeDropDown = false;\r\n })\r\n }\r\n\r\n ValidateAndSendData() {\r\n if (!this.showSendingSpinner) {\r\n this.updateElement.nativeElement.disabled = true;\r\n if (!this.breach.ControllerDate) {\r\n alert('Please input the date of the breach.');\r\n this.updateElement.nativeElement.disabled = false;\r\n } else if (!this.breach.ControllerTime) {\r\n alert('Please input the time of the breach.');\r\n this.updateElement.nativeElement.disabled = false;\r\n } else if (!this.breach.SiteId) {\r\n alert('Please select the site where the breach took place.')\r\n this.updateElement.nativeElement.disabled = false;\r\n } else if (!this.employeeId) {\r\n alert('Please select the employee reporting the breach.');\r\n this.updateElement.nativeElement.disabled = false;\r\n } else {\r\n this.showSendingSpinner = true;\r\n this.breach.SetBreached();\r\n this.breach.AssociatedActorIdCollection = [];\r\n this.breach.AssociatedActorIdCollection.push(this.employeeId);\r\n\r\n this.esrv.SaveBreach(this.breach).then(value => {\r\n if (value) {\r\n this.evsrv.ShowMainView(true)\r\n } else {\r\n this.updateElement.nativeElement.disabled = false;\r\n this.showSendingSpinner = false;\r\n }\r\n });\r\n }\r\n }\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n

Record Breach

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n SITE\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n Interview By\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n Breach Date\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n Breach 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 BREACH DETAILS\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n","
\r\n
\r\n
\r\n

Reinstate Self-Exclusion

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Organisation*\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n Site*\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n Interview By\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n Method\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n Provided Ref:\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n Expected Ref:\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n Date\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
{{esrv.ReinstatementControllers.ConsideredControl.Label}}
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
{{esrv.ReinstatementControllers.RecievedCounsellingControl.Label}}
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
{{esrv.ReinstatementControllers.UnderstandsCoolingOffControl.Label}}
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
{{esrv.ReinstatementControllers.AwareOfMonitoringControl.Label}}
\r\n \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, Output, EventEmitter, ViewChild, ElementRef } from '@angular/core';\r\nimport { ActorService } from 'src/app/services/actor.service';\r\nimport { ExcluderService } from 'src/app/services/excluder.service';\r\nimport { BiologicalUserInfo, NonBiologicalName } from 'src/app/models/actor/Name';\r\nimport { ExcluderViewService } from 'src/app/services/excluder-view.service';\r\nimport { MatDatepickerInputEvent } from '@angular/material/datepicker';\r\n\r\n@Component({\r\n selector: 'app-reinstate',\r\n templateUrl: './reinstate.component.html',\r\n styleUrls: ['./reinstate.component.scss']\r\n})\r\nexport class ReinstateComponent implements OnInit {\r\n\r\n constructor(\r\n public asrv: ActorService,\r\n public esrv: ExcluderService,\r\n public evsrv: ExcluderViewService\r\n ) { }\r\n\r\n public showSendingSpinner: boolean = false;\r\n method: string;\r\n\r\n // Controller Properties\r\n public organisationFilterId: number;\r\n public siteFilterId: number;\r\n public employeeFilterId: number;\r\n public sites: NonBiologicalName[] = [];\r\n public employees: BiologicalUserInfo[] = [];\r\n public loadingOrganisationDropDown: boolean;\r\n public loadingSiteDropDown: boolean = true;\r\n public loadingEmployeeDropDown: boolean = true;\r\n public showReferenceValidation: boolean = false;\r\n public referenceProvidedIsValid: boolean;\r\n public inputReference: string = '';\r\n\r\n public ctrlChkBoxOne: boolean;\r\n public ctrlChkBoxTwo: boolean;\r\n public ctrlChkBoxThree: boolean;\r\n public ctrlChkBoxFour: boolean;\r\n\r\n @ViewChild('update', { static: true }) updateElement: ElementRef; \r\n\r\n events = [];\r\n addEvent(type: string, event: MatDatepickerInputEvent) {\r\n this.events.push(`${type}: ${event.value}`);\r\n }\r\n\r\n ngOnInit() {\r\n this.esrv.StartReinstatement();\r\n if (this.asrv.ElevatedMode) {\r\n this.asrv.PopulateSiteSelectForOrgansiationId(this.esrv.ReinstatementControllers.OrganisationId).then(value => {\r\n this.esrv.ReinstatementControllers.SiteId = this.asrv.SiteSelect.KeySelected;\r\n this.loadingSiteDropDown = false;\r\n this.asrv.PopulateColleagueSelectForSiteId(this.esrv.ReinstatementControllers.SiteId).then(value => {\r\n this.esrv.ReinstatementControllers.EmployeeId = this.asrv.ColleagueSelect.KeySelected;\r\n this.loadingEmployeeDropDown = false;\r\n })\r\n });\r\n } else {\r\n this.PopulateSiteDropDown();\r\n }\r\n }\r\n\r\n PopulateSiteDropDown() {\r\n this.loadingSiteDropDown = true;\r\n this.loadingEmployeeDropDown = true;\r\n this.asrv.PopulateDefaultEmployeeSitesSelect().then(value => {\r\n this.esrv.ReinstatementControllers.SiteId = this.asrv.SiteSelect.KeySelected;\r\n this.loadingSiteDropDown = false;\r\n this.PopulateEmployeeDropDown();\r\n })\r\n }\r\n\r\n PopulateEmployeeDropDown() {\r\n this.loadingEmployeeDropDown = true;\r\n this.asrv.PopulateColleagueSelectForSiteId(this.esrv.ReinstatementControllers.SiteId).then(value => {\r\n this.esrv.ReinstatementControllers.EmployeeId = this.asrv.ColleagueSelect.KeySelected;\r\n this.loadingEmployeeDropDown = false;\r\n })\r\n }\r\n\r\n ValidateAndSendData() {\r\n this.showSendingSpinner = true;\r\n this.esrv.ReinstatementControllers.AwareOfMonitoringControl.DomId;\r\n if (this.RequiresValidation()) {\r\n this.showSendingSpinner = false;\r\n alert('The Customers Provided Ref must match the Expected Ref.');\r\n return;\r\n } else {\r\n this.esrv.ReinstatementSave().then(value => {\r\n if (value) {\r\n this.evsrv.ShowMainView(true);\r\n }\r\n this.showSendingSpinner = false;\r\n }).catch(error => {\r\n this.showSendingSpinner = false;\r\n });\r\n }\r\n }\r\n\r\n\r\n RequiresValidation(): boolean {\r\n if (this.esrv.ReinstatementControllers.MethodId === 2 && this.inputReference !== this.esrv.CurrentExclusion.Reference) {\r\n this.referenceProvidedIsValid = false;\r\n this.showReferenceValidation = true;\r\n return true;\r\n } else {\r\n this.referenceProvidedIsValid = true;\r\n this.showReferenceValidation = false;\r\n }\r\n return false;\r\n }\r\n \r\n CloseReferenceValidation() {\r\n this.showReferenceValidation = false;\r\n }\r\n}\r\n","import { Component, OnInit, Input, Output, EventEmitter, ViewChild, ElementRef, AfterViewInit } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\nimport { debounceTime, distinctUntilChanged } from 'rxjs/operators';\r\nimport { NonBiologicalName } from 'src/app/models/actor/Name';\r\nimport { Maps } from 'src/app/models/google-maps/maps'\r\nimport { Site } from 'src/app/models/Site';\r\nimport { ActorService } from 'src/app/services/actor.service';\r\nimport { ExcluderViewService } from 'src/app/services/excluder-view.service';\r\nimport { ExcluderService } from 'src/app/services/excluder.service';\r\n\r\n@Component({\r\n selector: 'app-update-exclusion',\r\n templateUrl: './update-exclusion.component.html',\r\n styleUrls: ['./update-exclusion.component.scss']\r\n})\r\nexport class UpdateExclusionComponent implements OnInit, AfterViewInit {\r\n @ViewChild('map') mapElement: ElementRef;\r\n private map: Maps = new Maps(this.esrv, this.asrv);\r\n public exclusionSitePostcode: string;\r\n public radius = new Subject();\r\n public mainSite: Site = new Site();\r\n public sitesToDisplay: Site[];\r\n public zoom: number = 10;\r\n public showSendingSpinner: boolean;\r\n showSpinner: boolean;\r\n public radiusControl = new Subject();\r\n public originalRadius;\r\n public searchType: number = 0;\r\n /*\r\n 0 = Circle\r\n 1 = Polygon\r\n */\r\n\r\n sites: Site[];\r\n @Input('sites') get Sites(): Site[] {\r\n return this.sites;\r\n };\r\n @Output('sites') sitesChange: EventEmitter = new EventEmitter();\r\n set Sites(val: Site[]) {\r\n this.sites = val;\r\n this.sitesChange.emit(this.sites);\r\n }\r\n\r\n constructor(\r\n public esrv: ExcluderService, \r\n public evsrv: ExcluderViewService,\r\n public asrv: ActorService) {\r\n this.radiusControl.pipe(\r\n debounceTime(400),\r\n distinctUntilChanged())\r\n .subscribe(value => {\r\n if (this.esrv.CurrentExclusion.Radius) {\r\n if (this.esrv.CurrentExclusion.Radius > 0) {\r\n this.GetSiteList();\r\n }\r\n }\r\n }\r\n );\r\n }\r\n\r\n ngOnInit() {\r\n if (this.esrv.CurrentExclusion.Radius) {\r\n this.originalRadius = this.esrv.CurrentExclusion.Radius;\r\n }\r\n this.map.Initialise()\r\n this.GetExclusionSiteInfo().then(value => {\r\n this.GetSiteList();\r\n });\r\n }\r\n\r\n ngAfterViewInit() {\r\n }\r\n\r\n GetExclusionSiteInfo(): Promise {\r\n return new Promise(resolve => {\r\n let subscription = this.asrv.GetSiteDetails(this.esrv.CurrentExclusion.SiteId).subscribe(res => {\r\n subscription.unsubscribe();\r\n this.mainSite.ActorId = res.ActorId;\r\n this.mainSite.Latitude = res.Latitude;\r\n this.mainSite.Longitude = res.Longitude;\r\n resolve(true);\r\n });\r\n });\r\n }\r\n\r\n GetExclusionSitePostCode(): Promise {\r\n return new Promise(resolve => {\r\n let subscription = this.asrv.GetSiteDetails(this.esrv.CurrentExclusion.SiteId).subscribe(res => {\r\n subscription.unsubscribe();\r\n this.exclusionSitePostcode = res.Postcode\r\n }, err => {\r\n subscription.unsubscribe();\r\n this.exclusionSitePostcode = null;\r\n })\r\n })\r\n }\r\n\r\n GetSiteList() {\r\n this.esrv.UpdateSitesWithinRadius().then(value => {\r\n this.sitesToDisplay = value;\r\n this.GetGoogleMap();\r\n });\r\n }\r\n\r\n GetGoogleMap() {\r\n this.map.SiteMarkers = this.sites;\r\n this.esrv.CurrentExclusion.ClientValues.SiteCollection = [];\r\n if (this.searchType === 0) {\r\n this.ShowSitesWithinCircleRadius();\r\n } else {\r\n this.LoadInitialPolygon().then(value => {\r\n })\r\n }\r\n }\r\n\r\n SetDefaultZoom(): number {\r\n var x = +this.esrv.CurrentExclusion.Radius;\r\n switch (true) {\r\n case x === 1:\r\n return 14;\r\n case x === 2 || x === 3:\r\n return 13;\r\n case x >= 4 && x <= 6:\r\n return 12;\r\n case (x >= 7) && (x <= 12):\r\n return 11;\r\n case (x >= 13) && (x <= 24):\r\n return 10;\r\n case (x >= 25) && (x <= 48):\r\n return 9;\r\n case (x >= 49) && (x <= 96):\r\n return 8;\r\n default:\r\n return 7;\r\n }\r\n }\r\n\r\n ShowSitesWithinCircleRadius() {\r\n this.esrv.CurrentExclusion.SiteIdCollection = [];\r\n this.esrv.CurrentExclusion.ClientValues.SiteCollection = [];\r\n this.mapElement.nativeElement = this.map.GenerateMapWithCircle(this.mainSite.Latitude, this.mainSite.Longitude, this.SetDefaultZoom(), this.esrv.CurrentExclusion.Radius);\r\n this.SortSiteNameAscending();\r\n }\r\n\r\n SortSiteNameAscending(){\r\n this.esrv.CurrentExclusion.ClientValues.SiteCollection.sort((a, b) => {\r\n return a.Name.localeCompare(b.Name);\r\n }); \r\n }\r\n\r\n LoadInitialPolygon(): Promise {\r\n return new Promise(resolve => {\r\n this.mapElement.nativeElement = this.map.GenerateMapWithCustomDrawing(this.mainSite.Latitude, this.mainSite.Longitude, 11);\r\n resolve(true);\r\n })\r\n }\r\n\r\n ValidateAndSendData() {\r\n this.showSendingSpinner = true;\r\n this.esrv.CurrentExclusion.SiteIdCollection = this.esrv.CurrentExclusion.ClientValues.SiteCollection.map(function (el) { return el.ActorId; });\r\n if (this.searchType === 1) {\r\n this.esrv.CurrentExclusion.Radius = 0;\r\n }\r\n\r\n this.esrv.SaveExclusion().then(value => {\r\n this.showSendingSpinner = false;\r\n if (value) {\r\n this.evsrv.ShowMainView(true);\r\n }\r\n })\r\n }\r\n\r\n CloseForm() {\r\n this.esrv.CurrentExclusion.Radius = this.originalRadius;\r\n this.evsrv.ShowMainView(false);\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n Type\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n DISTANCE (KM)\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n \r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
","
\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n\r\n \r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \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, AfterViewInit, ViewChild, ElementRef, Directive, Input, OnChanges } from '@angular/core';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { ActorService } from 'src/app/services/actor.service';\r\nimport { Tags } from 'src/app/models/Tags';\r\nimport { ExcluderService } from 'src/app/services/excluder.service';\r\nimport { Site } from 'src/app/models/Site';\r\nimport { ExcluderViewService } from 'src/app/services/excluder-view.service';\r\nimport { ExcluderGalleryService } from 'src/app/services/excluder-gallery.service';\r\n\r\n@Component({\r\n selector: 'app-view',\r\n templateUrl: './view.component.html',\r\n styleUrls: ['./view.component.scss']\r\n})\r\nexport class ViewComponent implements OnInit {\r\n @ViewChild('btnExtend') btnExtend: ElementRef;\r\n @ViewChild('btnBreach') btnBreach: ElementRef;\r\n @ViewChild('btnReinstate') btnReinstate: ElementRef;\r\n @ViewChild('btnMoreInfo') btnMoreInfo: ElementRef;\r\n @ViewChild('btnUpdate') btnUpdate: ElementRef;\r\n @ViewChild('btnUpdateExclusion') btnUpdateExclusion: ElementRef;\r\n\r\n public showSpinner: boolean = true;\r\n constructor (\r\n public evsrv: ExcluderViewService,\r\n private titleService: Title,\r\n private route: ActivatedRoute,\r\n public asrv: ActorService,\r\n public gsrv: ExcluderGalleryService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.showSpinner = true;\r\n this.titleService.setTitle('View Exclusion'); \r\n this.evsrv.Initialize(+this.route.snapshot.params['id']).then(value => {\r\n this.showSpinner = false;\r\n })\r\n }\r\n}\r\n","import { Component, OnInit, Output, EventEmitter } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { product } from 'src/app/models/data/product';\r\nimport { Observable } from 'rxjs';\r\nimport { ActorService } from 'src/app/services/actor.service';\r\nimport { DataService } from 'src/app/services/data.service';\r\nimport { ApiService } from 'src/app/services/api.service';\r\n\r\ndeclare var require: any;\r\nconst jsPDF = require('jspdf');\r\n\r\n@Component({\r\n selector: 'app-feature-collection',\r\n templateUrl: './feature-collection.component.html',\r\n styleUrls: ['./feature-collection.component.scss']\r\n})\r\nexport class FeatureCollectionComponent implements OnInit {\r\n // \r\n\r\n crimeAlertActive = false;\r\n ageVericationActive = false;\r\n toolkitActive = false;\r\n exclusionsActive = true; // SHould always be true no matter what user level\r\n interactionsActive = true; // SHould always be true no matter what user level\r\n isLoading = true;\r\n constructor(\r\n private router: Router,\r\n public asrv: ActorService,\r\n public dsrv: DataService,\r\n private _api: ApiService\r\n ) {\r\n \r\n }\r\n // \r\n\r\n // \r\n public productCollection: Observable\r\n // \r\n\r\n @Output() public onSelection: EventEmitter = new EventEmitter();\r\n\r\n ngOnInit() {\r\n this.asrv.GetLoggedUserDetails().then(value => {\r\n const _userID = this.dsrv.GetMyUserID();\r\n this.getSubscriptions([_userID]);\r\n });\r\n }\r\n\r\n getSubscriptions(userIDs: Array) {\r\n this._api.getSubscriptionModel(userIDs, this.dsrv.Credentials()).subscribe(sub => {\r\n // console.log(sub);\r\n if (sub[0].SubscriptionCompositeModelCollection.length > 0) {\r\n const _activeSubs = sub[0].SubscriptionCompositeModelCollection[0].ServiceCatalogueCompositeModelCollection[0].ServiceCompositeModelCollection\r\n _activeSubs.forEach((item, index) => {\r\n if (item.Name === 'Age Verification') {\r\n this.ageVericationActive = true;\r\n }\r\n\r\n if (item.Name === 'Crime Alert') {\r\n this.crimeAlertActive = true;\r\n }\r\n\r\n if (item.Name === 'Exclusions') {\r\n this.exclusionsActive = true;\r\n }\r\n\r\n if (item.Name === 'Customer Interaction') {\r\n this.interactionsActive = true;\r\n }\r\n\r\n if (item.Name === 'Toolkit') {\r\n this.toolkitActive = true;\r\n }\r\n\r\n if (index === _activeSubs.length - 1) {\r\n this.isLoading = false;\r\n }\r\n });\r\n } else {\r\n this.isLoading = false;\r\n this.interactionsActive = true;\r\n this.exclusionsActive = true;\r\n }\r\n },\r\n error => {\r\n this.isLoading = false;\r\n this.interactionsActive = true;\r\n this.exclusionsActive = true;\r\n });\r\n }\r\n\r\n public LinkToExclusions() {\r\n this.onSelection.emit('exclusion');\r\n this.router.navigate(['/user/exclusion']);\r\n }\r\n\r\n public LinkToCustomerInteraction() {\r\n this.onSelection.emit('exclusion');\r\n this.router.navigate(['/user/customer-interaction'])\r\n }\r\n\r\n public OpenCompliance(val: boolean) {\r\n if (val) {\r\n window.open('https://bacta.org.uk/iump-login/')\r\n } else {\r\n window.open('https://training.bactaportal.org.uk/compliance/')\r\n }\r\n }\r\n\r\n public OpenTraining() {\r\n window.open('https://training.bactaportal.org.uk/')\r\n }\r\n\r\n public OpenUserGuide() {\r\n window.open('https://bacta.org.uk/wp-content/uploads/2021/07/BACTA-Portal-User-Guide-v1.7-May-2021.pdf');\r\n }\r\n\r\n public LinkToMaintenance(sender: number) {\r\n this.onSelection.emit(2);\r\n if (sender == 0) {\r\n this.router.navigate(['user/maintenance/organisation']);\r\n } else if (sender == 1) {\r\n this.router.navigate(['user/maintenance/site']);\r\n } else if (sender == 2) {\r\n this.router.navigate(['user/maintenance/user']);\r\n } else {\r\n this.router.navigate(['user/maintenance/data']);\r\n }\r\n }\r\n\r\n public openToolkit() {\r\n this.router.navigate(['user/toolkit']);\r\n }\r\n\r\n public openAgeVerify() {\r\n this.router.navigate(['user/age-verify']);\r\n }\r\n\r\n public openCrimeAlert() {\r\n this.router.navigate(['user/crime-alert']);\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n {{dsrv.GetVersion()}}\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\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 { MatDatepickerInputEvent } from '@angular/material/datepicker';\r\nimport { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack-bar';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { Router } from '@angular/router';\r\nimport { ActorService } from 'src/app/services/actor.service';\r\nimport { AdvancedSearchService } from 'src/app/services/advanced-search.service';\r\nimport { ApiService } from 'src/app/services/api.service';\r\nimport { DataService } from 'src/app/services/data.service';\r\nimport { ErrorhanderService } from 'src/app/services/errorhander.service';\r\nimport * as moment from 'moment';\r\n\r\n@Component({\r\n selector: 'app-fire-checks',\r\n templateUrl: './fire-checks.component.html',\r\n styleUrls: ['./fire-checks.component.scss']\r\n})\r\nexport class FireChecksComponent implements OnInit {\r\n checkDate;\r\n checkDateModel;\r\n checkTime;\r\n siteID;\r\n events: string[] = [];\r\n usingLoggedInName = false;\r\n employeeListLoading = false;\r\n loggedInUserID;\r\n employeeList = [];\r\n loggedInName;\r\n checkOKTrue;\r\n checkOKFalse;\r\n isSaving = false;\r\n employeeId;\r\n notes;\r\n errorMsg;\r\n isSavedSuccess;\r\n isError;\r\n itemListLoading = true;\r\n fireItem;\r\n fireItemList;\r\n constructor(\r\n public dsrv: DataService,\r\n public asrv: ActorService,\r\n private router: Router,\r\n public errsrv: ErrorhanderService,\r\n public assrv: AdvancedSearchService,\r\n private titleService: Title,\r\n private _api: ApiService,\r\n private _snackBar: MatSnackBar\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.getEmployeeList();\r\n this.getTagCollection(21);\r\n document.body.style.backgroundColor = '#c3cddd';\r\n }\r\n\r\n addEvent(type: string, event: MatDatepickerInputEvent) {\r\n this.events.push(`${type}: ${event.value}`);\r\n this.checkDate = moment(this.checkDateModel).format('YYYY-MM-DD');\r\n }\r\n\r\n getTagCollection(id: number) {\r\n this._api.getTagCollectionCompositeModel(id).subscribe(collection => {\r\n switch (id) {\r\n case 21: {\r\n this.fireItemList = collection.Tags;\r\n }\r\n }\r\n this.itemListLoading = false;\r\n });\r\n }\r\n\r\n setItem() { }\r\n\r\n getEmployeeList() {\r\n this.usingLoggedInName = false;\r\n this.employeeListLoading = true;\r\n const _userID = this.dsrv.GetMyUserID();\r\n this.loggedInUserID = _userID;\r\n // console.log(this.loggedInUserID);\r\n this._api.getUserOrgID(_userID).subscribe(results => {\r\n\r\n const _orgID = results[0].Organisations_ActorId;\r\n const _employeeIDs = [];\r\n this._api.getUserEmployeesList(_orgID).subscribe(employeeResults => {\r\n employeeResults.forEach(element => {\r\n _employeeIDs.push(element.Employees_ActorId);\r\n });\r\n\r\n this.asrv.GetBiologicalName(_employeeIDs).then(value => {\r\n this.employeeList = value;\r\n this.employeeListLoading = false;\r\n });\r\n },\r\n error => {\r\n this.usingLoggedInName = true;\r\n this.loggedInName = this.asrv.GetUsersFullName();\r\n this.employeeListLoading = false;\r\n });\r\n });\r\n }\r\n\r\n checkItem(wasChecked) {\r\n if (wasChecked) {\r\n this.checkOKTrue = true;\r\n this.checkOKFalse = false;\r\n } else {\r\n this.checkOKTrue = false;\r\n this.checkOKFalse = true;\r\n }\r\n }\r\n\r\n GoBack() {\r\n this.router.navigate(['/user/toolkit']);\r\n }\r\n\r\n closeNotification() {\r\n this.isError = false;\r\n this.isSavedSuccess = false;\r\n }\r\n\r\n saveCheck() {\r\n console.log(moment(this.checkDate + ' ' + this.checkTime, 'YYYY-MM-DD HH:mm').utc().format('YYYY-MM-DDTHH:mm'));\r\n console.log(moment(this.checkDate + ' ' + this.checkTime, 'YYYY-MM-DD HH:mm').utc());\r\n console.log(moment(this.checkDate + ' ' + this.checkTime, 'YYYY-MM-DD HH:mm'));\r\n const _recordedDate = moment(this.checkDate + ' ' + this.checkTime, 'YYYY-MM-DD HH:mm').utc().format('YYYY-MM-DDTHH:mm');\r\n this.siteID = this.asrv.DefaultSiteId;\r\n this.isSaving = true;\r\n const _tagIDCollection = [];\r\n\r\n if (this.checkOKTrue) {\r\n _tagIDCollection.push(3);\r\n }\r\n\r\n if (this.fireItem) {\r\n _tagIDCollection.push(this.fireItem);\r\n }\r\n\r\n if ((this.checkOKFalse && this.notes && this.notes.length > 0) || this.checkOKTrue) {\r\n console.log(_recordedDate, this.employeeId, this.fireItem, this.checkOKTrue, this.checkOKFalse, this.notes)\r\n \r\n this._api.postFireCheck(\r\n {\r\n AssociatedActorIdCollection: [\r\n this.employeeId\r\n ],\r\n InteractedActorCompositeModelCollection: [\r\n {\r\n BiologicalActorCompositeModel: {\r\n PostalAddressClassId: 1,\r\n }\r\n }\r\n ],\r\n\r\n Notes: this.notes,\r\n SiteId: this.siteID,\r\n Recorded: _recordedDate,\r\n TagIdCollection: _tagIDCollection,\r\n\r\n }\r\n ).subscribe(result => {\r\n this.isSaving = false;\r\n this.isSavedSuccess = true;\r\n this.isError = false;\r\n setTimeout(() => {\r\n this.isSavedSuccess = false;\r\n this.router.navigate(['/user/toolkit']);\r\n }, 3000);\r\n }, error => {\r\n this.isSaving = false;\r\n this.isError = true;\r\n this.errorMsg = error.error;\r\n console.log(error);\r\n });\r\n }\r\n\r\n this.isSaving = false;\r\n }\r\n\r\n}\r\n","
\n
\n
\n
\n

Fire Check

\n
\n
\n
\n\n
\n
\n
\n
\n Date\n
\n \n
\n \n \n
\n \n \n
\n
\n
\n
\n
\n Time\n
\n \n \n
\n
\n
\n\n
\n
\n
\n
\n Staff Member\n
\n
\n
\n \n
\n
\n\n \n \n
\n
\n\n
\n
\n
\n Item\n
\n
\n
\n \n
\n
\n \n
\n
\n\n
\n
\n
\n
\n
Check OK?
\n
\n Yes\n \n
\n
\n No\n \n
\n\n
\n
\n
\n\n
\n
\n Please add any details about the check\n \n
\n Notes\n
\n
\n \n
\n
\n
\n
\n\n
\n
\n \n
\n
\n 0) || this.checkOKTrue\" />\n 0) || this.checkOKTrue)\" />\n
\n
\n\n
\n
\n
\n
\n Saving...\n
\n
\n \n
\n
\n
\n
\n\n
\n
\n
\n
Success
\n
X
\n
\n
\n Saved Fire Check\n
\n
\n
\n\n
\n
\n
\n
Error
\n
X
\n
\n
\n There was an error saving the age verification. Please check all fields and try again.\n
\n {{errorMsg | json}}\n
\n
\n
","
\r\n
\r\n
\r\n \"Bacta\"\r\n
\r\n Please provide your username to search for your account\r\n
\r\n
\r\n
\r\n Username\r\n
\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 { Router } from '@angular/router';\r\nimport { DataService } from 'src/app/services/data.service';\r\n\r\n@Component({\r\n selector: 'app-forgotten-password',\r\n templateUrl: './forgotten-password.component.html',\r\n styleUrls: ['../login/login.component.scss']\r\n})\r\nexport class ForgottenPasswordComponent implements OnInit {\r\n showSpinner = false;\r\n public Username: string;\r\n\r\n // admin@bacta-selfexclusion.org.uk\r\n\r\n constructor(\r\n public dsrv: DataService,\r\n private router: Router\r\n ) { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n GetResetLink() {\r\n this.showSpinner = true;\r\n if (this.Username) {\r\n this.dsrv.Get(`api/View_CredentialResetTokens?CredentialResetRequest.login=${this.Username}`).subscribe(res => {\r\n if (res.Token) {\r\n alert('Please check your emails for the reset link. It may appear in the spam/junk folder.');\r\n this.router.navigate(['*']);\r\n this.showSpinner = false;\r\n } else {\r\n this.showSpinner = false;\r\n }\r\n })\r\n }\r\n }\r\n\r\n}\r\n\r\ninterface Token {\r\n Token: string;\r\n Edited: Date;\r\n Edited_ActorId: number;\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-action',\r\n templateUrl: './action.component.html',\r\n styleUrls: ['./action.component.scss', '../generic-form.component.scss']\r\n})\r\nexport class ActionComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","\r\n\r\n
\r\n
\r\n
\r\n","
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
{{key}}
\r\n {{result.MetaData[key]}} \r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { AdvancedSearchService } from 'src/app/services/advanced-search.service';\r\n\r\n@Component({\r\n selector: 'app-advanced-search-search-results',\r\n templateUrl: './advanced-search-search-results.component.html',\r\n styleUrls: ['./advanced-search-search-results.component.scss']\r\n})\r\nexport class AdvancedSearchSearchResultsComponent implements OnInit {\r\n\r\n constructor(public assrv: AdvancedSearchService) { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { CustomerInteractionCancelReview } from 'src/app/models/CustomerInteractionCancelReview';\r\nimport { CustomerInteraction } from 'src/app/models/CustomerInteraction';\r\n\r\n@Component({\r\n selector: 'app-cancel-review-form',\r\n templateUrl: './cancel-review.component.html',\r\n styleUrls: ['./cancel-review.component.scss']\r\n})\r\nexport class CancelReviewFormComponent implements OnInit {\r\n review;\r\n constructor() { }\r\n\r\n public customerInteractionReview: CustomerInteractionCancelReview = new CustomerInteractionCancelReview();\r\n\r\n interaction: CustomerInteraction;\r\n @Input('interaction') get Interaction(): CustomerInteraction {\r\n return this.interaction;\r\n };\r\n @Output('interaction') interactionChange: EventEmitter = new EventEmitter();\r\n set Interaction(val: CustomerInteraction) {\r\n this.interaction = val;\r\n this.interactionChange.emit(this.interaction);\r\n }\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n Notes\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit, Input, Output, EventEmitter, AfterViewInit } from '@angular/core';\r\nimport { ActorService } from 'src/app/services/actor.service';\r\nimport { AdditionalHTML } from 'src/app/models/Additional_HTML'\r\n\r\n@Component({\r\n selector: 'app-customer-acknowledgement',\r\n templateUrl: './customer-acknowledgement.component.html',\r\n styleUrls: ['./customer-acknowledgement.component.scss']\r\n})\r\nexport class CustomerAcknowledgementComponent implements OnInit {\r\n\r\n html: string;\r\n @Input('html') get Html(): string {\r\n this.FixPage();\r\n return this.html;\r\n };\r\n @Output('html') htmlChange: EventEmitter = new EventEmitter();\r\n set Html(val: string) {\r\n this.html = val;\r\n this.htmlChange.emit(this.html);\r\n }\r\n\r\n additionalHTML: AdditionalHTML[];\r\n @Input('additionalHTML') get AdditionalHTML(): AdditionalHTML[] {\r\n return this.additionalHTML;\r\n };\r\n @Output('additionalHTML') additionalHTMLChange: EventEmitter = new EventEmitter();\r\n set AdditionalHTML(val: AdditionalHTML[]) {\r\n this.additionalHTML = val;\r\n this.additionalHTMLChange.emit(this.additionalHTML);\r\n }\r\n\r\n constructor(public asrv: ActorService) { }\r\n\r\n ngOnInit() {\r\n this.FixPage();\r\n }\r\n\r\n FixPage() {\r\n document.getElementById(\"acknowledgement\").innerHTML = this.html;\r\n if (this.additionalHTML) {\r\n this.additionalHTML.forEach(obj => {\r\n document.getElementById(obj.DOMElement).innerHTML = obj.HTML;\r\n })\r\n }\r\n let bactaLink = document.querySelectorAll('[bactaLink]');\r\n bactaLink.forEach(link => {\r\n if (link.getAttribute('bactalink') === 'summaryOfPrivacyPolicy') {\r\n link.addEventListener('click', this.CallSummaryOfPrivacyPolicy.bind(this));\r\n link.innerHTML = 'bactaexclusions.maximws.net/summaryofprivacypolicy';\r\n }\r\n\r\n if (link.getAttribute('bactalink') === 'summaryOfTerms') {\r\n link.addEventListener('click', this.CallSummaryOfTerms.bind(this));\r\n link.innerHTML = 'bactaexclusions.maximws.net/summaryOfTerms';\r\n }\r\n\r\n if (link.getAttribute('bactalink') === 'privacyPolicy') {\r\n link.addEventListener('click', this.CallPrivacyPolicy.bind(this));\r\n link.innerHTML = 'bactaexclusions.maximws.net/privacyPolicy';\r\n }\r\n\r\n if (link.getAttribute('bactalink') === 'terms') {\r\n link.addEventListener('click', this.CallTerms.bind(this));\r\n link.innerHTML = 'bactaexclusions.maximws.net/terms';\r\n }\r\n })\r\n }\r\n\r\n CallSummaryOfPrivacyPolicy() {\r\n this.html = this.asrv.UserDocumentation.SummaryOfPrivacyPolicyHTML;\r\n this.FixPage();\r\n }\r\n\r\n CallSummaryOfTerms() {\r\n this.html = this.asrv.UserDocumentation.SummaryOfTermsHTML;\r\n this.FixPage();\r\n }\r\n\r\n CallPrivacyPolicy() {\r\n this.html = this.asrv.UserDocumentation.PrivacyPolicyHTML;\r\n this.FixPage();\r\n }\r\n\r\n CallTerms() {\r\n this.html = this.asrv.UserDocumentation.TermsHTML;\r\n this.FixPage();\r\n }\r\n\r\n CallCloseForm() {\r\n this.CloseForm.next();\r\n }\r\n @Output() CloseForm = new EventEmitter();\r\n\r\n/*\r\nelse if (!this.exclusion.ReadTCs) {\r\nalert('You Must Read and Agree With The Terms And Conditions Before Proceeding!');\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, Input, Output, EventEmitter, ViewChild, ElementRef, AfterViewInit } from '@angular/core';\r\nimport { Views_MediaModel } from 'src/app/models/InteractionExclusion/Views_MediaModel';\r\nimport { ErrorhanderService } from 'src/app/services/errorhander.service';\r\n\r\n@Component({\r\n selector: 'app-customer-photo-inline',\r\n templateUrl: './customer-photo-inline.component.html',\r\n styleUrls: ['./customer-photo-inline.component.scss']\r\n})\r\nexport class CustomerPhotoInlineComponent implements OnInit {\r\n \r\n @ViewChild('image') image: ElementRef;\r\n @ViewChild('captureBtn') captureBtn: ElementRef;\r\n\r\n // Used to identify this as an image in Interactions and Exclusions\r\n private readonly MediaClassKeyId = 4;\r\n\r\n public ShowLiveView: boolean = false;\r\n public PhotoTaken: boolean = false;\r\n private orginalOrientation: number;\r\n\r\n public readonly blankInteractionImageTaken = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAyAAAAHCCAYAAAAXY63IAAAFi0lEQVR4nO3BgQAAAADDoPlTH+ECVQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADfAPv9AAGbqZ6QAAAAAElFTkSuQmCC';\r\n public readonly blankInteractionImageTakenRotated = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAcIAAAMgCAYAAACwC2LlAAAFi0lEQVR4nO3BMQEAAADCoPVPbQwfoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC+Bv1bAAGXiLn2AAAAAElFTkSuQmCC\";\r\n public readonly blankExclusionImageTaken = '';\r\n\r\n public readonly blankImages: string[] = [this.blankInteractionImageTaken, this.blankInteractionImageTakenRotated, this.blankExclusionImageTaken, ''];\r\n\r\n public media: Views_MediaModel;\r\n @Input('media') get Media(): Views_MediaModel\r\n {\r\n return this.media;\r\n };\r\n @Output('media') mediaChange: EventEmitter = new EventEmitter();\r\n set Media(val: Views_MediaModel) {\r\n this.media = val;\r\n this.mediaChange.emit(this.media);\r\n }\r\n\r\n constructor(public errsrv: ErrorhanderService) {}\r\n\r\n ngOnInit() {\r\n this.media.MediaClassKeyId = this.MediaClassKeyId;\r\n this.LaunchLiveCapture();\r\n }\r\n\r\n ngAfterViewInit() {\r\n // Do nothing.\r\n }\r\n\r\n LaunchLiveCapture() {\r\n if(/(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|ipad|iris|kindle|Android|Silk|lge |maemo|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(navigator.userAgent) \r\n || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\\-(n|u)|c55\\/|capi|ccwa|cdm\\-|cell|chtm|cldc|cmd\\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\\-s|devi|dica|dmob|do(c|p)o|ds(12|\\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\\-|_)|g1 u|g560|gene|gf\\-5|g\\-mo|go(\\.w|od)|gr(ad|un)|haie|hcit|hd\\-(m|p|t)|hei\\-|hi(pt|ta)|hp( i|ip)|hs\\-c|ht(c(\\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\\-(20|go|ma)|i230|iac( |\\-|\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\/)|klon|kpt |kwc\\-|kyo(c|k)|le(no|xi)|lg( g|\\/(k|l|u)|50|54|\\-[a-w])|libw|lynx|m1\\-w|m3ga|m50\\/|ma(te|ui|xo)|mc(01|21|ca)|m\\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\\-2|po(ck|rt|se)|prox|psio|pt\\-g|qa\\-a|qc(07|12|21|32|60|\\-[2-7]|i\\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\\-|oo|p\\-)|sdk\\/|se(c(\\-|0|1)|47|mc|nd|ri)|sgh\\-|shar|sie(\\-|m)|sk\\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\\-|v\\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\\-|tdg\\-|tel(i|m)|tim\\-|t\\-mo|to(pl|sh)|ts(70|m\\-|m3|m5)|tx\\-9|up(\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\\-|your|zeto|zte\\-/i.test(navigator.userAgent.substr(0,4))) { \r\n document.getElementById('captureBtn').click();\r\n // document.getElementById('captureBtn').click();\r\n } else {\r\n this.media.Data = null;\r\n this.ShowLiveView = true;\r\n }\r\n }\r\n\r\n async onFileSelected(event) {\r\n if (event.target.files[0] && event.target.files) {\r\n const selectedFile: File = event.target.files[0];\r\n const reader = new FileReader();\r\n this.PhotoTaken = false;\r\n reader.onloadend = async (e) => {\r\n this.RenderPhoto(selectedFile, e.target['result']).then(value => {\r\n this.orginalOrientation = value;\r\n this.ResizeImage(e.target['result']).then(value => {\r\n this.ResetOrientation(value, this.orginalOrientation).then(value => {\r\n this.media.Data = value;\r\n this.PhotoTaken = true;\r\n })\r\n })\r\n })\r\n }\r\n await reader.readAsDataURL(selectedFile);\r\n this.showHideCameraButtons();\r\n }\r\n }\r\n\r\n UpdateMediaModel() {\r\n if (this.media.MediaId > 0 && this.media.MediaId <= 100) {\r\n this.media.MediaId = 0;\r\n }\r\n }\r\n \r\n showExcluderPreview() {\r\n if (!this.media.Data) {\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n }\r\n\r\n getExcluderImage() {\r\n return this.media.Data;\r\n }\r\n\r\n showHideCameraButtons() {\r\n if (this.PhotoTaken) {\r\n document.getElementById('captureImg').hidden = true; \r\n } else {\r\n document.getElementById('captureImg').hidden = false;\r\n }\r\n document.getElementById('retakeImg').hidden = !document.getElementById('captureImg').hidden;\r\n }\r\n\r\n Accept() {\r\n if (this.PhotoTaken) {\r\n this.UpdateMediaModel();\r\n this.ImageTaken.next();\r\n } else {\r\n this.errsrv.ShowValidationOops('No image taken!', 'Please capture an image before proceeding.')\r\n }\r\n }\r\n @Output() ImageTaken = new EventEmitter();\r\n\r\n Close() {\r\n this.NoImageTaken.next();\r\n }\r\n @Output() NoImageTaken = new EventEmitter();\r\n\r\n CloseLiveView() {\r\n this.ShowLiveView = false;\r\n if (this.media.Data && !this.blankImages.some(i => i === this.media.Data)) {\r\n this.PhotoTaken = true;\r\n } else {\r\n this.PhotoTaken = false;\r\n }\r\n }\r\n\r\n async RotateRight() {\r\n this.DrawRotated(90).then(value => {\r\n this.media.Data = value;\r\n });\r\n }\r\n\r\n async RotateLeft() {\r\n this.DrawRotated(-90).then(value => {\r\n this.media.Data = value;\r\n });;\r\n }\r\n\r\n private RenderPhoto(file, srcBase64): Promise {\r\n return new Promise(resolve => {\r\n var reader = new FileReader();\r\n\r\n // Get the Image Orientation\r\n reader.onload = async function(e) {\r\n \r\n // Do not change this variable\r\n let result: any = e;\r\n const view = new DataView(result.target.result);\r\n // =============================================\r\n \r\n if (view.getUint16(0, false) != 0xFFD8) {\r\n resolve(1);\r\n }\r\n var length = view.byteLength, \r\n offset = 2;\r\n while (offset < length) {\r\n if (view.getUint16(offset+2, false) <= 8) {\r\n resolve(1);\r\n }\r\n var marker = view.getUint16(offset, false);\r\n offset += 2;\r\n if (marker == 0xFFE1) {\r\n if (view.getUint32(offset += 2, false) != 0x45786966) {\r\n resolve(1);\r\n }\r\n \r\n var little = view.getUint16(offset += 6, false) == 0x4949;\r\n offset += view.getUint32(offset + 4, little);\r\n var tags = view.getUint16(offset, little);\r\n offset += 2;\r\n for (var i = 0; i < tags; i++) {\r\n if (view.getUint16(offset + (i * 12), little) == 0x0112) {\r\n resolve(view.getUint16(offset + (i * 12) + 8, little));\r\n }\r\n }\r\n } else if ((marker & 0xFF00) != 0xFF00) {\r\n break;\r\n } else { \r\n offset += view.getUint16(offset, false);\r\n }\r\n }\r\n resolve(1);\r\n };\r\n reader.readAsArrayBuffer(file.slice(0, 64 * 1024)); \r\n })\r\n }\r\n\r\n // Resizes the Image to a maximum size of 800 x 600\r\n private ResizeImage(srcBase64): Promise {\r\n return new Promise(resolve => {\r\n var canvas = document.createElement('canvas');\r\n var context = canvas.getContext('2d');\r\n var maxW = 600;\r\n var maxH = 800;\r\n var img = document.createElement('img');\r\n\r\n img.onload = function() {\r\n var iw = img.width;\r\n var ih = img.height;\r\n var scale = Math.min((maxW / iw), (maxH / ih));\r\n var iwScaled = iw * scale;\r\n var ihScaled = ih * scale;\r\n canvas.width = iwScaled;\r\n canvas.height = ihScaled;\r\n context.drawImage(img, 0, 0, iwScaled, ihScaled);\r\n resolve(canvas.toDataURL());\r\n }\r\n img.src = srcBase64;\r\n }) \r\n }\r\n\r\n // Transforms the Image to Orientation 1.\r\n private ResetOrientation(srcBase64, originalOrientation): Promise {\r\n return new Promise(resolve => {\r\n var img = new Image(); \r\n img.onload = async function() {\r\n var width = img.width,\r\n height = img.height,\r\n canvas = document.createElement('canvas'),\r\n ctx = canvas.getContext(\"2d\");\r\n \r\n // set proper canvas dimensions before transform & export\r\n if (4 < originalOrientation && originalOrientation < 9) {\r\n canvas.width = height;\r\n canvas.height = width;\r\n } else {\r\n canvas.width = width;\r\n canvas.height = height;\r\n }\r\n \r\n // transform context before drawing image\r\n switch (originalOrientation) {\r\n case 2: ctx.transform(-1, 0, 0, 1, width, 0); break;\r\n case 3: ctx.transform(-1, 0, 0, -1, width, height); break;\r\n case 4: ctx.transform(1, 0, 0, -1, 0, height); break;\r\n case 5: ctx.transform(0, 1, 1, 0, 0, 0); break;\r\n case 6: ctx.transform(0, 1, -1, 0, height, 0); break;\r\n case 7: ctx.transform(0, -1, -1, 0, height, width); break;\r\n case 8: ctx.transform(0, -1, 1, 0, 0, width); break;\r\n default: break;\r\n }\r\n \r\n // draw image\r\n ctx.drawImage(img, 0, 0);\r\n //let callbackBase64 = await canvas.toDataURL();\r\n resolve(canvas.toDataURL());\r\n };\r\n \r\n img.src = srcBase64;\r\n })\r\n}\r\n\r\n private DrawRotated(degrees): Promise { \r\n return new Promise(resolve => {\r\n let img = new Image();\r\n img.src = this.media.Data;\r\n \r\n // Create a canvas object.\r\n let canvas = document.createElement(\"canvas\");\r\n \r\n // Wait till the image is loaded.\r\n img.onload = function(){\r\n rotateImage();\r\n }\r\n \r\n let rotateImage = () => {\r\n // Create canvas context.\r\n let ctx = canvas.getContext(\"2d\");\t\r\n \r\n // Assign width and height.\r\n canvas.width = img.height;\r\n canvas.height = img.width;\r\n \r\n ctx.translate(canvas.width / 2,canvas.height / 2);\r\n \r\n // Rotate the image and draw it on the canvas. \r\n // (I am not showing the canvas on the webpage.\r\n ctx.rotate(degrees*Math.PI/180);\r\n ctx.drawImage(img, -img.width / 2, -img.height / 2);\r\n resolve(canvas.toDataURL());\r\n }\r\n })\r\n }\r\n}\r\n","
\r\n \r\n \r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\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, Input, Output, EventEmitter, ViewChild, ElementRef, Renderer2 } from '@angular/core';\r\nimport { Views_MediaModel } from 'src/app/models/InteractionExclusion/Views_MediaModel';\r\n\r\n@Component({\r\n selector: 'app-camera-live-view',\r\n templateUrl: './camera-live-view.component.html',\r\n styleUrls: ['./camera-live-view.component.scss']\r\n})\r\nexport class CameraLiveViewComponent implements OnInit {\r\n\r\n private readonly height: number = 450;\r\n private readonly width: number = 800;\r\n\r\n public drawingImage: Boolean;\r\n public media: Views_MediaModel;\r\n @Input('media') get Media(): Views_MediaModel\r\n {\r\n return this.media;\r\n };\r\n @Output('media') mediaChange: EventEmitter = new EventEmitter();\r\n set Media(val: Views_MediaModel) {\r\n this.media = val;\r\n this.mediaChange.emit(this.media);\r\n }\r\n\r\n //Video Properties\r\n @ViewChild('video', { static: true }) videoElement: ElementRef;\r\n @ViewChild('canvas', { static: true }) canvas: ElementRef; \r\n\r\n public videoWidth: number = 0;\r\n public videoHeight: number = 0;\r\n\r\n public constraints = {\r\n video: {\r\n facingMode: \"environment\",\r\n width: { ideal: this.width },\r\n height: { ideal: this.height }\r\n }\r\n };\r\n\r\n constructor(private renderer: Renderer2) { }\r\n\r\n ngOnInit() {\r\n this.StartCamera();\r\n }\r\n\r\n\r\n StartCamera() {\r\n if (navigator.mediaDevices && navigator.mediaDevices.getUserMedia) { \r\n navigator.mediaDevices.getUserMedia(this.constraints).then(this.AttachVideo.bind(this)).catch(this.HandleError);\r\n } else {\r\n alert('Sorry, camera not available.');\r\n }\r\n }\r\n\r\n AttachVideo(stream) {\r\n this.renderer.setProperty(this.videoElement.nativeElement, 'srcObject', stream);\r\n this.renderer.listen(this.videoElement.nativeElement, 'play', (event) => {\r\n this.videoHeight = this.height;\r\n this.videoWidth = this.width;\r\n });\r\n }\r\n\r\n HandleError(error) {\r\n console.log('Error: ', error);\r\n }\r\n\r\n Capture() {\r\n this.renderer.setProperty(this.canvas.nativeElement, 'width', this.width);\r\n this.renderer.setProperty(this.canvas.nativeElement, 'height', this.height);\r\n this.canvas.nativeElement.getContext('2d').drawImage(this.videoElement.nativeElement, 0, 0);\r\n this.media.Data = this.canvas.nativeElement.toDataURL();\r\n this.drawingImage = false;\r\n this.CloseForm.next(); \r\n }\r\n @Output() CloseForm = new EventEmitter();\r\n}\r\n\r\n/*\r\nimport { Component, OnInit, Input, Output, EventEmitter, ViewChild, ElementRef, Renderer2 } from '@angular/core';\r\nimport { Exclusion } from 'src/app/models/Exclusion';\r\n\r\n\r\n@Component({\r\n selector: 'app-camera-live-view',\r\n templateUrl: './camera-live-view.component.html',\r\n styleUrls: ['./camera-live-view.component.scss']\r\n})\r\nexport class CameraLiveViewComponent implements OnInit {\r\n\r\n drawingImage: Boolean;\r\n exclusion: Exclusion;\r\n @Input('exclusion') get Exclusion(): Exclusion\r\n {\r\n return this.exclusion;\r\n };\r\n @Output('exclusion') excluderChange: EventEmitter = new EventEmitter();\r\n set Exclusion(val: Exclusion) {\r\n this.exclusion = val;\r\n this.excluderChange.emit(this.exclusion);\r\n }\r\n\r\n //Video Properties\r\n @ViewChild('video', { static: true }) videoElement: ElementRef;\r\n @ViewChild('canvas', { static: true }) canvas: ElementRef; \r\n\r\n videoWidth = 0;\r\n videoHeight = 0;\r\n\r\n constraints = {\r\n video: {\r\n facingMode: \"environment\",\r\n width: { ideal: 800 },\r\n height: { ideal: 450 }\r\n }\r\n };\r\n\r\n constructor(private renderer: Renderer2) { }\r\n\r\n ngOnInit() {\r\n this.startCamera();\r\n }\r\n\r\n\r\n startCamera() {\r\n if (!!(navigator.mediaDevices && navigator.mediaDevices.getUserMedia)) { \r\n navigator.mediaDevices.getUserMedia(this.constraints).then(this.attachVideo.bind(this)).catch(this.handleError);\r\n } else {\r\n alert('Sorry, camera not available.');\r\n }\r\n }\r\n\r\n attachVideo(stream) {\r\n this.renderer.setProperty(this.videoElement.nativeElement, 'srcObject', stream);\r\n this.renderer.listen(this.videoElement.nativeElement, 'play', (event) => {\r\n this.videoHeight = 800;\r\n this.videoWidth = 450;\r\n });\r\n }\r\n\r\n handleError(error) {\r\n console.log('Error: ', error);\r\n }\r\n\r\n capture() {\r\n this.renderer.setProperty(this.canvas.nativeElement, 'width', 800);\r\n this.renderer.setProperty(this.canvas.nativeElement, 'height', 450);\r\n this.canvas.nativeElement.getContext('2d').drawImage(this.videoElement.nativeElement, 0, 0);\r\n this.exclusion.Image_ExcluderBase64 = this.canvas.nativeElement.toDataURL();\r\n this.exclusion.Image_Excluder = this.exclusion.Image_ExcluderBase64;\r\n this.drawingImage = false;\r\n this.CloseForm.next(); \r\n }\r\n\r\n @Output() CloseForm = new EventEmitter();\r\n\r\n}\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, Input, Output, EventEmitter, ViewChild, ElementRef, AfterViewInit } from '@angular/core';\r\nimport { Views_MediaModel } from 'src/app/models/InteractionExclusion/Views_MediaModel';\r\nimport { ErrorhanderService } from 'src/app/services/errorhander.service';\r\n\r\n@Component({\r\n selector: 'app-customer-photo',\r\n templateUrl: './customer-photo.component.html',\r\n styleUrls: ['./customer-photo.component.scss', '../generic-form.component.scss']\r\n})\r\n\r\nexport class CustomerPhotoComponent implements OnInit, AfterViewInit {\r\n \r\n @ViewChild('image') image: ElementRef;\r\n @ViewChild('captureBtn') captureBtn: ElementRef;\r\n\r\n // Used to identify this as an image in Interactions and Exclusions\r\n private readonly MediaClassKeyId = 4;\r\n\r\n public showVideo: boolean = false;\r\n public photoExists: boolean = false;\r\n private orginalOrientation: number;\r\n public media: Views_MediaModel;\r\n\r\n public readonly blankInteractionImageTaken = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAyAAAAHCCAYAAAAXY63IAAAFi0lEQVR4nO3BgQAAAADDoPlTH+ECVQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADfAPv9AAGbqZ6QAAAAAElFTkSuQmCC';\r\n public readonly blankInteractionImageTakenRotated = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAcIAAAMgCAYAAACwC2LlAAAFi0lEQVR4nO3BMQEAAADCoPVPbQwfoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC+Bv1bAAGXiLn2AAAAAElFTkSuQmCC\";\r\n public readonly blankExclusionImageTaken = '';\r\n\r\n public readonly blankImages: string[] = [this.blankInteractionImageTaken, this.blankInteractionImageTakenRotated, this.blankExclusionImageTaken, ''];\r\n\r\n mediaModel: Views_MediaModel[];\r\n @Input('mediaModel') get MediaModel(): Views_MediaModel[]\r\n {\r\n return this.mediaModel;\r\n };\r\n @Output('mediaModel') mediaModelChange: EventEmitter = new EventEmitter();\r\n set MediaModel(val: Views_MediaModel[]) {\r\n this.mediaModel = val;\r\n this.mediaModelChange.emit(this.mediaModel);\r\n }\r\n\r\n constructor(public errsrv: ErrorhanderService) {}\r\n\r\n ngOnInit() {\r\n this.media = new Views_MediaModel();\r\n this.media.MediaClassKeyId = this.MediaClassKeyId;\r\n if (this.mediaModel.some(i => i.MediaClassKeyId === this.MediaClassKeyId)) {\r\n if (!this.mediaModel.some(i => i.MediaId > 0 && i.MediaId <= 100)) {\r\n this.media.Data = this.mediaModel.find(i => i.MediaClassKeyId === this.MediaClassKeyId).Data;\r\n this.photoExists = true;\r\n }\r\n }\r\n }\r\n\r\n ngAfterViewInit() {\r\n // Do nothing.\r\n }\r\n\r\n LaunchLiveCapture() {\r\n if(/(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|ipad|iris|kindle|Android|Silk|lge |maemo|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(navigator.userAgent) \r\n || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\\-(n|u)|c55\\/|capi|ccwa|cdm\\-|cell|chtm|cldc|cmd\\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\\-s|devi|dica|dmob|do(c|p)o|ds(12|\\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\\-|_)|g1 u|g560|gene|gf\\-5|g\\-mo|go(\\.w|od)|gr(ad|un)|haie|hcit|hd\\-(m|p|t)|hei\\-|hi(pt|ta)|hp( i|ip)|hs\\-c|ht(c(\\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\\-(20|go|ma)|i230|iac( |\\-|\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\/)|klon|kpt |kwc\\-|kyo(c|k)|le(no|xi)|lg( g|\\/(k|l|u)|50|54|\\-[a-w])|libw|lynx|m1\\-w|m3ga|m50\\/|ma(te|ui|xo)|mc(01|21|ca)|m\\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\\-2|po(ck|rt|se)|prox|psio|pt\\-g|qa\\-a|qc(07|12|21|32|60|\\-[2-7]|i\\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\\-|oo|p\\-)|sdk\\/|se(c(\\-|0|1)|47|mc|nd|ri)|sgh\\-|shar|sie(\\-|m)|sk\\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\\-|v\\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\\-|tdg\\-|tel(i|m)|tim\\-|t\\-mo|to(pl|sh)|ts(70|m\\-|m3|m5)|tx\\-9|up(\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\\-|your|zeto|zte\\-/i.test(navigator.userAgent.substr(0,4))) { \r\n this.captureBtn.nativeElement.click();\r\n // document.getElementById('captureBtn').click();\r\n } else {\r\n this.media.Data = null;\r\n this.showVideo = true;\r\n }\r\n }\r\n\r\n async onFileSelected(event) {\r\n if (event.target.files[0] && event.target.files) {\r\n const selectedFile: File = event.target.files[0];\r\n const reader = new FileReader();\r\n this.photoExists = false;\r\n reader.onloadend = async (e) => {\r\n this.RenderPhoto(selectedFile, e.target['result']).then(value => {\r\n this.orginalOrientation = value;\r\n this.ResizeImage(e.target['result']).then(value => {\r\n this.ResetOrientation(value, this.orginalOrientation).then(value => {\r\n this.media.Data = value;\r\n this.photoExists = true;\r\n })\r\n })\r\n })\r\n }\r\n await reader.readAsDataURL(selectedFile);\r\n this.showHideCameraButtons();\r\n }\r\n }\r\n\r\n UpdateMediaModel() {\r\n if (!this.mediaModel) {\r\n this.mediaModel = [];\r\n }\r\n\r\n if (this.mediaModel.some(i => i.MediaClassKeyId === this.MediaClassKeyId)) {\r\n let mediaToUpdate = this.mediaModel.find(i => i.MediaClassKeyId === this.MediaClassKeyId);\r\n if (mediaToUpdate.MediaId > 0 && mediaToUpdate.MediaId <= 100) {\r\n mediaToUpdate.MediaId = null;\r\n }\r\n mediaToUpdate.Data = this.media.Data;\r\n } else {\r\n this.mediaModel.push(this.media);\r\n }\r\n }\r\n \r\n showExcluderPreview() {\r\n if (!this.media.Data) {\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n }\r\n\r\n getExcluderImage() {\r\n return this.media.Data;\r\n }\r\n\r\n showHideCameraButtons() {\r\n if (this.photoExists) {\r\n document.getElementById('captureImg').hidden = true; \r\n } else {\r\n document.getElementById('captureImg').hidden = false;\r\n }\r\n document.getElementById('retakeImg').hidden = !document.getElementById('captureImg').hidden;\r\n }\r\n\r\n Accept() {\r\n if (this.photoExists) {\r\n this.UpdateMediaModel();\r\n this.ImageTaken.next();\r\n } else {\r\n this.errsrv.ShowValidationOops('No image taken!', 'Please capture an image before proceeding.')\r\n }\r\n }\r\n @Output() ImageTaken = new EventEmitter();\r\n\r\n Close() {\r\n this.NoImageTaken.next();\r\n }\r\n @Output() NoImageTaken = new EventEmitter();\r\n\r\n CloseLiveView() {\r\n this.showVideo = false;\r\n if (this.media.Data && !this.blankImages.some(i => i === this.media.Data)) {\r\n this.photoExists = true;\r\n } else {\r\n this.photoExists = false;\r\n }\r\n }\r\n\r\n async RotateRight() {\r\n this.DrawRotated(90).then(value => {\r\n this.media.Data = value;\r\n });\r\n }\r\n\r\n async RotateLeft() {\r\n this.DrawRotated(-90).then(value => {\r\n this.media.Data = value;\r\n });;\r\n }\r\n\r\n private RenderPhoto(file, srcBase64): Promise {\r\n return new Promise(resolve => {\r\n var reader = new FileReader();\r\n\r\n // Get the Image Orientation\r\n reader.onload = async function(e) {\r\n \r\n // Do not change this variable\r\n let result: any = e;\r\n const view = new DataView(result.target.result);\r\n // =============================================\r\n \r\n if (view.getUint16(0, false) != 0xFFD8) {\r\n resolve(1);\r\n }\r\n var length = view.byteLength, \r\n offset = 2;\r\n while (offset < length) {\r\n if (view.getUint16(offset+2, false) <= 8) {\r\n resolve(1);\r\n }\r\n var marker = view.getUint16(offset, false);\r\n offset += 2;\r\n if (marker == 0xFFE1) {\r\n if (view.getUint32(offset += 2, false) != 0x45786966) {\r\n resolve(1);\r\n }\r\n \r\n var little = view.getUint16(offset += 6, false) == 0x4949;\r\n offset += view.getUint32(offset + 4, little);\r\n var tags = view.getUint16(offset, little);\r\n offset += 2;\r\n for (var i = 0; i < tags; i++) {\r\n if (view.getUint16(offset + (i * 12), little) == 0x0112) {\r\n resolve(view.getUint16(offset + (i * 12) + 8, little));\r\n }\r\n }\r\n } else if ((marker & 0xFF00) != 0xFF00) {\r\n break;\r\n } else { \r\n offset += view.getUint16(offset, false);\r\n }\r\n }\r\n resolve(1);\r\n };\r\n reader.readAsArrayBuffer(file.slice(0, 64 * 1024)); \r\n })\r\n }\r\n\r\n // Resizes the Image to a maximum size of 800 x 600\r\n private ResizeImage(srcBase64): Promise {\r\n return new Promise(resolve => {\r\n var canvas = document.createElement('canvas');\r\n var context = canvas.getContext('2d');\r\n var maxW = 600;\r\n var maxH = 800;\r\n var img = document.createElement('img');\r\n\r\n img.onload = function() {\r\n var iw = img.width;\r\n var ih = img.height;\r\n var scale = Math.min((maxW / iw), (maxH / ih));\r\n var iwScaled = iw * scale;\r\n var ihScaled = ih * scale;\r\n canvas.width = iwScaled;\r\n canvas.height = ihScaled;\r\n context.drawImage(img, 0, 0, iwScaled, ihScaled);\r\n resolve(canvas.toDataURL());\r\n }\r\n img.src = srcBase64;\r\n }) \r\n }\r\n\r\n // Transforms the Image to Orientation 1.\r\n private ResetOrientation(srcBase64, originalOrientation): Promise {\r\n return new Promise(resolve => {\r\n var img = new Image(); \r\n img.onload = async function() {\r\n var width = img.width,\r\n height = img.height,\r\n canvas = document.createElement('canvas'),\r\n ctx = canvas.getContext(\"2d\");\r\n \r\n // set proper canvas dimensions before transform & export\r\n if (4 < originalOrientation && originalOrientation < 9) {\r\n canvas.width = height;\r\n canvas.height = width;\r\n } else {\r\n canvas.width = width;\r\n canvas.height = height;\r\n }\r\n \r\n // transform context before drawing image\r\n switch (originalOrientation) {\r\n case 2: ctx.transform(-1, 0, 0, 1, width, 0); break;\r\n case 3: ctx.transform(-1, 0, 0, -1, width, height); break;\r\n case 4: ctx.transform(1, 0, 0, -1, 0, height); break;\r\n case 5: ctx.transform(0, 1, 1, 0, 0, 0); break;\r\n case 6: ctx.transform(0, 1, -1, 0, height, 0); break;\r\n case 7: ctx.transform(0, -1, -1, 0, height, width); break;\r\n case 8: ctx.transform(0, -1, 1, 0, 0, width); break;\r\n default: break;\r\n }\r\n \r\n // draw image\r\n ctx.drawImage(img, 0, 0);\r\n //let callbackBase64 = await canvas.toDataURL();\r\n resolve(canvas.toDataURL());\r\n };\r\n \r\n img.src = srcBase64;\r\n })\r\n}\r\n\r\n private DrawRotated(degrees): Promise { \r\n return new Promise(resolve => {\r\n let img = new Image();\r\n img.src = this.media.Data;\r\n \r\n // Create a canvas object.\r\n let canvas = document.createElement(\"canvas\");\r\n \r\n // Wait till the image is loaded.\r\n img.onload = function(){\r\n rotateImage();\r\n }\r\n \r\n let rotateImage = () => {\r\n // Create canvas context.\r\n let ctx = canvas.getContext(\"2d\");\t\r\n \r\n // Assign width and height.\r\n canvas.width = img.height;\r\n canvas.height = img.width;\r\n \r\n ctx.translate(canvas.width / 2,canvas.height / 2);\r\n \r\n // Rotate the image and draw it on the canvas. \r\n // (I am not showing the canvas on the webpage.\r\n ctx.rotate(degrees*Math.PI/180);\r\n ctx.drawImage(img, -img.width / 2, -img.height / 2);\r\n resolve(canvas.toDataURL());\r\n }\r\n })\r\n }\r\n}","
\r\n
\r\n
\r\n
\r\n

Capture Live Image

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n Guidelines\r\n
    \r\n
  • • Passport style
  • \r\n
  • • Full face in view
  • \r\n
  • • Head and shoulders
  • \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n

PREVIEW

\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n GUIDELINES\r\n
    \r\n
  • • Passport style
  • \r\n
  • • Full face in view
  • \r\n
  • • Head and shoulders
  • \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\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, Input, Output, EventEmitter } from '@angular/core';\r\nimport { CustomerInteraction } from 'src/app/models/CustomerInteraction';\r\nimport { CustomerInteractionReview } from 'src/app/models/CustomerInteractionReview';\r\nimport { Views_ReviewsCompositeModel } from 'src/app/models/InteractionExclusion/Views_ReviewsCompositeModel';\r\nimport { InteractionService } from 'src/app/services/interaction.service';\r\n\r\n@Component({\r\n selector: 'app-customer-review',\r\n templateUrl: './customer-review.component.html',\r\n styleUrls: ['./customer-review.component.scss']\r\n})\r\nexport class CustomerReviewComponent implements OnInit {\r\n\r\n public chkGamblingTrue: boolean;\r\n public chkGamblingFalse: boolean;\r\n public chkBehaviourTrue: boolean;\r\n public chkBehaviourFalse: boolean;\r\n public chkPatternTrue: boolean;\r\n public chkPatternFalse: boolean;\r\n\r\n constructor(public isrv: InteractionService) { }\r\n\r\n public customerInteractionReview: CustomerInteractionReview = new CustomerInteractionReview();\r\n\r\n ngOnInit() {\r\n if (this.isrv.ReviewPageVisited) {\r\n this.chkGamblingTrue = this.isrv.Interaction.TagIdCollection.some(i => i === 130);\r\n this.chkGamblingFalse = !this.chkGamblingTrue;\r\n this.chkBehaviourTrue = this.isrv.Interaction.TagIdCollection.some(i => i === 131); \r\n this.chkBehaviourFalse = !this.chkBehaviourTrue;\r\n this.chkPatternTrue = this.isrv.Interaction.TagIdCollection.some(i => i === 132);\r\n this.chkPatternFalse = !this.chkPatternTrue;\r\n } else {\r\n this.isrv.ReviewPageVisited = true;\r\n }\r\n\r\n if (this.isrv.Interaction.MediaModelCollection.some(i => i.MediaClassKeyId === 4)) {\r\n if (this.isrv.Interaction.MediaModelCollection.find(i => i.MediaId > 0 && i.MediaClassKeyId < 100)) {\r\n this.isrv.Interaction.MediaModelCollection.find(i => i.MediaClassKeyId === 4).Data = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADkAAAA9CAIAAACY61bEAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAABUSURBVGhD7c5BDQAwEASh+je9VcHjkkEBb3d0NboaXY2uRlejq9HV6Gp0NboaXY2uRlejq9HV6Gp0NboaXY2uRlejq9HV6Gp0NboaXY2uRlejq7B974OYmhOKU9kAAAAASUVORK5CYII=';\r\n }\r\n }\r\n }\r\n\r\n GamblingToolUsed(bool: boolean) {\r\n if (bool) {\r\n this.isrv.AddItemToTagCollection(130);\r\n } else {\r\n this.isrv.RemoveItemFromTagCollection(130);\r\n }\r\n this.chkGamblingTrue = bool;\r\n this.chkGamblingFalse = !bool;\r\n this.isrv.chkGambling = true\r\n }\r\n\r\n PositiveBehaviourChange(bool: boolean) {\r\n if (bool) {\r\n this.isrv.AddItemToTagCollection(131);\r\n } else {\r\n this.isrv.RemoveItemFromTagCollection(131);\r\n }\r\n this.chkBehaviourTrue = bool;\r\n this.chkBehaviourFalse = !bool;\r\n this.isrv.chkBehaviour = true;\r\n }\r\n\r\n PatternOfGamblingChanged(bool: boolean) {\r\n if (bool) {\r\n this.isrv.AddItemToTagCollection(132);\r\n } else {\r\n this.isrv.RemoveItemFromTagCollection(132);\r\n }\r\n this.chkPatternTrue = bool;\r\n this.chkPatternFalse = !bool;\r\n this.isrv.chkPattern = true;\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n Yes\r\n No\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Gambling management tool used?\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Positive behaviour change?\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Has pattern of gambling changed?\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n Notes\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { CustomerInteraction } from 'src/app/models/CustomerInteraction';\r\nimport { CustomerInteractionReinstateSEReview } from 'src/app/models/CustomerInteractionReinstateSEReview';\r\n\r\n@Component({\r\n selector: 'app-customer-se-review',\r\n templateUrl: './customer-se-review.component.html',\r\n styleUrls: ['./customer-se-review.component.scss']\r\n})\r\nexport class CustomerSeReviewComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n public review: CustomerInteractionReinstateSEReview = new CustomerInteractionReinstateSEReview();\r\n\r\n interaction: CustomerInteraction;\r\n @Input('interaction') get Interaction(): CustomerInteraction {\r\n return this.interaction;\r\n };\r\n @Output('interaction') interactionChange: EventEmitter = new EventEmitter();\r\n set Interaction(val: CustomerInteraction) {\r\n this.interaction = val;\r\n this.interactionChange.emit(this.interaction);\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n Discuss gambling behaviour\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Further monitoring required?\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n Notes\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit, OnDestroy, Input, Output, EventEmitter, ElementRef, ViewChild } from '@angular/core';\r\nimport { PostcodeanywhereService } from 'src/app/services/postcodeanywhere.service';\r\nimport { Addresses, Address } from 'src/app/models/Addresses';\r\nimport { Maps } from 'src/app/models/google-maps/maps'\r\nimport { Subject, Subscription } from 'rxjs';\r\nimport { debounceTime, distinctUntilChanged } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'app-customeraddress',\r\n templateUrl: './customeraddress.component.html',\r\n styleUrls: ['./customeraddress.component.scss', '../generic-form.component.scss']\r\n})\r\nexport class CustomeraddressComponent implements OnInit, OnDestroy {\r\n addresses: Addresses = new Addresses(); \r\n address: Address;\r\n loadingAddressList: boolean = false;\r\n currentAddressId;\r\n addressPopulated: boolean = false;\r\n postCodeSearchIsValid: boolean = false;\r\n postCodeControl = new Subject();\r\n postcodeInput: string = '';\r\n // private map: Maps = new Maps();\r\n\r\n private getAddressIdSubscription: Subscription;\r\n private getAddressListSubscription: Subscription;\r\n private allowUnsubscribe: boolean = false;\r\n\r\n constructor(private postcodeAnywhere: PostcodeanywhereService) { \r\n this.postCodeControl.pipe(\r\n debounceTime(400),\r\n distinctUntilChanged())\r\n .subscribe(value => {\r\n this.object.Postcode = this.postCodeControl;\r\n if (value.length > 4)\r\n this.AddressLookup();\r\n this.allowUnsubscribe = true;\r\n }\r\n );\r\n }\r\n\r\n object: any;\r\n @Input('object') get Object(): any {\r\n return this.object;\r\n };\r\n @Output('object') objectChange: EventEmitter = new EventEmitter();\r\n set Object(val: any) {\r\n this.object = val;\r\n this.objectChange.emit(this.object);\r\n }\r\n\r\n formName: string;\r\n @Input('formName') get FormName(): string {\r\n return this.formName;\r\n };\r\n @Output('formName') formNameChange: EventEmitter = new EventEmitter();\r\n set FormName(val: string) {\r\n this.formName = val;\r\n this.formNameChange.emit(this.formName);\r\n }\r\n \r\n ngOnInit() {\r\n /*\r\n this.map.Initialise();\r\n if (this.object.Postcode) {\r\n this.postcodeInput = this.object.Postcode;\r\n this.addressPopulated = true;\r\n }\r\n */\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.allowUnsubscribe) {\r\n this.getAddressIdSubscription.unsubscribe();\r\n this.getAddressListSubscription.unsubscribe();\r\n }\r\n }\r\n\r\n @ViewChild('map') mapElement: ElementRef;\r\n AddressLookup() {\r\n this.loadingAddressList = true;\r\n\r\n // Google Maps Example\r\n /*\r\n this.postcodeAnywhere.getGeocode(this.postcodeInput).subscribe( res => {\r\n if (res.Items.length > 0) {\r\n this.mapElement.nativeElement = this.map.GenerateMap(res.Items[0].Latitude, res.Items[0].Longitude);\r\n this.mapElement.nativeElement = this.map.AddBlankMarker(res.Items[0].Latitude, res.Items[0].Longitude)\r\n }\r\n });\r\n */\r\n\r\n // Query the API and Add the Addresses\r\n return this.getAddressIdSubscription = this.postcodeAnywhere.getAddressId(this.postcodeInput).subscribe( res => {\r\n console.log(res);\r\n this.getAddressListSubscription = this.postcodeAnywhere.getAddressList(this.postcodeInput, res.Items[0].Id).subscribe( res2 => {\r\n\r\n this.addresses = res2;\r\n console.log(res2);\r\n this.postCodeSearchIsValid = true;\r\n this.object.Line1 = null;\r\n this.object.Line2 = null;\r\n this.object.TownCity = null;\r\n this.object.County = null;\r\n this.object.Postcode = this.postCodeControl;\r\n this.addressPopulated = false;\r\n this.loadingAddressList = false;\r\n });\r\n });\r\n }\r\n\r\n PopulateAddress() {\r\n this.postcodeAnywhere.getAddressDetails(this.currentAddressId).subscribe( res => {\r\n this.object.Line1 = res.Items[0].Line1;\r\n this.object.Line2 = res.Items[0].Line2;\r\n this.object.TownCity = res.Items[0].City;\r\n this.object.County = res.Items[0].Province;\r\n this.object.Postcode = res.Items[0].PostalCode;\r\n this.addressPopulated = true;\r\n });\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n

{{formName}} Address

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Postcode\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n Lookup\r\n
\r\n \r\n Fetching Addresses...\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Line 1\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n Line 2\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Town / City\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n County\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, Input, Output, EventEmitter } from '@angular/core';\r\nimport { Honorific } from 'src/app/models/Honorific';\r\nimport { Gender } from 'src/app/models/Gender';\r\nimport { ISDDateMethods } from 'src/app/models/ISDDateMethods';\r\nimport { ActorService } from 'src/app/services/actor.service';\r\nimport { ExcluderService } from 'src/app/services/excluder.service';\r\nimport { MatDatepickerInputEvent } from '@angular/material/datepicker';\r\n\r\n\r\n@Component({\r\n selector: 'app-customerdetail',\r\n templateUrl: './customerdetail.component.html',\r\n styleUrls: ['./customerdetail.component.scss', '../generic-form.component.scss'],\r\n})\r\n\r\nexport class CustomerdetailComponent implements OnInit {\r\n\r\n constructor(\r\n public asrv: ActorService,\r\n public esrv: ExcluderService\r\n ) { }\r\n\r\n // post and get - reinstatements\r\n // extensions - exclusion endpoint take the normal model, no id. supply the reference\r\n\r\n\r\n index: number;\r\n birthDateString: string;\r\n isMSAUser: boolean = false;\r\n private dateMethods: ISDDateMethods = new ISDDateMethods();\r\n\r\n honorifics: Honorific[];\r\n @Input('honorifics') get Honorific(): Honorific[] {\r\n return this.honorifics;\r\n };\r\n @Output('honorifics') honorificsChange: EventEmitter = new EventEmitter();\r\n set Honorific(val: Honorific[]) {\r\n this.honorifics = val;\r\n this.honorificsChange.emit(this.honorifics);\r\n }\r\n\r\n genders: Gender[];\r\n @Input('genders') get Gender(): Gender[] {\r\n return this.genders;\r\n };\r\n @Output('genders') gendersChange: EventEmitter = new EventEmitter();\r\n set Gender(val: Gender[]) {\r\n this.genders = val;\r\n this.gendersChange.emit(this.genders);\r\n }\r\n\r\n events: string[] = [];\r\n\r\n addEvent(type: string, event: MatDatepickerInputEvent) {\r\n this.events.push(`${type}: ${event.value}`);\r\n // console.log(new Date(this.birthDateString).toISOString().slice(0, 10) + '')\r\n }\r\n\r\n ngOnInit() {\r\n this.birthDateString = new Date(this.esrv.CurrentExclusion.InteractedActorCompositeModel.BiologicalActorCompositeModel.BirthDate).toISOString().slice(0, 10) + '';\r\n }\r\n\r\n updateExclsionBirthDate() {\r\n this.esrv.CurrentExclusion.InteractedActorCompositeModel.BiologicalActorCompositeModel.BirthDate = new Date(this.birthDateString);\r\n // console.log(this.esrv.CurrentExclusion.InteractedActorCompositeModel.BiologicalActorCompositeModel.BirthDate)\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n

Excluder Details

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Title\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n Gender\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n First Name\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n Surname\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n Birth Date\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n Tel/Mob\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n Email\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, Input, Output, EventEmitter } from '@angular/core';\r\nimport { ExcluderService } from 'src/app/services/excluder.service';\r\n\r\n@Component({\r\n selector: 'app-email',\r\n templateUrl: './email.component.html',\r\n styleUrls: ['./email.component.scss']\r\n})\r\nexport class EmailComponent implements OnInit {\r\n constructor(\r\n public esrv: ExcluderService\r\n ) { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n Confirm() {\r\n let mailFormat = /^\\w+([\\.-]?\\w+)*@\\w+([\\.-]?\\w+)*(\\.\\w{2,3})+$/;\r\n if (this.esrv.CurrentExclusion.InteractedActorCompositeModel.BiologicalActorCompositeModel.Email == null || !this.esrv.CurrentExclusion.InteractedActorCompositeModel.BiologicalActorCompositeModel.Email.match(mailFormat)) {\r\n alert('Please enter a valid email address.');\r\n } else {\r\n this.Close()\r\n }\r\n }\r\n\r\n Close() {\r\n this.ShowEmailApp.next();\r\n }\r\n\r\n @Output() ShowEmailApp = new EventEmitter();\r\n\r\n}","
\r\n
\r\n
\r\n No valid email address found. Please provide an email address to receive notifications about the exclusion.\r\n
\r\n
\r\n
\r\n
\r\n Email\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
","
\r\n
\r\n
\r\n

Exclusion Details

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n REASON\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n PERIOD\r\n
\r\n
\r\n <\r\n
\r\n \r\n
\r\n >\r\n
\r\n
\r\n MONTHS\r\n
\r\n
\r\n
\r\n
\r\n \r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { ActorService } from 'src/app/services/actor.service';\r\nimport { ExcluderService } from 'src/app/services/excluder.service';\r\n\r\n@Component({\r\n selector: 'app-excluder-exclusion',\r\n templateUrl: './excluder-exclusion.component.html',\r\n styleUrls: ['./excluder-exclusion.component.scss', '../generic-form.component.scss']\r\n})\r\nexport class ExcluderExclusionComponent implements OnInit {\r\n\r\n constructor(\r\n public asrv: ActorService,\r\n public esrv: ExcluderService\r\n ) { }\r\n\r\n selectedDurationIndex: number = 6;\r\n durationPeriods: number[] = [6, 7, 8, 9, 10, 11, 12]\r\n exclusionDate: string;\r\n\r\n ngOnInit() {\r\n if (!this.esrv.CurrentExclusion.InteractionMonitoringPeriod.Start) {\r\n this.esrv.CurrentExclusion.InteractionMonitoringPeriod.Start = new Date();\r\n }\r\n\r\n if (!this.esrv.CurrentExclusion.InteractionMonitoringPeriod.Duration) {\r\n this.esrv.SetExcluderEndDate(this.durationPeriods[this.selectedDurationIndex]);\r\n }\r\n }\r\n\r\n updateExclusionStart() {\r\n this.esrv.CurrentExclusion.InteractionMonitoringPeriod.Start = new Date(this.exclusionDate);\r\n }\r\n\r\n periodMovePrevious() {\r\n if (this.selectedDurationIndex <= 0) {\r\n this.selectedDurationIndex = 0;\r\n } else\r\n {\r\n this.selectedDurationIndex--;\r\n }\r\n this.esrv.SetExcluderEndDate(this.durationPeriods[this.selectedDurationIndex]);\r\n }\r\n\r\n periodMoveNext() {\r\n if(this.selectedDurationIndex >= this.durationPeriods.length - 1)\r\n {\r\n this.selectedDurationIndex = this.durationPeriods.length - 1;\r\n }\r\n else\r\n {\r\n this.selectedDurationIndex++;\r\n }\r\n this.esrv.SetExcluderEndDate(this.durationPeriods[this.selectedDurationIndex]);\r\n }\r\n\r\n}\r\n","import { Component, OnInit, Input, Output, EventEmitter, ViewChild, ElementRef, AfterViewInit } from '@angular/core';\r\nimport { ExclusionBreaches } from 'src/app/models/ExclusionBreaches';\r\nimport { View_ReinstatementsCompositeModel } from 'src/app/models/InteractionExclusion/Reinstatement/View_ReinstatementsCompositeModel';\r\nimport { ISDDateMethods } from 'src/app/models/ISDDateMethods';\r\nimport { ActorService } from 'src/app/services/actor.service';\r\nimport { ApiService } from 'src/app/services/api.service';\r\nimport { DataService } from 'src/app/services/data.service';\r\nimport { ExcluderViewService } from 'src/app/services/excluder-view.service';\r\nimport { ExcluderService } from 'src/app/services/excluder.service';\r\nimport { InactivityService } from 'src/app/services/inactivity.service';\r\n\r\nconst redalert: string = '#d11722';\r\nconst yellowalert: string = '#f8b03d';\r\nconst greenalert: string = '#64b32e';\r\nconst bluealert: string = '#24ace2';\r\n\r\n@Component({\r\n selector: 'app-exclusion-card-md',\r\n templateUrl: './exclusion-card-md.component.html',\r\n styleUrls: ['./exclusion-card-md.component.scss']\r\n})\r\nexport class ExclusionCardMdComponent implements OnInit, AfterViewInit {\r\n\r\n @ViewChild('cardOuter') cardOuter: ElementRef;\r\n\r\n private dateMethods: ISDDateMethods = new ISDDateMethods();\r\n public breached: boolean = false;\r\n public recentBreach: ExclusionBreaches;\r\n public startDateString: string;\r\n public image: string;\r\n galleryInit$;\r\n constructor(\r\n public esrv: ExcluderService,\r\n public asrv: ActorService,\r\n private _is: InactivityService,\r\n private _ds: DataService,\r\n private _api: ApiService\r\n ) { }\r\n\r\n public showBreachSite: boolean;\r\n\r\n ngOnInit() {\r\n const _token = sessionStorage.getItem('__galleryToken');\r\n\r\n if (_token) {\r\n this._api.getCheckToken(_token).subscribe(\r\n results => {\r\n this._is.startMonitor();\r\n this._is.startTimer();\r\n },\r\n error => {\r\n this._ds.setMemwordError(true);\r\n sessionStorage.removeItem('__galleryToken');\r\n }\r\n )\r\n } else {\r\n this._ds.setMemwordError(true);\r\n }\r\n\r\n\r\n\r\n\r\n this.recentBreach = this.esrv.GetRecentBreach();\r\n if (this.recentBreach) {\r\n this.breached = true;\r\n this.asrv.GetSiteNameCollection([this.recentBreach.SiteId]).then(value => {\r\n this.recentBreach.Site = value[0].Name;\r\n this.showBreachSite = true;\r\n })\r\n }\r\n\r\n this.image = this.esrv.CurrentExclusion.MediaModelCollection.find(i => i.MediaClassKeyId === 4).Data;\r\n }\r\n\r\n ngAfterViewInit() {\r\n // let startDate = new Date(this.exclusion.Start);\r\n let diffDaysStart = this.dateMethods.DateDifferenceInDays(new Date(this.esrv.CurrentExclusion.InteractionMonitoringPeriod.Start));\r\n let durationDate = (this.esrv.CurrentExclusion.InteractionMonitoringPeriod.Duration ? this.esrv.CurrentExclusion.InteractionMonitoringPeriod.Duration : 365);\r\n let diffDaysEnd = this.dateMethods.DateDifferenceInDays(this.dateMethods.AddDays(new Date(this.esrv.CurrentExclusion.InteractionMonitoringPeriod.Start), durationDate));\r\n\r\n if (this.esrv.ReinstatementExists()) {\r\n this.cardOuter.nativeElement.style.borderColor = bluealert;\r\n this.cardOuter.nativeElement.style.background = bluealert;\r\n } else if (diffDaysStart <= 5) {\r\n this.cardOuter.nativeElement.style.borderColor = redalert;\r\n this.cardOuter.nativeElement.style.background = redalert;\r\n } else if (diffDaysEnd >= 0) {\r\n this.cardOuter.nativeElement.style.borderColor = greenalert;\r\n this.cardOuter.nativeElement.style.background = greenalert;\r\n } else {\r\n this.cardOuter.nativeElement.style.borderColor = yellowalert;\r\n this.cardOuter.nativeElement.style.background = yellowalert;\r\n }\r\n }\r\n\r\n GetEndDateString(): String {\r\n return new Date(this.dateMethods.AddDays(this.esrv.CurrentExclusion.InteractionMonitoringPeriod.Start, this.esrv.CurrentExclusion.InteractionMonitoringPeriod.Duration)).toISOString();\r\n }\r\n\r\n GetEndDate(): Date {\r\n return new Date(this.dateMethods.AddDays(this.esrv.CurrentExclusion.InteractionMonitoringPeriod.Start, this.esrv.CurrentExclusion.InteractionMonitoringPeriod.Duration));\r\n }\r\n\r\n GetExtensionInMonths() {\r\n return this.dateMethods.GetMonthDifference(this.esrv.CurrentExclusion.Extension.Start, this.esrv.CurrentExclusion.Extension.Duration);\r\n }\r\n\r\n ExcluderRecentlyBreached(): boolean {\r\n if (this.esrv.CurrentExclusion.ExclusionBreachesCollection) {\r\n if (this.esrv.CurrentExclusion.ExclusionBreachesCollection.length > 0) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n ExcluderIsCoolingOff() {\r\n if (this.esrv.CurrentExclusion.Reinstatement) {\r\n var diff = this.dateMethods.DateDifferenceInDays(this.esrv.CurrentExclusion.Reinstatement.Accepted);\r\n if (diff === 0) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n console.log('***leaving gallery');\r\n this._is.killSubscriptions();\r\n this._ds.setMemwordError(false);\r\n }\r\n}\r\n","
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n

{{esrv.CurrentExclusion.InteractedActorCompositeModelCollection[0].BiologicalActorCompositeModel?.Forename}} {{esrv.CurrentExclusion.InteractedActorCompositeModelCollection[0].BiologicalActorCompositeModel?.Surname}}

\r\n

\r\n Date of birth: {{esrv.CurrentExclusion.InteractedActorCompositeModelCollection[0].BiologicalActorCompositeModel?.BirthDate | date: 'dd/MM/yyyy'}}
\r\n Ref: {{esrv.CurrentExclusion.Reference}}\r\n

\r\n

\r\n Address: {{esrv.CurrentExclusion.InteractedActorCompositeModelCollection[0].BiologicalActorCompositeModel?.Line1}} \r\n , {{esrv.CurrentExclusion.InteractedActorCompositeModelCollection[0].BiologicalActorCompositeModel?.Line2}}\r\n , {{esrv.CurrentExclusion.InteractedActorCompositeModelCollection[0].BiologicalActorCompositeModel?.TownCity}} \r\n , {{esrv.CurrentExclusion.InteractedActorCompositeModelCollection[0].BiologicalActorCompositeModel?.County}}
\r\n Post Code: {{esrv.CurrentExclusion.InteractedActorCompositeModelCollection[0].BiologicalActorCompositeModel?.Postcode}}\r\n

\r\n

\r\n\r\n Exclusion: {{esrv.CurrentExclusion.InteractionMonitoringPeriod?.Start | date: 'dd/MM/yyyy'}} - {{GetEndDate() | date: 'dd/MM/yyyy'}}
\r\n Site: {{esrv.CurrentExclusion.ClientValues?.ExclusionSiteName}}
\r\n Exclusion Radius: {{esrv.ExclusionRadius}}\r\n

\r\n

\r\n Number of Breaches: {{esrv.CurrentExclusion.ExclusionBreachesCollection.length}}
\r\n Recent Breach: {{recentBreach.Breached | date: 'dd/MM/yyyy'}}
\r\n Breach Location: {{recentBreach.Site}}\r\n

\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
+{{GetExtensionInMonths()}}
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n CLOSE\r\n
\r\n
\r\n
","import { Component, OnInit, Input, Output, EventEmitter, ViewChild, ElementRef, AfterViewInit } from '@angular/core';\r\nimport { ExclusionBreaches } from 'src/app/models/ExclusionBreaches';\r\n\r\nimport { ISDDateMethods } from 'src/app/models/ISDDateMethods';\r\nimport { ActorService } from 'src/app/services/actor.service';\r\nimport { ApiService } from 'src/app/services/api.service';\r\nimport { DataService } from 'src/app/services/data.service';\r\nimport { ExcluderService } from 'src/app/services/excluder.service';\r\nimport { InactivityService } from 'src/app/services/inactivity.service';\r\n\r\nconst redalert: string = '#d11722';\r\nconst yellowalert: string = '#f8b03d';\r\nconst greenalert: string = '#64b32e';\r\nconst bluealert: string = '#24ace2';\r\n\r\n@Component({\r\n selector: 'app-exclusion-card-mobile',\r\n templateUrl: './exclusion-card-mobile.component.html',\r\n styleUrls: ['./exclusion-card-mobile.component.scss']\r\n})\r\nexport class ExclusionCardMobileComponent implements OnInit, AfterViewInit {\r\n\r\n @ViewChild('cardOuter') cardOuter: ElementRef;\r\n\r\n private dateMethods: ISDDateMethods = new ISDDateMethods();\r\n public breached: boolean = false;\r\n public recentBreach: ExclusionBreaches;\r\n public startDateString: string;\r\n public image: string;\r\n\r\n constructor(\r\n public esrv: ExcluderService,\r\n public asrv: ActorService,\r\n private _is: InactivityService,\r\n private _ds: DataService,\r\n private _api: ApiService\r\n ) { }\r\n\r\n public showBreachSite: boolean;\r\n\r\n ngOnInit() {\r\n const _token = sessionStorage.getItem('__galleryToken');\r\n\r\n if (_token) {\r\n this._api.getCheckToken(_token).subscribe(\r\n results => {\r\n this._is.startMonitor();\r\n this._is.startTimer();\r\n },\r\n error => {\r\n this._ds.setMemwordError(true);\r\n sessionStorage.removeItem('__galleryToken');\r\n }\r\n )\r\n } else {\r\n this._ds.setMemwordError(true);\r\n }\r\n\r\n this.recentBreach = this.esrv.GetRecentBreach();\r\n if (this.recentBreach) {\r\n this.breached = true;\r\n this.asrv.GetSiteNameCollection([this.recentBreach.SiteId]).then(value => {\r\n this.recentBreach.Site = value[0].Name;\r\n this.showBreachSite = true;\r\n })\r\n }\r\n\r\n this.image = this.esrv.CurrentExclusion.MediaModelCollection.find(i => i.MediaClassKeyId === 4).Data;\r\n }\r\n\r\n ngAfterViewInit() {\r\n // let startDate = new Date(this.exclusion.Start);\r\n let diffDaysStart = this.dateMethods.DateDifferenceInDays(new Date(this.esrv.CurrentExclusion.InteractionMonitoringPeriod.Start));\r\n let durationDate = (this.esrv.CurrentExclusion.InteractionMonitoringPeriod.Duration ? this.esrv.CurrentExclusion.InteractionMonitoringPeriod.Duration : 365);\r\n let diffDaysEnd = this.dateMethods.DateDifferenceInDays(this.dateMethods.AddDays(new Date(this.esrv.CurrentExclusion.InteractionMonitoringPeriod.Start), durationDate));\r\n\r\n if (this.esrv.ReinstatementExists()) {\r\n this.cardOuter.nativeElement.style.borderColor = bluealert;\r\n this.cardOuter.nativeElement.style.background = bluealert;\r\n } else if (diffDaysStart <= 5) {\r\n this.cardOuter.nativeElement.style.borderColor = redalert;\r\n this.cardOuter.nativeElement.style.background = redalert;\r\n } else if (diffDaysEnd >= 0) {\r\n this.cardOuter.nativeElement.style.borderColor = greenalert;\r\n this.cardOuter.nativeElement.style.background = greenalert;\r\n } else {\r\n this.cardOuter.nativeElement.style.borderColor = yellowalert;\r\n this.cardOuter.nativeElement.style.background = yellowalert;\r\n }\r\n }\r\n\r\n GetEndDateString(): String {\r\n return new Date(this.dateMethods.AddDays(this.esrv.CurrentExclusion.InteractionMonitoringPeriod.Start, this.esrv.CurrentExclusion.InteractionMonitoringPeriod.Duration)).toISOString();\r\n }\r\n\r\n GetEndDate(): Date {\r\n return new Date(this.dateMethods.AddDays(this.esrv.CurrentExclusion.InteractionMonitoringPeriod.Start, this.esrv.CurrentExclusion.InteractionMonitoringPeriod.Duration));\r\n }\r\n\r\n GetExtensionInMonths() {\r\n return this.dateMethods.GetMonthDifference(this.esrv.CurrentExclusion.Extension.Start, this.esrv.CurrentExclusion.Extension.Duration);\r\n }\r\n\r\n ExcluderRecentlyBreached(): Boolean {\r\n if (this.esrv.CurrentExclusion.ExclusionBreachesCollection) {\r\n if (this.esrv.CurrentExclusion.ExclusionBreachesCollection.length > 0) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n ExcluderIsCoolingOff() {\r\n if (this.esrv.CurrentExclusion.Reinstatement) {\r\n var diff = this.dateMethods.DateDifferenceInDays(this.esrv.CurrentExclusion.Reinstatement.Accepted);\r\n if (diff === 0) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n console.log('***leaving gallery');\r\n this._is.killSubscriptions();\r\n this._ds.setMemwordError(false);\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n

{{esrv.CurrentExclusion.InteractedActorCompositeModelCollection[0].BiologicalActorCompositeModel?.Forename}} {{esrv.CurrentExclusion.InteractedActorCompositeModelCollection[0].BiologicalActorCompositeModel?.Surname}}

\r\n

\r\n Date of birth: {{esrv.CurrentExclusion.InteractedActorCompositeModelCollection[0].BiologicalActorCompositeModel?.BirthDate | date: 'dd/MM/yyyy'}}
\r\n Ref: {{esrv.CurrentExclusion.Reference}}\r\n

\r\n

\r\n Address: {{esrv.CurrentExclusion.InteractedActorCompositeModelCollection[0].BiologicalActorCompositeModel?.Line1}} \r\n , {{esrv.CurrentExclusion.InteractedActorCompositeModelCollection[0].BiologicalActorCompositeModel?.Line2}}\r\n , {{esrv.CurrentExclusion.InteractedActorCompositeModelCollection[0].BiologicalActorCompositeModel?.TownCity}} \r\n , {{esrv.CurrentExclusion.InteractedActorCompositeModelCollection[0].BiologicalActorCompositeModel?.County}}
\r\n Post Code: {{esrv.CurrentExclusion.InteractedActorCompositeModelCollection[0].BiologicalActorCompositeModel?.Postcode}}\r\n

\r\n

\r\n Exclusion: {{esrv.CurrentExclusion.InteractionMonitoringPeriod?.Start | date: 'dd/MM/yyyy'}} - {{GetEndDate() | date: 'dd/MM/yyyy'}}
\r\n Site: {{esrv.CurrentExclusion.ClientValues.ExclusionSiteName}}
\r\n Exclusion Radius: {{esrv.ExclusionRadius}}\r\n

\r\n

\r\n Recent Breach: {{recentBreach.Breached | date: 'dd/MM/yyyy'}}
\r\n Breach Location: {{recentBreach.Site}}\r\n

\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
+{{GetExtensionInMonths()}}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit, Output, Input, EventEmitter, ElementRef, ViewChild, AfterViewInit } from '@angular/core';\r\n\r\nimport { ISDDateMethods } from 'src/app/models/ISDDateMethods';\r\nimport { SiteDetail } from 'src/app/models/SiteDetail';\r\nimport { ActorService } from 'src/app/services/actor.service';\r\nimport { DataService } from 'src/app/services/data.service';\r\nimport { ExcluderService } from 'src/app/services/excluder.service';\r\n\r\ndeclare var require: any;\r\nconst jsPDF = require('jspdf');\r\n\r\nconst redalert: string = '#d11722';\r\nconst yellowalert: string = '#f8b03d';\r\nconst greenalert: string = '#64b32e';\r\nconst bluealert: string = '#24ace2';\r\n\r\n@Component({\r\n selector: 'app-exclusion-confirmed',\r\n templateUrl: './exclusion-confirmed.component.html',\r\n styleUrls: ['./exclusion-confirmed.component.scss', '../generic-form.component.scss']\r\n})\r\nexport class ExclusionConfirmedComponent implements OnInit, AfterViewInit {\r\n @ViewChild('btnPrint') btnPrint: ElementRef;\r\n @ViewChild('btnPrintMobile') btnPrintMobile: ElementRef;\r\n\r\n private dateMethods: ISDDateMethods = new ISDDateMethods();\r\n public SiteName: String;\r\n Title: string;\r\n\r\n public hasBreached: boolean = false;\r\n public exclusionSummary: string = 'ExclusionSummary';\r\n public exclusionSummaryVersion: string;\r\n public exclusionSummaryHTML: string;\r\n public printEnabled: boolean;\r\n private _siteDetails: SiteDetail[] = [];\r\n\r\n\r\n formMessage: string;\r\n @Input('formMessage') get FormMessage(): string\r\n { \r\n return this.formMessage;\r\n };\r\n @Output('formMessage') formMessageChange: EventEmitter = new EventEmitter();\r\n set FormMessage(val: string) {\r\n this.formMessage = val;\r\n this.formMessageChange.emit(this.formMessage);\r\n }\r\n\r\n constructor(\r\n public asrv: ActorService, \r\n public esrv: ExcluderService,\r\n public dsrv: DataService\r\n ) {}\r\n\r\n ngOnInit() { \r\n // No no no no nooooo\r\n this.asrv.GetSiteCompositeModel(this.esrv.CurrentExclusion.SiteId).subscribe(s => {\r\n this.SiteName = s.Name;\r\n });\r\n\r\n let siteCollecitonComplete = false;\r\n let summaryComplete = false;\r\n this.esrv.CurrentExclusion.SiteIdCollection.forEach(id => {\r\n this.asrv.GetSiteDetails(id).subscribe(res => {\r\n this._siteDetails.push(res);\r\n siteCollecitonComplete = true;\r\n if (siteCollecitonComplete && summaryComplete) {\r\n this.EnablePrint();\r\n }\r\n })\r\n })\r\n\r\n let exclusionSummaryVersionSubscription = this.asrv.GetExclusionSummaryVersion(this.exclusionSummary).subscribe(res => {\r\n res.sort((n1, n2) => {\r\n if (n1 > n2) {\r\n return 1;\r\n }\r\n if (n1 < n2) {\r\n return -1;\r\n }\r\n return 0;\r\n })\r\n\r\n res.forEach(version => {\r\n this.exclusionSummaryVersion = version;\r\n });\r\n\r\n let exclusionSummaryHTMLSubscription = this.asrv.GetExclusionSummary(this.esrv.CurrentExclusion.InteractionId, this.exclusionSummary, this.exclusionSummaryVersion).subscribe(res => {\r\n this.exclusionSummaryHTML = res;\r\n this.exclusionSummaryHTML = this.exclusionSummaryHTML.replace('bactalink=\"exclusionImagePath\"', 'id=\"imageExcluder\" src=\"' + this.esrv.CurrentExclusion.MediaModelCollection.find(i => i.MediaClassKeyId === 4).Data + '\"');\r\n summaryComplete = true;\r\n if (siteCollecitonComplete && summaryComplete) {\r\n this.EnablePrint();\r\n }\r\n exclusionSummaryHTMLSubscription.unsubscribe();\r\n }, err => {\r\n this.exclusionSummaryHTML = \"Error Fetching Exclusion Summary, Please Contact Support.\"\r\n exclusionSummaryHTMLSubscription.unsubscribe();\r\n })\r\n \r\n exclusionSummaryVersionSubscription.unsubscribe();\r\n }, err => {\r\n exclusionSummaryVersionSubscription.unsubscribe();\r\n })\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.DisablePrint();\r\n }\r\n\r\n GetExcluderColour() : string { \r\n let diffDaysStart = this.dateMethods.DateDifferenceInDays(this.esrv.CurrentExclusion.InteractionMonitoringPeriod.Start)\r\n let diffDaysEnd = this.dateMethods.DateDifferenceInDays(this.dateMethods.AddDays(this.esrv.CurrentExclusion.InteractionMonitoringPeriod.Start, this.esrv.CurrentExclusion.InteractionMonitoringPeriod.Duration));\r\n if(this.esrv.CurrentExclusion.ClientValues.ReinstatementExists) {\r\n return bluealert;\r\n } else if(diffDaysStart <= 5)\r\n return redalert;\r\n else if(diffDaysEnd >= 0)\r\n return greenalert;\r\n else return yellowalert;\r\n }\r\n\r\n GetEndDate(): Date {\r\n return this.esrv.GetCurrentExcluderEndDate();\r\n }\r\n\r\n PrintExclusionTsAndCs() {\r\n var doc = new jsPDF('1', 'px');\r\n\r\n var specialElementHandlers = {\r\n '#skipthis': function(element, renderer) {\r\n return true;\r\n }\r\n }\r\n\r\n document.getElementById('jspdfInsert').innerHTML = this.exclusionSummaryHTML;\r\n var element: any = document.getElementById('imageExcluder');\r\n var imgHeight = element.clientHeight;\r\n var imgWidth = element.clientWidth;\r\n\r\n document.getElementById('jspdfInsert').innerHTML = '';\r\n\r\n while (imgHeight > 400) {\r\n imgHeight = imgHeight / 2;\r\n imgWidth = imgWidth / 2;\r\n }\r\n\r\n while (imgWidth > 300) {\r\n imgHeight = imgHeight / 2;\r\n imgWidth = imgWidth / 2;\r\n } \r\n\r\n doc.fromHTML('

Exclusion Summary

', 15, 15, {\r\n width: 400,\r\n 'elementHandlers': specialElementHandlers\r\n });\r\n doc.addImage(this.esrv.CurrentExclusion.MediaModelCollection.find(i => i.MediaClassKeyId === 4).Data, 'PNG', 15, 55, imgWidth, imgHeight);\r\n\r\n let pdfHTML = '

' + this.esrv.CurrentExclusion.InteractedActorCompositeModelCollection[0].BiologicalActorCompositeModel.Forename + ' ' + this.esrv.CurrentExclusion.InteractedActorCompositeModelCollection[0].BiologicalActorCompositeModel.Surname + '
' +\r\n 'Ref No: ' + this.esrv.CurrentExclusion.Reference + '
' +\r\n this.esrv.CurrentExclusion.InteractedActorCompositeModelCollection[0].BiologicalActorCompositeModel.Line1 + ', ' + (this.esrv.CurrentExclusion.InteractedActorCompositeModelCollection[0].BiologicalActorCompositeModel.Line2? this.esrv.CurrentExclusion.InteractedActorCompositeModelCollection[0].BiologicalActorCompositeModel.Line2 + ', ': '') + this.esrv.CurrentExclusion.InteractedActorCompositeModelCollection[0].BiologicalActorCompositeModel.TownCity + ', ' +\r\n this.esrv.CurrentExclusion.InteractedActorCompositeModelCollection[0].BiologicalActorCompositeModel.Postcode + ', ' + this.esrv.CurrentExclusion.InteractedActorCompositeModelCollection[0].BiologicalActorCompositeModel.Country + '

' +\r\n '

Exclusion Confirmation
' + 'Duration: ' + this.esrv.CurrentExclusion.InteractionMonitoringPeriod.Start.toString().slice(0,10) + ' - ' + this.GetEndDate().toISOString().slice(0,10) + '
' +\r\n 'Exclusion Radius: ' + 1 + ' Kilometers (km)' + '
';\r\n // pdfHTML = pdfHTML+this.esrv.CurrentExclusionMobile? ('Tel No: ' + this.esrv.CurrentExclusionMobile + '
'): '';\r\n // pdfHTML = pdfHTML+this.esrv.CurrentExclusionEmail? ('Email: ' + this.esrv.CurrentExclusionEmail + '
'): '' + '

';\r\n\r\n pdfHTML = pdfHTML + '

You have self-excluded from ' + this._siteDetails.find(i => i.ActorId === this.esrv.CurrentExclusion.SiteId).Name + ' and all other AGCs listed below within ' + this.esrv.CurrentExclusion.ClientValues.Radius + 'Kilometers (km) radius for a period of ' + (this.dateMethods.GetMonthDifference(this.esrv.CurrentExclusion.InteractionMonitoringPeriod.Start, this.esrv.CurrentExclusion.InteractionMonitoringPeriod.Duration)) + ' months. Below is a list of sites which you are excluded from:

';\r\n pdfHTML = pdfHTML + ''\r\n\r\n // Site Loop\r\n this._siteDetails.forEach(site => {\r\n pdfHTML = pdfHTML + '';\r\n })\r\n pdfHTML = pdfHTML + '
Excluded SitesAddress
' + site.Name + '' + (site.Line1? (site.Line1 + ', '): ('')) + (site.TownCity? (site.TownCity + ', '): ('')) + (site.Postcode? (site.Postcode): ('')) + (', ' + site.Country? (', ' + site.County): ('')) + '
';\r\n \r\n pdfHTML = pdfHTML + '

You have already acknowledged the terms and conditions and been made aware of the privacy policy in relation to your self-exclusion. Below is a copy of the full Terms and Conditions and full Privacy Policy.

'\r\n pdfHTML = pdfHTML + '

During the period of self- exclusion, you are not permitted to enter any premises you are excluded from to gamble. This is known as a breach and you will be challenged by staff and requested to leave the premises.

'\r\n pdfHTML = pdfHTML + '

At the end of your self- exclusion period you cannot return to gambling within the next 6 month period unless you actively return to gambling. This process is known as reinstating. In normal circumstances you can reinstate at the premises you self- excluded from but you can reinstate at any premises on the list of excluded premises.

'\r\n pdfHTML = pdfHTML + '

Safer Gambling Information

';\r\n pdfHTML = pdfHTML + '

During the self-exclusion process, you will have discussed problem gambling issues and been signposted to help and support. Below is a link to the Gamcare website. You may also have been signposted to a local Gamcare provider in your area. The National Gambling Helpline is open 24hours a day and Gamcare provides telephone and online support.

'\r\n pdfHTML = pdfHTML + '

Gamcare Freephone 08088020133

';\r\n pdfHTML = pdfHTML + '

https://www.gamcare.org.uk/?gclid=EAIaIQobChMIvMfqg7S45wIVjbTtCh1hxACjEAAYASAAEgLaJPD_BwE

'\r\n doc.fromHTML(pdfHTML, 15, imgHeight+55, {\r\n width: 400,\r\n 'elementHandlers': specialElementHandlers\r\n });\r\n\r\n if (/Android|webOS|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)) {\r\n var pdf = doc.output('datauristring');\r\n var pdfWindow = window.open();\r\n pdfWindow.document.open();\r\n pdfWindow.document.location=pdf; \r\n } else {\r\n doc.save(new Date().toISOString() + '_' + this.esrv.CurrentExclusion.Reference + '.pdf');\r\n }\r\n }\r\n\r\n DisablePrint() {\r\n this.printEnabled = false;\r\n this.UpdateButtonProperties();\r\n }\r\n\r\n EnablePrint() {\r\n this.printEnabled = true;\r\n this.UpdateButtonProperties();\r\n }\r\n\r\n UpdateButtonProperties() {\r\n this.btnPrint.nativeElement.disabled = !this.printEnabled;\r\n this.btnPrintMobile.nativeElement.disabled = !this.printEnabled;\r\n this.btnPrint.nativeElement.style.filter = (this.printEnabled?'Grayscale(0)':'Grayscale(0.75)');\r\n this.btnPrintMobile.nativeElement.style.filter = (this.printEnabled?'Grayscale(0)':'Grayscale(0.75)');\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n \r\n
\r\n
\r\n {{formMessage}}\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n

{{formMessage}}

\r\n
\r\n\r\n
\r\n \r\n
\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, Input, EventEmitter, Output, ElementRef, ViewChild, AfterViewInit } from '@angular/core';\r\n\r\nimport { IdentificationDocument } from 'src/app/models/IdentificationDocumentKey';\r\nimport { ActorService } from 'src/app/services/actor.service';\r\nimport { ExcluderService } from 'src/app/services/excluder.service';\r\n// import SignaturePad from 'node_modules/signature_pad';\r\n\r\n@Component({\r\n selector: 'app-exclusion-declaration-details',\r\n templateUrl: './exclusion-declaration-details.component.html',\r\n styleUrls: ['./exclusion-declaration-details.component.scss', '../generic-form.component.scss']\r\n})\r\nexport class ExclusionDeclarationDetailsComponent implements OnInit {\r\n \r\n @ViewChild('canvas') Canvas: ElementRef;\r\n @ViewChild('btnProcess') btnProcess: ElementRef;\r\n\r\n // public signaturePad: SignaturePad;\r\n public data;\r\n public emailVerification: boolean = false;\r\n public showDeclaration: boolean = true;\r\n public termsDisplayedOnce: boolean = false;\r\n public chkTermsAndConditions: boolean;\r\n public agreeToThirdParty: boolean;\r\n\r\n constructor(public asrv: ActorService, public esrv: ExcluderService) { }\r\n\r\n showEmail: Boolean = false;\r\n ShowEmailApp() {\r\n this.showEmail = !this.showEmail;\r\n if (this.showEmail) {\r\n this.DisableButtonProcessExclusion();\r\n } else {\r\n this.EnableButtonProcessExclusion();\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n ShowTerms() {\r\n this.ShowHideTermsApp.next();\r\n }\r\n\r\n CallValidateExclusion() {\r\n // this.exclusion.Image_Signiture = this.signaturePad.toDataURL();\r\n // this.exclusion.Image_SignitureBase64 = this.signaturePad.toDataURL();\r\n /*if (!(this.esrv.CurrentExclusion.IdentificationDocumentKeyId >= 0)) {\r\n alert('Please seclect the form of ID the Excluder presented.')\r\n } else */\r\n if (this.emailVerification && (!this.esrv.CurrentExclusion.InteractedActorCompositeModel.BiologicalActorCompositeModel.Email)) {\r\n this.ShowEmailApp();\r\n } else {\r\n if (this.emailVerification) {\r\n this.esrv.CurrentExclusion.TagIdCollection.push(42);\r\n }\r\n this.DisableButtonProcessExclusion();\r\n this.ValidateExclusion.next();\r\n }\r\n }\r\n\r\n DisableButtonProcessExclusion() {\r\n this.btnProcess.nativeElement.disabled = true;\r\n this.btnProcess.nativeElement.style.filter = 'Grayscale(0.75)';\r\n this.btnProcess.nativeElement.style.cursor = 'not-allowed';\r\n }\r\n\r\n EnableButtonProcessExclusion() {\r\n this.btnProcess.nativeElement.disabled = false;\r\n this.btnProcess.nativeElement.style.filter = 'Grayscale(0)';\r\n this.btnProcess.nativeElement.style.cursor = 'pointer';\r\n }\r\n\r\n @Output() ShowHideTermsApp = new EventEmitter();\r\n @Output() ValidateExclusion = new EventEmitter();\r\n\r\n}","
\r\n
\r\n
\r\n

Declaration

\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
ID CHECKED
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
EMAIL A COPY OF THE EXCLUSION DETAILS
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
I CONFIRM MY SELF-EXCLUSION
\r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n
","import { Component, OnInit, Input, Output, EventEmitter, ViewChild, ElementRef } from '@angular/core';\r\n\r\nimport { IdentificationDocument } from 'src/app/models/IdentificationDocumentKey';\r\nimport { ActorService } from 'src/app/services/actor.service';\r\nimport { ExcluderService } from 'src/app/services/excluder.service';\r\n\r\n@Component({\r\n selector: 'app-exclusion-declaration',\r\n templateUrl: './exclusion-declaration.component.html',\r\n styleUrls: ['./exclusion-declaration.component.scss', '../generic-form.component.scss']\r\n})\r\nexport class ExclusionDeclarationComponent implements OnInit {\r\n constructor(\r\n public esrv: ExcluderService,\r\n public asrv: ActorService\r\n ) { }\r\n\r\n idDocTypes: IdentificationDocument[];\r\n @Input('idDocTypes') get IdDocTypes(): IdentificationDocument[]\r\n {\r\n return this.idDocTypes;\r\n };\r\n @Output('idDocTypes') idDocTypesChange: EventEmitter = new EventEmitter();\r\n set IdDocTypes(val: IdentificationDocument[]) {\r\n this.idDocTypes = val;\r\n this.idDocTypesChange.emit(this.idDocTypes);\r\n }\r\n\r\n public excluderImage: string;\r\n showHideTerms: Boolean = false;\r\n ShowHideTermsApp() {\r\n this.showHideTerms = !this.showHideTerms;\r\n }\r\n\r\n ngOnInit() {\r\n this.excluderImage = this.esrv.CurrentExclusion.MediaModelCollection.find(i => i.MediaClassKeyId === 4).Data;\r\n }\r\n\r\n ValidateExclusion() {\r\n if (!this.esrv.CurrentExclusion.ClientValues.Confirmed) {\r\n alert('You Must Confirm The Exclusion Before Proceeding!');\r\n (document.getElementById('btnProcessExclusion') as HTMLButtonElement).disabled = false;\r\n (document.getElementById('btnProcessExclusion') as HTMLButtonElement).style.filter = 'Grayscale(0)';\r\n /*\r\n } else if (!this.exclusion.Image_SignitureBase64) {\r\n alert('You Must Sign The Document Before Proceeding!')\r\n */\r\n } else {\r\n this.GoForward.next();\r\n }\r\n }\r\n\r\n @Output() GoForward = new EventEmitter();\r\n}\r\n\r\n","
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{esrv.CurrentExclusion.InteractedActorCompositeModel.BiologicalActorCompositeModel.Forename + ' ' + esrv.CurrentExclusion.InteractedActorCompositeModel.BiologicalActorCompositeModel.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
","import { Component, OnInit, Input, EventEmitter, Output } from '@angular/core';\r\n\r\n\r\n@Component({\r\n selector: 'app-exclusion-terms',\r\n templateUrl: './exclusion-terms.component.html',\r\n styleUrls: ['./exclusion-terms.component.scss', '../generic-form.component.scss']\r\n})\r\nexport class ExclusionTermsComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n

Terms & Conditions

\r\n
\r\n
\r\n
\r\n
\r\n I consent to my self exclusion data being shared on Bacta Self Exclusion System and other arcade self-exclusion systems.\r\n
\r\n
\r\n
\r\n
\r\n I consent to my non personal data being shared with the Gambling Commission and other relevant stakeholders.\r\n
\r\n
\r\n
\r\n
\r\n I understand the self-exclusion process and I confirm my self-exclusion.\r\n
\r\n
\r\n
\r\n
\r\n
\r\n *Once self excluded your details will be removed from marketing and promotion databases within 2 days.\r\n
\r\n
\r\n
","import { Component, OnInit, Output, Input, EventEmitter } from '@angular/core';\r\nimport { Honorific } from 'src/app/models/Honorific';\r\nimport { Site } from 'src/app/models/Site';\r\nimport { ActorService } from 'src/app/services/actor.service';\r\nimport { OrganisationService } from 'src/app/services/organisation.service';\r\nimport { SiteCollection } from 'src/app/models/SiteCollection';\r\nimport { Subject } from 'rxjs';\r\nimport { debounceTime, distinctUntilChanged } from 'rxjs/operators';\r\nimport { Tags } from 'src/app/models/Tags';\r\nimport { ErrorhanderService } from 'src/app/services/errorhander.service';\r\nimport { ExcluderService } from 'src/app/services/excluder.service';\r\nimport { NonBiologicalName } from 'src/app/models/actor/Name';\r\n\r\n@Component({\r\n selector: 'app-exclusion-zone',\r\n templateUrl: './exclusion-zone.component.html',\r\n styleUrls: ['./exclusion-zone.component.scss', '../generic-form.component.scss']\r\n})\r\nexport class ExclusionZoneComponent implements OnInit {\r\n\r\n constructor(\r\n public asrv: ActorService,\r\n public esrv: ExcluderService,\r\n private osrv: OrganisationService,\r\n private errorHandler: ErrorhanderService,\r\n private tags: Tags\r\n ) { }\r\n\r\n public showSpinner: boolean = false;\r\n public showSiteList: boolean = false;\r\n public showMotorwayServices: boolean;\r\n public exclusionSites: Site[] = [];\r\n public radius = new Subject();\r\n public honorifics: Honorific[] = [];\r\n public showBactaTelephone: boolean = false;\r\n\r\n // Controller Properties\r\n public organisationFilterId: number;\r\n public sites: NonBiologicalName[] = [];\r\n public loadingOrganisationDropDown: boolean;\r\n public loadingSiteDropDown: boolean;\r\n\r\n organisationID: number; //For selecting sites available\r\n\r\n motorWayCollection: SiteCollection[] = []; \r\n @Input('motorWayCollection') get MotorWayCollection(): SiteCollection[] {\r\n return this.motorWayCollection;\r\n };\r\n @Output('motorWayCollection') motorWayCollectionChange: EventEmitter = new EventEmitter();\r\n set MotorWayCollection(val: SiteCollection[]) {\r\n this.motorWayCollection = val;\r\n this.motorWayCollectionChange.emit(this.motorWayCollection);\r\n }\r\n\r\n showSiteListOnClick() {\r\n this.showSiteList = !this.showSiteList;\r\n }\r\n\r\n showMotorwayServicesOnClick() {\r\n this.showMotorwayServices = !this.showMotorwayServices;\r\n }\r\n\r\n ngOnInit() {\r\n if (this.esrv.CurrentExclusion.SiteId) {\r\n let actorCompositeModel = this.asrv.GetSiteCompositeModel(this.esrv.CurrentExclusion.SiteId).subscribe(actor => {\r\n if (actor.TagIdCollection.length > 0) {\r\n if (actor.TagIdCollection.find(i => i === this.tags.MotorwayService)) {\r\n this.showMotorwayServices = true;\r\n }\r\n }\r\n actorCompositeModel.unsubscribe();\r\n }, err => {\r\n this.errorHandler.CreateParameter('exclusion.SiteId',this.esrv.CurrentExclusion.SiteId);\r\n this.errorHandler.CatchError('ngOnInit()', 'exclusion-zone.component.ts', err);\r\n actorCompositeModel.unsubscribe();\r\n });\r\n } else {\r\n this.organisationFilterId = this.asrv.UserOrganisationId;\r\n this.loadingOrganisationDropDown = false;\r\n this.PopulateSiteDropDown();\r\n }\r\n\r\n // this.exclusionSites = this.esrv.CurrentExclusion.SiteCollection;\r\n this.radius.pipe(debounceTime(500), distinctUntilChanged()).subscribe(value => {\r\n this.GetSiteList();\r\n });\r\n }\r\n\r\n PopulateSiteDropDown() {\r\n this.sites = [];\r\n this.asrv.PopulateSiteSelectForOrgansiationId(this.organisationFilterId).then(value => {\r\n if (!this.asrv.SiteSelect.KeySelected) {\r\n this.esrv.CurrentExclusion.SiteId = null;\r\n } else {\r\n this.esrv.CurrentExclusion.SiteId = this.asrv.SiteSelect.KeySelected;\r\n }\r\n this.esrv.CurrentExclusion.ClientValues.ExclusionSiteName = this.asrv.SiteSelect.DropDownItems[0].Value;\r\n this.GetSiteList();\r\n })\r\n }\r\n\r\n GetSiteList() {\r\n this.esrv.CurrentExclusion.ClientValues.ExclusionSiteName = this.asrv.SiteSelect.KeySelected;\r\n let actorCompositeModel = this.asrv.GetSiteCompositeModel(this.esrv.CurrentExclusion.SiteId).subscribe(actor => {\r\n if (actor.TagIdCollection.length > 0) {\r\n if (actor.TagIdCollection.find(i => i === this.tags.MotorwayService)) {\r\n this.showMotorwayServices = true;\r\n }\r\n }\r\n actorCompositeModel.unsubscribe();\r\n }, err => {\r\n this.errorHandler.CreateParameter('exclusion.SiteId',this.esrv.CurrentExclusion.SiteId);\r\n this.errorHandler.CatchError('ngOnInit()', 'exclusion-zone.component.ts', err);\r\n actorCompositeModel.unsubscribe();\r\n });\r\n\r\n\r\n // this.exclusion.SiteCollection = [];\r\n this.showSpinner = true;\r\n this.esrv.AddSitesWithinOneKilometer().then(value => {\r\n this.showSpinner = false;\r\n });\r\n }\r\n\r\n showExtraInfo() {\r\n this.showBactaTelephone = !this.showBactaTelephone;\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n

Exclusion Zone

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Organisation*\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
EXCLUDE ELSEWHERE
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Site*\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n DISTANCE\r\n
\r\n \r\n \r\n
\r\n KM\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\n\r\n@Component({\r\n selector: 'app-generic-form',\r\n templateUrl: './generic-form.component.html',\r\n styleUrls: ['./generic-form.component.scss']\r\n})\r\nexport class GenericFormComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import { Component, OnInit, Output, Input, EventEmitter } from '@angular/core';\r\nimport { CustomerInteraction } from 'src/app/models/CustomerInteraction';\r\nimport { InteractionService } from 'src/app/services/interaction.service';\r\n\r\nconst iconStart = 1;\r\nconst iconEnd = 32;\r\nconst outlineStart = 80;\r\nconst maxOutlines = 82;\r\n\r\n@Component({\r\n selector: 'app-icon-gallery',\r\n templateUrl: './icon-gallery.component.html',\r\n styleUrls: ['./icon-gallery.component.scss']\r\n})\r\nexport class IconGalleryComponent implements OnInit {\r\n\r\n constructor(public isrv: InteractionService) { }\r\n\r\n iconIds: number[] = [];\r\n outlineIds: number[] = [];\r\n allowCSS: boolean = true;\r\n\r\n showIcons: boolean = true;\r\n @Input('showIcons') get ShowIcons(): boolean {\r\n return this.showIcons;\r\n };\r\n @Output('showIcons') showIconsChange: EventEmitter = new EventEmitter();\r\n set ShowIcons(val: boolean) {\r\n this.showIcons = val;\r\n this.showIconsChange.emit(this.showIcons);\r\n }\r\n\r\n ngOnInit() {\r\n let iconIdsAvailable: number[] = JSON.parse(localStorage.getItem('IconIdsAvailable'));\r\n\r\n for (let i = iconStart; i <= iconEnd; i++) {\r\n if (iconIdsAvailable.some(j => j === i)) {\r\n this.iconIds.push(i);\r\n }\r\n }\r\n }\r\n\r\n SelectImage(id, event) {\r\n if (this.allowCSS) {\r\n this.isrv.AddBoxShadowToSelectedElement(event, id);\r\n }\r\n }\r\n}","
\r\n
\r\n \r\n
\r\n \r\n \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, Output, EventEmitter, AfterViewInit } from '@angular/core';\r\nimport { InteractionService } from 'src/app/services/interaction.service';\r\n\r\n@Component({\r\n selector: 'app-icon-image',\r\n templateUrl: './icon-image.component.html',\r\n styleUrls: ['./icon-image.component.scss']\r\n})\r\nexport class IconImageComponent implements OnInit {\r\n previousEvent;\r\n\r\n // If the MediaId is between 1 and 99 it will request an image from here. \r\n // Each iconId is related to SVG in the HTML.\r\n // iconId === MediaId\r\n\r\n iconId: number;\r\n @Input('iconId') get IconId(): number {\r\n return this.iconId;\r\n };\r\n @Output('iconId') iconIdChange: EventEmitter = new EventEmitter();\r\n set IconId(val: number) {\r\n this.iconId = val;\r\n this.iconIdChange.emit(this.iconId);\r\n }\r\n\r\n allowCSS: boolean;\r\n @Input('allowCSS') get AllowCSS(): boolean {\r\n return this.allowCSS;\r\n };\r\n @Output('allowCSS') allowCSSChange: EventEmitter = new EventEmitter();\r\n set AllowCSS(val: boolean) {\r\n this.allowCSS = val;\r\n this.allowCSSChange.emit(this.allowCSS);\r\n }\r\n\r\n constructor(public isrv: InteractionService) { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n SelectImage(id, event) {\r\n if (this.allowCSS) {\r\n this.isrv.AddBoxShadowToSelectedElement(event, id);\r\n }\r\n }\r\n}\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\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, Input, Output, EventEmitter, ViewChild, ElementRef } from '@angular/core';\r\nimport { Views_InteractionsCompositeModel } from 'src/app/models/InteractionExclusion/Views_InteractionsCompositeModel';\r\nimport { InteractionService } from 'src/app/services/interaction.service';\r\n\r\n@Component({\r\n selector: 'app-interaction-action',\r\n templateUrl: './interaction-action.component.html',\r\n styleUrls: ['./interaction-action.component.scss']\r\n})\r\nexport class InteractionActionComponent implements OnInit {\r\n @ViewChild('ttp') ttp: ElementRef;\r\n\r\n public interaction: Views_InteractionsCompositeModel;\r\n @Input('interaction') get Interaction(): Views_InteractionsCompositeModel {\r\n return this.interaction;\r\n };\r\n @Output('interaction') interactionChange: EventEmitter = new EventEmitter();\r\n set Interaction(val: Views_InteractionsCompositeModel) {\r\n this.interaction = val;\r\n this.interactionChange.emit(this.interaction);\r\n }\r\n\r\n // Checkbox Values\r\n public readonly ActionBanned = 110;\r\n public readonly ActionTakeABreak = 111;\r\n public readonly ActionImposeTimeLimits = 112;\r\n public readonly ActionImposeSpendLimits = 113;\r\n public readonly ActionChangeCategory = 114;\r\n public readonly ActionMonitorBehaviour = 115;\r\n public readonly ActionSignpostToGamcare = 116;\r\n public readonly ActionStayInControlLeaflet = 117;\r\n public readonly ActionGambleManagementApp = 118;\r\n public readonly ActionIssuedPlayDiary = 119;\r\n public readonly ActionTimeOut = 6;\r\n\r\n // Control Values\r\n public chkTakeABreak: boolean;\r\n public chkGamcare: boolean;\r\n public chkTimeLimits: boolean;\r\n public chkStayInControlLeaflet: boolean;\r\n public chkSpendLimits: boolean;\r\n public chkGambleManagementApp: boolean;\r\n public chkChangeCategory: boolean;\r\n public chkIssuedPlayDiary: boolean;\r\n public chkMonitor: boolean;\r\n public chkNoActionTaken: boolean;\r\n public chkBarred: boolean;\r\n public chkTimeOut: boolean;\r\n\r\n constructor(public isrv: InteractionService) { }\r\n\r\n public tooltipToggled: boolean = false;\r\n public lastClickedInteger: number;\r\n\r\n ngOnInit() {\r\n if (this.interaction.TagIdCollection.some(i => i >= this.ActionBanned && i <= this.ActionIssuedPlayDiary)) {\r\n this.interaction.TagIdCollection.forEach(tag => {\r\n if (tag >= this.ActionBanned && tag <= this.ActionIssuedPlayDiary) {\r\n switch (tag) {\r\n case this.ActionBanned:\r\n this.chkBarred = true;\r\n break;\r\n case this.ActionTakeABreak:\r\n this.chkTakeABreak = true;\r\n break;\r\n case this.ActionImposeTimeLimits:\r\n this.chkTimeLimits = true;\r\n break;\r\n case this.ActionImposeSpendLimits:\r\n this.chkSpendLimits = true;\r\n break;\r\n case this.ActionChangeCategory:\r\n this.chkChangeCategory = true;\r\n break;\r\n case this.ActionMonitorBehaviour:\r\n this.chkMonitor = true;\r\n break;\r\n case this.ActionSignpostToGamcare:\r\n this.chkGamcare = true;\r\n break;\r\n case this.ActionStayInControlLeaflet:\r\n this.chkStayInControlLeaflet = true;\r\n break;\r\n case this.ActionGambleManagementApp:\r\n this.chkGambleManagementApp = true;\r\n break;\r\n case this.ActionIssuedPlayDiary:\r\n this.chkIssuedPlayDiary = true;\r\n break;\r\n case this.ActionTimeOut:\r\n this.chkTimeOut = true;\r\n break;\r\n }\r\n }\r\n })\r\n }\r\n }\r\n\r\n CheckboxClick(event, checkvalue) {\r\n if (event.currentTarget.checked) {\r\n this.AddItemToTagCollection(checkvalue);\r\n } else {\r\n this.RemoveItemFromTagCollection(checkvalue);\r\n }\r\n \r\n if (checkvalue === this.ActionBanned) {\r\n this.HideToolTip();\r\n }\r\n }\r\n\r\n AddItemToTagCollection(tag: number) {\r\n if (!this.interaction.TagIdCollection.some(i => i === tag)) {\r\n this.interaction.TagIdCollection.push(tag);\r\n }\r\n }\r\n\r\n RemoveItemFromTagCollection(tag: number ) {\r\n if (this.interaction.TagIdCollection.some(i => i === tag)) {\r\n let index = this.interaction.TagIdCollection.indexOf(tag, 0);\r\n if (index > -1) {\r\n this.interaction.TagIdCollection.splice(index, 1);\r\n }\r\n }\r\n }\r\n\r\n ToggleToolTip() {\r\n if (this.tooltipToggled) {\r\n this.ttp.nativeElement.style.visibility = 'hidden';\r\n } else {\r\n this.ttp.nativeElement.style.visibility = 'visible';\r\n }\r\n this.tooltipToggled = !this.tooltipToggled;\r\n }\r\n\r\n HideToolTip() {\r\n this.ttp.nativeElement.style.visibility = 'hidden';\r\n this.tooltipToggled = false;\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n

Action

\r\n
\r\n
\r\n\r\n
\r\n
\r\n
Discuss gambling management options
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
TAKE A BREAK
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
SIGNPOST TO GAMCARE
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
TIME LIMITS
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
STAY IN CONTROL LEAFLET
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
SPEND LIMITS
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
ISSUE PLAY DIARY
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
CHANGE CATEGORY
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
GAMBLE MANAGEMENT APP
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
MONITOR BEHAVIOUR/GAMBLING
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
TIME OUT
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Notes\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
","import { Component, OnInit, ViewChild, ElementRef, AfterViewInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { Gender } from 'src/app/models/Gender';\r\nimport { Honorific } from 'src/app/models/Honorific';\r\nimport { Views_MediaModel } from 'src/app/models/InteractionExclusion/Views_MediaModel';\r\nimport { ISDDateMethods } from 'src/app/models/ISDDateMethods';\r\nimport { ActorService } from 'src/app/services/actor.service';\r\nimport { InteractionService } from 'src/app/services/interaction.service';\r\nimport * as moment from 'moment';\r\n\r\nconst redalert: string = '#d11722';\r\nconst yellowalert: string = '#f8b03d';\r\nconst greenalert: string = '#64b32e';\r\nconst greyalert: string = '#9d9d9c';\r\n\r\n@Component({\r\n selector: 'app-interaction-card-md',\r\n templateUrl: './interaction-card-md.component.html',\r\n styleUrls: ['./interaction-card-md.component.scss']\r\n})\r\nexport class InteractionCardMdComponent implements OnInit, AfterViewInit {\r\n\r\n @ViewChild('cardOuter') cardOuter: ElementRef;\r\n @ViewChild('cardThumb') cardThumb: ElementRef;\r\n @ViewChild('cardContent') cardContent: ElementRef;\r\n\r\n formEditable: boolean;\r\n @Input('formEditable') get FormEditable(): boolean {\r\n return this.formEditable;\r\n };\r\n @Output('formEditable') formEditableChange: EventEmitter = new EventEmitter();\r\n set FormEditable(val: boolean) {\r\n this.formEditable = val;\r\n this.formEditableChange.emit(this.formEditable);\r\n }\r\n\r\n constructor(public isrv: InteractionService, public asrv: ActorService, private route: ActivatedRoute) { }\r\n\r\n private dateMethods: ISDDateMethods = new ISDDateMethods();\r\n public interactionImage: any;\r\n public showIconImage: boolean = false;\r\n public mediaId: number;\r\n\r\n public interactionType: string;\r\n public showReason: boolean;\r\n public reasons: string;\r\n public showAction: boolean;\r\n public actions: string;\r\n public isArchived: boolean;\r\n\r\n private readonly outlineStart: number = 80;\r\n private readonly outlineEnd: number = 81;\r\n\r\n public showUpdateContent: boolean;\r\n public calledFromCloseUpdateContent: boolean = false;\r\n public contentToDisplay: number;\r\n public readonly readonlyContent = 0;\r\n public readonly editCustomerDetails = 1;\r\n public readonly editCustomerDescriptors = 2;\r\n public blurContentValue: string = '0px';\r\n public honorifics: Honorific[];\r\n public genders: Gender[];\r\n public editHonorificId: number;\r\n public editGenderId: number;\r\n public editForename: string;\r\n public editSurname: string;\r\n public editAlias: string;\r\n\r\n public isOutline: boolean;\r\n public showUpdateImage: boolean;\r\n public blurImageValue: string = '0px';\r\n public showLiveView: boolean;\r\n public media: Views_MediaModel;\r\n public backgroundColor: string = '#d11722';\r\n public showFullNameEdit: boolean = false;\r\n\r\n public raceInfo: string;\r\n public hairstyleInfo: string;\r\n public hairColourInfo: string;\r\n public ageRangeInfo: string;\r\n public heightRangeInfo: string;\r\n public bodyTypeInfo: string;\r\n\r\n ngOnInit() {\r\n this.interactionType = this.isrv.Interaction.TagIdCollection.some(i => i === 90) ? 'Customer-Led' : 'Staff-Led';\r\n this.isArchived = this.isrv.Interaction.TagIdCollection.some(i => i === 4);\r\n this.reasons = this.isrv.GetReasonsString();\r\n this.actions = this.isrv.GetActionsString();\r\n\r\n this.asrv.GetHonorifics().then(value => {\r\n this.honorifics = value;\r\n })\r\n\r\n this.asrv.GetGenders().then(value => {\r\n this.genders = value;\r\n })\r\n\r\n if (this.reasons.length > 1) {\r\n this.showReason = true;\r\n }\r\n\r\n if (this.actions.length > 1) {\r\n this.showAction = true;\r\n }\r\n\r\n if (this.isrv.HasIconImage()) {\r\n this.showIconImage = true;\r\n this.mediaId = this.isrv.Interaction.MediaModelCollection[0].MediaId;\r\n if (this.mediaId >= this.outlineStart && this.mediaId <= this.outlineEnd) {\r\n this.isOutline = true;\r\n }\r\n\r\n if (this.isrv.Interaction.InteractedActorCompositeModelCollection[0].BiologicalActorCompositeModel.BiologicalActorTraitModelCollection) {\r\n if (this.isrv.Interaction.InteractedActorCompositeModelCollection[0].BiologicalActorCompositeModel.BiologicalActorTraitModelCollection.some(i => i.TraitClassKeyId === 9)) {\r\n this.raceInfo = this.isrv.Interaction.InteractedActorCompositeModelCollection[0].BiologicalActorCompositeModel.BiologicalActorTraitModelCollection.find(i => i.TraitClassKeyId === 9).Data;\r\n }\r\n\r\n if (this.isrv.Interaction.InteractedActorCompositeModelCollection[0].BiologicalActorCompositeModel.BiologicalActorTraitModelCollection.some(i => i.TraitClassKeyId === 2)) {\r\n this.hairstyleInfo = this.isrv.Interaction.InteractedActorCompositeModelCollection[0].BiologicalActorCompositeModel.BiologicalActorTraitModelCollection.find(i => i.TraitClassKeyId === 2).Data;\r\n }\r\n\r\n if (this.isrv.Interaction.InteractedActorCompositeModelCollection[0].BiologicalActorCompositeModel.BiologicalActorTraitModelCollection.some(i => i.TraitClassKeyId === 1)) {\r\n this.hairColourInfo = this.isrv.Interaction.InteractedActorCompositeModelCollection[0].BiologicalActorCompositeModel.BiologicalActorTraitModelCollection.find(i => i.TraitClassKeyId === 1).Data;\r\n }\r\n\r\n if (this.isrv.Interaction.InteractedActorCompositeModelCollection[0].BiologicalActorCompositeModel.BiologicalActorTraitModelCollection.some(i => i.TraitClassKeyId === 6)) {\r\n this.ageRangeInfo = this.isrv.Interaction.InteractedActorCompositeModelCollection[0].BiologicalActorCompositeModel.BiologicalActorTraitModelCollection.find(i => i.TraitClassKeyId === 6).Data;\r\n }\r\n\r\n if (this.isrv.Interaction.InteractedActorCompositeModelCollection[0].BiologicalActorCompositeModel.BiologicalActorTraitModelCollection.some(i => i.TraitClassKeyId === 7)) {\r\n this.heightRangeInfo = this.isrv.Interaction.InteractedActorCompositeModelCollection[0].BiologicalActorCompositeModel.BiologicalActorTraitModelCollection.find(i => i.TraitClassKeyId === 7).Data;\r\n }\r\n\r\n if (this.isrv.Interaction.InteractedActorCompositeModelCollection[0].BiologicalActorCompositeModel.BiologicalActorTraitModelCollection.some(i => i.TraitClassKeyId === 8)) {\r\n this.bodyTypeInfo = this.isrv.Interaction.InteractedActorCompositeModelCollection[0].BiologicalActorCompositeModel.BiologicalActorTraitModelCollection.find(i => i.TraitClassKeyId === 8).Data;\r\n }\r\n }\r\n } else {\r\n this.interactionImage = this.isrv.Interaction.MediaModelCollection[0].Data;\r\n\r\n }\r\n this.media = this.isrv.Interaction.MediaModelCollection[0];\r\n this.isrv.reviewMediaCollection = (JSON.stringify(this.isrv.Interaction.MediaModelCollection));\r\n this.contentToDisplay = this.readonlyContent;\r\n }\r\n\r\n ngAfterViewInit() {\r\n if (this.isrv.Interaction.TagIdCollection.some(i => i === this.asrv.Globals.TagValues.ArchivedInteraction)) {\r\n this.cardOuter.nativeElement.style.borderColor = this.asrv.Globals.BackgroundColor.Grey;\r\n this.cardOuter.nativeElement.style.background = this.asrv.Globals.BackgroundColor.Grey;\r\n this.backgroundColor = this.asrv.Globals.BackgroundColor.Grey;\r\n } else if (this.isrv.Interaction.TagIdCollection.some(i => i === this.asrv.Globals.TagValues.IncompleteInteraction)) {\r\n this.cardOuter.nativeElement.style.borderColor = this.asrv.Globals.BackgroundColor.CyanBlue;\r\n this.cardOuter.nativeElement.style.background = this.asrv.Globals.BackgroundColor.CyanBlue;\r\n this.backgroundColor = this.asrv.Globals.BackgroundColor.CyanBlue;\r\n // else if () { this.cardOuter.nativeElement.style.borderColor = this.asrv.Globals.BackgroundColor.MagentaPink; }\r\n } else if (this.isrv.Interaction.InteractionMonitoringPeriod) {\r\n let diffDaysStart = this.dateMethods.DateDifferenceInDays(new Date(this.isrv.Interaction.InteractionMonitoringPeriod.Start))\r\n let daysUntilReview = (this.isrv.Interaction.InteractionMonitoringPeriod.Duration - diffDaysStart)\r\n if (daysUntilReview <= -14) {\r\n this.cardOuter.nativeElement.style.borderColor = this.asrv.Globals.BackgroundColor.Red;\r\n this.cardOuter.nativeElement.style.background = this.asrv.Globals.BackgroundColor.Red;\r\n this.backgroundColor = this.asrv.Globals.BackgroundColor.Red;\r\n } else if (daysUntilReview <= 0 && daysUntilReview > -14) {\r\n this.cardOuter.nativeElement.style.borderColor = this.asrv.Globals.BackgroundColor.Yellow;\r\n this.cardOuter.nativeElement.style.background = this.asrv.Globals.BackgroundColor.Yellow;\r\n this.backgroundColor = this.asrv.Globals.BackgroundColor.Yellow;\r\n } else {\r\n this.cardOuter.nativeElement.style.borderColor = this.asrv.Globals.BackgroundColor.Green;\r\n this.cardOuter.nativeElement.style.background = this.asrv.Globals.BackgroundColor.Green;\r\n this.backgroundColor = this.asrv.Globals.BackgroundColor.Green;\r\n }\r\n } else {\r\n this.cardOuter.nativeElement.style.borderColor = this.asrv.Globals.BackgroundColor.Grey;\r\n this.cardOuter.nativeElement.style.background = this.asrv.Globals.BackgroundColor.Grey;\r\n this.backgroundColor = this.asrv.Globals.BackgroundColor.Grey;\r\n }\r\n }\r\n\r\n InteractionOnTimeOut(): boolean {\r\n return this.isrv.Interaction.TagIdCollection.some(i => i === this.asrv.Globals.TagValues.InteractionActionTimeOut);\r\n }\r\n\r\n ReinstatedSelfExcluder(): boolean {\r\n return this.isrv.Interaction.TagIdCollection.some(i => i === this.asrv.Globals.TagValues.ReinstatedExcluder)\r\n }\r\n\r\n GetBackgroundColor(): string {\r\n if (this.isrv.Interaction.TagIdCollection.some(i => i === this.asrv.Globals.TagValues.ArchivedInteraction)) {\r\n return this.asrv.Globals.BackgroundColor.Grey;\r\n } else if (this.isrv.Interaction.TagIdCollection.some(i => i === this.asrv.Globals.TagValues.IncompleteInteraction)) {\r\n return this.asrv.Globals.BackgroundColor.CyanBlue;\r\n // else if () { this.cardOuter.nativeElement.style.borderColor = this.asrv.Globals.BackgroundColor.MagentaPink; }\r\n } else if (this.isrv.Interaction.InteractionMonitoringPeriod) {\r\n let diffDaysStart = this.dateMethods.DateDifferenceInDays(new Date(this.isrv.Interaction.InteractionMonitoringPeriod.Start))\r\n let daysUntilReview = (this.isrv.Interaction.InteractionMonitoringPeriod.Duration - diffDaysStart)\r\n if (daysUntilReview <= -14) {\r\n return this.asrv.Globals.BackgroundColor.Red;\r\n } else if (daysUntilReview <= 0 && daysUntilReview > -14) {\r\n return this.asrv.Globals.BackgroundColor.Yellow;\r\n } else {\r\n return this.asrv.Globals.BackgroundColor.Green;\r\n }\r\n } else {\r\n return this.asrv.Globals.BackgroundColor.Grey;\r\n }\r\n }\r\n\r\n GetEndDate() {\r\n if (this.isrv.Interaction.InteractionMonitoringPeriod) {\r\n return this.dateMethods.AddDays(this.isrv.Interaction.InteractionMonitoringPeriod.Start, this.isrv.Interaction.InteractionMonitoringPeriod.Duration);\r\n } else {\r\n return '';\r\n }\r\n }\r\n\r\n ContentClick() {\r\n /*\r\n if (this.formEditable && (this.calledFromCloseUpdateContent === false)) {\r\n this.showUpdateContent = true;\r\n this.blurContentValue = '10px';\r\n this.cardContent.nativeElement.style.cursor = 'default';\r\n }\r\n this.calledFromCloseUpdateContent = false;\r\n */\r\n }\r\n\r\n CloseUpdateContent() {\r\n this.showUpdateContent = false;\r\n this.blurContentValue = '0px';\r\n this.calledFromCloseUpdateContent = true;\r\n this.cardContent.nativeElement.style.cursor = 'pointer';\r\n }\r\n\r\n UpdateCustomerDetails() {\r\n this.editHonorificId = this.isrv.Interaction.InteractedActorCompositeModel.BiologicalActorCompositeModel.HonorificId.valueOf();\r\n this.editGenderId = this.isrv.Interaction.InteractedActorCompositeModel.BiologicalActorCompositeModel.GenderId.valueOf();\r\n this.editForename = this.isrv.Interaction.InteractedActorCompositeModel.BiologicalActorCompositeModel.Forename.valueOf();\r\n this.editSurname = this.isrv.Interaction.InteractedActorCompositeModel.BiologicalActorCompositeModel.Surname.valueOf();\r\n this.editAlias = this.isrv.Interaction.InteractedActorCompositeModel.BiologicalActorCompositeModel.Alias.valueOf();\r\n this.contentToDisplay = this.editCustomerDetails;\r\n }\r\n\r\n DiscardChanges() {\r\n this.showUpdateContent = false;\r\n this.blurContentValue = '0px';\r\n this.contentToDisplay = this.readonlyContent;\r\n this.cardContent.nativeElement.style.cursor = 'pointer';\r\n }\r\n\r\n SaveInteraction() {\r\n this.isrv.Interaction.InteractedActorCompositeModel.BiologicalActorCompositeModel.HonorificId = this.editHonorificId;\r\n this.isrv.Interaction.InteractedActorCompositeModel.BiologicalActorCompositeModel.GenderId = this.editGenderId;\r\n this.isrv.Interaction.InteractedActorCompositeModel.BiologicalActorCompositeModel.Forename = this.editForename;\r\n this.isrv.Interaction.InteractedActorCompositeModel.BiologicalActorCompositeModel.Surname = this.editSurname;\r\n this.isrv.Interaction.InteractedActorCompositeModel.BiologicalActorCompositeModel.Alias = this.editAlias;\r\n this.isrv.Save(false).then(value => { });\r\n this.showUpdateContent = false;\r\n this.blurContentValue = '0px';\r\n this.contentToDisplay = this.readonlyContent;\r\n }\r\n\r\n ImageClick() {\r\n /*\r\n if (this.formEditable) {\r\n this.showUpdateImage = true;\r\n this.blurImageValue = '10px';\r\n this.cardThumb.nativeElement.style.cursor = 'default';\r\n }\r\n */\r\n }\r\n\r\n CloseUpdateImage() {\r\n this.showUpdateImage = false;\r\n this.blurImageValue = '0px';\r\n this.cardThumb.nativeElement.style.cursor = 'pointer';\r\n }\r\n\r\n LiveCapture() {\r\n this.CloseUpdateImage();\r\n this.showLiveView = true;\r\n }\r\n\r\n ImageTaken() {\r\n if (this.showIconImage) {\r\n this.showIconImage = false;\r\n }\r\n this.interactionImage = this.media.Data;\r\n // console.log(this.interactionImage);\r\n this.isrv.Save(false).then(value => { });\r\n this.showLiveView = false;\r\n }\r\n\r\n NoImageTaken() {\r\n this.showLiveView = false;\r\n }\r\n}\r\n","
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n \r\n
\r\n

{{isrv.Interaction.InteractedActorCompositeModelCollection[0].BiologicalActorCompositeModel?.Forename}} {{isrv.Interaction.InteractedActorCompositeModelCollection[0].BiologicalActorCompositeModel?.Surname}}

\r\n

{{isrv.Interaction.InteractedActorCompositeModelCollection[0].BiologicalActorCompositeModel?.Alias}}

\r\n

\r\n Reference: {{isrv.Interaction?.Reference}}
\r\n Type of interaction: {{interactionType}}
\r\n Reason(s): {{reasons}}
\r\n Action(s): {{actions}}
\r\n Review Date: {{GetEndDate() | date: 'dd/MM/yyyy'}}\r\n\r\n \r\n

\r\n
\r\n T\r\n
\r\n
\r\n \r\n
\r\n

\r\n Ethnicity: {{raceInfo}}
\r\n Hairstyle: {{hairstyleInfo}}
\r\n Hair Colour: {{hairColourInfo}}
\r\n Age Range: {{ageRangeInfo}}
\r\n Height Range: {{heightRangeInfo}}
\r\n Body Type: {{bodyTypeInfo}} \r\n

\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n CLOSE\r\n
\r\n
\r\n
","import { Component, OnInit, ViewChild, ElementRef, AfterViewInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { Gender } from 'src/app/models/Gender';\r\nimport { Honorific } from 'src/app/models/Honorific';\r\nimport { Views_MediaModel } from 'src/app/models/InteractionExclusion/Views_MediaModel';\r\nimport { ISDDateMethods } from 'src/app/models/ISDDateMethods';\r\nimport { ActorService } from 'src/app/services/actor.service';\r\nimport { InteractionService } from 'src/app/services/interaction.service';\r\n\r\n\r\nconst redalert: string = '#d11722';\r\nconst yellowalert: string = '#f8b03d';\r\nconst greenalert: string = '#64b32e';\r\nconst greyalert: string = '#9d9d9c';\r\n\r\n@Component({\r\n selector: 'app-interaction-card-mobile',\r\n templateUrl: './interaction-card-mobile.component.html',\r\n styleUrls: ['./interaction-card-mobile.component.scss']\r\n})\r\nexport class InteractionCardMobileComponent implements OnInit, AfterViewInit {\r\n\r\n @ViewChild('cardOuter') cardOuter: ElementRef;\r\n @ViewChild('cardThumb') cardThumb: ElementRef;\r\n @ViewChild('cardContent') cardContent: ElementRef;\r\n\r\n formEditable: boolean;\r\n @Input('formEditable') get FormEditable(): boolean {\r\n return this.formEditable;\r\n };\r\n @Output('formEditable') formEditableChange: EventEmitter = new EventEmitter();\r\n set FormEditable(val: boolean) {\r\n this.formEditable = val;\r\n this.formEditableChange.emit(this.formEditable);\r\n }\r\n\r\n constructor(public isrv: InteractionService, public asrv: ActorService, private route: ActivatedRoute) { }\r\n\r\n private dateMethods: ISDDateMethods = new ISDDateMethods();\r\n public interactionImage: any;\r\n public showIconImage: boolean = false;\r\n public mediaId: number;\r\n\r\n public interactionType: string;\r\n public showReason: boolean;\r\n public reasons: string;\r\n public showAction: boolean;\r\n public actions: string;\r\n public isArchived: boolean;\r\n\r\n private readonly outlineStart: number = 80;\r\n private readonly outlineEnd: number = 81;\r\n\r\n public showUpdateContent: boolean;\r\n public calledFromCloseUpdateContent: boolean = false;\r\n public contentToDisplay: number;\r\n public readonly readonlyContent = 0;\r\n public readonly editCustomerDetails = 1;\r\n public readonly editCustomerDescriptors = 2;\r\n public blurContentValue: string = '0px';\r\n public honorifics: Honorific[];\r\n public genders: Gender[];\r\n public editHonorificId: number;\r\n public editGenderId: number;\r\n public editForename: string;\r\n public editSurname: string;\r\n public editAlias: string;\r\n\r\n public isOutline: boolean;\r\n public showUpdateImage: boolean;\r\n public blurImageValue: string = '0px';\r\n public showLiveView: boolean;\r\n public media: Views_MediaModel;\r\n public backgroundColor: string = '#d11722';\r\n public showFullNameEdit: boolean = false;\r\n\r\n ngOnInit() {\r\n this.interactionType = this.isrv.Interaction.TagIdCollection.some(i => i === 90)? 'Customer-Led': 'Staff-Led';\r\n this.isArchived = this.isrv.Interaction.TagIdCollection.some(i => i === 4);\r\n this.reasons = this.isrv.GetReasonsString();\r\n this.actions = this.isrv.GetActionsString();\r\n\r\n this.asrv.GetHonorifics().then(value => {\r\n this.honorifics = value;\r\n })\r\n\r\n this.asrv.GetGenders().then(value => {\r\n this.genders = value;\r\n })\r\n\r\n if (this.reasons.length > 1) {\r\n this.showReason = true;\r\n }\r\n\r\n if (this.actions.length > 1) {\r\n this.showAction = true;\r\n }\r\n\r\n if (this.isrv.HasIconImage()) {\r\n this.showIconImage = true;\r\n this.mediaId = this.isrv.Interaction.MediaModelCollection[0].MediaId;\r\n if (this.mediaId >= this.outlineStart && this.mediaId <= this.outlineEnd) {\r\n this.isOutline = true;\r\n }\r\n } else {\r\n this.interactionImage = this.isrv.Interaction.MediaModelCollection[0].Data;\r\n }\r\n this.media = this.isrv.Interaction.MediaModelCollection[0];\r\n this.isrv.reviewMediaCollection = (JSON.stringify(this.isrv.Interaction.MediaModelCollection));\r\n this.contentToDisplay = this.readonlyContent;\r\n }\r\n\r\n ngAfterViewInit() {\r\n if (this.isrv.Interaction.TagIdCollection.some(i => i === this.asrv.Globals.TagValues.ArchivedInteraction)) {\r\n this.cardOuter.nativeElement.style.borderColor = this.asrv.Globals.BackgroundColor.Grey;\r\n this.cardOuter.nativeElement.style.background = this.asrv.Globals.BackgroundColor.Grey;\r\n this.backgroundColor = this.asrv.Globals.BackgroundColor.Grey;\r\n } else if (this.isrv.Interaction.TagIdCollection.some(i => i === this.asrv.Globals.TagValues.IncompleteInteraction)) {\r\n this.cardOuter.nativeElement.style.borderColor = this.asrv.Globals.BackgroundColor.CyanBlue;\r\n this.cardOuter.nativeElement.style.background = this.asrv.Globals.BackgroundColor.CyanBlue;\r\n this.backgroundColor = this.asrv.Globals.BackgroundColor.CyanBlue;\r\n // else if () { this.cardOuter.nativeElement.style.borderColor = this.asrv.Globals.BackgroundColor.MagentaPink; }\r\n } else if (this.isrv.Interaction.InteractionMonitoringPeriod) {\r\n let diffDaysStart = this.dateMethods.DateDifferenceInDays(new Date(this.isrv.Interaction.InteractionMonitoringPeriod.Start))\r\n let daysUntilReview = (this.isrv.Interaction.InteractionMonitoringPeriod.Duration - diffDaysStart)\r\n if(daysUntilReview <= -14) {\r\n this.cardOuter.nativeElement.style.borderColor = this.asrv.Globals.BackgroundColor.Red;\r\n this.cardOuter.nativeElement.style.background = this.asrv.Globals.BackgroundColor.Red;\r\n this.backgroundColor = this.asrv.Globals.BackgroundColor.Red;\r\n } else if(daysUntilReview <= 0 && daysUntilReview > -14) {\r\n this.cardOuter.nativeElement.style.borderColor = this.asrv.Globals.BackgroundColor.Yellow;;\r\n this.cardOuter.nativeElement.style.background = this.asrv.Globals.BackgroundColor.Yellow;;\r\n this.backgroundColor = this.asrv.Globals.BackgroundColor.Yellow;;\r\n } else {\r\n this.cardOuter.nativeElement.style.borderColor = this.asrv.Globals.BackgroundColor.Green;;\r\n this.cardOuter.nativeElement.style.background = this.asrv.Globals.BackgroundColor.Green;;\r\n this.backgroundColor = this.asrv.Globals.BackgroundColor.Green;;\r\n }\r\n } else {\r\n this.cardOuter.nativeElement.style.borderColor = this.asrv.Globals.BackgroundColor.Grey;\r\n this.cardOuter.nativeElement.style.background = this.asrv.Globals.BackgroundColor.Grey;\r\n this.backgroundColor = this.asrv.Globals.BackgroundColor.Grey;\r\n }\r\n }\r\n\r\n InteractionOnTimeOut(): boolean {\r\n return this.isrv.Interaction.TagIdCollection.some(i => i === this.asrv.Globals.TagValues.InteractionActionTimeOut);\r\n }\r\n\r\n ReinstatedSelfExcluder(): boolean {\r\n return this.isrv.Interaction.TagIdCollection.some(i => i === this.asrv.Globals.TagValues.ReinstatedExcluder)\r\n }\r\n\r\n GetBackgroundColor(): string {\r\n if (this.isrv.Interaction.TagIdCollection.some(i => i === this.asrv.Globals.TagValues.ArchivedInteraction)) {\r\n return this.asrv.Globals.BackgroundColor.Grey;\r\n } else if (this.isrv.Interaction.TagIdCollection.some(i => i === this.asrv.Globals.TagValues.IncompleteInteraction)) {\r\n return this.asrv.Globals.BackgroundColor.CyanBlue;\r\n // else if () { this.cardOuter.nativeElement.style.borderColor = this.asrv.Globals.BackgroundColor.MagentaPink; }\r\n } else if (this.isrv.Interaction.InteractionMonitoringPeriod) {\r\n let diffDaysStart = this.dateMethods.DateDifferenceInDays(new Date(this.isrv.Interaction.InteractionMonitoringPeriod.Start))\r\n let daysUntilReview = (this.isrv.Interaction.InteractionMonitoringPeriod.Duration - diffDaysStart)\r\n if(daysUntilReview <= -14) {\r\n return this.asrv.Globals.BackgroundColor.Red;\r\n } else if(daysUntilReview <= 0 && daysUntilReview > -14) {\r\n return this.asrv.Globals.BackgroundColor.Yellow;\r\n } else {\r\n return this.asrv.Globals.BackgroundColor.Green;\r\n }\r\n } else {\r\n return this.asrv.Globals.BackgroundColor.Grey;\r\n }\r\n }\r\n\r\n GetEndDate() {\r\n if (this.isrv.Interaction.InteractionMonitoringPeriod) {\r\n return this.dateMethods.AddDays(this.isrv.Interaction.InteractionMonitoringPeriod.Start, this.isrv.Interaction.InteractionMonitoringPeriod.Duration);\r\n } else {\r\n return '';\r\n }\r\n }\r\n\r\n ContentClick() {\r\n /*\r\n if (this.formEditable && (this.calledFromCloseUpdateContent === false)) {\r\n this.showUpdateContent = true;\r\n this.blurContentValue = '10px';\r\n this.cardContent.nativeElement.style.cursor = 'default';\r\n }\r\n this.calledFromCloseUpdateContent = false;\r\n */\r\n }\r\n\r\n CloseUpdateContent() {\r\n this.showUpdateContent = false;\r\n this.blurContentValue = '0px';\r\n this.calledFromCloseUpdateContent = true;\r\n this.cardContent.nativeElement.style.cursor = 'pointer';\r\n }\r\n\r\n UpdateCustomerDetails() {\r\n this.editHonorificId = this.isrv.Interaction.InteractedActorCompositeModel.BiologicalActorCompositeModel.HonorificId.valueOf();\r\n this.editGenderId = this.isrv.Interaction.InteractedActorCompositeModel.BiologicalActorCompositeModel.GenderId.valueOf();\r\n this.editForename = this.isrv.Interaction.InteractedActorCompositeModel.BiologicalActorCompositeModel.Forename.valueOf();\r\n this.editSurname = this.isrv.Interaction.InteractedActorCompositeModel.BiologicalActorCompositeModel.Surname.valueOf();\r\n this.editAlias = this.isrv.Interaction.InteractedActorCompositeModel.BiologicalActorCompositeModel.Alias.valueOf();\r\n this.contentToDisplay = this.editCustomerDetails;\r\n }\r\n\r\n DiscardChanges() {\r\n this.showUpdateContent = false;\r\n this.blurContentValue = '0px';\r\n this.contentToDisplay = this.readonlyContent;\r\n this.cardContent.nativeElement.style.cursor = 'pointer';\r\n }\r\n\r\n SaveInteraction() {\r\n this.isrv.Interaction.InteractedActorCompositeModel.BiologicalActorCompositeModel.HonorificId = this.editHonorificId;\r\n this.isrv.Interaction.InteractedActorCompositeModel.BiologicalActorCompositeModel.GenderId = this.editGenderId;\r\n this.isrv.Interaction.InteractedActorCompositeModel.BiologicalActorCompositeModel.Forename = this.editForename;\r\n this.isrv.Interaction.InteractedActorCompositeModel.BiologicalActorCompositeModel.Surname = this.editSurname;\r\n this.isrv.Interaction.InteractedActorCompositeModel.BiologicalActorCompositeModel.Alias = this.editAlias;\r\n this.isrv.Save(false).then(value => {});\r\n this.showUpdateContent = false;\r\n this.blurContentValue = '0px';\r\n this.contentToDisplay = this.readonlyContent;\r\n }\r\n\r\n ImageClick() {\r\n /*\r\n if (this.formEditable) {\r\n this.showUpdateImage = true;\r\n this.blurImageValue = '10px';\r\n this.cardThumb.nativeElement.style.cursor = 'default';\r\n }\r\n */\r\n }\r\n\r\n CloseUpdateImage() {\r\n this.showUpdateImage = false;\r\n this.blurImageValue = '0px';\r\n this.cardThumb.nativeElement.style.cursor = 'pointer';\r\n }\r\n\r\n LiveCapture() {\r\n this.CloseUpdateImage();\r\n this.showLiveView = true;\r\n }\r\n\r\n ImageTaken() {\r\n if (this.showIconImage) {\r\n this.showIconImage = false;\r\n }\r\n this.interactionImage = this.media.Data;\r\n this.isrv.Save(false).then(value => {});\r\n this.showLiveView = false;\r\n }\r\n\r\n NoImageTaken() {\r\n this.showLiveView = false;\r\n }\r\n}\r\n\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n

{{isrv.Interaction.InteractedActorCompositeModelCollection[0].BiologicalActorCompositeModel?.Forename}} {{isrv.Interaction.InteractedActorCompositeModelCollection[0].BiologicalActorCompositeModel?.Surname}}

\r\n

{{isrv.Interaction.InteractedActorCompositeModelCollection[0].BiologicalActorCompositeModel?.Alias}}

\r\n

\r\n Reference: {{isrv.Interaction?.Reference}}
\r\n Type of interaction: {{interactionType}}
\r\n Reason(s): {{reasons}}
\r\n Action(s): {{actions}}
\r\n Review Date: {{GetEndDate() | date: 'dd/MM/yyyy'}} \r\n

\r\n
\r\n T\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { CustomerInteraction } from 'src/app/models/CustomerInteraction';\r\n\r\n@Component({\r\n selector: 'app-interaction-confirmation',\r\n templateUrl: './interaction-confirmation.component.html',\r\n styleUrls: ['./interaction-confirmation.component.scss']\r\n})\r\nexport class InteractionConfirmationComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n \r\n
\r\n
\r\n Customer Interaction\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n

Customer Interaction

\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { Honorific } from 'src/app/models/Honorific';\r\nimport { Gender } from 'src/app/models/Gender';\r\nimport { InteractionService } from 'src/app/services/interaction.service';\r\n\r\n@Component({\r\n selector: 'app-interaction-customer-details',\r\n templateUrl: './interaction-customer-details.component.html',\r\n styleUrls: ['./interaction-customer-details.component.scss']\r\n})\r\nexport class InteractionCustomerDetailsComponent implements OnInit {\r\n\r\n constructor(public isrv: InteractionService) { }\r\n\r\n honorifics: Honorific[];\r\n @Input('honorifics') get Honorific(): Honorific[] {\r\n return this.honorifics;\r\n };\r\n @Output('honorifics') honorificsChange: EventEmitter = new EventEmitter();\r\n set Honorific(val: Honorific[]) {\r\n this.honorifics = val;\r\n this.honorificsChange.emit(this.honorifics);\r\n }\r\n\r\n genders: Gender[];\r\n @Input('genders') get Gender(): Gender[] {\r\n return this.genders;\r\n };\r\n @Output('genders') gendersChange: EventEmitter = new EventEmitter();\r\n set Gender(val: Gender[]) {\r\n this.genders = val;\r\n this.gendersChange.emit(this.genders);\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
Customer Details
\r\n
\r\n
\r\n
\r\n
\r\n {{isrv.GetInteractionUIDate()}}\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n Title\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n Gender\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n First Name\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n Surname\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n Nickname\r\n
\r\n \r\n
\r\n
\r\n
\r\n
","
\r\n
\r\n
\r\n
Description
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n Age\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n Hair Style\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n Ethnicity\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n Hair Colour\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n Height\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n Build\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n Notes\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n

Help

\r\n
\r\n
\r\n South Asian: Indian / Pakistani / Bangladeshi\r\n
\r\n
\r\n East Asian: Chinese / Japanese / Korean\r\n
\r\n
\r\n\r\n
","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { CustomerInteraction } from 'src/app/models/CustomerInteraction';\r\nimport { InteractionService } from 'src/app/services/interaction.service';\r\n\r\n@Component({\r\n selector: 'app-interaction-description',\r\n templateUrl: './interaction-description.component.html',\r\n styleUrls: ['./interaction-description.component.scss']\r\n})\r\nexport class InteractionDescriptionComponent implements OnInit {\r\n\r\n constructor(public isrv: InteractionService) { }\r\n public showEthnicityInfo: boolean = false;\r\n public lastControlClicked: number;\r\n\r\n ngOnInit() {\r\n }\r\n\r\n EthnicityClick() {\r\n this.showEthnicityInfo = !this.showEthnicityInfo;\r\n if (this.showEthnicityInfo) {\r\n this.lastControlClicked = 1;\r\n } else {\r\n this.lastControlClicked = 0;\r\n }\r\n }\r\n\r\n HideVariables() {\r\n if (this.lastControlClicked === 1) {\r\n this.lastControlClicked = 0;\r\n } else {\r\n this.showEthnicityInfo = false;\r\n }\r\n }\r\n}","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { Views_MediaModel } from 'src/app/models/InteractionExclusion/Views_MediaModel';\r\nimport { InteractionService } from 'src/app/services/interaction.service';\r\n\r\n@Component({\r\n selector: 'app-interaction-identification',\r\n templateUrl: './interaction-identification.component.html',\r\n styleUrls: ['./interaction-identification.component.scss']\r\n})\r\nexport class InteractionIdentificationComponent implements OnInit {\r\n\r\n constructor(public isrv: InteractionService) { }\r\n\r\n photoExists: boolean = false;\r\n showIcons: boolean = false;\r\n showImage: boolean;\r\n allowLiveCapture: boolean;\r\n allowOutlineSelector: boolean;\r\n\r\n public showApp: number = 0;\r\n\r\n ngOnInit() {\r\n this.allowLiveCapture = ((this.isrv.Interaction.InteractedActorCompositeModel.BiologicalActorCompositeModel.Forename && this.isrv.Interaction.InteractedActorCompositeModel.BiologicalActorCompositeModel.Surname) || (this.isrv.Interaction.InteractedActorCompositeModel.BiologicalActorCompositeModel.Alias))? true: false;\r\n\r\n if (this.isrv.Interaction.MediaModelCollection.some(i => i.MediaClassKeyId === 4)) {\r\n let media = this.isrv.Interaction.MediaModelCollection.find(i => i.MediaClassKeyId === 4);\r\n if (media.MediaId > 0 && media.MediaId < 100) {\r\n this.showImage = false;\r\n } else {\r\n this.showImage = true;\r\n }\r\n this.photoExists = true;\r\n }\r\n }\r\n\r\n ClosePhotoApp() {\r\n \r\n }\r\n\r\n ShowMainApp() {\r\n this.showApp = 0;\r\n this.CallShowHideForwardArrow();\r\n }\r\n\r\n LiveCapture() {\r\n this.showApp = 1;\r\n this.CallShowHideForwardArrow();\r\n }\r\n\r\n ImageTaken() {\r\n this.ShowMainApp();\r\n this.showImage = false;\r\n this.photoExists = true;\r\n this.ImageTakenWithApp.next();\r\n }\r\n\r\n NoImageTaken() {\r\n this.ShowMainApp();\r\n }\r\n\r\n SaveImage() {\r\n this.isrv.SaveImage();\r\n if (this.isrv.HasFruitImage() && !(this.isrv.Interaction.InteractedActorCompositeModel.BiologicalActorCompositeModel.Alias)) {\r\n this.isrv.Interaction.InteractedActorCompositeModel.BiologicalActorCompositeModel.Alias = this.isrv.GetIconNameForInteractionImage();\r\n }\r\n this.showImage = false;\r\n this.photoExists = true;\r\n this.ShowMainApp();\r\n }\r\n\r\n PickIcon() {\r\n this.showIcons = true;\r\n this.showApp =2;\r\n this.CallShowHideForwardArrow();\r\n }\r\n\r\n PickOutline() {\r\n this.showIcons = false;\r\n this.showApp =2;\r\n this.CallShowHideForwardArrow();\r\n }\r\n\r\n CallShowHideForwardArrow() {\r\n this.ShowHideForwardArrow.next();\r\n }\r\n\r\n @Output() ShowHideForwardArrow = new EventEmitter();\r\n @Output() ImageTakenWithApp = new EventEmitter();\r\n}\r\n","
\r\n
\r\n
\r\n
Identification
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n Use if customer agrees to photo being taken\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n Use if customer provides name but no photo\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n Use if customer provides no name or photo\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\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, Input, Output, EventEmitter } from '@angular/core';\r\nimport { ActorService } from 'src/app/services/actor.service';\r\nimport { InteractionService } from 'src/app/services/interaction.service';\r\n\r\n@Component({\r\n selector: 'app-interaction-privacy-notice',\r\n templateUrl: './interaction-privacy-notice.component.html',\r\n styleUrls: ['./interaction-privacy-notice.component.scss']\r\n})\r\nexport class InteractionPrivacyNoticeComponent implements OnInit {\r\n\r\n constructor(public isrv: InteractionService, public asrv: ActorService) { }\r\n\r\n public html: string;\r\n public showHideInfo: boolean = false;\r\n public dataProtectionOfficer: any = false;\r\n\r\n privacyPolicyHTML: string;\r\n @Input('privacyPolicyHTML') get PrivacyPolicyHTML(): string {\r\n return this.privacyPolicyHTML;\r\n };\r\n @Output('privacyPolicyHTML') privacyPolicyHTMLChange: EventEmitter = new EventEmitter();\r\n set PrivacyPolicyHTML(val: string) {\r\n this.privacyPolicyHTML = val;\r\n this.privacyPolicyHTMLChange.emit(this.privacyPolicyHTML);\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n ShowPrivacyPolicy() {\r\n this.html = this.asrv.UserDocumentation.PrivacyPolicyHTML;\r\n this.CallShowHideForwardArrow();\r\n this.showHideInfo = true;\r\n }\r\n\r\n CloseForm() {\r\n this.CallShowHideForwardArrow();\r\n this.showHideInfo = false;\r\n }\r\n\r\n CallShowHideForwardArrow() {\r\n this.ShowHideForwardArrow.next();\r\n }\r\n\r\n @Output() ShowHideForwardArrow = new EventEmitter();\r\n\r\n}\r\n","
\r\n
\r\n
\r\n

PRIVACY NOTICE

\r\n
\r\n
\r\n\r\n
\r\n
WHO?
\r\n
\r\n
\r\n \r\n
\r\n {{asrv.UserOrganisationName}}\r\n is a \"controller\" in relation to your personal data.\r\n
\r\n
\r\n\r\n
\r\n
WHAT?
\r\n
We collect personal data that you provide us with and which we generate ourselves.
\r\n
\r\n\r\n
\r\n
WHY?
\r\n
To interact with our customers, as required by the Gambling Commission and to provide Self-Exclusion Services, if agreed with you. To provide self-exclusion services, we share your data with other operators, self-exclusion scheme providers and our trade association.
\r\n
\r\n\r\n
\r\n
HOW?
\r\n
If you agree to our terms, our lawful basis for using your data is we have a Legitimate Interest in processing and distributing your personal data. The data we collect from you for the purpose of excluding you from and Adult Gaming Centre is deemed to be Special Category data as detailed in Article 9 UK GDPR. The lawful basis that we process this data is that it is necessary for reasons of Substantial Public Interest
\r\n
\r\n \r\n
\r\n
WHEN?
\r\n
We will keep your personal data for a maximum period of 12 months plus 24 hours following on from the end of your exclusion period. It will then be deleted. Following the processing of a customer interaction by an operator, we will keep your personal data for a maximum period of 12 months plus 24 hours following the archiving of your customer interaction by the operator. It will then be deleted.
\r\n
\r\n\r\n
\r\n
\r\n Please note that you have the following rights in relation to your personal data:\r\n
\r\n
\r\n\r\n
\r\n
\r\n Access to a copy of your data; objection to legitimate interest as a basis for processing; withdrawal of consent (if our use is based on consent); request not to use data for marketing purposes; correction of inaccurate data; restriction on processing data; and receipt of data in a machine-readable format.\r\n
\r\n
\r\n\r\n
\r\n
\r\n More info can be found on the Information Commissioner's Office (ICO) website. If you have concerns about the use of your data, please contact us. You can also lodge a complaint with the ICO at any time.\r\n
\r\n
\r\n\r\n
\r\n
\r\n Our full Privacy Policy can be found HERE and will be sent to your email address.\r\n
\r\n
\r\n\r\n
\r\n
\r\n
I HAVE READ THE PRIVACY NOTICE
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
","\r\n
\r\n
\r\n
\r\n

Interaction Type

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
STAFF OBSERVATION
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
Information:
\r\n
    \r\n
  • \r\n {{item}}\r\n
  • \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
CUSTOMER-LED
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n

Reasons for interaction

\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
TIME
\r\n \r\n
\r\n
i
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
VULNERABILITY
\r\n \r\n
\r\n
i
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
SPEND
\r\n \r\n
\r\n
i
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
BEHAVIOUR
\r\n \r\n
\r\n
i
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
MACHINE ALERT
\r\n \r\n
\r\n
i
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
WISH TO SELF-EXCLUDE
\r\n \r\n
\r\n
i
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
Information:
\r\n
    \r\n
  • \r\n {{item}}\r\n
  • \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n Notes\r\n
\r\n
\r\n \r\n \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, Input, Output, EventEmitter, ViewChild, ElementRef, AfterViewInit } from '@angular/core';\r\nimport { CustomerInteraction } from 'src/app/models/CustomerInteraction';\r\nimport { InteractionService } from 'src/app/services/interaction.service';\r\n\r\n\r\n\r\n@Component({\r\n selector: 'app-interaction-reason',\r\n templateUrl: './interaction-reason.component.html',\r\n styleUrls: ['./interaction-reason.component.scss']\r\n})\r\nexport class InteractionReasonComponent implements OnInit, AfterViewInit {\r\n @ViewChild('ttpDesktop') ttpDesktop: ElementRef;\r\n @ViewChild('ttpMobile') ttpMobile: ElementRef;\r\n \r\n // Checkbox Values\r\n staffObservationTrue: boolean = true;\r\n staffObservationFalse: boolean = false;\r\n InteractionCustomerLed = 90\r\n reasonTime = 91;\r\n reasonSpend = 92;\r\n ReasonBehaviour = 93\r\n ReasonMachineAlert = 94\r\n ReasonVulnerability = 95\r\n ReasonWishToExclude = 96\r\n\r\n constructor(public isrv: InteractionService) { }\r\n\r\n public listItems: string[] = [];\r\n public currentTooltip: number;\r\n\r\n ngOnInit() {\r\n this.isrv.AddItemToTagCollection(this.InteractionCustomerLed)\r\n }\r\n\r\n ngAfterViewInit() {\r\n }\r\n\r\n CheckboxClick(event, checkvalue) {\r\n if (event.currentTarget.checked) {\r\n this.isrv.AddItemToTagCollection(checkvalue);\r\n } else {\r\n this.isrv.RemoveItemFromTagCollection(checkvalue);\r\n }\r\n }\r\n\r\n ChangeObservation(staffObserved) {\r\n if (staffObserved) {\r\n this.isrv.AddItemToTagCollection(this.InteractionCustomerLed);\r\n } else {\r\n this.isrv.RemoveItemFromTagCollection(this.InteractionCustomerLed);\r\n }\r\n this.staffObservationTrue = staffObserved;\r\n this.staffObservationFalse = !staffObserved;\r\n }\r\n\r\n ToggleToolTip(tooltip: number) {\r\n this.listItems = [];\r\n if (this.currentTooltip === tooltip) {\r\n this.ttpDesktop.nativeElement.style.visibility = 'hidden';\r\n this.ttpMobile.nativeElement.style.visibilty = 'hidden';\r\n this.currentTooltip = null;\r\n } else {\r\n this.ttpDesktop.nativeElement.style.visibility = 'visible';\r\n this.ttpMobile.nativeElement.style.visibility = 'visible';\r\n switch (tooltip) {\r\n case 0:\r\n this.currentTooltip = 0;\r\n this.listItems.push('Interaction prompted but did not take place');\r\n this.listItems.push('Record elsewhere and complete at a later date');\r\n this.listItems.push('Violent or abusive customer/venue closing/staff issue');\r\n break;\r\n case 1:\r\n this.currentTooltip = 1;\r\n this.listItems.push('Time spent gambling');\r\n this.listItems.push('Length of stay on premises');\r\n this.listItems.push('Number of visits');\r\n break;\r\n case 2:\r\n this.currentTooltip = 2;\r\n this.listItems.push('Physical/mental impairment');\r\n this.listItems.push('Other vulnerability');\r\n this.listItems.push('With carer');\r\n break;\r\n case 3:\r\n this.currentTooltip = 3;\r\n this.listItems.push('Increased spending during a session');\r\n break;\r\n case 4:\r\n this.currentTooltip = 4;\r\n this.listItems.push('No other reason given for interaction');\r\n this.listItems.push('Customer led');\r\n break;\r\n case 5:\r\n this.currentTooltip = 5;\r\n this.listItems.push('Distress');\r\n this.listItems.push('Agitation');\r\n this.listItems.push('Change in behaviour');\r\n this.listItems.push('Aggression');\r\n break;\r\n case 6:\r\n this.currentTooltip = 6;\r\n this.listItems.push('Staff alerted');\r\n this.listItems.push('Seen by staff');\r\n this.listItems.push('Voluntary/mandatory alert');\r\n break;\r\n }\r\n }\r\n }\r\n\r\n\r\n}\r\n","import { Component, OnInit, Input, Output, EventEmitter, ViewChild, ElementRef } from '@angular/core';\r\nimport { Views_InteractionMonitoringPeriodsModel } from 'src/app/models/InteractionExclusion/Views_InteractionMonitoringPeriodsModel';\r\nimport { Views_InteractionsCompositeModel } from 'src/app/models/InteractionExclusion/Views_InteractionsCompositeModel';\r\nimport { ISDDateMethods } from 'src/app/models/ISDDateMethods';\r\nimport { ActorService } from 'src/app/services/actor.service';\r\nimport { InteractionService } from 'src/app/services/interaction.service';\r\n\r\n/*\r\nChange History:\r\n 0.9: \r\n Added an Input / Output for an Interaction as this can be a New Interaction or a Review for a previous Inteaction.\r\n This also included some functions moved from Interaction service.\r\n*/\r\n\r\nconst archived: number = 4;\r\n\r\n@Component({\r\n selector: 'app-interaction-review',\r\n templateUrl: './interaction-review.component.html',\r\n styleUrls: ['./interaction-review.component.scss']\r\n})\r\nexport class InteractionReviewComponent implements OnInit {\r\n amountOfWeeks = 0;\r\n public ReviewPeriodId: number = 0;\r\n public ReviewPeriodOptions = [\r\n { ReviewPeriodId: 0, ReviewPeriodInWeeks: 4, ReviewPeriodInDays: 28 },\r\n { ReviewPeriodId: 1, ReviewPeriodInWeeks: 8, ReviewPeriodInDays: 56 },\r\n { ReviewPeriodId: 2, ReviewPeriodInWeeks: 12, ReviewPeriodInDays: 84 }\r\n ]\r\n\r\n @ViewChild('btnSave') btnSave: ElementRef;\r\n isUser = false;\r\n userList = [];\r\n public reviewRequired: boolean;\r\n public monitoringPeriod: Views_InteractionMonitoringPeriodsModel;\r\n\r\n public isReview: boolean;\r\n @Input('isReview') get IsReview(): boolean {\r\n return this.isReview;\r\n };\r\n @Output('isReview') isReviewChange: EventEmitter = new EventEmitter();\r\n set IsReview(val: boolean) {\r\n this.isReview = val;\r\n this.isReviewChange.emit(this.isReview);\r\n }\r\n\r\n constructor(public isrv: InteractionService, public asrv: ActorService) { }\r\n\r\n ngOnInit() {\r\n this.reviewRequired = false;\r\n this.monitoringPeriod = new Views_InteractionMonitoringPeriodsModel();\r\n this.asrv.PopulateColleagueSelectForSiteId(this.asrv.DefaultSiteId).then(value => {\r\n this.isrv.PersonCompletingForm = this.asrv.GetMyUserID();\r\n });\r\n this.asrv.GetActorRole().then(user => {\r\n if (user.ActorRoleId === 6) {\r\n this.isUser = true;\r\n const _userID = this.asrv.GetMyUserID();\r\n this.userList = this.asrv.ColleagueSelect.DropDownItems.filter(x => x.Key === _userID);\r\n }\r\n });\r\n }\r\n\r\n setReviewDuration() {\r\n this.amountOfWeeks = this.ReviewPeriodOptions.find(x => x.ReviewPeriodInDays === this.monitoringPeriod.Duration).ReviewPeriodInWeeks;\r\n }\r\n\r\n Save() {\r\n this.DisableButtonSaveInteraction();\r\n if (this.reviewRequired) {\r\n this.AddReviewToInteraction();\r\n } else {\r\n this.AddArchiveTagToInteraction();\r\n }\r\n\r\n if (this.IsReview && this.reviewRequired) {\r\n this.isrv.SaveReview().then(value => {\r\n this.ProcessStage(value);\r\n })\r\n } else {\r\n this.isrv.Save(false).then(value => {\r\n this.ProcessStage(value);\r\n })\r\n }\r\n }\r\n\r\n AddReviewToInteraction() {\r\n if (this.IsReview) {\r\n this.isrv.Review.InteractionMonitoringPeriod = this.monitoringPeriod;\r\n } else {\r\n this.isrv.Interaction.InteractionMonitoringPeriod = this.monitoringPeriod;\r\n }\r\n }\r\n\r\n AddArchiveTagToInteraction() {\r\n if (this.IsReview && this.reviewRequired) {\r\n this.isrv.Review.TagIdCollection.push(archived);\r\n } else if (this.IsReview && !this.reviewRequired) {\r\n this.isrv.Interaction.TagIdCollection.push(archived);\r\n } else {\r\n this.isrv.Interaction.TagIdCollection.push(archived);\r\n }\r\n // console.log(this.isrv.Interaction.TagIdCollection);\r\n }\r\n\r\n ProcessStage(value: boolean) {\r\n if (value) {\r\n this.GoForward.next();\r\n }\r\n this.EnableButtonSaveInteraction();\r\n }\r\n\r\n DisableButtonSaveInteraction() {\r\n this.btnSave.nativeElement.disabled = true;\r\n this.btnSave.nativeElement.style.filter = 'Grayscale(0.75)';\r\n this.btnSave.nativeElement.style.cursor = 'not-allowed';\r\n }\r\n\r\n EnableButtonSaveInteraction() {\r\n this.btnSave.nativeElement.disabled = false;\r\n this.btnSave.nativeElement.style.filter = 'Grayscale(0)';\r\n this.btnSave.nativeElement.style.cursor = 'pointer';\r\n }\r\n\r\n @Output() GoForward = new EventEmitter();\r\n @Output() SaveCustomerInteraction = new EventEmitter(); //Temporary\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
REVIEW REQUIRED
\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n Review\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n Staff Member\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n Info:
\r\n You've selected to require a review.
\r\n This will create a new review with the current interaction's details and any options selected.
\r\n 0\">\r\n The new review will be due in {{amountOfWeeks}} weeks\r\n \r\n\r\n
\r\n
\r\n Info:
\r\n You've selected NO review required.
\r\n If review is not required, interaction will be updated and saved into archived.\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
","import { Component, OnInit, Output, Input, EventEmitter } from '@angular/core';\r\nimport { SiteCollection } from 'src/app/models/SiteCollection';\r\n@Component({\r\n selector: 'app-inspect-sites',\r\n templateUrl: './inspect-sites.component.html',\r\n styleUrls: ['./inspect-sites.component.scss']\r\n})\r\nexport class InspectSitesComponent implements OnInit {\r\n inspectSites;\r\n motorway: SiteCollection; \r\n @Input('motorway') get Motorway(): SiteCollection {\r\n return this.motorway;\r\n };\r\n @Output('motorway') motorwayChange: EventEmitter = new EventEmitter();\r\n set Motorway(val: SiteCollection) {\r\n this.motorway = val;\r\n this.motorwayChange.emit(this.motorway);\r\n }\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n CloseForm() {\r\n this.CloseInspect.next();\r\n }\r\n\r\n @Output() CloseInspect = new EventEmitter();\r\n \r\n}\r\n","
\r\n

Sites on {{motorway.Name}} (Tap To Close)

\r\n
\r\n
\r\n
\r\n
Site Name
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{site.Site_Name}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit, Output, Input, EventEmitter } from '@angular/core';\r\nimport { SiteCollection } from 'src/app/models/SiteCollection';\r\nimport { ExcluderService } from 'src/app/services/excluder.service';\r\nimport { NonBiologicalName } from 'src/app/models/actor/Name';\r\n@Component({\r\n selector: 'app-motorway-services',\r\n templateUrl: './motorway-services.component.html',\r\n styleUrls: ['./motorway-services.component.scss']\r\n})\r\nexport class MotorwayServicesComponent implements OnInit {\r\n \r\n public searchPhrase: string;\r\n public inspectMotorway: boolean = false;\r\n public motorway: SiteCollection;\r\n public displayMotorWayCollection: SiteCollection[] = [];\r\n\r\n motorWayCollection: SiteCollection[] = []; \r\n @Input('motorWayCollection') get MotorWayCollection(): SiteCollection[] {\r\n return this.motorWayCollection;\r\n };\r\n @Output('motorWayCollection') motorWayCollectionChange: EventEmitter = new EventEmitter();\r\n set MotorWayCollection(val: SiteCollection[]) {\r\n this.motorWayCollection = val;\r\n this.motorWayCollectionChange.emit(this.motorWayCollection);\r\n }\r\n\r\n constructor(\r\n public esrv: ExcluderService\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.displayMotorWayCollection = this.motorWayCollection;\r\n }\r\n\r\n SearchTable() {\r\n this.displayMotorWayCollection = [];\r\n this.motorWayCollection.forEach(motorway => {\r\n if (motorway.Name.toLowerCase().startsWith(this.searchPhrase.toLowerCase())) {\r\n this.displayMotorWayCollection.push(motorway);\r\n }\r\n })\r\n }\r\n\r\n AddMotorwayToExclusion(motorway: SiteCollection) {\r\n motorway.Sites.forEach(site => {\r\n let pushSite = new NonBiologicalName();\r\n pushSite.ActorId = site.ActorId;\r\n pushSite.Name = site.Name;\r\n pushSite.ClientValues.LoadedFromMotorwayServices = true;\r\n if (!this.esrv.CurrentExclusion.ClientValues.SiteCollection.some(i => i.ActorId === pushSite.ActorId)) {\r\n this.esrv.CurrentExclusion.SiteIdCollection.push(pushSite.ActorId);\r\n this.esrv.CurrentExclusion.ClientValues.SiteCollection.push(pushSite)\r\n };\r\n });\r\n motorway.AddedToExclusion = true;\r\n }\r\n\r\n RemoveMotorwayFromExclusion(motorway: SiteCollection) {\r\n let remainingSites: NonBiologicalName[] = [];\r\n motorway.Sites.forEach(site => {\r\n remainingSites = [];\r\n\r\n if (!this.esrv.CurrentExclusion.ClientValues.SiteCollection.some(i => i.ActorId === site.ActorId && i.ClientValues.LoadedFromMotorwayServices)) {\r\n var obj = new NonBiologicalName();\r\n obj.ActorId = site.ActorId;\r\n obj.Name = site.Name;\r\n remainingSites.push(obj);\r\n }\r\n this.esrv.CurrentExclusion.ClientValues.SiteCollection = remainingSites;\r\n });\r\n motorway.AddedToExclusion = false;\r\n }\r\n\r\n showMotorwaySites(motorway: SiteCollection) {\r\n this.motorway = motorway;\r\n this.inspectMotorway = true;\r\n }\r\n\r\n CloseInspect() {\r\n this.inspectMotorway = false;\r\n }\r\n\r\n}\r\n","\r\n
\r\n
\r\n
\r\n

Motorway Services

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Search\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
MOTORWAY
\r\n
SITE COUNT
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{motorway.Name}}\r\n
\r\n
\r\n {{motorway.Sites.length}}\r\n
\r\n
\r\n (Add)\r\n (Remove)\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit, Output, Input, EventEmitter } from '@angular/core';\r\nimport { ExcluderService } from 'src/app/services/excluder.service';\r\nimport { NonBiologicalName } from 'src/app/models/actor/Name';\r\nimport { ActorService } from 'src/app/services/actor.service';\r\n\r\n@Component({\r\n selector: 'app-site-shopping-basket',\r\n templateUrl: './site-shopping-basket.component.html',\r\n styleUrls: ['./site-shopping-basket.component.scss']\r\n})\r\nexport class SiteShoppingBasketComponent implements OnInit {\r\n showSpinner: boolean;\r\n @Input('showSpinner') get ShowSpinner(): boolean {\r\n return this.showSpinner;\r\n };\r\n @Output('showSpinner') showSpinnerChange: EventEmitter = new EventEmitter();\r\n set ShowSpinner(val: boolean) {\r\n this.showSpinner = val;\r\n this.showSpinnerChange.emit(this.showSpinner);\r\n }\r\n\r\n public sites: NonBiologicalName[] = [];\r\n public sortAscend: boolean = true;\r\n\r\n constructor(\r\n public esrv: ExcluderService\r\n ) { }\r\n\r\n ngOnInit() {\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n

Exclusion Sites

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
All Sites Excluded From
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{site.Name}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit, Input, Output, EventEmitter, ViewChild, ElementRef, AfterViewInit } from '@angular/core';\r\nimport { TagService } from 'src/app/services/tag.service';\r\n\r\n@Component({\r\n selector: 'app-tag',\r\n templateUrl: './tag.component.html',\r\n styleUrls: ['./tag.component.scss']\r\n})\r\nexport class TagComponent implements OnInit, AfterViewInit {\r\n\r\n @ViewChild('tag') tag: ElementRef;\r\n\r\n public value: string;\r\n @Input('value') get Value(): string {\r\n return this.value;\r\n };\r\n @Output('value') valueChange: EventEmitter = new EventEmitter();\r\n set Value(val: string) {\r\n this.value = val;\r\n this.valueChange.emit(this.value);\r\n } \r\n\r\n public id: number;\r\n @Input('id') get Id(): number {\r\n return this.id;\r\n };\r\n @Output('id') idChange: EventEmitter = new EventEmitter();\r\n set Id(val: number) {\r\n this.id = val;\r\n this.idChange.emit(this.id);\r\n } \r\n\r\n @Output() RemoveTag: EventEmitter = new EventEmitter();\r\n\r\n constructor(public tsrv: TagService) { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.GetTagStyle();\r\n }\r\n\r\n RemoveMe() {\r\n this.tsrv.RemoveTagFromCollection(this.id);\r\n }\r\n\r\n GetTagStyle() {\r\n // var rnd = Math.floor(Math.random() * 5) + 1;\r\n var rnd = 5;\r\n switch(rnd) {\r\n case 2:\r\n this.tag.nativeElement.style.background = 'white';\r\n this.tag.nativeElement.style.color = 'black';\r\n this.tag.nativeElement.style.border = '2px solid black';\r\n this.tag.nativeElement.style.borderRadius = '0.5em';\r\n break;\r\n case 3:\r\n this.tag.nativeElement.style.background = 'black';\r\n this.tag.nativeElement.style.color = 'white';\r\n this.tag.nativeElement.style.border = '2px solid white';\r\n this.tag.nativeElement.style.borderRadius = '0.5em';\r\n break;\r\n case 4:\r\n this.tag.nativeElement.style.background = 'purple';\r\n this.tag.nativeElement.style.color = 'white';\r\n this.tag.nativeElement.style.border = '2px solid black';\r\n this.tag.nativeElement.style.borderRadius = '0.5em';\r\n break;\r\n case 5:\r\n this.tag.nativeElement.style.background = 'yellow';\r\n this.tag.nativeElement.style.color = 'black';\r\n this.tag.nativeElement.style.border = '2px solid black';\r\n this.tag.nativeElement.style.borderRadius = '0.5em';\r\n break;\r\n default: \r\n this.tag.nativeElement.style.background = 'red';\r\n this.tag.nativeElement.style.color = 'white';\r\n this.tag.nativeElement.style.border = '2px solid white';\r\n this.tag.nativeElement.style.borderRadius = '0.5em';\r\n }\r\n }\r\n}\r\n","
\r\n
\r\n \r\n
\r\n
\r\n
\r\n {{value}}\r\n
\r\n
\r\n \r\n
\r\n
\r\n
","import { Component, OnInit, ViewChild, Input, Output, EventEmitter, ElementRef, AfterViewInit } from '@angular/core';\r\nimport { Tag } from 'src/app/services/tag.service';\r\nimport { Subject } from 'rxjs';\r\nimport { debounceTime, distinctUntilChanged } from 'rxjs/operators';\r\nimport { ActorService } from 'src/app/services/actor.service';\r\nimport { TagService } from 'src/app/services/tag.service';\r\n\r\n@Component({\r\n selector: 'app-tags',\r\n templateUrl: './tags.component.html',\r\n styleUrls: ['./tags.component.scss']\r\n})\r\nexport class TagsComponent implements OnInit, AfterViewInit {\r\n\r\n // Control Variables\r\n public tagLookUpController = new Subject();\r\n public loadingTagList: boolean;\r\n public userSearchPhrase: any;\r\n public loadedTags: Tag[] = [];\r\n public userSelectedTag: Tag;\r\n\r\n\r\n @ViewChild('btnPushTag') btnPushTag: ElementRef;\r\n public insertTag: boolean = false;\r\n\r\n public allowNewTags: boolean;\r\n @Input('allowNewTags') get AllowNewTags(): boolean {\r\n return this.allowNewTags;\r\n };\r\n @Output('allowNewTags') allowNewTagsChange: EventEmitter = new EventEmitter();\r\n set AllowNewTags(val: boolean) {\r\n this.allowNewTags = val;\r\n this.allowNewTagsChange.emit(this.allowNewTags);\r\n } \r\n\r\n public lookupOperator: string;\r\n @Input('lookupOperator') get LookupOperator(): string {\r\n return this.lookupOperator;\r\n };\r\n @Output('lookupOperator') lookupOperatorChange: EventEmitter = new EventEmitter();\r\n set LookupOperator(val: string) {\r\n this.lookupOperator = val;\r\n this.lookupOperatorChange.emit(this.lookupOperator);\r\n } \r\n\r\n constructor(public asrv: ActorService, public tsrv: TagService) { \r\n this.tagLookUpController.pipe(\r\n debounceTime(400),\r\n distinctUntilChanged()\r\n ).subscribe(value => {\r\n if (value.length > 1) {\r\n if (this.tsrv.AllowNewTags) {\r\n this.tsrv.GetTagByName(this.userSearchPhrase).then(value => {\r\n this.userSelectedTag = value;\r\n this.EnableAddTag();\r\n })\r\n } else {\r\n this.tsrv.TagLookup(this.userSearchPhrase).then(value => {\r\n this.loadedTags = value;\r\n this.loadingTagList = false;\r\n });\r\n }\r\n } else {\r\n if (this.tsrv.AllowNewTags) {\r\n this.DisablePushTag();\r\n }\r\n this.loadedTags = [];\r\n this.loadingTagList = false;\r\n }\r\n }); \r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.DisablePushTag();\r\n }\r\n\r\n AddTag() {\r\n this.tsrv.AddTagToCollection(this.userSelectedTag).then(value => {});\r\n this.userSearchPhrase = '';\r\n this.loadedTags = [];\r\n\r\n if (this.tsrv.AllowNewTags) {\r\n this.DisablePushTag()\r\n }\r\n }\r\n\r\n RemoveTag(ev: any) {\r\n\r\n }\r\n\r\n DisablePushTag() {\r\n if (this.btnPushTag) {\r\n this.btnPushTag.nativeElement.disabled = true;\r\n this.btnPushTag.nativeElement.style.filter = 'Grayscale(0.5)';\r\n }\r\n }\r\n\r\n EnableAddTag() {\r\n this.btnPushTag.nativeElement.disabled = false;\r\n this.btnPushTag.nativeElement.style.filter = 'Grayscale(0)';\r\n this.insertTag = false;\r\n }\r\n\r\n EnableInsertTag() {\r\n this.btnPushTag.nativeElement.disabled = false;\r\n this.btnPushTag.nativeElement.style.filter = 'Grayscale(0)';\r\n this.insertTag = true;\r\n }\r\n\r\n @Output() TagAddedOrRemoved = new EventEmitter();\r\n}\r\n\r\nclass TagLookup {\r\n OrganisationParameters: OrganisationParameters = new OrganisationParameters();\r\n SiteParameters: SiteParameters = new SiteParameters();\r\n TagNameParameters: TagNameParameters = new TagNameParameters();\r\n Limit: 1000;\r\n Offset: 0;\r\n}\r\n\r\nclass OrganisationParameters {\r\n OrganisationIdCollection: number[] = []; \r\n TagIdLookupOperator: string = 'NotExists';\r\n TagIdCollection: number[] = [];\r\n}\r\n\r\nclass SiteParameters {\r\n SiteIdCollection: number[] = [];\r\n TagIdLookupOperator: string ='NotExists';\r\n TagIdCollection: number[] = [];\r\n}\r\n\r\nclass TagNameParameters {\r\n OrganisationTagNameCollection: string[] = [];\r\n SiteTagNameCollection: string[] = [];\r\n}","\r\n
\r\n
\r\n
\r\n
\r\n Tag\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n Tag Lookup\r\n
\r\n \r\n
\r\n
\r\n\r\n
\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, Input, Output, EventEmitter } from '@angular/core';\r\nimport { ActorService } from 'src/app/services/actor.service';\r\nimport { ExcluderService } from 'src/app/services/excluder.service';\r\n\r\n@Component({\r\n selector: 'app-terms-and-conditions',\r\n templateUrl: './terms-and-conditions.component.html',\r\n styleUrls: ['./terms-and-conditions.component.scss']\r\n})\r\nexport class TermsAndConditionsComponent implements OnInit {\r\n\r\n showHideInfo: boolean = false;\r\n\r\n showForwardArrow: boolean;\r\n @Input('showForwardArrow') get ShowForwardArrow(): boolean {\r\n return this.showForwardArrow;\r\n };\r\n @Output('showForwardArrow') showForwardArrowChange: EventEmitter = new EventEmitter();\r\n set ShowForwardArrow(val: boolean) {\r\n this.showForwardArrow = val;\r\n this.showForwardArrowChange.emit(this.showForwardArrow);\r\n }\r\n\r\n public html: string\r\n\r\n constructor(\r\n public asrv: ActorService,\r\n public esrv: ExcluderService\r\n ) { }\r\n\r\n ngOnInit() {\r\n\r\n }\r\n\r\n ShowTerms(showFull) {\r\n this.CallShowHideForwardArrow();\r\n if (showFull) {\r\n this.showHideInfo = true;\r\n this.html = this.asrv.UserDocumentation.TermsHTML;\r\n } else {\r\n this.showHideInfo = true;\r\n this.html = this.asrv.UserDocumentation.SummaryOfTermsHTML;\r\n }\r\n }\r\n\r\n ShowPrivacyPolicy(showFull) {\r\n this.CallShowHideForwardArrow();\r\n if (showFull) {\r\n this.showHideInfo = true;\r\n this.html = this.asrv.UserDocumentation.PrivacyPolicyHTML;\r\n } else {\r\n this.showHideInfo = true;\r\n this.html = this.asrv.UserDocumentation.SummaryOfPrivacyPolicyHTML;\r\n }\r\n }\r\n\r\n ShowIpsosMori() {\r\n this.CallShowHideForwardArrow();\r\n this.showHideInfo = true;\r\n this.html = this.asrv.UserDocumentation.IpsosMoriHTML;\r\n }\r\n\r\n CloseForm() {\r\n this.CallShowHideForwardArrow();\r\n this.showHideInfo = false;\r\n }\r\n\r\n CallShowHideForwardArrow() {\r\n this.ShowHideForwardArrow.next();\r\n }\r\n\r\n @Output() ShowHideForwardArrow = new EventEmitter();\r\n\r\n}\r\n","
\r\n
\r\n
\r\n

Terms & Conditions

\r\n
\r\n
\r\n
\r\n
\r\n You accept our \r\n Terms, \r\n Disclaimer and \r\n Privacy Notice , which we have summarised for you and you consent to your personal data being shared as described therein.\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n You agree to self-exclusion and accept that this cannot be cancelled during your chosen exclusion period, which will automatically extend for 6 months UNLESS you re-instate. \r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n You acknowledge that we cannot guarantee your exclusion by third-party AGC operators. \r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n You acknowledge that, within 2 days from the start of your self-exclusion period, you will be removed from the marketing and promotional lists of all operators within a 1km radius. \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\n\r\n@Component({\r\n selector: 'app-loading',\r\n templateUrl: './loading.component.html',\r\n styleUrls: ['./loading.component.scss']\r\n})\r\nexport class LoadingComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\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 {Router} from '@angular/router';\r\nimport {UserCredentials} from '../../models/data/UserCredentials';\r\nimport {Login as ComponentModel_Login} from '../../models/component/Login';\r\nimport {DataService} from 'src/app/services/data.service';\r\nimport {Subscription} from 'rxjs'\r\nimport { ErrorhanderService } from 'src/app/services/errorhander.service';\r\nimport { ActorService } from 'src/app/services/actor.service';\r\n\r\n@Component({\r\n selector: 'app-login',\r\n templateUrl: './login.component.html',\r\n styleUrls: ['./login.component.scss']\r\n})\r\nexport class LoginComponent implements OnInit {\r\n\r\n public showFailedLogin: boolean = false;\r\n public showSpinner: boolean = false;\r\n\r\n constructor(\r\n public dsrv: DataService,\r\n private errorHandler: ErrorhanderService,\r\n private router: Router,\r\n public asrv: ActorService\r\n ) {\r\n this.UserCredentials = new UserCredentials ();\r\n }\r\n\r\n public ComponentModel_Login : ComponentModel_Login;\r\n public UserCredentials : UserCredentials;\r\n\r\n public login() : void {\r\n this.dsrv.authToken = btoa(`${this.UserCredentials.Login}:${this.UserCredentials.Password}`);\r\n this.showFailedLogin = false;\r\n this.showSpinner = true;\r\n this.asrv.loadGendersToStorage();\r\n this.asrv.loadHonorificsToStorage();\r\n let login = this.dsrv.Login(this.UserCredentials.Login, this.UserCredentials.Password).subscribe(res => {\r\n if (res === 401) {\r\n this.showFailedLogin = true;\r\n this.showSpinner = false;\r\n } else {\r\n this.showSpinner = false;\r\n this.router.navigate(['/user']);\r\n }\r\n login.unsubscribe();\r\n }, err => {\r\n this.errorHandler.CreateParameter('UserCredentials.Login',this.UserCredentials.Login);\r\n this.errorHandler.CreateParameter('UserCredentials.Password', btoa(this.UserCredentials.Password));\r\n this.errorHandler.CatchError('login()','login.component.ts', err);\r\n login.unsubscribe();\r\n });\r\n }\r\n\r\n public forgottenPassword() {\r\n this.router.navigate(['forgottenPassword']);\r\n }\r\n \r\n ngOnInit() {\r\n }\r\n}","
\r\n
\r\n
\r\n \"Bacta\"\r\n
\r\n Please Login\r\n
\r\n
\r\n
\r\n Username\r\n
\r\n \r\n
\r\n
\r\n
\r\n Password\r\n
\r\n \r\n
\r\n
\r\n Incorrect Username/Password Entered.\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n {{dsrv.GetVersion()}}\r\n
\r\n\r\n\r\n\r\n\r\n \r\n ","import { Component, OnInit } from '@angular/core';\r\nimport { MatDatepickerInputEvent } from '@angular/material/datepicker';\r\nimport { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack-bar';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { Router } from '@angular/router';\r\nimport { ActorService } from 'src/app/services/actor.service';\r\nimport { AdvancedSearchService } from 'src/app/services/advanced-search.service';\r\nimport { ApiService } from 'src/app/services/api.service';\r\nimport { DataService } from 'src/app/services/data.service';\r\nimport { ErrorhanderService } from 'src/app/services/errorhander.service';\r\nimport * as moment from 'moment';\r\n\r\n@Component({\r\n selector: 'app-machine-payouts',\r\n templateUrl: './machine-payouts.component.html',\r\n styleUrls: ['./machine-payouts.component.scss']\r\n})\r\nexport class MachinePayoutsComponent implements OnInit {\r\n checkDate;\r\n checkDateModel;\r\n checkTime;\r\n siteID;\r\n machineNumber;\r\n machineIssue;\r\n amount;\r\n customerFirstname;\r\n customerSurname;\r\n events: string[] = [];\r\n usingLoggedInName = false;\r\n employeeListLoading = false;\r\n loggedInUserID;\r\n employeeList = [];\r\n loggedInName;\r\n checkOKTrue;\r\n checkOKFalse;\r\n isSaving = false;\r\n employeeId;\r\n notes;\r\n errorMsg;\r\n isSavedSuccess;\r\n isError;\r\n\r\n machineIssueListLoading = true;\r\n machineIssueList = [\r\n // {\r\n // Name: \"AML Alert\",\r\n // TagId: 0\r\n // },\r\n // {\r\n // Name: \"Coin Mech Error\",\r\n // TagId: 0\r\n // },\r\n // {\r\n // Name: \"Crash/Freeze\",\r\n // TagId: 0\r\n // },\r\n // {\r\n // Name: \"Dataport Error\",\r\n // TagId: 0\r\n // },\r\n // {\r\n // Name: \"Ex Gratia\",\r\n // TagId: 0\r\n // },\r\n // {\r\n // Name: \"Expired ticket\",\r\n // TagId: 0\r\n // },\r\n // {\r\n // Name: \"Failed to pay\",\r\n // TagId: 0\r\n // },\r\n // {\r\n // Name: \"Failed to print ticket\",\r\n // TagId: 0\r\n // },\r\n // {\r\n // Name: \"Handpay\",\r\n // TagId: 0\r\n // },\r\n // {\r\n // Name: \"Hopper empty\",\r\n // TagId: 0\r\n // },\r\n // {\r\n // Name: \"Invalid ticket\",\r\n // TagId: 0\r\n // },\r\n // {\r\n // Name: \"No credit given\",\r\n // TagId: 0\r\n // },\r\n // {\r\n // Name: \"Note acceptor error\",\r\n // TagId: 0\r\n // },\r\n // {\r\n // Name: \"Payout short\",\r\n // TagId: 0\r\n // },\r\n // {\r\n // Name: \"Printer error\",\r\n // TagId: 0\r\n // },\r\n ]\r\n\r\n constructor(\r\n public dsrv: DataService,\r\n public asrv: ActorService,\r\n private router: Router,\r\n public errsrv: ErrorhanderService,\r\n public assrv: AdvancedSearchService,\r\n private titleService: Title,\r\n private _api: ApiService,\r\n private _snackBar: MatSnackBar\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.getEmployeeList();\r\n this.getMachineIssuesList();\r\n document.body.style.backgroundColor = '#c3cddd';\r\n }\r\n\r\n addEvent(type: string, event: MatDatepickerInputEvent) {\r\n this.events.push(`${type}: ${event.value}`);\r\n this.checkDate = moment(this.checkDateModel).format('YYYY-MM-DD');\r\n }\r\n\r\n getMachineIssuesList() {\r\n this.machineIssueListLoading = true;\r\n this._api.getTagCollectionCompositeModel(22).subscribe(collection => {\r\n this.machineIssueList = collection.Tags;\r\n this.machineIssueList.sort((a, b) => a.Name.toLowerCase().localeCompare(b.Name.toLowerCase()));\r\n this.machineIssueListLoading = false;\r\n });\r\n }\r\n\r\n setItem() { }\r\n\r\n getEmployeeList() {\r\n this.usingLoggedInName = false;\r\n this.employeeListLoading = true;\r\n const _userID = this.dsrv.GetMyUserID();\r\n this.loggedInUserID = _userID;\r\n // console.log(this.loggedInUserID);\r\n this._api.getUserOrgID(_userID).subscribe(results => {\r\n\r\n const _orgID = results[0].Organisations_ActorId;\r\n const _employeeIDs = [];\r\n this._api.getUserEmployeesList(_orgID).subscribe(employeeResults => {\r\n employeeResults.forEach(element => {\r\n _employeeIDs.push(element.Employees_ActorId);\r\n });\r\n\r\n this.asrv.GetBiologicalName(_employeeIDs).then(value => {\r\n this.employeeList = value;\r\n this.employeeListLoading = false;\r\n });\r\n },\r\n error => {\r\n this.usingLoggedInName = true;\r\n this.loggedInName = this.asrv.GetUsersFullName();\r\n this.employeeListLoading = false;\r\n });\r\n });\r\n }\r\n\r\n checkItem(wasChecked) {\r\n if (wasChecked) {\r\n this.checkOKTrue = true;\r\n this.checkOKFalse = false;\r\n } else {\r\n this.checkOKTrue = false;\r\n this.checkOKFalse = true;\r\n }\r\n }\r\n\r\n GoBack() {\r\n this.router.navigate(['/user/toolkit']);\r\n }\r\n\r\n closeNotification() {\r\n this.isError = false;\r\n this.isSavedSuccess = false;\r\n }\r\n\r\n saveCheck() {\r\n console.log(moment(this.checkDate + ' ' + this.checkTime, 'YYYY-MM-DD HH:mm').utc().format('YYYY-MM-DDTHH:mm'));\r\n console.log(moment(this.checkDate + ' ' + this.checkTime, 'YYYY-MM-DD HH:mm').utc());\r\n console.log(moment(this.checkDate + ' ' + this.checkTime, 'YYYY-MM-DD HH:mm'));\r\n const _recordedDate = moment(this.checkDate + ' ' + this.checkTime, 'YYYY-MM-DD HH:mm').utc().format('YYYY-MM-DDTHH:mm');\r\n this.siteID = this.asrv.DefaultSiteId;\r\n this.isSaving = true;\r\n const _tagIDCollection = [];\r\n\r\n if (this.machineIssue) {\r\n _tagIDCollection.push(this.machineIssue);\r\n }\r\n\r\n if (this.amount) {\r\n this._api.postMachinePayoutCheck(\r\n {\r\n AssociatedActorIdCollection: [\r\n this.employeeId\r\n ],\r\n InteractedActorCompositeModelCollection: [\r\n {\r\n BiologicalActorCompositeModel: {\r\n PostalAddressClassId: 1,\r\n Forename: this.customerFirstname,\r\n Surname: this.customerSurname\r\n }\r\n }\r\n ],\r\n\r\n Notes: this.notes,\r\n SiteId: this.siteID,\r\n Recorded: _recordedDate,\r\n TagIdCollection: _tagIDCollection,\r\n Amount: this.amount,\r\n AssetReference: this.machineNumber\r\n\r\n }\r\n ).subscribe(\r\n result => {\r\n this.isSaving = false;\r\n this.isSavedSuccess = true;\r\n this.isError = false;\r\n setTimeout(() => {\r\n this.isSavedSuccess = false;\r\n this.router.navigate(['/user/toolkit']);\r\n }, 3000);\r\n },\r\n error => {\r\n this.isSaving = false;\r\n this.isError = true;\r\n this.errorMsg = error.error;\r\n console.log(error);\r\n });\r\n }\r\n\r\n this.isSaving = false;\r\n }\r\n\r\n\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n

Machine Payouts

\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n Date\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n 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 Staff Member\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n Machine No.\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Machine Issue\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n Amount\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Customer Firstname\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n Customer Surname\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n\r\n
\r\n
\r\n Please add any details about the check\r\n \r\n
\r\n Notes\r\n
\r\n
\r\n\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n Saving...\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
Success
\r\n
X
\r\n
\r\n
\r\n Saved Machine Payout\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
Error
\r\n
X
\r\n
\r\n
\r\n There was an error saving the machine payout. Please check all fields and try again.\r\n
\r\n {{errorMsg | json}}\r\n
\r\n
\r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { MatDatepickerInputEvent } from '@angular/material/datepicker';\r\nimport { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack-bar';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { Router } from '@angular/router';\r\nimport { ActorService } from 'src/app/services/actor.service';\r\nimport { AdvancedSearchService } from 'src/app/services/advanced-search.service';\r\nimport { ApiService } from 'src/app/services/api.service';\r\nimport { DataService } from 'src/app/services/data.service';\r\nimport { ErrorhanderService } from 'src/app/services/errorhander.service';\r\nimport * as moment from 'moment';\r\n\r\n@Component({\r\n selector: 'app-machine-service',\r\n templateUrl: './machine-service.component.html',\r\n styleUrls: ['./machine-service.component.scss']\r\n})\r\nexport class MachineServiceComponent implements OnInit {\r\n\r\n checkDate;\r\n checkDateModel;\r\n checkTime;\r\n siteID;\r\n machineNumber;\r\n machineIssue;\r\n amount;\r\n engineerFirstname;\r\n engineerSurname;\r\n events: string[] = [];\r\n usingLoggedInName = false;\r\n employeeListLoading = false;\r\n loggedInUserID;\r\n employeeList = [];\r\n loggedInName;\r\n checkOKTrue;\r\n checkOKFalse;\r\n isSaving = false;\r\n employeeId;\r\n notes;\r\n errorMsg;\r\n isSavedSuccess;\r\n isError;\r\n machineResolution;\r\n machineResolutionList;\r\n machineIssueList;\r\n machineResolutionListLoading = true;\r\n machineIssueListLoading = true;\r\n \r\n\r\n constructor(\r\n public dsrv: DataService,\r\n public asrv: ActorService,\r\n private router: Router,\r\n public errsrv: ErrorhanderService,\r\n public assrv: AdvancedSearchService,\r\n private titleService: Title,\r\n private _api: ApiService,\r\n private _snackBar: MatSnackBar\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.getEmployeeList();\r\n this.getMachineIssuesList();\r\n this.getMachineResolutionList();\r\n document.body.style.backgroundColor = '#c3cddd';\r\n }\r\n\r\n addEvent(type: string, event: MatDatepickerInputEvent) {\r\n this.events.push(`${type}: ${event.value}`);\r\n this.checkDate = moment(this.checkDateModel).format('YYYY-MM-DD');\r\n }\r\n\r\n getMachineIssuesList() {\r\n this.machineIssueListLoading = true;\r\n this._api.getTagCollectionCompositeModel(22).subscribe(collection => {\r\n this.machineIssueList = collection.Tags;\r\n this.machineIssueList.sort((a, b) => a.Name.toLowerCase().localeCompare(b.Name.toLowerCase()));\r\n this.machineIssueListLoading = false;\r\n });\r\n }\r\n\r\n getMachineResolutionList() {\r\n this.machineResolutionListLoading = true;\r\n this._api.getTagCollectionCompositeModel(23).subscribe(collection => {\r\n this.machineResolutionList = collection.Tags;\r\n this.machineResolutionList.sort((a, b) => a.Name.toLowerCase().localeCompare(b.Name.toLowerCase()));\r\n this.machineResolutionListLoading = false;\r\n });\r\n }\r\n\r\n setItem() { }\r\n\r\n getEmployeeList() {\r\n this.usingLoggedInName = false;\r\n this.employeeListLoading = true;\r\n const _userID = this.dsrv.GetMyUserID();\r\n this.loggedInUserID = _userID;\r\n // console.log(this.loggedInUserID);\r\n this._api.getUserOrgID(_userID).subscribe(results => {\r\n\r\n const _orgID = results[0].Organisations_ActorId;\r\n const _employeeIDs = [];\r\n this._api.getUserEmployeesList(_orgID).subscribe(employeeResults => {\r\n employeeResults.forEach(element => {\r\n _employeeIDs.push(element.Employees_ActorId);\r\n });\r\n\r\n this.asrv.GetBiologicalName(_employeeIDs).then(value => {\r\n this.employeeList = value;\r\n this.employeeListLoading = false;\r\n });\r\n },\r\n error => {\r\n this.usingLoggedInName = true;\r\n this.loggedInName = this.asrv.GetUsersFullName();\r\n this.employeeListLoading = false;\r\n });\r\n });\r\n }\r\n\r\n checkItem(wasChecked) {\r\n if (wasChecked) {\r\n this.checkOKTrue = true;\r\n this.checkOKFalse = false;\r\n } else {\r\n this.checkOKTrue = false;\r\n this.checkOKFalse = true;\r\n }\r\n }\r\n\r\n GoBack() {\r\n this.router.navigate(['/user/toolkit']);\r\n }\r\n\r\n closeNotification() {\r\n this.isError = false;\r\n this.isSavedSuccess = false;\r\n }\r\n\r\n saveCheck() {\r\n console.log(moment(this.checkDate + ' ' + this.checkTime, 'YYYY-MM-DD HH:mm').utc().format('YYYY-MM-DDTHH:mm'));\r\n console.log(moment(this.checkDate + ' ' + this.checkTime, 'YYYY-MM-DD HH:mm').utc());\r\n console.log(moment(this.checkDate + ' ' + this.checkTime, 'YYYY-MM-DD HH:mm'));\r\n const _recordedDate = moment(this.checkDate + ' ' + this.checkTime, 'YYYY-MM-DD HH:mm').utc().format('YYYY-MM-DDTHH:mm');\r\n this.siteID = this.asrv.DefaultSiteId;\r\n this.isSaving = true;\r\n const _tagIDCollection = [];\r\n\r\n if (this.machineIssue) {\r\n _tagIDCollection.push(this.machineIssue);\r\n }\r\n\r\n if (this.machineResolution) {\r\n _tagIDCollection.push(this.machineResolution);\r\n }\r\n\r\n // if () {\r\n this._api.postMachineServiceCheck(\r\n {\r\n AssociatedActorIdCollection: [\r\n this.employeeId\r\n ],\r\n InteractedActorCompositeModelCollection: [\r\n {\r\n BiologicalActorCompositeModel: {\r\n PostalAddressClassId: 1,\r\n Forename: this.engineerFirstname,\r\n Surname: this.engineerSurname\r\n }\r\n }\r\n ],\r\n\r\n Notes: this.notes,\r\n SiteId: this.siteID,\r\n Recorded: _recordedDate,\r\n TagIdCollection: _tagIDCollection,\r\n AssetReference: this.machineNumber\r\n\r\n }\r\n ).subscribe(\r\n result => {\r\n this.isSaving = false;\r\n this.isSavedSuccess = true;\r\n this.isError = false;\r\n setTimeout(() => {\r\n this.isSavedSuccess = false;\r\n this.router.navigate(['/user/toolkit']);\r\n }, 3000);\r\n },\r\n error => {\r\n this.isSaving = false;\r\n this.isError = true;\r\n this.errorMsg = error.error;\r\n console.log(error);\r\n });\r\n // }\r\n\r\n this.isSaving = false;\r\n }\r\n}\r\n","
\n
\n
\n
\n

Machine Service Visits

\n
\n
\n
\n\n
\n
\n
\n
\n Date\n
\n \n
\n \n \n
\n \n \n
\n
\n
\n
\n
\n Time\n
\n \n \n
\n
\n
\n\n
\n
\n
\n
\n Staff Member\n
\n
\n
\n \n
\n
\n\n \n \n
\n
\n\n
\n
\n
\n Machine No.\n
\n \n
\n\n
\n
\n
\n
\n
\n
\n Machine Issue\n
\n
\n
\n \n
\n
\n \n
\n
\n\n
\n
\n
\n Machine Resolution\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n
\n Engineer Firstname\n
\n \n
\n
\n
\n
\n
\n Engineer Surname\n
\n \n
\n
\n
\n\n \n\n
\n
\n Please add any details about the check\n \n
\n Notes\n
\n
\n\n \n \n
\n
\n
\n
\n\n
\n
\n \n
\n \n
\n \n\n
\n
\n\n
\n
\n
\n
\n Saving...\n
\n
\n \n
\n
\n
\n
\n\n
\n
\n
\n
Success
\n
X
\n
\n
\n Saved Machine Service Visit\n
\n
\n
\n\n
\n
\n
\n
Error
\n
X
\n
\n
\n There was an error saving the machine service visit. Please check all fields and try again.\n
\n {{errorMsg | json}}\n
\n
\n
","
0\">\r\n
\r\n
\r\n

Memorable Word

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

Please select the requested characters of your memorable word to continue your session

\r\n
\r\n
\r\n
\r\n {{_is.secretKeyMap[0] + 1}}\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n {{_is.secretKeyMap[1] + 1}}\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n {{_is.secretKeyMap[2] + 1}}\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
Please make sure all fields are filled in
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
","import { Component, OnInit, AfterViewInit, ViewChild } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { ApiService } from 'src/app/services/api.service';\r\nimport { DataService } from 'src/app/services/data.service';\r\nimport { InactivityService } from 'src/app/services/inactivity.service';\r\nimport { first, take } from 'rxjs/operators';\r\n@Component({\r\n selector: 'app-memorable-word',\r\n templateUrl: './memorable-word.component.html',\r\n styleUrls: ['./memorable-word.component.scss'],\r\n})\r\nexport class MemorableWordComponent implements OnInit {\r\n\r\n memwordList =\r\n [\r\n 'A',\r\n 'B',\r\n 'C',\r\n 'D',\r\n 'E',\r\n 'F',\r\n 'G',\r\n 'H',\r\n 'I',\r\n 'J',\r\n 'K',\r\n 'L',\r\n 'M',\r\n 'N',\r\n 'O',\r\n 'P',\r\n 'Q',\r\n 'R',\r\n 'S',\r\n 'T',\r\n 'U',\r\n 'V',\r\n 'W',\r\n 'X',\r\n 'Y',\r\n 'Z',\r\n 'a',\r\n 'b',\r\n 'c',\r\n 'd',\r\n 'e',\r\n 'f',\r\n 'g',\r\n 'h',\r\n 'i',\r\n 'j',\r\n 'k',\r\n 'l',\r\n 'm',\r\n 'n',\r\n 'o',\r\n 'p',\r\n 'q',\r\n 'r',\r\n 's',\r\n 't',\r\n 'u',\r\n 'v',\r\n 'w',\r\n 'x',\r\n 'y',\r\n 'z',\r\n 0,\r\n 1,\r\n 2,\r\n 3,\r\n 4,\r\n 5,\r\n 6,\r\n 7,\r\n 8,\r\n 9\r\n ];\r\n\r\n memwordError = false;\r\n showModal = false;\r\n \r\n\r\n showMissingError = false;\r\n\r\n intervalTimer;\r\n token = '';\r\n constructor(\r\n private _api: ApiService,\r\n public _ds: DataService,\r\n private _router: Router,\r\n public _is: InactivityService\r\n ) {\r\n\r\n _ds.getMemwordError().subscribe(isError => {\r\n if (!this.showModal && isError) {\r\n this._is.getNewKey();\r\n this._is.startModalTimer();\r\n this._is.startMonitor();\r\n this.memwordError = isError;\r\n this.showModal = true;\r\n console.log('Show modal: ', this.showModal);\r\n\r\n } else if (this.showModal && !isError) {\r\n this.showModal = false;\r\n this.clearErrors();\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n\r\n }\r\n\r\n clearErrors() {\r\n this.showMissingError = false;\r\n }\r\n\r\n \r\n\r\n checkWord() {\r\n\r\n if (\r\n this._is.memwordChar1 !== '' &&\r\n this._is.memwordChar2 !== '' &&\r\n this._is.memwordChar3 !== ''\r\n ) {\r\n this.showMissingError = false;\r\n const _token = this._is.token;\r\n const _memwordFields = [\r\n {\r\n Position: this._is.secretKeyMap[0],\r\n Character: this._is.memwordChar1.toString()\r\n },\r\n {\r\n Position: this._is.secretKeyMap[1],\r\n Character: this._is.memwordChar2.toString()\r\n },\r\n {\r\n Position: this._is.secretKeyMap[2],\r\n Character: this._is.memwordChar3.toString()\r\n }\r\n ];\r\n const _postData = {\r\n Token: _token,\r\n SecretKeyCharacterCollection: _memwordFields\r\n };\r\n this._api.postSecretKey(_postData).subscribe(\r\n results => {\r\n this._ds.setInitGallery(true);\r\n this._is.startMonitor();\r\n this._is.startTimer();\r\n this._is.stopModalTimer();\r\n this.close();\r\n sessionStorage.setItem('__galleryToken', _token);\r\n sessionStorage.setItem('__postData', JSON.stringify(_postData));\r\n \r\n },\r\n error => {\r\n sessionStorage.removeItem('__postData');\r\n sessionStorage.removeItem('__galleryToken');\r\n this.close();\r\n console.log(error);\r\n this._router.navigate(['/user/features']);\r\n\r\n\r\n }\r\n );\r\n } else {\r\n this.showMissingError = true;\r\n }\r\n }\r\n\r\n\r\n\r\n close() {\r\n this.showModal = false;\r\n this._ds.setMemwordError(false);\r\n }\r\n\r\n cancel() {\r\n this.showModal = false;\r\n this._ds.setMemwordError(false);\r\n\r\n this._router.navigate(['/user/features']);\r\n this._is.stopMonitor();\r\n this._is.stopTimer();\r\n this._is.stopModalTimer();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.showMissingError = false;\r\n }\r\n}\r\n","
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
{{key}}
\r\n {{row[x]}}\r\n {{row[x]}}\r\n {{row[x]}}\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n","import { Component, OnInit, ElementRef, ViewChild } from '@angular/core';\r\nimport { MessagingService } from 'src/app/services/messaging.service';\r\n\r\n@Component({\r\n selector: 'app-messaging-main-view',\r\n templateUrl: './messaging-main-view.component.html',\r\n styleUrls: ['./messaging-main-view.component.scss']\r\n})\r\nexport class MessagingMainViewComponent implements OnInit {\r\n @ViewChild('table') table: ElementRef;\r\n\r\n public objectKeys = [];\r\n public tableKeys = [];\r\n public showSendingSpinner: boolean = false;\r\n\r\n constructor(public msrv: MessagingService) { }\r\n\r\n ngOnInit() {\r\n this.objectKeys = Object.values(this.msrv.MessageList.HeaderTranslation[0]);\r\n this.tableKeys = Object.keys(this.msrv.MessageList.HeaderTranslation[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 Filter\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 { MessageList } from 'src/app/models/messaging/MessageList';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { MessagingService } from 'src/app/services/messaging.service';\r\n\r\n@Component({\r\n selector: 'app-messaging-main',\r\n templateUrl: './messaging-main.component.html',\r\n styleUrls: ['./messaging-main.component.scss']\r\n})\r\nexport class MessagingMainComponent implements OnInit {\r\n\r\n public messageList: MessageList;\r\n public selectedFilter: number;\r\n\r\n constructor(\r\n public msrv: MessagingService, \r\n private titleService: Title) { \r\n }\r\n\r\n ngOnInit() {\r\n this.titleService.setTitle('Messages');\r\n this.msrv.GetAllMessages().then(value => {\r\n });\r\n }\r\n\r\n ChangeFilter() {\r\n this.msrv.SetEndDateFilter(new Date());\r\n switch(this.selectedFilter) {\r\n case 0:\r\n this.msrv.GetAllMessages().then(value => {\r\n });\r\n break;\r\n case 1:\r\n this.msrv.GetImportantMessage().then(value => {\r\n });\r\n break;\r\n case 2:\r\n this.msrv.GetUnreadMessages().then(value => {\r\n });\r\n break;\r\n }\r\n }\r\n CloseCompose(){}\r\n}\r\n","import { Component, OnInit, Input, Output, EventEmitter, OnChanges } from '@angular/core';\r\nimport { Communication } from 'src/app/models/Communication';\r\nimport { DataService } from 'src/app/services/data.service';\r\nimport { ActorService } from 'src/app/services/actor.service';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { ErrorhanderService } from 'src/app/services/errorhander.service';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { Tags } from 'src/app/models/Tags';\r\nimport { UserDetail } from 'src/app/models/UserDetail';\r\nimport { PostObjects } from 'src/app/models/PostObjects';\r\nimport { BiologicalUserInfo } from 'src/app/models/actor/Name';\r\nimport { MessagingService } from 'src/app/services/messaging.service';\r\n\r\n@Component({\r\n selector: 'app-read-compose-message',\r\n templateUrl: './read-compose-message.component.html',\r\n styleUrls: ['./read-compose-message.component.scss']\r\n})\r\nexport class ReadComposeMessageComponent implements OnInit {\r\n public sendTo: BiologicalUserInfo[] = [];\r\n public communicationId: number;\r\n public dataHasLoaded: boolean = false;\r\n public UserName: string;\r\n public postObjects: PostObjects = new PostObjects();\r\n public currentRoute: string;\r\n\r\n public communication: Communication;\r\n @Input('communication') get Communication(): Communication {\r\n return this.communication;\r\n };\r\n @Output('communication') communicationChange: EventEmitter = new EventEmitter();\r\n set Communication(val: Communication) {\r\n this.communication = val;\r\n this.communicationChange.emit(this.communication);\r\n } \r\n\r\n public composing: Boolean;\r\n @Input('composing') get Composing(): Boolean {\r\n return this.composing;\r\n };\r\n @Output('composing') composingChange: EventEmitter = new EventEmitter();\r\n set Composing(val: Boolean) {\r\n this.composing = val;\r\n this.composingChange.emit(this.composing);\r\n } \r\n\r\n constructor (\r\n public msrv: MessagingService,\r\n public dsrv: DataService, \r\n public asrv: ActorService, \r\n private route: ActivatedRoute, \r\n private router: Router,\r\n private errorHandler: ErrorhanderService,\r\n private titleService: Title,\r\n private tags: Tags) { \r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n CallCloseCompose() {\r\n this.msrv.ShowMessage = false;\r\n }\r\n\r\n @Output() CloseCompose = new EventEmitter();\r\n}\r\n","
\r\n
\r\n
Recipient Filter
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
Message Details
\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n From\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n Subject\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n MESSAGE\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\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 { BiologicalUserInfo } from 'src/app/models/actor/Name';\r\nimport { GenericTagList } from 'src/app/models/admin/GenericTag';\r\nimport { DropDownItem } from 'src/app/models/controllers/Standard Controllers/Select';\r\nimport { ActorService } from 'src/app/services/actor.service';\r\nimport { MessagingService } from 'src/app/services/messaging.service';\r\n\r\n@Component({\r\n selector: 'app-recipient-filter',\r\n templateUrl: './recipient-filter.component.html',\r\n styleUrls: ['./recipient-filter.component.scss']\r\n})\r\nexport class RecipientFilterComponent implements OnInit {\r\n public tagFilters: GenericTagList = new GenericTagList(this.asrv);\r\n public tagLookupOperator: string = 'Organisation';\r\n public selectedActor: DropDownItem;\r\n public sendToNames: string = '';\r\n public sendTo: DropDownItem[] = [];\r\n public employeeFilterId: number;\r\n public employees: BiologicalUserInfo[] = [];\r\n public loadingEmployeeDropDown: boolean;\r\n public SendingToEveryone: boolean = false;\r\n\r\n constructor(public asrv: ActorService, public msrv: MessagingService) { }\r\n\r\n ngOnInit() {\r\n this.PopulateEmployeeDropDown();\r\n }\r\n\r\n PopulateEmployeeDropDown() {\r\n this.loadingEmployeeDropDown = true;\r\n this.employees = [];\r\n this.asrv.GetEmployeeIds(10000, 0, this.msrv.OrganisationIdFilter, [1]).then(value => {\r\n this.asrv.GetActorNames(value).subscribe(res => {\r\n res.forEach(employee => {\r\n this.employees.push({\r\n ActorId: employee.ActorId,\r\n Forename: employee.NameCollection.find(i => i.NameClassKeyId === 1).Name,\r\n Surname: employee.NameCollection.find(i => i.NameClassKeyId === 2).Name,\r\n ActorRoleCollection: null,\r\n })\r\n })\r\n })\r\n })\r\n }\r\n\r\n AddSendTo() {\r\n this.PushBiologicalNameToList(this.selectedActor);\r\n }\r\n\r\n AddEveryoneToSendTo() {\r\n if (this.SendingToEveryone) {\r\n this.msrv.AllCommunicationUserIds.forEach(id => {\r\n this.msrv.SelectedRecipients.push({Key: id, Value: ''})\r\n })\r\n } else {\r\n this.msrv.SelectedRecipients = [];\r\n }\r\n }\r\n\r\n BackspaceUp(event: any) {\r\n var newSendTo: DropDownItem[] = [];\r\n this.msrv.SelectedRecipients.forEach(name => {\r\n if (this.sendToNames.search(name.Value + '#' + name.Key) >= 0) {\r\n // console.log(`added: ${name}`);\r\n newSendTo.push(name);\r\n }\r\n })\r\n\r\n this.msrv.SelectedRecipients = [];\r\n this.sendToNames = '';\r\n newSendTo.forEach(name => {\r\n this.PushBiologicalNameToList(name);\r\n })\r\n this.sendTo = this.msrv.SelectedRecipients;\r\n }\r\n\r\n PushBiologicalNameToList(name: DropDownItem) {\r\n if (!this.msrv.SelectedRecipients.some(i => i.Key === name.Key)) {\r\n if (this.sendToNames.length === 0) {\r\n this.sendToNames = name.Value + '#' + name.Key;\r\n } else {\r\n this.sendToNames = this.sendToNames + ';' + name.Value + '#' + name.Key;\r\n }\r\n this.msrv.SelectedRecipients.push(name);\r\n }\r\n }\r\n\r\n TagFilters() {\r\n let sendObject;\r\n if (this.tagFilters.Rows.length > 0) {\r\n sendObject.Model.SiteParameters.TagIdLookupOperator = 'Exists';\r\n this.tagFilters.Rows.forEach(row => {\r\n sendObject.Model.SiteParameters.TagIdCollection.push(row['TagId']);\r\n });\r\n }\r\n }\r\n}\r\n","
\r\n \r\n
\r\n
\r\n
\r\n Organisation\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n User\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
Send To Everyone
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n RECIPIENTS\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
","
\r\n
\r\n
\r\n OOPS... we have encountered a {{errsrv.name}} error. \r\n
\r\n
\r\n
\r\n
\r\n OOPS... {{errsrv.header}} \r\n
\r\n
\r\n
\r\n
\r\n

Status Code:

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

{{errsrv.status}}

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

Reason:

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

{{errsrv.message}}

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

{{errsrv.message}}

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

Message:

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

{{message}}


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

Data Submitted:

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

{{lastPostObject}}

\r\n
\r\n
\r\n\r\n
\r\n
\r\n Please email the support desk if you require assistance.\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 { ActorService } from 'src/app/services/actor.service';\r\nimport { DataService } from 'src/app/services/data.service';\r\nimport { ErrorhanderService } from 'src/app/services/errorhander.service';\r\n\r\n@Component({\r\n selector: 'app-oops',\r\n templateUrl: './oops.component.html',\r\n styleUrls: ['./oops.component.scss']\r\n})\r\nexport class OopsComponent implements OnInit {\r\n\r\n public lastPostObject;\r\n public fieldValues: string[] = [];\r\n\r\n constructor(public errsrv: ErrorhanderService, public dsrv: DataService) { }\r\n\r\n ngOnInit() {\r\n if (this.errsrv.showPostObject) {\r\n this.lastPostObject = JSON.stringify(this.dsrv.lastPostModel);\r\n } \r\n\r\n /*\r\n var object = this.dsrv.lastPostModel\r\n\r\n this.errsrv.keys.forEach(key => {\r\n var fixedKey = key.replace('[', '').replace(']', '');\r\n this.fieldValues.push(getNestedValue(object, fixedKey));\r\n })\r\n */\r\n }\r\n\r\n HideOops() {\r\n this.errsrv.HideOops();\r\n }\r\n}\r\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { environment } from 'src/environments/environment';\r\n// import { settings } from '../../../assets/settings.json'\r\n\r\n@Component({\r\n selector: 'app-privacypolicy',\r\n templateUrl: './privacypolicy.component.html',\r\n styleUrls: ['./privacypolicy.component.scss']\r\n})\r\nexport class PrivacypolicyComponent implements OnInit {\r\n public privacyPolicyHTML: string;\r\n private Endpoint = environment.apiURL //demo\r\n private readonly document: string = 'SummaryOfPrivacyPolicy';\r\n constructor(private http: HttpClient) { }\r\n\r\n ngOnInit() {\r\n this.Get(`api/View_documents_public/${this.document}`).subscribe(res => {\r\n this.Get(`api/View_documents_public/${this.document}/${res[0]}`).subscribe(res => {\r\n this.privacyPolicyHTML = res;\r\n })\r\n })\r\n }\r\n\r\n public Get(uri: string) : Observable {\r\n let head: HttpHeaders = new HttpHeaders({});\r\n return this.http.get(this.Endpoint + uri, {headers:head}).pipe();\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-product-collection',\r\n templateUrl: './product-collection.component.html',\r\n styleUrls: ['./product-collection.component.scss']\r\n})\r\nexport class ProductCollectionComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","

product-collection works!

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

chart works!

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

form works!

\r\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { ActorService } from 'src/app/services/actor.service';\r\nimport { CustomerList } from 'src/app/models/Reports/CustomerList';\r\nimport { BreachList } from 'src/app/models/Reports/BreachList';\r\nimport { ISDDateMethods } from 'src/app/models/ISDDateMethods';\r\nimport { ReinstatementList } from 'src/app/models/Reports/ReinstatementList';\r\nimport { UserAPIUsage } from 'src/app/models/Reports/UserAPIUsage';\r\nimport { OrganisationSitesList } from 'src/app/models/Reports/OrganisationSitesList';\r\nimport { GenericTagList } from 'src/app/models/admin/GenericTag';\r\nimport { PostObjects } from 'src/app/models/PostObjects';\r\nimport { ExcluderService } from 'src/app/services/excluder.service';\r\nimport { InteractionService } from 'src/app/services/interaction.service';\r\nimport { InteractionList } from 'src/app/models/Reports/InteractionList';\r\nimport { TagService } from 'src/app/services/tag.service';\r\nimport { ApiService } from 'src/app/services/api.service';\r\nimport { AgeVerificationList } from 'src/app/models/Reports/AgeVerificationList';\r\nimport { CrimeAlertList } from 'src/app/models/Reports/CrimeAlertList';\r\nimport { FireCheckList } from 'src/app/models/Reports/FireCheckList';\r\nimport { ToiletCheckList } from 'src/app/models/Reports/ToiletCheckList';\r\nimport { CleaningCheckList } from 'src/app/models/Reports/CleaningCheckList';\r\nimport { MachinePayoutList } from 'src/app/models/Reports/MachinePayoutList';\r\nimport { MachineServiceVisitList } from 'src/app/models/Reports/MachineServiceVisitList';\r\nimport { StatutoryVisitList } from 'src/app/models/Reports/StatutoryVisitList';\r\nimport { MatDatepickerInputEvent } from '@angular/material/datepicker';\r\n\r\nconst nothing = 0;\r\nconst photoGalleryReport = 1;\r\nconst customerListReport = 2;\r\nconst breachesReport = 3;\r\nconst reinstatementsReport = 4;\r\nconst userListReport = 5;\r\nconst userAPIReport = 6;\r\nconst organisationSiteReport = 7;\r\nconst interactionListReport = 8;\r\nconst ageVerificationListReport = 9;\r\nconst crimeAlertListReport = 10;\r\nconst fireCheckListReport = 11;\r\nconst toiletCheckListReport = 12;\r\nconst cleaningCheckListReport = 13;\r\nconst machinePayoutListReport = 14;\r\nconst machineServiceVisitListReport = 15;\r\nconst statutoryVisitListReport = 16;\r\n@Component({\r\n selector: 'app-main-view',\r\n templateUrl: './main-view.component.html',\r\n styleUrls: ['./main-view.component.scss']\r\n})\r\nexport class MainViewComponent implements OnInit {\r\n\r\n public dateRequired: boolean;\r\n public getDataWithoutFurtherInput: boolean;\r\n public additionalInfoRequired: boolean;\r\n public chartRequired: boolean;\r\n public tableRequired: boolean;\r\n public radioGroupRequired: boolean;\r\n public dataReturned: boolean;\r\n public tagRequired: boolean;\r\n public report: number;\r\n public sites_ActorCollection: number[] = [];\r\n public dateTo: Date;\r\n public dateFrom: Date;\r\n public tagInput: string;\r\n public returnIds: number[] = [];\r\n public data: any[] = [];\r\n public dataModel: any;\r\n public showData: boolean = false;\r\n public dataSpinner: boolean = false;\r\n public dateMethods: ISDDateMethods = new ISDDateMethods();\r\n public reportName: string;\r\n public reinstatementFilter: number = 0;\r\n public organisationIds: number[] = [];\r\n public allowNewTags: boolean = false;\r\n public tagFilters: GenericTagList = new GenericTagList(this.asrv);\r\n\r\n @Input('report') get Report(): number {\r\n return this.report;\r\n };\r\n @Output('report') reportChange: EventEmitter = new EventEmitter();\r\n set Report(val: number) {\r\n this.report = val;\r\n this.FetchReportControlRequirements();\r\n this.reportChange.emit(this.report);\r\n }\r\n\r\n constructor(\r\n public asrv: ActorService,\r\n public isrv: InteractionService,\r\n public esrv: ExcluderService,\r\n public tsrv: TagService,\r\n private _api: ApiService\r\n ) {\r\n }\r\n\r\n events = [];\r\n addEvent(type: string, event: MatDatepickerInputEvent) {\r\n this.events.push(`${type}: ${event.value}`);\r\n }\r\n\r\n ngOnInit() {\r\n this.tsrv.Init(false, []);\r\n this.FetchReportControlRequirements();\r\n }\r\n\r\n FetchData() {\r\n this.dataSpinner = true;\r\n this.showData = false;\r\n let sendObject = new PostObjects();\r\n\r\n if (this.tsrv.Tags.length > 0) {\r\n sendObject.Model.SiteParameters.TagIdLookupOperator = 'Exists';\r\n sendObject.Model.SiteParameters.TagIdCollection = this.tsrv.Tags.map(function (el) { return el.TagId; });\r\n } else {\r\n sendObject.Model.SiteParameters.TagIdLookupOperator = 'NotExists';\r\n }\r\n\r\n if (this.dateRequired) {\r\n sendObject.Model.Start = this.dateFrom;\r\n sendObject.Model.End = this.dateMethods.SetEndOfDayForDate(this.dateTo);\r\n }\r\n\r\n switch (this.report) {\r\n case nothing:\r\n break;\r\n case photoGalleryReport:\r\n this.reportName = 'Excluder Images';\r\n break;\r\n case customerListReport:\r\n this.reportName = 'Excluded Customer List';\r\n this.PrepareCustomerListReport(sendObject.Model);\r\n break;\r\n case breachesReport:\r\n // this.tsrv.SetSearchMode(1);\r\n this.reportName = 'Breach List';\r\n this.PrepareBreachListReport(sendObject.Model);\r\n break;\r\n case reinstatementsReport:\r\n // this.tsrv.SetSearchMode(1);\r\n this.reportName = \"Reinstatement List\";\r\n this.PrepareReinstatementListReport(sendObject.Model);\r\n break;\r\n case userListReport:\r\n // this.tsrv.SetSearchMode(1);\r\n this.reportName = \"User List\";\r\n break;\r\n case userAPIReport:\r\n // this.tsrv.SetSearchMode(1);\r\n this.reportName = \"Usage Summary\";\r\n this.PrepareUserAPIUsageReport(sendObject.Model);\r\n break;\r\n case organisationSiteReport:\r\n // this.tsrv.SetSearchMode(1);\r\n this.reportName = \"Organisation Sites\";\r\n this.PrepareOrganisationSitesReport(sendObject.Model.SiteParameters.TagIdCollection);\r\n break;\r\n case interactionListReport:\r\n this.reportName = \"Customer Interaction List\";\r\n this.PrepareInteractionListReport(sendObject.Model);\r\n break;\r\n case ageVerificationListReport:\r\n this.reportName = \"Age Verification List\";\r\n this.PrepareAgeVerificationListReport(sendObject.Model);\r\n break;\r\n case crimeAlertListReport:\r\n this.reportName = \"Crime Alert List\";\r\n this.PrepareCrimeAlertListReport(sendObject.Model);\r\n break;\r\n case fireCheckListReport:\r\n this.reportName = \"Fire Checks List\";\r\n this.PrepareFireCheckListReport(sendObject.Model);\r\n break;\r\n case toiletCheckListReport:\r\n this.reportName = \"Toilet Checks List\";\r\n this.PrepareToiletCheckListReport(sendObject.Model);\r\n break;\r\n case cleaningCheckListReport:\r\n this.reportName = \"Cleaning Checks List\";\r\n this.PrepareCleaningCheckListReport(sendObject.Model);\r\n break;\r\n case machinePayoutListReport:\r\n this.reportName = \"Machine Payout List\";\r\n this.PrepareMachinePayoutListReport(sendObject.Model);\r\n break;\r\n case machineServiceVisitListReport:\r\n this.reportName = \"Machine Service Visit List\";\r\n this.PrepareMachineServiceVisitListReport(sendObject.Model);\r\n break;\r\n case statutoryVisitListReport:\r\n this.reportName = \"Statutory Visit List\";\r\n this.PrepareStatutoryVisitListReport(sendObject.Model);\r\n break;\r\n }\r\n }\r\n\r\n PrepareCustomerListReport(sendObject: any) {\r\n console.log(sendObject);\r\n this.asrv.GetExclusionIds(sendObject).subscribe(res => {\r\n this.dataModel = new CustomerList(this.asrv, this.esrv, res, this._api);\r\n this.dataModel.SubscriptionsOpened = res.length;\r\n this.dataReturned = true;\r\n this.showData = true;\r\n this.dataSpinner = false;\r\n });\r\n }\r\n\r\n PrepareBreachListReport(sendObject: any) {\r\n sendObject.OrganisationIdCollection = [];\r\n sendObject.SiteIdCollection = [];\r\n this.asrv.GetBreachIds(sendObject).subscribe(res => {\r\n this.dataModel = new BreachList(this.asrv, this.esrv, res, this._api);\r\n this.dataReturned = true;\r\n this.showData = true;\r\n this.dataSpinner = false;\r\n });\r\n }\r\n\r\n PrepareReinstatementListReport(sendObject: any) {\r\n sendObject.OrganisationIdCollection = [];\r\n sendObject.SiteIdCollection = [];\r\n this.asrv.GetReinstatementIds(sendObject).subscribe(res => {\r\n this.dataModel = new ReinstatementList(this.asrv, this.esrv, res, this._api);\r\n this.dataReturned = true;\r\n // this.dataModel.ShowUserAccepted(); Removed due to breaking reinstatement reports\r\n this.showData = true;\r\n this.dataSpinner = false;\r\n });\r\n }\r\n\r\n PrepareUserListReport(sendObject: any) {\r\n // No Endpoint yet\r\n }\r\n\r\n PrepareUserAPIUsageReport(sendObject: any) {\r\n this.dataModel = new UserAPIUsage(this.asrv);\r\n sendObject.OrganisationIdCollection = [];\r\n sendObject.SiteIdCollection = [];\r\n this.asrv.GetUserExclusionSummary(sendObject).subscribe(res => {\r\n this.dataModel.SubscriptionsOpened = res.length;\r\n this.dataReturned = true;\r\n res.forEach(element => {\r\n this.dataModel.AddRow(element)\r\n });\r\n\r\n console.warn(this.dataModel);\r\n\r\n this.dataModel.Rows.sort((a, b) => {\r\n if (a.ActorName === b.ActorName) {\r\n if (a.ActorId < b.ActorId) {\r\n return 1;\r\n } else {\r\n return -1;\r\n }\r\n }\r\n\r\n if (new Date(a.ActorName) < new Date(b.ActorName)) {\r\n return 1;\r\n }\r\n\r\n if (new Date(a.ActorName) > new Date(b.ActorName)) {\r\n return -1;\r\n }\r\n\r\n return 0;\r\n });\r\n\r\n this.showData = true;\r\n this.dataSpinner = false;\r\n })\r\n }\r\n\r\n PrepareOrganisationSitesReport(tagIds: number[]) {\r\n this.asrv.GetSiteIds(0, 0, null, tagIds).then(res => {\r\n this.dataModel = new OrganisationSitesList(this.asrv, res);\r\n this.dataModel.SubscriptionsOpened = 0;\r\n this.dataReturned = true;\r\n this.showData = true;\r\n this.dataSpinner = false;\r\n });\r\n }\r\n\r\n PrepareInteractionListReport(sendObject: any) {\r\n this.asrv.GetInteractionIds(sendObject).subscribe(res => {\r\n this.dataModel = new InteractionList(this.asrv, this.isrv, res, this._api);\r\n this.dataModel.SubscriptionsOpened = res.length;\r\n this.dataReturned = true;\r\n this.showData = true;\r\n this.dataSpinner = false;\r\n });\r\n }\r\n\r\n PrepareAgeVerificationListReport(sendObject: any) {\r\n this.asrv.GetAgeVerificationIds(sendObject).subscribe(res => {\r\n this.dataModel = new AgeVerificationList(this.asrv, this.isrv, res, this._api);\r\n this.dataModel.SubscriptionsOpened = res.length;\r\n this.dataReturned = true;\r\n this.showData = true;\r\n this.dataSpinner = false;\r\n });\r\n }\r\n\r\n PrepareCrimeAlertListReport(sendObject: any) {\r\n this.asrv.GetCrimeAlertIds(sendObject).subscribe(res => {\r\n this.dataModel = new CrimeAlertList(this.asrv, this.isrv, res, this._api);\r\n this.dataModel.SubscriptionsOpened = res.length;\r\n this.dataReturned = true;\r\n this.showData = true;\r\n this.dataSpinner = false;\r\n });\r\n }\r\n\r\n PrepareFireCheckListReport(sendObject: any) {\r\n this.asrv.GetFireCheckIds(sendObject).subscribe(res => {\r\n this.dataModel = new FireCheckList(this.asrv, this.isrv, res, this._api);\r\n this.dataModel.SubscriptionsOpened = res.length;\r\n this.dataReturned = true;\r\n this.showData = true;\r\n this.dataSpinner = false;\r\n });\r\n }\r\n\r\n PrepareToiletCheckListReport(sendObject: any) {\r\n this.asrv.GetToiletCheckIds(sendObject).subscribe(res => {\r\n this.dataModel = new ToiletCheckList(this.asrv, this.isrv, res, this._api);\r\n this.dataModel.SubscriptionsOpened = res.length;\r\n this.dataReturned = true;\r\n this.showData = true;\r\n this.dataSpinner = false;\r\n });\r\n }\r\n\r\n PrepareCleaningCheckListReport(sendObject: any) {\r\n this.asrv.GetCleaningCheckIds(sendObject).subscribe(res => {\r\n this.dataModel = new CleaningCheckList(this.asrv, this.isrv, res, this._api);\r\n this.dataModel.SubscriptionsOpened = res.length;\r\n this.dataReturned = true;\r\n this.showData = true;\r\n this.dataSpinner = false;\r\n });\r\n }\r\n\r\n PrepareMachinePayoutListReport(sendObject: any) {\r\n this.asrv.GetMachinePayoutIds(sendObject).subscribe(res => {\r\n this.dataModel = new MachinePayoutList(this.asrv, this.isrv, res, this._api);\r\n this.dataModel.SubscriptionsOpened = res.length;\r\n this.dataReturned = true;\r\n this.showData = true;\r\n this.dataSpinner = false;\r\n });\r\n }\r\n\r\n PrepareMachineServiceVisitListReport(sendObject: any) {\r\n this.asrv.GetMachineServiceVisitIds(sendObject).subscribe(res => {\r\n this.dataModel = new MachineServiceVisitList(this.asrv, this.isrv, res, this._api);\r\n this.dataModel.SubscriptionsOpened = res.length;\r\n this.dataReturned = true;\r\n this.showData = true;\r\n this.dataSpinner = false;\r\n });\r\n }\r\n\r\n PrepareStatutoryVisitListReport(sendObject: any) {\r\n this.asrv.GetStatutoryVisitIds(sendObject).subscribe(res => {\r\n this.dataModel = new StatutoryVisitList(this.asrv, this.isrv, res, this._api);\r\n this.dataModel.SubscriptionsOpened = res.length;\r\n this.dataReturned = true;\r\n this.showData = true;\r\n this.dataSpinner = false;\r\n });\r\n }\r\n\r\n\r\n\r\n FetchReportControlRequirements() {\r\n this.showData = false;\r\n this.tagFilters.Rows = [];\r\n switch (this.report) {\r\n case nothing:\r\n // Set all parameters to false\r\n this.getDataWithoutFurtherInput = false;\r\n this.dateRequired = false;\r\n this.tagRequired = false;\r\n this.additionalInfoRequired = false;\r\n this.chartRequired = false;\r\n this.tableRequired = false;\r\n break;\r\n case photoGalleryReport:\r\n this.getDataWithoutFurtherInput = true;\r\n this.dateRequired = false;\r\n this.tagRequired = false;\r\n this.additionalInfoRequired = false;\r\n this.chartRequired = false;\r\n this.tableRequired = false;\r\n this.radioGroupRequired = true;\r\n break;\r\n case customerListReport:\r\n this.getDataWithoutFurtherInput = false;\r\n this.dateRequired = true;\r\n this.tagRequired = true;\r\n this.additionalInfoRequired = false;\r\n this.chartRequired = false;\r\n this.tableRequired = true;\r\n this.radioGroupRequired = true;\r\n break;\r\n case breachesReport:\r\n this.getDataWithoutFurtherInput = false;\r\n this.dateRequired = true;\r\n this.tagRequired = true;\r\n this.additionalInfoRequired = false;\r\n this.chartRequired = false;\r\n this.tableRequired = true;\r\n break;\r\n case reinstatementsReport:\r\n this.getDataWithoutFurtherInput = false;\r\n this.dateRequired = true;\r\n this.tagRequired = true;\r\n this.additionalInfoRequired = false;\r\n this.chartRequired = false;\r\n this.tableRequired = true;\r\n break;\r\n case userListReport:\r\n this.getDataWithoutFurtherInput = true;\r\n this.dateRequired = false;\r\n this.tagRequired = true;\r\n this.additionalInfoRequired = false;\r\n this.chartRequired = false;\r\n this.tableRequired = true;\r\n break;\r\n case userAPIReport:\r\n this.getDataWithoutFurtherInput = false;\r\n this.dateRequired = true;\r\n this.tagRequired = true;\r\n this.additionalInfoRequired = false;\r\n this.chartRequired = false;\r\n this.tableRequired = true;\r\n break;\r\n case organisationSiteReport:\r\n this.getDataWithoutFurtherInput = true;\r\n this.dateRequired = false;\r\n this.tagRequired = true;\r\n this.additionalInfoRequired = false;\r\n this.chartRequired = false;\r\n this.tableRequired = true;\r\n break;\r\n case interactionListReport:\r\n this.getDataWithoutFurtherInput = true;\r\n this.dateRequired = true;\r\n this.tagRequired = true;\r\n this.additionalInfoRequired = false;\r\n this.chartRequired = false;\r\n this.tableRequired = true;\r\n break;\r\n case ageVerificationListReport:\r\n this.getDataWithoutFurtherInput = true;\r\n this.dateRequired = true;\r\n this.tagRequired = true;\r\n this.additionalInfoRequired = false;\r\n this.chartRequired = false;\r\n this.tableRequired = true;\r\n break;\r\n case crimeAlertListReport:\r\n this.getDataWithoutFurtherInput = true;\r\n this.dateRequired = true;\r\n this.tagRequired = true;\r\n this.additionalInfoRequired = false;\r\n this.chartRequired = false;\r\n this.tableRequired = true;\r\n break;\r\n case fireCheckListReport:\r\n this.getDataWithoutFurtherInput = true;\r\n this.dateRequired = true;\r\n this.tagRequired = true;\r\n this.additionalInfoRequired = false;\r\n this.chartRequired = false;\r\n this.tableRequired = true;\r\n break;\r\n case toiletCheckListReport:\r\n this.getDataWithoutFurtherInput = true;\r\n this.dateRequired = true;\r\n this.tagRequired = true;\r\n this.additionalInfoRequired = false;\r\n this.chartRequired = false;\r\n this.tableRequired = true;\r\n break;\r\n case cleaningCheckListReport:\r\n this.getDataWithoutFurtherInput = true;\r\n this.dateRequired = true;\r\n this.tagRequired = true;\r\n this.additionalInfoRequired = false;\r\n this.chartRequired = false;\r\n this.tableRequired = true;\r\n break;\r\n case machinePayoutListReport:\r\n this.getDataWithoutFurtherInput = true;\r\n this.dateRequired = true;\r\n this.tagRequired = true;\r\n this.additionalInfoRequired = false;\r\n this.chartRequired = false;\r\n this.tableRequired = true;\r\n break;\r\n case machineServiceVisitListReport:\r\n this.getDataWithoutFurtherInput = true;\r\n this.dateRequired = true;\r\n this.tagRequired = true;\r\n this.additionalInfoRequired = false;\r\n this.chartRequired = false;\r\n this.tableRequired = true;\r\n break;\r\n case statutoryVisitListReport:\r\n this.getDataWithoutFurtherInput = true;\r\n this.dateRequired = true;\r\n this.tagRequired = true;\r\n this.additionalInfoRequired = false;\r\n this.chartRequired = false;\r\n this.tableRequired = true;\r\n break;\r\n }\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n From\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n To\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\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 { Excluder } from 'src/app/models/data/Excluder';\r\nimport { ActorService } from 'src/app/services/actor.service';\r\nimport { ExcluderBrief } from 'src/app/models/ExcluderBrief';\r\nimport { ExclusionBreaches } from 'src/app/models/ExclusionBreaches';\r\nimport { ISDDateMethods } from 'src/app/models/ISDDateMethods';\r\nimport { ExclusionDurationOption } from 'src/app/models/ExclusionDurationOption';\r\nimport { Subscription, ObjectUnsubscribedError } from 'rxjs';\r\nimport { Extension } from 'src/app/models/Extension';\r\nimport { Breach } from 'src/app/models/Breach';\r\nimport { Reinstate } from 'src/app/models/Reinstate';\r\nimport { DataService } from 'src/app/services/data.service';\r\n\r\ndeclare var require: any;\r\nconst jsPDF = require('jspdf');\r\nconst redalert: string = '#d11722';\r\nconst yellowalert: string = '#f8b03d';\r\nconst greenalert: string = '#64b32e';\r\nconst bluealert: string = '#24ace2';\r\n\r\n@Component({\r\n selector: 'app-photo-gallery',\r\n templateUrl: './photo-gallery.component.html',\r\n styleUrls: ['./photo-gallery.component.scss']\r\n})\r\nexport class PhotoGalleryComponent implements OnInit {\r\n\r\n public excluders: Excluder[];\r\n public excluderBriefs: ExcluderBrief[];\r\n public excluderNames: string[] = [];\r\n public showSpinner: boolean;\r\n public exclusionCounter: number = 0;\r\n public imagesLoadedCounter: number = 0;\r\n public limit = 1000;\r\n\r\n private dateMethods: ISDDateMethods = new ISDDateMethods();\r\n\r\n private getExcludersSubsription: Subscription;\r\n private getExcluderIsSubscribed: boolean = false;\r\n private getExclusionDurationOptionsSubscription: Subscription;\r\n private getExclusionDurationOptionsIsSubscribed: boolean = false;\r\n public exclusionImageCounter: number = 0;\r\n public exclusions: exclusionImageReport[] = []\r\n public durationOptions: ExclusionDurationOption[] = [];\r\n\r\n public get redalert(): string {\r\n return redalert;\r\n }\r\n\r\n public get yellowalert(): string {\r\n return yellowalert;\r\n }\r\n\r\n public get greenalert(): string {\r\n return greenalert;\r\n }\r\n\r\n public get bluealert(): string {\r\n return bluealert;\r\n }\r\n\r\n constructor(public asrv: ActorService, public dsrv: DataService) { }\r\n\r\n ngOnInit() {\r\n this.showSpinner = false;\r\n\r\n /*\r\n this.getExcludersSubsription = this.asrv.GetExcluders().subscribe(res => { \r\n this.getExcluderIsSubscribed = true;\r\n let now = this.dateMethods.ConvertDateToInteger(new Date());\r\n let start = 0;\r\n this.exclusionCounter = res.length - 1; \r\n res.forEach(exclusion => {\r\n this.getExclusionDurationOptionsIsSubscribed = true;\r\n start = this.dateMethods.ConvertDateToInteger(exclusion.Start);\r\n if (start < now) {\r\n let showExclusion = true;\r\n if (exclusion.Extensions && !(this.dateMethods.ConvertDateToInteger(this.dateMethods.GetEndDate(exclusion.Start, exclusion.PeriodMonths)) > now)) {\r\n showExclusion = false;\r\n }\r\n if (showExclusion) { \r\n let exclusionImageReportBrief = new exclusionImageReport()\r\n exclusionImageReportBrief.exclusionId = exclusion.ExclusionId; \r\n exclusionImageReportBrief.name = exclusion.Forename + ' ' + exclusion.Surname;\r\n exclusionImageReportBrief.extensions = exclusion.Extensions;\r\n exclusionImageReportBrief.reinstatements = exclusion.Reinstatements;\r\n exclusionImageReportBrief.reference = exclusion.Reference;\r\n\r\n let startDate: Date = new Date(exclusion.Start);\r\n let endDate = new Date(startDate.setMonth(startDate.getMonth() + exclusion.PeriodMonths));\r\n exclusionImageReportBrief.endDate = endDate.toLocaleDateString().slice(0,10);\r\n\r\n this.asrv.GetBreaches(exclusion.ExclusionId).subscribe(breaches => {\r\n if (breaches.length > 0) {\r\n exclusionImageReportBrief.breaches = breaches;\r\n }\r\n exclusionImageReportBrief.breachesLoaded = true;\r\n this.CheckAllExclusionsLoaded(exclusionImageReportBrief);\r\n }, err => {\r\n exclusionImageReportBrief.breachesLoaded = true;\r\n this.CheckAllExclusionsLoaded(exclusionImageReportBrief);\r\n });\r\n\r\n this.asrv.GetExclusionImage(exclusion.ExclusionId).subscribe(image => {\r\n if (res) {\r\n exclusionImageReportBrief.image = image;\r\n }\r\n exclusionImageReportBrief.imageLoaded = true;\r\n this.CheckAllExclusionsLoaded(exclusionImageReportBrief);\r\n }, err => {\r\n exclusionImageReportBrief.imageLoaded = true;\r\n this.CheckAllExclusionsLoaded(exclusionImageReportBrief);\r\n });\r\n }\r\n } else {\r\n this.exclusionCounter = this.exclusionCounter-1;\r\n }\r\n });\r\n });\r\n */\r\n this.getExclusionDurationOptionsSubscription = this.asrv.ExclusionDurationOptions().subscribe(res =>{\r\n this.durationOptions = res;\r\n // this.exclusion.ExclusionDurationOptionId = this.durationOptions[this.selectedDurationIndex].ExclusionDurationOptionId;\r\n }, err => {\r\n alert('error');\r\n });\r\n }\r\n\r\n CheckAllExclusionsLoaded(exclusionImageReportBrief: exclusionImageReport) {\r\n if (exclusionImageReportBrief.imageLoaded && exclusionImageReportBrief.breachesLoaded) {\r\n this.exclusionImageCounter+=1;\r\n this.exclusions.push(exclusionImageReportBrief);\r\n this.imagesLoadedCounter+=1;\r\n }\r\n if (this.imagesLoadedCounter === this.exclusionCounter) {\r\n this.showSpinner = false;\r\n }\r\n }\r\n\r\n GetExcluderExtension(extension: Extension) {\r\n return this.dateMethods.GetMonthDifference(extension.Start, extension.Duration);\r\n }\r\n\r\n ExcluderIsCoolingOff(excluder: exclusionImageReport) {\r\n if (excluder.reinstatements) {\r\n return true;\r\n }\r\n return false;\r\n } \r\n\r\n ExcluderRecentlyBreached(excluder: exclusionImageReport): Boolean {\r\n if (excluder.breaches) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n private getAdvancedFilter(offset): AdvancedFilter {\r\n var advancedFilter: AdvancedFilter = new AdvancedFilter(new Date('2019-01-01'), new Date(), 0, 0, [], [], [], 0);\r\n return advancedFilter;\r\n }\r\n\r\n PrintPDF() {\r\n this.showSpinner = true;\r\n let doc = new jsPDF('p', 'pt', 'a4');\r\n let imagecounter = 0\r\n let imageStart = 15;\r\n let imagex = 15;\r\n let imagey = 15;\r\n let nameStep = 225;\r\n let refStep = 240;\r\n let dateStep = 255;\r\n let iconYStep = 270;\r\n let iconXStep = 65;\r\n let imagexStep = 200;\r\n let imageyStep = 270;\r\n let page = 1;\r\n\r\n let advancedFilter: AdvancedFilterInterface = this.getAdvancedFilter(0).GetInterface();\r\n advancedFilter.Limit = 100; //1000\r\n\r\n let data: ExcluderGalleryReport = new ExcluderGalleryReport(this.dsrv);\r\n data.GetData(advancedFilter).then(value => {\r\n if (value) {\r\n let numberOfPages = data.Items.length/9;\r\n\r\n for (let i = 1; i < numberOfPages; i++) {\r\n // Required to get the appropriate pages on the PDF.\r\n }\r\n \r\n doc.setPage(page);\r\n data.Items.forEach(excluder => {\r\n if (excluder.CustomerImage) {\r\n var width: number = 160;\r\n var height: number = 0;\r\n if (excluder.Image.width >= 160 || excluder.Image.height >= 160) {\r\n if (excluder.Image.width > excluder.Image.height) {\r\n height = 90;\r\n } else if (excluder.Image.width < excluder.Image.height) {\r\n height = 210;\r\n } else {\r\n height = 160;\r\n }\r\n } else {\r\n height = 160\r\n }\r\n doc.addImage(excluder.CustomerImage, 'PNG', imagex, imagey, width, height);\r\n doc.text(imagex, imagey+nameStep, excluder.InteractionName);\r\n doc.text(imagex, imagey+refStep, excluder.Reference);\r\n doc.text(imagex, imagey+dateStep, this.dateMethods.FormatDateForReport(excluder.EndDate));\r\n if (excluder.HasBreached) {\r\n doc.text(imagex, imagey+iconYStep, '/!\\\\')\r\n } \r\n if (excluder.HasReinstated) {\r\n doc.text(imagex+iconXStep, imagey+iconYStep, '|24|')\r\n }\r\n if (excluder.HasExtended) {\r\n doc.text(imagex+iconXStep+iconXStep, imagey+iconYStep, '+' + excluder.ExtendedMonths)\r\n }\r\n if ((imagecounter+1) % 9 === 0) {\r\n doc.addPage();\r\n imagex = imageStart;\r\n imagey = imageStart;\r\n } else if ((imagecounter+1) % 3 === 0) {\r\n imagex = 15;\r\n imagey += imageyStep;\r\n } else {\r\n imagex += imagexStep;\r\n }\r\n }\r\n imagecounter+=1\r\n })\r\n if (/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)) {\r\n var pdf = doc.output('datauristring');\r\n var pdfWindow = window.open();\r\n pdfWindow.document.open();\r\n pdfWindow.document.location=pdf; \r\n } else {\r\n doc.save(new Date().toISOString() +'_' + 'test' + '.pdf');\r\n }\r\n this.showSpinner = false;\r\n }\r\n });\r\n /*\r\n let doc = new jsPDF('p', 'pt', 'a4');\r\n let imagecounter = 0\r\n let imageStart = 15;\r\n let imagex = 15;\r\n let imagey = 15;\r\n let nameStep = 225;\r\n let refStep = 240;\r\n let dateStep = 255;\r\n let iconYStep = 270;\r\n let iconXStep = 65;\r\n let imagexStep = 200;\r\n let imageyStep = 270;\r\n // let breachIcon = 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMy43NSAyMy43NSI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOiNmZmY7c3Ryb2tlOiNkMTEyMjI7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS13aWR0aDoxLjcycHg7fS5jbHMtMntmaWxsOiNkMTEyMjI7fTwvc3R5bGU+PC9kZWZzPjx0aXRsZT5CcmVhY2ggaWNvbjwvdGl0bGU+PGcgaWQ9IkxheWVyXzIiIGRhdGEtbmFtZT0iTGF5ZXIgMiI+PGcgaWQ9IkxheWVyXzEtMiIgZGF0YS1uYW1lPSJMYXllciAxIj48cG9seWdvbiBjbGFzcz0iY2xzLTEiIHBvaW50cz0iMjIuODkgMjIuODkgMC44NiAyMi44OSAxMS4yNyAwLjg2IDIyLjg5IDIyLjg5Ii8+PHBhdGggY2xhc3M9ImNscy0yIiBkPSJNMTAuODUsMTQuN2wtLjI2LTMuODZjMC0uNzYtLjA3LTEuMy0uMDctMS42M2ExLjQ5LDEuNDksMCwwLDEsLjM1LTEsMS4yNCwxLjI0LDAsMCwxLC45My0uMzguOTQuOTQsMCwwLDEsLjkzLjQ4QTMuMzYsMy4zNiwwLDAsMSwxMyw5LjY2YTEwLDEwLDAsMCwxLS4wNiwxLjA4bC0uMzQsNGEzLDMsMCwwLDEtLjI1LDEuMDkuNjMuNjMsMCwwLDEtLjYxLjM4LjYuNiwwLDAsMS0uNi0uMzdBMy4zOSwzLjM5LDAsMCwxLDEwLjg1LDE0LjdabS45LDUuMzJhMS4yNywxLjI3LDAsMCwxLS44Ni0uMzIsMS4xLDEuMSwwLDAsMS0uMzctLjg5LDEuMjEsMS4yMSwwLDAsMSwxLjIxLTEuMjEsMS4xOSwxLjE5LDAsMCwxLC44Ny4zNiwxLjEzLDEuMTMsMCwwLDEsLjM2Ljg1LDEuMTUsMS4xNSwwLDAsMS0uMzYuODlBMS4yNywxLjI3LDAsMCwxLDExLjc1LDIwWiIvPjwvZz48L2c+PC9zdmc+'\r\n\r\n // let pageHeight = 980;\r\n let page = 1;\r\n\r\n let numberOfPages = this.exclusionImageCounter/9;\r\n\r\n for (let i = 1; i < numberOfPages; i++) {\r\n // Required to get the appropriate pages on the PDF.\r\n }\r\n\r\n doc.setPage(page);\r\n this.exclusions.forEach(exclusion => {\r\n if (exclusion.image) {\r\n doc.addImage(exclusion.image, 'PNG', imagex, imagey, 160, 210);\r\n doc.text(imagex, imagey+nameStep, exclusion.name);\r\n doc.text(imagex, imagey+refStep, exclusion.reference);\r\n doc.text(imagex, imagey+dateStep, exclusion.endDate);\r\n if (exclusion.breaches) {\r\n doc.text(imagex, imagey+iconYStep, '/!\\\\')\r\n } \r\n if (exclusion.reinstatements) {\r\n doc.text(imagex+iconXStep, imagey+iconYStep, '|24|')\r\n }\r\n if (exclusion.extensions) {\r\n doc.text(imagex+iconXStep+iconXStep, imagey+iconYStep, '+' + this.GetExcluderExtension(exclusion.extensions).toString())\r\n }\r\n if ((imagecounter+1) % 9 === 0) {\r\n doc.addPage();\r\n imagex = imageStart;\r\n imagey = imageStart;\r\n } else if ((imagecounter+1) % 3 === 0) {\r\n imagex = 15;\r\n imagey += imageyStep;\r\n } else {\r\n imagex += imagexStep;\r\n }\r\n }\r\n imagecounter+=1\r\n })\r\n \r\n if (/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)) {\r\n var pdf = doc.output('datauristring');\r\n var pdfWindow = window.open();\r\n pdfWindow.document.open();\r\n pdfWindow.document.location=pdf; \r\n } else {\r\n doc.save('Excluder' + '.pdf');\r\n }\r\n */\r\n }\r\n}\r\n\r\nclass exclusionImageReport {\r\n exclusionId: number;\r\n image: any;\r\n imageLoaded: boolean;\r\n name: string;\r\n breachesLoaded: boolean;\r\n breaches: Breach[];\r\n extensions: Extension;\r\n reinstatements: Reinstate;\r\n reference: string;\r\n endDate: string;\r\n}\r\n\r\nexport class AdvancedFilter {\r\n public OrganisationParameters: OrganisationParameters;\r\n public SiteParameters: SiteParameters;\r\n public TagIdLookupOperator: string;\r\n\r\n private readonly searchAll: number = 1;\r\n private readonly searchOrganisation: number = 2;\r\n private readonly searchSite: number = 3;\r\n\r\n constructor(public Start: Date, public End: Date, public Limit: number, public Offset: number, private OrganisationIdCollection: number[], private SiteIdCollection: number[], public TagIdCollection: number[], public TagSearchType: number) {\r\n End.setDate(End.getDate() + 1);\r\n switch (this.TagSearchType) {\r\n case this.searchAll:\r\n this.OrganisationParameters = new OrganisationParameters(this.OrganisationIdCollection, [1]);\r\n this.SiteParameters = new SiteParameters(this.SiteIdCollection, [1]);\r\n break;\r\n case this.searchOrganisation:\r\n this.OrganisationParameters = new OrganisationParameters(this.OrganisationIdCollection, this.TagIdCollection);\r\n this.SiteParameters = new SiteParameters(this.SiteIdCollection, [1]);\r\n break;\r\n case this.searchSite:\r\n this.OrganisationParameters = new OrganisationParameters(this.OrganisationIdCollection, [1]);\r\n this.SiteParameters = new SiteParameters(this.SiteIdCollection, this.TagIdCollection);\r\n break;\r\n default:\r\n this.OrganisationParameters = new OrganisationParameters(this.OrganisationIdCollection, [1]);\r\n this.SiteParameters = new SiteParameters(this.SiteIdCollection, []);\r\n this.TagIdLookupOperator = 'NotExists';\r\n } \r\n }\r\n\r\n public GetInterface() {\r\n return {\r\n TagIdLookupOperator: this.TagIdLookupOperator,\r\n TagIdCollection: this.TagIdCollection,\r\n OrganisationParameters: {\r\n OrganisationIdCollection: this.OrganisationParameters.OrganisationIdCollection,\r\n TagIdLookupOperator: this.OrganisationParameters.TagIdLookupOperator? this.OrganisationParameters.TagIdLookupOperator: 'NotExists',\r\n TagIdCollection: this.OrganisationParameters.TagIdCollection\r\n },\r\n SiteParameters: {\r\n SiteIdCollection: this.SiteParameters.SiteIdCollection,\r\n TagIdLookupOperator: this.SiteParameters.TagIdLookupOperator? this.SiteParameters.TagIdLookupOperator: 'NotExists',\r\n TagIdCollection: this.SiteParameters.TagIdCollection\r\n },\r\n Start: this.Start,\r\n End: this.End,\r\n Limit: this.Limit,\r\n Offset: this.Offset\r\n }\r\n }\r\n\r\n}\r\n\r\nexport interface AdvancedFilterInterface {\r\n TagIdLookupOperator: string;\r\n TagIdCollection: number[];\r\n OrganisationParameters: {\r\n OrganisationIdCollection: number[];\r\n TagIdLookupOperator: string;\r\n TagIdCollection: number[];\r\n };\r\n SiteParameters: {\r\n SiteIdCollection: number[];\r\n TagIdLookupOperator: string;\r\n TagIdCollection: number[];\r\n };\r\n Start: Date;\r\n End: Date;\r\n Limit: number;\r\n Offset: number;\r\n}\r\n\r\nclass PostObjects {\r\n AssociatedActorNameCompositeModel: AssociatedActorNameCompositeModel = new AssociatedActorNameCompositeModel();\r\n CommunicationAccountMessageCompositeModelController: CommunicationAccountMessageCompositeModelController = new CommunicationAccountMessageCompositeModelController();\r\n CommunicationAccountMessagesCompositeModel: CommunicationAccountMessagesCompositeModel = new CommunicationAccountMessagesCompositeModel();\r\n CommunicationContacts_CommunicationContactTags: CommunicationContacts_CommunicationContactTags = new CommunicationContacts_CommunicationContactTags();\r\n}\r\n\r\nclass AssociatedActorNameCompositeModel {\r\n AssociatedActorIdCollection: number[] = [];\r\n}\r\n\r\nclass CommunicationAccountMessageCompositeModelController {\r\n CommunicationId: number;\r\n TagIdLookupOperator: string = \"Exists\";\r\n TagIdCollection: number[] = [];\r\n Processed: Date;\r\n Start: Date;\r\n End: Date;\r\n Limit: number;\r\n Offset: number;\r\n}\r\n\r\nclass CommunicationAccountMessagesCompositeModel {\r\n ActorIdCollection: number[] = [];\r\n Body: string;\r\n Subject: string;\r\n TagIdCollection: number[] = [];\r\n Edited_ActorId: number;\r\n}\r\n\r\nclass CommunicationContacts_CommunicationContactTags {\r\n ActorId: number;\r\n CommunicationId: number;\r\n CommunicationMethodKeyId: number;\r\n TagId: number;\r\n Edited: Date;\r\n Edited_ActorId: number;\r\n}\r\n\r\nclass BasicPostParameters {\r\n Start: Date = new Date('2019-01-01');\r\n End: Date = new Date();\r\n Limit: number;\r\n Offset: number = 0;\r\n}\r\n\r\nclass OrganisationParameters {\r\n public TagIdLookupOperator: string;\r\n constructor(public OrganisationIdCollection: number[], public TagIdCollection: number[]) {\r\n }\r\n}\r\n\r\nclass SiteParameters {\r\n public TagIdLookupOperator: string;\r\n constructor(public SiteIdCollection: number[], public TagIdCollection: number[]) {\r\n }\r\n}\r\n\r\nexport class ExcluderGalleryReport {\r\n public Items: ExcluderGalleryReportItem[];\r\n public ProfilesLoaded: number;\r\n public ProfilesToLoad: number;\r\n public DateMethods = new ISDDateMethods();\r\n private readonly whiteSpaceImage = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADkAAAA9CAIAAACY61bEAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAABUSURBVGhD7c5BDQAwEASh+je9VcHjkkEBb3d0NboaXY2uRlejq9HV6Gp0NboaXY2uRlejq9HV6Gp0NboaXY2uRlejq9HV6Gp0NboaXY2uRlejq7B974OYmhOKU9kAAAAASUVORK5CYII=';\r\n\r\n constructor(public dsrv: DataService) {}\r\n\r\n public GetData(advancedFilter: AdvancedFilterInterface): Promise { \r\n // console.log('getting data');\r\n this.Items = [];\r\n return new Promise(resolve => {\r\n this.dsrv.Post('api/View_ExclusionInteractionGalleryCompositeModel', advancedFilter).subscribe(res => {\r\n this.ProfilesToLoad = res.length;\r\n this.ProfilesLoaded = 0;\r\n res.sort((a, b) => {\r\n var aEnd = this.DateMethods.AddDays(a.Start, a.PeriodDays);\r\n var bEnd = this.DateMethods.AddDays(b.Start, b.PeriodDays);\r\n \r\n if (aEnd === bEnd) {\r\n if (a.InteractionId < b.InteractionId) {\r\n return 1;\r\n } else {\r\n return -1;\r\n }\r\n }\r\n \r\n if (aEnd < bEnd) {\r\n return 1;\r\n } else if (aEnd > bEnd) {\r\n return -1;\r\n } else {\r\n return 0;\r\n }\r\n });\r\n res.forEach(exclusionBrief => {\r\n this.Items.push({\r\n InteractionId: exclusionBrief.InteractionId,\r\n CustomerImage: null,\r\n Image: null,\r\n InteractionName: `${exclusionBrief.Forename} ${exclusionBrief.Surname}`,\r\n Reference: exclusionBrief.Reference,\r\n EndDate: this.DateMethods.GetEndDate(exclusionBrief.Start, this.DateMethods.GetMonthDifference(exclusionBrief.Start, exclusionBrief.PeriodDays)),\r\n HasBreached: exclusionBrief.ExclusionBreachesCollection.length > 0,\r\n HasReinstated: exclusionBrief.Reinstatement.InteractionId > 0? true: false,\r\n HasExtended: exclusionBrief.Extensions? true: false,\r\n ExtendedMonths: exclusionBrief.Extensions? (this.DateMethods.GetMonthDifference(exclusionBrief.Extensions.Start, exclusionBrief.Extensions.Duration)): null\r\n })\r\n this.dsrv.Get(`api/view_interactionimages/${exclusionBrief.InteractionId}`).subscribe(res => {\r\n var excluder = this.Items.find(i => i.InteractionId === exclusionBrief.InteractionId);\r\n excluder.Image = new Image()\r\n excluder.Image.onload = function() {\r\n // console.log(`Width: ${this.width}, Height: ${this.height}`)\r\n }\r\n excluder.Image.src = res.Data;\r\n excluder.CustomerImage = res.Data;\r\n this.ProfilesLoaded = this.ProfilesLoaded+1;\r\n if (this.ProfilesLoaded === this.ProfilesToLoad) {\r\n resolve(true);\r\n }\r\n }, err => {\r\n this.Items.find(i => i.InteractionId === exclusionBrief.InteractionId).CustomerImage = this.whiteSpaceImage;\r\n this.ProfilesLoaded = this.ProfilesLoaded+1;\r\n if (this.ProfilesLoaded === this.ProfilesToLoad) {\r\n resolve(true);\r\n }\r\n })\r\n })\r\n }, err => {\r\n resolve(false);\r\n })\r\n })\r\n }\r\n}\r\n\r\ninterface ExcluderGalleryReportItem {\r\n InteractionId: number;\r\n CustomerImage: string;\r\n Image: any;\r\n InteractionName: string;\r\n Reference: string;\r\n EndDate: Date;\r\n HasBreached: boolean;\r\n HasReinstated: boolean;\r\n HasExtended: boolean;\r\n ExtendedMonths: number;\r\n}\r\n\r\nexport interface MediaModel {\r\n MediaId: number;\r\n MediaClassKeyId: number;\r\n Data: 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 {{exclusion.name}}\r\n
\r\n
\r\n {{exclusion.reference}}\r\n
\r\n
\r\n {{exclusion.endDate}}\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n +{{GetExcluderExtension(exclusion.extensions)}}\r\n
\r\n
\r\n
\r\n
","import { Component, OnInit, Input, Output, EventEmitter, ElementRef, ViewChild, AfterViewInit } from '@angular/core';\r\nimport { ActorService } from 'src/app/services/actor.service';\r\n\r\ndeclare var require: any;\r\nconst jsPDF = require('jspdf');\r\nrequire('jspdf-autotable');\r\n\r\n@Component({\r\n selector: 'app-table',\r\n templateUrl: './table.component.html',\r\n styleUrls: ['./table.component.scss', '../main-view.component.scss']\r\n})\r\nexport class TableComponent implements OnInit, AfterViewInit {\r\n\r\n @ViewChild('table') table: ElementRef;\r\n\r\n maxWindowWidth = 1140;\r\n showLeftIndicator: boolean;\r\n showRightIndicator: boolean;\r\n csvObject = [];\r\n csvObjectKeys = [];\r\n tableKeys = [];\r\n\r\n public dataModel: any;\r\n @Input('dataModel') get DataModel(): any {\r\n return this.dataModel;\r\n };\r\n @Output('dataModel') dataModelChange: EventEmitter = new EventEmitter();\r\n set DataModel(val: any) {\r\n this.dataModel = val;\r\n this.dataModelChange.emit(this.dataModel);\r\n } \r\n\r\n public reportName: string;\r\n @Input('reportName') get ReportName(): string {\r\n return this.reportName;\r\n };\r\n @Output('reportName') reportNameChange: EventEmitter = new EventEmitter();\r\n set ReportName(val: string) {\r\n this.reportName = val;\r\n this.reportNameChange.emit(this.reportName);\r\n }\r\n\r\n constructor(public asrv: ActorService) { }\r\n\r\n ngOnInit() {\r\n this.dataModel.Rows.forEach(row => {\r\n this.csvObject.push(row);\r\n });\r\n this.csvObjectKeys = Object.values(this.dataModel.HeaderTranslation[0]);\r\n this.tableKeys = Object.keys(this.dataModel.HeaderTranslation[0])\r\n }\r\n\r\n ngAfterViewInit() {\r\n if ((window.innerWidth*0.90) < this.maxWindowWidth) {\r\n this.maxWindowWidth = (window.innerWidth*0.90);\r\n }\r\n if (this.maxWindowWidth < this.table.nativeElement.scrollWidth) {\r\n this.showRightIndicator = true;\r\n }\r\n }\r\n\r\n ConvertToCSV() {\r\n var str = \"\";\r\n var row = \"\";\r\n for (let key of this.csvObjectKeys) {\r\n row += key + ',';\r\n }\r\n str += row + '\\r\\n';\r\n row = '';\r\n for (let object of this.csvObject) {\r\n for (let key of this.tableKeys) {\r\n row += object[key + ''] + ',';\r\n }\r\n str += row + '\\r\\n';\r\n row = '';\r\n }\r\n return str;\r\n }\r\n\r\n ConvertToPDF() {\r\n let orientation = '';\r\n let x = 0;\r\n if (this.reportName !== 'Excluded Customer List') {\r\n orientation = 'p';\r\n x = 250;\r\n } else {\r\n orientation = 'l';\r\n x = 380;\r\n }\r\n let doc = new jsPDF(orientation, 'pt');\r\n let rowsObject = [];\r\n for (let object of this.csvObject) {\r\n let rowObject = [];\r\n for (let key of this.tableKeys) {\r\n rowObject.push(object[key + '']);\r\n }\r\n rowsObject.push(rowObject)\r\n }\r\n\r\n doc.text(x, 20, this.reportName);\r\n doc.autoTable(this.csvObjectKeys, rowsObject);\r\n\r\n if (/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)) {\r\n var pdf = doc.output('datauristring');\r\n var pdfWindow = window.open();\r\n pdfWindow.document.open();\r\n pdfWindow.document.location=pdf; \r\n } else {\r\n doc.save(new Date().toISOString() +'_' + this.reportName + '.pdf');\r\n }\r\n }\r\n\r\n ExportToExcel(){ \r\n var csvData = this.ConvertToCSV();\r\n var a = document.createElement(\"a\");\r\n a.setAttribute('style', 'display:none;');\r\n document.body.appendChild(a);\r\n var blob = new Blob([csvData], { type: 'text/csv' });\r\n var url= window.URL.createObjectURL(blob);\r\n a.href = url;\r\n a.download = new Date().toISOString() + '_' + this.reportName + '.csv';\r\n a.click();\r\n return 'success';\r\n }\r\n\r\n TableScrollEvent() {\r\n if (this.table.nativeElement.scrollLeft > 0) {\r\n this.showLeftIndicator = true;\r\n } else {\r\n this.showLeftIndicator = false;\r\n }\r\n\r\n let scrollWidthMax: number = this.table.nativeElement.scrollWidth - this.table.nativeElement.clientWidth;;\r\n if (this.table.nativeElement.scrollLeft < scrollWidthMax && this.maxWindowWidth < this.table.nativeElement.scrollWidth) {\r\n this.showRightIndicator = true;\r\n } else {\r\n this.showRightIndicator = false;\r\n }\r\n }\r\n\r\n}\r\n","
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n <<\r\n
\r\n
\r\n >>\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
{{key}}
\r\n {{test[x]}}\r\n
\r\n \r\n
\r\n
\r\n
\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n Report\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n 1\" [(report)]=\"report\">\r\n \r\n
\r\n","import { Component, OnInit, ElementRef, ViewChild } from '@angular/core';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { ActorService } from 'src/app/services/actor.service';\r\n\r\n@Component({\r\n selector: 'app-reporting-main',\r\n templateUrl: './reporting-main.component.html',\r\n styleUrls: ['./reporting-main.component.scss']\r\n})\r\nexport class ReportingMainComponent implements OnInit {\r\n\r\n @ViewChild('reportdropdown') reportdropdown: ElementRef;\r\n\r\n public dateRequired: boolean;\r\n public showSpinner: boolean = true;\r\n public report: number;\r\n public isAdmin: boolean = false;\r\n\r\n // Create Main Calls here and then allow the Main-View to Load\r\n // The purpose of this component is to check the users access level and give them permissions \r\n \r\n constructor(private titleService: Title, public asrv: ActorService) { }\r\n\r\n ngOnInit() {\r\n this.asrv.IsLoggedUserOrganisationAdmin().then(value => {\r\n this.isAdmin = value;\r\n })\r\n this.titleService.setTitle('Reporting');\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n \"Bacta\"\r\n
\r\n
\r\n New Password\r\n
\r\n \r\n
\r\n
\r\n
\r\n Confirm Password\r\n
\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 { DataService } from 'src/app/services/data.service';\r\n\r\n@Component({\r\n selector: 'app-reset-password',\r\n templateUrl: './reset-password.component.html',\r\n styleUrls: ['./reset-password.component.scss']\r\n})\r\nexport class ResetPasswordComponent implements OnInit {\r\n public passwordResetToken: string;\r\n public Password: string;\r\n public Confirm: string;\r\n showSpinner = false;\r\n constructor(\r\n public dsrv: DataService,\r\n public router: Router,\r\n public route: ActivatedRoute\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.passwordResetToken = this.route.snapshot.params['id'];\r\n }\r\n\r\n SetPassword() {\r\n this.showSpinner = true;\r\n if (this.Password === this.Confirm) {\r\n const token: Token = {\r\n Token: this.passwordResetToken,\r\n Password: this.Password\r\n }\r\n this.dsrv.Post('api/View_CredentialResetTokens', token).subscribe(res => {\r\n alert('Password updated, please login with your new credentials.');\r\n this.showSpinner = false;\r\n this.router.navigate(['*']);\r\n })\r\n } else {\r\n alert('Password fields do not match.');\r\n this.showSpinner = false;\r\n }\r\n }\r\n}\r\n\r\ninterface Token {\r\n Token: string;\r\n Password: string;\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { MatDatepickerInputEvent } from '@angular/material/datepicker';\r\nimport { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack-bar';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { Router } from '@angular/router';\r\nimport { ActorService } from 'src/app/services/actor.service';\r\nimport { AdvancedSearchService } from 'src/app/services/advanced-search.service';\r\nimport { ApiService } from 'src/app/services/api.service';\r\nimport { DataService } from 'src/app/services/data.service';\r\nimport { ErrorhanderService } from 'src/app/services/errorhander.service';\r\nimport * as moment from 'moment';\r\n\r\n@Component({\r\n selector: 'app-statutory-visit',\r\n templateUrl: './statutory-visit.component.html',\r\n styleUrls: ['./statutory-visit.component.scss']\r\n})\r\nexport class StatutoryVisitComponent implements OnInit {\r\n checkDate;\r\n checkDateModel;\r\n checkTime;\r\n siteID;\r\n officerFirstname;\r\n officerSurname;\r\n events: string[] = [];\r\n usingLoggedInName = false;\r\n employeeListLoading = false;\r\n loggedInUserID;\r\n employeeList = [];\r\n loggedInName;\r\n checkOKTrue;\r\n checkOKFalse;\r\n isSaving = false;\r\n employeeId;\r\n notes;\r\n errorMsg;\r\n isSavedSuccess;\r\n isError;\r\n statutoryListLoading = true;\r\n orgID;\r\n orgList = [];\r\n\r\n constructor(\r\n public dsrv: DataService,\r\n public asrv: ActorService,\r\n private router: Router,\r\n public errsrv: ErrorhanderService,\r\n public assrv: AdvancedSearchService,\r\n private titleService: Title,\r\n private _api: ApiService,\r\n private _snackBar: MatSnackBar\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.getEmployeeList();\r\n this.getStatutoryList();\r\n document.body.style.backgroundColor = '#c3cddd';\r\n }\r\n\r\n addEvent(type: string, event: MatDatepickerInputEvent) {\r\n this.events.push(`${type}: ${event.value}`);\r\n this.checkDate = moment(this.checkDateModel).format('YYYY-MM-DD');\r\n }\r\n\r\n getStatutoryList() {\r\n this.statutoryListLoading = false;\r\n const _searchModel = {\r\n OrganisationIdSearchCollection: [],\r\n OrganisationTagIdLookupOperatorSearchCollection: [],\r\n OrganisationTagIdCollection: [],\r\n SiteIdSearchCollection: [],\r\n SiteTagIdLookupOperatorSearchCollection: [],\r\n SiteTagIdCollection: [],\r\n TagIdLookupOperatorSearchCollection: [],\r\n TagIdSearchCollection: [],\r\n SearchSetChainCollection: [\r\n {\r\n SearchSetChainId: 1,\r\n Feature: \"Organisations\"\r\n }\r\n ],\r\n SearchSetChainLinkCollection: [\r\n {\r\n SetId: 1,\r\n SetId_Seed: 0,\r\n SearchSetChainId: 1\r\n }\r\n ],\r\n SearchTermCollection: [\r\n {\r\n Id: 1,\r\n Order: 1,\r\n Domain: \"Tag\",\r\n Property: \"Name\",\r\n SearchTerm: \"Statutory Body\",\r\n SetId: 1\r\n }\r\n ],\r\n Limit: 0,\r\n Offset: 0\r\n };\r\n this._api.getStatutoryBodyList(_searchModel).subscribe(collection => {\r\n const _actors = [];\r\n collection.forEach(actor => {\r\n _actors.push(actor.KeyId);\r\n });\r\n\r\n this._api.getActorNames(_actors).subscribe(result => {\r\n result.forEach(item => {\r\n this.orgList.push(\r\n {\r\n ActorId: item.ActorId,\r\n Name: item.NameCollection[0].Name\r\n }\r\n )\r\n });\r\n this.orgList.sort((a, b) => a.Name.toLowerCase().localeCompare(b.Name.toLowerCase()));\r\n });\r\n this.statutoryListLoading = false;\r\n });\r\n }\r\n\r\n getEmployeeList() {\r\n this.usingLoggedInName = false;\r\n this.employeeListLoading = true;\r\n const _userID = this.dsrv.GetMyUserID();\r\n this.loggedInUserID = _userID;\r\n // console.log(this.loggedInUserID);\r\n this._api.getUserOrgID(_userID).subscribe(results => {\r\n\r\n const _orgID = results[0].Organisations_ActorId;\r\n const _employeeIDs = [];\r\n this._api.getUserEmployeesList(_orgID).subscribe(employeeResults => {\r\n employeeResults.forEach(element => {\r\n _employeeIDs.push(element.Employees_ActorId);\r\n });\r\n\r\n this.asrv.GetBiologicalName(_employeeIDs).then(value => {\r\n this.employeeList = value;\r\n this.employeeListLoading = false;\r\n });\r\n },\r\n error => {\r\n this.usingLoggedInName = true;\r\n this.loggedInName = this.asrv.GetUsersFullName();\r\n this.employeeListLoading = false;\r\n });\r\n });\r\n }\r\n\r\n checkItem(wasChecked) {\r\n if (wasChecked) {\r\n this.checkOKTrue = true;\r\n this.checkOKFalse = false;\r\n } else {\r\n this.checkOKTrue = false;\r\n this.checkOKFalse = true;\r\n }\r\n }\r\n\r\n GoBack() {\r\n this.router.navigate(['/user/toolkit']);\r\n }\r\n\r\n closeNotification() {\r\n this.isError = false;\r\n this.isSavedSuccess = false;\r\n }\r\n\r\n saveCheck() {\r\n const _recordedDate = moment(this.checkDate + ' ' + this.checkTime, 'YYYY-MM-DD HH:mm').utc().format('YYYY-MM-DDTHH:mm');\r\n this.siteID = this.asrv.DefaultSiteId;\r\n this.isSaving = true;\r\n const _tagIDCollection = [];\r\n\r\n // if () {\r\n this._api.postStatutoryVisit(\r\n {\r\n AssociatedActorIdCollection: [\r\n this.employeeId\r\n ],\r\n InteractedActorCompositeModelCollection: [\r\n {\r\n BiologicalActorCompositeModel: {\r\n PostalAddressClassId: 1,\r\n Forename: this.officerFirstname,\r\n Surname: this.officerSurname\r\n }\r\n }\r\n ],\r\n\r\n Notes: this.notes,\r\n SiteId: this.siteID,\r\n Recorded: _recordedDate,\r\n TagIdCollection: _tagIDCollection,\r\n OrganisationID: this.orgID\r\n }\r\n ).subscribe(\r\n result => {\r\n this.isSaving = false;\r\n this.isSavedSuccess = true;\r\n this.isError = false;\r\n setTimeout(() => {\r\n this.isSavedSuccess = false;\r\n this.router.navigate(['/user/toolkit']);\r\n }, 3000);\r\n },\r\n error => {\r\n this.isSaving = false;\r\n this.isError = true;\r\n this.errorMsg = error.error;\r\n console.log(error);\r\n });\r\n // }\r\n\r\n this.isSaving = false;\r\n }\r\n}\r\n","
\n
\n
\n
\n

Statutory Visit

\n
\n
\n
\n\n
\n
\n
\n
\n Date\n
\n \n
\n \n \n
\n \n \n
\n
\n
\n
\n
\n Time\n
\n \n \n
\n
\n
\n\n
\n
\n
\n
\n Staff Member\n
\n
\n
\n \n
\n
\n\n \n \n
\n
\n\n
\n
\n
\n Statutory Body\n
\n
\n
\n \n
\n
\n\n \n\n
\n
\n
\n
\n
\n
\n
\n Officer Firstname\n
\n \n
\n
\n
\n
\n
\n Officer Surname\n
\n \n
\n
\n
\n\n
\n
\n Please add any details about the check\n \n
\n Notes\n
\n
\n\n \n \n
\n
\n
\n
\n\n
\n
\n \n
\n \n
\n \n\n
\n
\n\n
\n
\n
\n
\n Saving...\n
\n
\n \n
\n
\n
\n
\n\n
\n
\n
\n
Success
\n
X
\n
\n
\n Saved Statutory Visit\n
\n
\n
\n\n
\n
\n
\n
Error
\n
X
\n
\n
\n There was an error saving the statutory visit. Please check all fields and try again.\n
\n {{errorMsg | json}}\n
\n
\n
","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-text-pad',\r\n templateUrl: './text-pad.component.html',\r\n styleUrls: ['./text-pad.component.scss']\r\n})\r\nexport class TextPadComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { MatDatepickerInputEvent } from '@angular/material/datepicker';\r\nimport { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack-bar';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { Router } from '@angular/router';\r\nimport { ActorService } from 'src/app/services/actor.service';\r\nimport { AdvancedSearchService } from 'src/app/services/advanced-search.service';\r\nimport { ApiService } from 'src/app/services/api.service';\r\nimport { DataService } from 'src/app/services/data.service';\r\nimport { ErrorhanderService } from 'src/app/services/errorhander.service';\r\nimport * as moment from 'moment';\r\n\r\n@Component({\r\n selector: 'app-toilet-check',\r\n templateUrl: './toilet-check.component.html',\r\n styleUrls: ['./toilet-check.component.scss']\r\n})\r\nexport class ToiletCheckComponent implements OnInit {\r\n\r\n checkDate;\r\n checkDateModel;\r\n checkTime;\r\n siteID;\r\n events: string[] = [];\r\n usingLoggedInName = false;\r\n employeeListLoading = false;\r\n loggedInUserID;\r\n employeeList = [];\r\n loggedInName;\r\n checkOKTrue;\r\n checkOKFalse;\r\n isSaving = false;\r\n employeeId;\r\n notes;\r\n errorMsg;\r\n isSavedSuccess;\r\n isError;\r\n constructor(\r\n public dsrv: DataService,\r\n public asrv: ActorService,\r\n private router: Router,\r\n public errsrv: ErrorhanderService,\r\n public assrv: AdvancedSearchService,\r\n private titleService: Title,\r\n private _api: ApiService,\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.getEmployeeList();\r\n document.body.style.backgroundColor = '#c3cddd';\r\n }\r\n\r\n addEvent(type: string, event: MatDatepickerInputEvent) {\r\n this.events.push(`${type}: ${event.value}`);\r\n this.checkDate = moment(this.checkDateModel).format('YYYY-MM-DD');\r\n }\r\n\r\n getTagCollection(id: number) {\r\n this._api.getTagCollectionCompositeModel(id).subscribe(collection => {\r\n \r\n });\r\n }\r\n\r\n setItem() { }\r\n\r\n getEmployeeList() {\r\n this.usingLoggedInName = false;\r\n this.employeeListLoading = true;\r\n const _userID = this.dsrv.GetMyUserID();\r\n this.loggedInUserID = _userID;\r\n // console.log(this.loggedInUserID);\r\n this._api.getUserOrgID(_userID).subscribe(results => {\r\n\r\n const _orgID = results[0].Organisations_ActorId;\r\n const _employeeIDs = [];\r\n this._api.getUserEmployeesList(_orgID).subscribe(employeeResults => {\r\n employeeResults.forEach(element => {\r\n _employeeIDs.push(element.Employees_ActorId);\r\n });\r\n\r\n this.asrv.GetBiologicalName(_employeeIDs).then(value => {\r\n this.employeeList = value;\r\n this.employeeListLoading = false;\r\n });\r\n },\r\n error => {\r\n this.usingLoggedInName = true;\r\n this.loggedInName = this.asrv.GetUsersFullName();\r\n this.employeeListLoading = false;\r\n });\r\n });\r\n }\r\n\r\n checkItem(wasChecked) {\r\n if (wasChecked) {\r\n this.checkOKTrue = true;\r\n this.checkOKFalse = false;\r\n } else {\r\n this.checkOKTrue = false;\r\n this.checkOKFalse = true;\r\n }\r\n }\r\n\r\n GoBack() {\r\n this.router.navigate(['/user/toolkit']);\r\n }\r\n\r\n closeNotification() {\r\n this.isError = false;\r\n this.isSavedSuccess = false;\r\n }\r\n\r\n saveCheck() {\r\n console.log(moment(this.checkDate + ' ' + this.checkTime, 'YYYY-MM-DD HH:mm').utc().format('YYYY-MM-DDTHH:mm'));\r\n console.log(moment(this.checkDate + ' ' + this.checkTime, 'YYYY-MM-DD HH:mm').utc());\r\n console.log(moment(this.checkDate + ' ' + this.checkTime, 'YYYY-MM-DD HH:mm'));\r\n const _recordedDate = moment(this.checkDate + ' ' + this.checkTime, 'YYYY-MM-DD HH:mm').utc().format('YYYY-MM-DDTHH:mm');\r\n this.siteID = this.asrv.DefaultSiteId;\r\n this.isSaving = true;\r\n const _tagIDCollection = [];\r\n\r\n if (this.checkOKTrue) {\r\n _tagIDCollection.push(3);\r\n }\r\n\r\n if ((this.checkOKFalse && this.notes && this.notes.length > 0) || this.checkOKTrue) {\r\n console.log(_recordedDate, this.employeeId, this.checkOKTrue, this.checkOKFalse, this.notes)\r\n this._api.postToiletCheck(\r\n {\r\n AssociatedActorIdCollection: [\r\n this.employeeId\r\n ],\r\n InteractedActorCompositeModelCollection: [\r\n {\r\n BiologicalActorCompositeModel: {\r\n PostalAddressClassId: 1,\r\n }\r\n }\r\n ],\r\n\r\n Notes: this.notes,\r\n SiteId: this.siteID,\r\n Recorded: _recordedDate,\r\n TagIdCollection: _tagIDCollection,\r\n\r\n }\r\n ).subscribe(result => {\r\n this.isSaving = false;\r\n this.isSavedSuccess = true;\r\n this.isError = false;\r\n setTimeout(() => {\r\n this.isSavedSuccess = false;\r\n this.router.navigate(['/user/toolkit']);\r\n }, 3000);\r\n }, error => {\r\n this.isSaving = false;\r\n this.isError = true;\r\n this.errorMsg = error.error;\r\n console.log(error);\r\n });\r\n }\r\n }\r\n\r\n}\r\n","
\n
\n
\n
\n

Toilet Check

\n
\n
\n
\n\n
\n
\n
\n
\n Date\n
\n \n
\n \n \n
\n \n \n
\n
\n
\n
\n
\n Time\n
\n \n \n
\n
\n
\n\n
\n
\n
\n
\n Staff Member\n
\n
\n
\n \n
\n
\n\n \n \n
\n
\n\n
\n
\n
\n
\n
Check OK?
\n
\n Yes\n \n
\n
\n No\n \n
\n
\n
\n
\n\n
\n
\n Please add any details about the check\n \n
\n Notes\n
\n
\n\n \n \n
\n
\n
\n
\n\n
\n
\n \n
\n \n
\n 0) || this.checkOKTrue\" />\n 0) || this.checkOKTrue)\" />\n
\n
\n\n
\n
\n
\n
\n Saving...\n
\n
\n \n
\n
\n
\n
\n\n
\n
\n
\n
Success
\n
X
\n
\n
\n Saved Toilet Check\n
\n
\n
\n\n
\n
\n
\n
Error
\n
X
\n
\n
\n There was an error saving the age verification. Please check all fields and try again.\n
\n {{errorMsg | json}}\n
\n
\n
","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-toolkit-dashboard',\n templateUrl: './toolkit-dashboard.component.html',\n styleUrls: ['./toolkit-dashboard.component.scss']\n})\nexport class ToolkitDashboardComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n\n document.body.style.backgroundColor = '#c3cddd';\n }\n\n}\n","
\n
\n
\n
\n

Toolkit

\n
\n
\n
\n\n
\n
\n
\n
\n \n
\n Fire Check\n
\n
\n
\n
\n
\n \n
\n Toilet Check\n
\n
\n
\n
\n
\n \n
\n Cleaning Check\n
\n
\n
\n
\n
\n \n
\n Machine Payouts\n
\n
\n
\n
\n
\n \n
\n Machine
Service Visits\n
\n
\n
\n
\n
\n \n
\n Statutory Visit\n
\n
\n
\n
\n\n
\n
","import { Component, OnInit, OnChanges, ElementRef, ViewChild } from '@angular/core';\r\nimport { ActorService } from 'src/app/services/actor.service';\r\nimport { DataService } from 'src/app/services/data.service';\r\nimport { Router, NavigationEnd } from '@angular/router';\r\nimport { Subscription } from 'rxjs';\r\nimport { ISDDateMethods } from 'src/app/models/ISDDateMethods';\r\nimport { ErrorhanderService } from 'src/app/services/errorhander.service';\r\nimport { AdvancedSearchService } from 'src/app/services/advanced-search.service';\r\nimport { MatDatepickerInputEvent } from '@angular/material/datepicker';\r\n\r\nconst exclusion = 'exclusion';\r\n\r\n@Component({\r\n selector: 'app-user-dashboard',\r\n templateUrl: './user-dashboard.component.html',\r\n styleUrls: ['./user-dashboard.component.scss']\r\n})\r\n\r\nexport class UserDashboardComponent implements OnInit, OnChanges {\r\n\r\n @ViewChild('dropDownToggle') DropDownToggle: ElementRef;\r\n @ViewChild('exclusionDropDownToggle') ExclusionDropDownToggle: ElementRef;\r\n @ViewChild('reportingDropDownToggle') ReportingDropDownToggle: ElementRef;\r\n @ViewChild('adminDropDownToggle') AdminDropDownToggle: ElementRef;\r\n @ViewChild('messagingDropDownToggle') MessagingDropDownToggle: ElementRef;\r\n @ViewChild('advancedSearchToggle') AdvancedSearchToggle: ElementRef;\r\n @ViewChild('adminToolsDropDownToggle') AdminToolsDropDownToggle: ElementRef;\r\n\r\n @ViewChild('status') status: ElementRef;\r\n public showStatus: boolean = false;\r\n\r\n constructor(\r\n public dsrv: DataService,\r\n public asrv: ActorService,\r\n private router: Router,\r\n public errsrv: ErrorhanderService,\r\n public assrv: AdvancedSearchService\r\n ) { }\r\n\r\n // Always display on initialise\r\n public displayFeatures: boolean = false;\r\n public displayAddNewExcluder: boolean = false;\r\n public mainWindowHeight: string;\r\n public unreadMessages: boolean = false;\r\n public unreadMessageCount: string;\r\n public readonly FeatureNotReady: boolean = false;\r\n\r\n public logOutSubscription: Subscription;\r\n\r\n public dropDownIsShowing: boolean;\r\n public exclusionDropDownIsShowing: boolean;\r\n public reportingDropDownIsShowing: boolean;\r\n public adminDropDownIsShowing: boolean;\r\n public messagingDropDownIsShowing: boolean;\r\n public advancedSearchIsShowing: boolean;\r\n public adminToolsDropDownIsShowing: boolean;\r\n\r\n private nextCheckForMessage: Date;\r\n private nextCheckTime: number = 30000;\r\n private dateMethods: ISDDateMethods = new ISDDateMethods();\r\n public _dataready: boolean = false;\r\n\r\n public NavigatedId: number;\r\n dp1;\r\n\r\n events = [];\r\n addEvent(type: string, event: MatDatepickerInputEvent) {\r\n this.events.push(`${type}: ${event.value}`);\r\n }\r\n\r\n ngOnInit() {\r\n this.GetUnreadMessageCount();\r\n\r\n let userSettingsLoaded: boolean = false;\r\n let actorCompositeModelLoaded: boolean = false;\r\n\r\n // Untangle this\r\n this.asrv.GetUserSettings().then(value => {\r\n\r\n userSettingsLoaded = true;\r\n if (userSettingsLoaded && actorCompositeModelLoaded) { this._dataready = true; };\r\n\r\n this.asrv.GetAgreementDocumentation().then(value => {\r\n if (!value) {\r\n this.asrv.IsLoggedUserOrganisationAdmin().then(value => {\r\n if (value) {\r\n this.errsrv.ShowValidationOops('No Organisation Site Found', 'Please set a site as the organisation headquarters before proceeding. Your organisation will be unable to create any interactions until this is resolved.');\r\n this.router.navigate(['user/admin/organisation-panel']);\r\n } else {\r\n this.errsrv.ShowValidationOops('No Organisation Site Found', 'No organisation headquarters found! Please contact the organisation admin to resolve this. No interactions can be created by this organisation until this is resolved.')\r\n }\r\n })\r\n }\r\n })\r\n this.asrv.GetActorCompositeModel().then(value => {\r\n actorCompositeModelLoaded = true;\r\n if (userSettingsLoaded && actorCompositeModelLoaded) { this._dataready = true; };\r\n });\r\n });\r\n \r\n this.router.events.subscribe(event => {\r\n // Check Message Ping\r\n var currentTime = new Date();\r\n if (currentTime > this.nextCheckForMessage) {\r\n this.nextCheckForMessage = new Date(this.dateMethods.ConvertDateToInteger(new Date()) + this.nextCheckTime);\r\n this.GetUnreadMessageCount();\r\n };\r\n\r\n if(event instanceof NavigationEnd) {\r\n // Display Footer Buttons Based on the URL\r\n if (event.url.includes('user/features')) {\r\n this.displayFeatures = false;\r\n this.displayAddNewExcluder = false;\r\n };\r\n\r\n if (!event.url.includes('user/exclusion/new')) {\r\n this.ClearNewExclusionCache();\r\n };\r\n \r\n if (event.url.includes('customer-interaction')) {\r\n document.body.style.backgroundColor = this.asrv.Globals.BackgroundColor.LightBlue;\r\n document.body.style.color = this.asrv.Globals.BackgroundColor.DarkBlue;\r\n } else {\r\n document.body.style.backgroundColor = this.asrv.Globals.BackgroundColor.Beige;\r\n document.body.style.color = this.asrv.Globals.BackgroundColor.DarkPurple;\r\n };\r\n };\r\n });\r\n \r\n if (window.innerHeight > 820) {\r\n this.mainWindowHeight = '88vh';\r\n } else {\r\n this.mainWindowHeight = '100%';\r\n };\r\n }\r\n\r\n GetUnreadMessageCount() {\r\n this.asrv.GetUnreadMessageCount().then(value => {\r\n this.unreadMessages = value.HasUnreadMesssages;\r\n if (value.MessageCount > 9) {\r\n this.unreadMessageCount = '9+'\r\n } else {\r\n this.unreadMessageCount = value.MessageCount.toString();\r\n }\r\n this.nextCheckForMessage = new Date(this.dateMethods.ConvertDateToInteger(new Date()) + this.nextCheckTime);\r\n });\r\n }\r\n\r\n ClearNewExclusionCache() {\r\n this.dsrv.ClearExclusionProgress();\r\n }\r\n\r\n ngOnChanges() {\r\n }\r\n\r\n ToggleFeatureMenu() {\r\n // If Displaying Feature Collection, hide any buttons\r\n this.displayFeatures = !this.displayFeatures;\r\n }\r\n\r\n MenuSelectionMade(event: any){\r\n if (event == exclusion) {\r\n this.HideOverlayMenu();\r\n this.displayAddNewExcluder = true;\r\n }\r\n }\r\n\r\n onActivate(componentRef) {\r\n this.displayAddNewExcluder = true;\r\n }\r\n\r\n HideDropDowns() {\r\n if (this.dropDownIsShowing) { this.DropDownToggle.nativeElement.click(); }\r\n if (this.exclusionDropDownIsShowing) { this.ExclusionDropDownToggle.nativeElement.click(); }\r\n if (this.reportingDropDownIsShowing) { this.ReportingDropDownToggle.nativeElement.click(); }\r\n if (this.adminDropDownIsShowing) { this.AdminDropDownToggle.nativeElement.click(); }\r\n if (this.messagingDropDownIsShowing) { this.MessagingDropDownToggle.nativeElement.click(); }\r\n if (this.advancedSearchIsShowing) { this.AdvancedSearchToggle.nativeElement.click(); };\r\n if (this.adminToolsDropDownIsShowing) { this.AdminToolsDropDownToggle.nativeElement.click(); }\r\n this.dropDownIsShowing = false;\r\n this.exclusionDropDownIsShowing = false;\r\n this.reportingDropDownIsShowing = false;\r\n this.adminDropDownIsShowing = false;\r\n this.messagingDropDownIsShowing = false;\r\n this.advancedSearchIsShowing = false;\r\n this.adminToolsDropDownIsShowing = false;\r\n }\r\n\r\n // Double click event in place to prevent bar locking.\r\n DropDownClicked() {\r\n if (this.advancedSearchIsShowing) {\r\n this.AdvancedSearchToggle.nativeElement.click();\r\n this.advancedSearchIsShowing = false;\r\n }\r\n this.dropDownIsShowing = !this.dropDownIsShowing;\r\n }\r\n\r\n ExclusionDropDownClicked() {\r\n this.exclusionDropDownIsShowing = !this.exclusionDropDownIsShowing;\r\n }\r\n\r\n ReportingDropDownClicked() {\r\n this.reportingDropDownIsShowing = !this.reportingDropDownIsShowing;\r\n }\r\n\r\n AdminDropDownClicked() {\r\n this.adminDropDownIsShowing = !this.adminDropDownIsShowing;\r\n }\r\n\r\n MessagingDropDownClicked() {\r\n this.messagingDropDownIsShowing = !this.messagingDropDownIsShowing;\r\n }\r\n\r\n AdministrationToolsDropDownClicked() {\r\n this.adminToolsDropDownIsShowing = !this.adminToolsDropDownIsShowing;\r\n }\r\n\r\n navigateToFeatureCollection() {\r\n this.HideOverlayMenu();\r\n this.HideDropDowns();\r\n this.router.navigate(['/user/features']);\r\n }\r\n\r\n NavigateToGallery() {\r\n this.HideOverlayMenu();\r\n this.HideDropDowns();\r\n this.router.navigate(['user/exclusion/gallery']);\r\n }\r\n\r\n CreateNewExclusion() {\r\n this.HideOverlayMenu();\r\n this.HideDropDowns();\r\n this.router.navigate(['user/exclusion/new']);\r\n }\r\n\r\n NavigateToReportsBuilder() {\r\n this.HideOverlayMenu();\r\n this.HideDropDowns();\r\n this.router.navigate(['user/reporting']);\r\n }\r\n\r\n NavigateToUserAdmin() {\r\n this.HideOverlayMenu();\r\n this.HideDropDowns();\r\n this.router.navigate(['user/admin/user-panel']); \r\n }\r\n\r\n NavigateToSiteAdmin() {\r\n this.HideOverlayMenu();\r\n this.HideDropDowns();\r\n this.router.navigate(['user/admin/site-panel']); \r\n }\r\n\r\n NavigateToOrganisationAdmin() {\r\n this.HideOverlayMenu();\r\n this.HideDropDowns();\r\n this.router.navigate(['user/admin/organisation-panel']); \r\n }\r\n\r\n NavigateToMessaging() {\r\n this.HideOverlayMenu();\r\n this.HideDropDowns();\r\n this.router.navigate(['user/messaging']);\r\n }\r\n\r\n HideOverlayMenu() {\r\n if (this.displayFeatures)\r\n this.displayFeatures = false;\r\n }\r\n\r\n LogOut() {\r\n this.logOutSubscription = this.dsrv.LogOut().subscribe(res => {\r\n this.router.navigate(['/#']);\r\n });\r\n }\r\n\r\n // Double click event in place to prevent bar locking.\r\n AdvancedSearchClicked() {\r\n if (this.dropDownIsShowing) {\r\n this.DropDownToggle.nativeElement.click();\r\n this.dropDownIsShowing = false;\r\n }\r\n this.assrv.ReinitializeSearchModel();\r\n this.advancedSearchIsShowing = !this.advancedSearchIsShowing;\r\n }\r\n \r\n PrintSearchQuery() {\r\n // this.assrv.PrintSearchQuery()\r\n }\r\n\r\n Search() {\r\n this.assrv.Search().then(value => {\r\n if (this.advancedSearchIsShowing) { this.AdvancedSearchToggle.nativeElement.click(); };\r\n });\r\n }\r\n\r\n NewSearch() {\r\n this.assrv.ReinitializeSearchModel().then (value => {\r\n });\r\n }\r\n\r\n ToggleElevationMode() {\r\n this.asrv.ToggleElevationMode().then(value => {})\r\n }\r\n\r\n ReloadDropDownControllers() {\r\n if (this.asrv.ElevatedMode) {\r\n this.asrv.PopulateSiteSelectForOrgansiationId(this.asrv.UserOrganisationId).then(value => {\r\n this.asrv.PopulateColleagueSelectForSiteId(this.asrv.SiteSelect.KeySelected).then(value => {})\r\n });\r\n } else {\r\n this.asrv.PopulateDefaultEmployeeSitesSelect().then(value => {\r\n this.asrv.PopulateColleagueSelectForSiteId(this.asrv.SiteSelect.KeySelected).then(value => {})\r\n })\r\n }\r\n }\r\n\r\n UnlockAllButtons() {\r\n this.asrv.ToggleLockedButtons().then(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 Welcome: {{asrv.GetUsersFullName()}}\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
Organisation
\r\n
Site
\r\n
User
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
Toggle Elevation Mode
\r\n
Reload Dropdown Controllers
\r\n
Toggle Locked Buttons On/Off
\r\n
\r\n
\r\n
\r\n

Sign Out

\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n Feature\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n Search By\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n {{property.name}}\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n\r\n\r\n\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n
","// This file can be replaced during build by using the `fileReplacements` array.\r\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\r\n// The list of file replacements can be found in `angular.json`.\r\n\r\nexport const environment = {\r\n production: false,\r\n apiURL: 'https://api.bactaportal.org.uk/'\r\n};\r\n\r\n/*\r\n * For easier debugging in development mode, you can import the following file\r\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\r\n *\r\n * This import should be commented out in production mode because it will have a negative impact\r\n * on performance if an error is thrown.\r\n */\r\n// import 'zone.js/plugins/zone-error'; // Included with Angular CLI.\r\n","import 'hammerjs';\r\nimport { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\n\r\nenableProdMode();\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule)\r\n .catch(err => console.error(err));\r\n","var map = {\n\t\"./af\": 58685,\n\t\"./af.js\": 58685,\n\t\"./ar\": 254,\n\t\"./ar-dz\": 4312,\n\t\"./ar-dz.js\": 4312,\n\t\"./ar-kw\": 32614,\n\t\"./ar-kw.js\": 32614,\n\t\"./ar-ly\": 18630,\n\t\"./ar-ly.js\": 18630,\n\t\"./ar-ma\": 28674,\n\t\"./ar-ma.js\": 28674,\n\t\"./ar-sa\": 49032,\n\t\"./ar-sa.js\": 49032,\n\t\"./ar-tn\": 24730,\n\t\"./ar-tn.js\": 24730,\n\t\"./ar.js\": 254,\n\t\"./az\": 53052,\n\t\"./az.js\": 53052,\n\t\"./be\": 60150,\n\t\"./be.js\": 60150,\n\t\"./bg\": 63069,\n\t\"./bg.js\": 63069,\n\t\"./bm\": 13466,\n\t\"./bm.js\": 13466,\n\t\"./bn\": 18516,\n\t\"./bn-bd\": 90557,\n\t\"./bn-bd.js\": 90557,\n\t\"./bn.js\": 18516,\n\t\"./bo\": 26273,\n\t\"./bo.js\": 26273,\n\t\"./br\": 9588,\n\t\"./br.js\": 9588,\n\t\"./bs\": 19815,\n\t\"./bs.js\": 19815,\n\t\"./ca\": 83331,\n\t\"./ca.js\": 83331,\n\t\"./cs\": 21320,\n\t\"./cs.js\": 21320,\n\t\"./cv\": 72219,\n\t\"./cv.js\": 72219,\n\t\"./cy\": 68266,\n\t\"./cy.js\": 68266,\n\t\"./da\": 66427,\n\t\"./da.js\": 66427,\n\t\"./de\": 67435,\n\t\"./de-at\": 52871,\n\t\"./de-at.js\": 52871,\n\t\"./de-ch\": 12994,\n\t\"./de-ch.js\": 12994,\n\t\"./de.js\": 67435,\n\t\"./dv\": 82357,\n\t\"./dv.js\": 82357,\n\t\"./el\": 95649,\n\t\"./el.js\": 95649,\n\t\"./en-au\": 59961,\n\t\"./en-au.js\": 59961,\n\t\"./en-ca\": 19878,\n\t\"./en-ca.js\": 19878,\n\t\"./en-gb\": 3924,\n\t\"./en-gb.js\": 3924,\n\t\"./en-ie\": 70864,\n\t\"./en-ie.js\": 70864,\n\t\"./en-il\": 91579,\n\t\"./en-il.js\": 91579,\n\t\"./en-in\": 30940,\n\t\"./en-in.js\": 30940,\n\t\"./en-nz\": 16181,\n\t\"./en-nz.js\": 16181,\n\t\"./en-sg\": 44301,\n\t\"./en-sg.js\": 44301,\n\t\"./eo\": 85291,\n\t\"./eo.js\": 85291,\n\t\"./es\": 54529,\n\t\"./es-do\": 53764,\n\t\"./es-do.js\": 53764,\n\t\"./es-mx\": 12584,\n\t\"./es-mx.js\": 12584,\n\t\"./es-us\": 63425,\n\t\"./es-us.js\": 63425,\n\t\"./es.js\": 54529,\n\t\"./et\": 35203,\n\t\"./et.js\": 35203,\n\t\"./eu\": 70678,\n\t\"./eu.js\": 70678,\n\t\"./fa\": 83483,\n\t\"./fa.js\": 83483,\n\t\"./fi\": 96262,\n\t\"./fi.js\": 96262,\n\t\"./fil\": 52521,\n\t\"./fil.js\": 52521,\n\t\"./fo\": 34555,\n\t\"./fo.js\": 34555,\n\t\"./fr\": 63131,\n\t\"./fr-ca\": 88239,\n\t\"./fr-ca.js\": 88239,\n\t\"./fr-ch\": 21702,\n\t\"./fr-ch.js\": 21702,\n\t\"./fr.js\": 63131,\n\t\"./fy\": 267,\n\t\"./fy.js\": 267,\n\t\"./ga\": 23821,\n\t\"./ga.js\": 23821,\n\t\"./gd\": 71753,\n\t\"./gd.js\": 71753,\n\t\"./gl\": 4074,\n\t\"./gl.js\": 4074,\n\t\"./gom-deva\": 92762,\n\t\"./gom-deva.js\": 92762,\n\t\"./gom-latn\": 5969,\n\t\"./gom-latn.js\": 5969,\n\t\"./gu\": 82809,\n\t\"./gu.js\": 82809,\n\t\"./he\": 45402,\n\t\"./he.js\": 45402,\n\t\"./hi\": 315,\n\t\"./hi.js\": 315,\n\t\"./hr\": 10410,\n\t\"./hr.js\": 10410,\n\t\"./hu\": 38288,\n\t\"./hu.js\": 38288,\n\t\"./hy-am\": 67928,\n\t\"./hy-am.js\": 67928,\n\t\"./id\": 71334,\n\t\"./id.js\": 71334,\n\t\"./is\": 86959,\n\t\"./is.js\": 86959,\n\t\"./it\": 34864,\n\t\"./it-ch\": 51124,\n\t\"./it-ch.js\": 51124,\n\t\"./it.js\": 34864,\n\t\"./ja\": 36141,\n\t\"./ja.js\": 36141,\n\t\"./jv\": 29187,\n\t\"./jv.js\": 29187,\n\t\"./ka\": 42136,\n\t\"./ka.js\": 42136,\n\t\"./kk\": 94332,\n\t\"./kk.js\": 94332,\n\t\"./km\": 18607,\n\t\"./km.js\": 18607,\n\t\"./kn\": 84305,\n\t\"./kn.js\": 84305,\n\t\"./ko\": 70234,\n\t\"./ko.js\": 70234,\n\t\"./ku\": 16003,\n\t\"./ku.js\": 16003,\n\t\"./ky\": 75061,\n\t\"./ky.js\": 75061,\n\t\"./lb\": 32786,\n\t\"./lb.js\": 32786,\n\t\"./lo\": 66183,\n\t\"./lo.js\": 66183,\n\t\"./lt\": 50029,\n\t\"./lt.js\": 50029,\n\t\"./lv\": 24169,\n\t\"./lv.js\": 24169,\n\t\"./me\": 68577,\n\t\"./me.js\": 68577,\n\t\"./mi\": 68177,\n\t\"./mi.js\": 68177,\n\t\"./mk\": 50337,\n\t\"./mk.js\": 50337,\n\t\"./ml\": 65260,\n\t\"./ml.js\": 65260,\n\t\"./mn\": 52325,\n\t\"./mn.js\": 52325,\n\t\"./mr\": 14695,\n\t\"./mr.js\": 14695,\n\t\"./ms\": 75334,\n\t\"./ms-my\": 37151,\n\t\"./ms-my.js\": 37151,\n\t\"./ms.js\": 75334,\n\t\"./mt\": 63570,\n\t\"./mt.js\": 63570,\n\t\"./my\": 97963,\n\t\"./my.js\": 97963,\n\t\"./nb\": 88028,\n\t\"./nb.js\": 88028,\n\t\"./ne\": 86638,\n\t\"./ne.js\": 86638,\n\t\"./nl\": 50302,\n\t\"./nl-be\": 66782,\n\t\"./nl-be.js\": 66782,\n\t\"./nl.js\": 50302,\n\t\"./nn\": 33501,\n\t\"./nn.js\": 33501,\n\t\"./oc-lnc\": 50563,\n\t\"./oc-lnc.js\": 50563,\n\t\"./pa-in\": 50869,\n\t\"./pa-in.js\": 50869,\n\t\"./pl\": 65302,\n\t\"./pl.js\": 65302,\n\t\"./pt\": 49687,\n\t\"./pt-br\": 74884,\n\t\"./pt-br.js\": 74884,\n\t\"./pt.js\": 49687,\n\t\"./ro\": 79107,\n\t\"./ro.js\": 79107,\n\t\"./ru\": 33627,\n\t\"./ru.js\": 33627,\n\t\"./sd\": 30355,\n\t\"./sd.js\": 30355,\n\t\"./se\": 83427,\n\t\"./se.js\": 83427,\n\t\"./si\": 11848,\n\t\"./si.js\": 11848,\n\t\"./sk\": 54590,\n\t\"./sk.js\": 54590,\n\t\"./sl\": 20184,\n\t\"./sl.js\": 20184,\n\t\"./sq\": 56361,\n\t\"./sq.js\": 56361,\n\t\"./sr\": 78965,\n\t\"./sr-cyrl\": 81287,\n\t\"./sr-cyrl.js\": 81287,\n\t\"./sr.js\": 78965,\n\t\"./ss\": 25456,\n\t\"./ss.js\": 25456,\n\t\"./sv\": 70451,\n\t\"./sv.js\": 70451,\n\t\"./sw\": 77558,\n\t\"./sw.js\": 77558,\n\t\"./ta\": 51356,\n\t\"./ta.js\": 51356,\n\t\"./te\": 73693,\n\t\"./te.js\": 73693,\n\t\"./tet\": 21243,\n\t\"./tet.js\": 21243,\n\t\"./tg\": 42500,\n\t\"./tg.js\": 42500,\n\t\"./th\": 55768,\n\t\"./th.js\": 55768,\n\t\"./tk\": 77761,\n\t\"./tk.js\": 77761,\n\t\"./tl-ph\": 35780,\n\t\"./tl-ph.js\": 35780,\n\t\"./tlh\": 29590,\n\t\"./tlh.js\": 29590,\n\t\"./tr\": 33807,\n\t\"./tr.js\": 33807,\n\t\"./tzl\": 93857,\n\t\"./tzl.js\": 93857,\n\t\"./tzm\": 60654,\n\t\"./tzm-latn\": 8806,\n\t\"./tzm-latn.js\": 8806,\n\t\"./tzm.js\": 60654,\n\t\"./ug-cn\": 30845,\n\t\"./ug-cn.js\": 30845,\n\t\"./uk\": 19232,\n\t\"./uk.js\": 19232,\n\t\"./ur\": 47052,\n\t\"./ur.js\": 47052,\n\t\"./uz\": 77967,\n\t\"./uz-latn\": 32233,\n\t\"./uz-latn.js\": 32233,\n\t\"./uz.js\": 77967,\n\t\"./vi\": 98615,\n\t\"./vi.js\": 98615,\n\t\"./x-pseudo\": 12320,\n\t\"./x-pseudo.js\": 12320,\n\t\"./yo\": 31313,\n\t\"./yo.js\": 31313,\n\t\"./zh-cn\": 64490,\n\t\"./zh-cn.js\": 64490,\n\t\"./zh-hk\": 55910,\n\t\"./zh-hk.js\": 55910,\n\t\"./zh-mo\": 98262,\n\t\"./zh-mo.js\": 98262,\n\t\"./zh-tw\": 44223,\n\t\"./zh-tw.js\": 44223\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 46700;"],"names":["RouterModule","RouteguardService","AdminOrganisationComponent","AdminSiteComponent","AdminUserComponent","AdminComponent","AgeVerificationComponent","BreachViewComponent","CleaningCheckComponent","CrimeAlertComponent","CustomerInteractionComponent","InteractionGalleryComponent","InteractionNewComponent","InteractionViewComponent","DocumentsComponent","ExcluderComponent","NewComponent","UpdateComponent","GalleryComponent","ViewComponent","FeatureCollectionComponent","FireChecksComponent","ForgottenPasswordComponent","AdvancedSearchSearchResultsComponent","LoginComponent","MachinePayoutsComponent","MachineServiceComponent","MessagingMainComponent","ReadComposeMessageComponent","OopsComponent","PrivacypolicyComponent","ReportingMainComponent","ResetPasswordComponent","StatutoryVisitComponent","ToiletCheckComponent","ToolkitDashboardComponent","UserDashboardComponent","routes","path","component","canActivate","children","redirectTo","pathMatch","AppRoutingModule","forRoot","imports","exports","AppComponent","onRightClick","event","preventDefault","constructor","selectors","hostBindings","ctx","i0","BrowserModule","Title","HttpClientModule","HTTP_INTERCEPTORS","BrowserAnimationsModule","FormsModule","ProductCollectionComponent","HttpClient","DetailComponent","CustomerdetailComponent","CustomeraddressComponent","ActionComponent","CustomerPhotoComponent","ExcluderExclusionComponent","ExclusionZoneComponent","ExclusionDeclarationComponent","ExclusionTermsComponent","MotorwayServicesComponent","ExclusionConfirmedComponent","RecordBreachComponent","ReinstateComponent","ExclusionDeclarationDetailsComponent","DisableControlDirective","LoadingComponent","TextPadComponent","ExtendComponent","ExclusionJourneyComponent","GenericFormComponent","ExcluderCardsComponent","EmailComponent","ExcluderCardComponent","InspectSitesComponent","SiteShoppingBasketComponent","ExclusionCardMdComponent","ExclusionCardMobileComponent","CameraLiveViewComponent","MainViewComponent","TableComponent","FormComponent","ChartComponent","PhotoGalleryComponent","AdminMainViewComponent","AdminDataComponent","EditOrganisationComponent","EditSiteComponent","EditUserComponent","A11yModule","DragDropModule","PortalModule","ScrollingModule","CdkStepperModule","CdkTableModule","CdkTreeModule","MatLegacyAutocompleteModule","MatAutocompleteModule","MatBadgeModule","MatBottomSheetModule","MatLegacyButtonModule","MatButtonModule","MatButtonToggleModule","MatLegacyCardModule","MatCardModule","MatLegacyCheckboxModule","MatCheckboxModule","MatLegacyChipsModule","MatChipsModule","MatStepperModule","MatDatepickerModule","MatLegacyDialogModule","MatDialogModule","MatDividerModule","MatExpansionModule","MatGridListModule","MatIconModule","MatLegacyInputModule","MatInputModule","MatLegacyListModule","MatListModule","MatLegacyMenuModule","MatMenuModule","MatNativeDateModule","MatRippleModule","MAT_DATE_LOCALE","MatLegacyPaginatorModule","MatPaginatorModule","MatLegacyProgressBarModule","MatProgressBarModule","MatLegacyProgressSpinnerModule","MatProgressSpinnerModule","MatLegacyRadioModule","MatRadioModule","MatLegacySelectModule","MatSelectModule","MatSidenavModule","MatLegacySliderModule","MatSliderModule","MatLegacySlideToggleModule","MatSlideToggleModule","MatLegacySnackBarModule","MatSnackBarModule","MatSortModule","MatLegacyTableModule","MatTableModule","MatLegacyTabsModule","MatTabsModule","MatToolbarModule","MatLegacyTooltipModule","MatTooltipModule","MatTreeModule","EllipsisPipe","CustomerAcknowledgementComponent","TermsAndConditionsComponent","MoreInfoComponent","MessagingMainViewComponent","TagsComponent","TagComponent","InteractionCardsComponent","InteractionCardComponent","InteractionReasonComponent","InteractionPrivacyNoticeComponent","InteractionActionComponent","InteractionCustomerDetailsComponent","InteractionIdentificationComponent","InteractionDescriptionComponent","InteractionReviewComponent","InteractionConfirmationComponent","InteractionCardMdComponent","InteractionCardMobileComponent","IconGalleryComponent","ReviewComponent","ReinstatedSeReviewComponent","CancelReviewComponent","UploadCctvComponent","UpdateDetailsComponent","CustomerReviewComponent","CustomerSeReviewComponent","CancelReviewFormComponent","IconImageComponent","NgInit","InteractionMoreInfoComponent","RecipientFilterComponent","CustomerPhotoInlineComponent","UpdateExclusionComponent","TokeninterceptorService","MemorableWordComponent","AppModule","bootstrap","provide","useValue","useClass","multi","declarations","ActorCompositeModel","Actor_Settings","Settings","Setting","SettingKey","Addresses","Address","AddressDetails","AddressDetail","GeocodingItems","Geocoding","Credentials","CredentialsBrief","ISDDateMethods","CustomerInteractionBrief","CustomerInteractionCancelReview","CustomerInteractionReinstateSEReview","CustomerInteractionReview","EmployeeDetails","Extension","ExcluderBrief","BackgroundColor","Border","ClassKeyIds","FontColor","Positioning","TableProperties","TagValues","millisecond","second","minute","hour","checkDay","day","AddDays","date","daysToAdd","addition","dateInteger","ConvertDateToInteger","Date","AddWeeks","weeksToAdd","CheckBirthdateIsValid","birthDate","dateDiff","DateDifferenceInYears","DateDifferenceInDays","checkDate","dateInNumbers","now","checkYear","SameDay","dateOne","dateTwo","getFullYear","getMonth","getDate","SetEndOfDayForDate","startDate","returnDate","dateToConvert","DateNow","toISOString","slice","GetNewStartDate","endDate","endDateInteger","FormatDateForReport","AddTimeToDate","GetMonitoringPeriodUsingWeeks","numberOfWeeks","GetMonitoringPeriodUsingMonths","numberOfMonths","toDateString","setMonth","diff","Math","abs","getTime","round","GetMonthDifference","numberOfDays","start","months","GetEndDate","month","LeapYear","year","factory","providedIn","View_ExclusionBreachesCompositeModel","SetBreached","Breached","ControllerDate","ControllerTime","ExclusionClientValues","ExclusionSiteCollection","View_ReinstatementsCompositeModel","InteractionId","AssociatedActorIdCollection","Notes","Reference","SiteId","TagIdCollection","Exclusions_InteractionId","ReinstatementRequestMethodKeyId","Accepted","Post_InteractionReferenceCompositeModel","InteractionIdCollection","Views_BiologicalActorCompositeModel","PutExclusionsCompositeModel","Views_Put_ExclusionsCompositeModel","Views_Get_ExclusionsCompositeModel","GetExclusionsCompositeModel","InteractedActorCompositeModel","InteractedActorCompositeModelCollection","InteractionMonitoringPeriod","MediaModelCollection","VehicleCollection","ExclusionReasonKeyId","IdentificationDocumentKeyId","Radius","SiteIdCollection","Reinstatement","ExclusionBreachesCollection","Views_InteractedActorCompositeModel","Views_InteractionMonitoringPeriodsModel","InteractionMonitoringPeriodsModel","Duration","Start","Views_InteractionsCompositeModel","InteractionsCompositeModel","GetCurrentEndDate","DateMethods","GetExtensionStartDate","Views_MediaModel","Views_ReviewsCompositeModel","ReviewsCompositeModel","Interactions_InteractionId","Names","NameDetails","Actors_Names","Name","Organisation","Parameter","PostObjects","AssociatedActorNameCompositeModel","CommunicationAccountMessageCompositeModelController","CommunicationAccountMessagesCompositeModel","CommunicationContacts_CommunicationContactTags","BasicPostModel","BasicPostParameters","OrganisationParameters","SiteParameters","moment","AgeVerificationList","asrv","isrv","ids","_api","forEach","id","AddRow","DataLoaded","idWasShown","returnRow","getAgeVerificationCompositeModel","subscribe","res","BiologicalActorCompositeModel","Forename","Surname","Alias","machinesPlayed","detailsOfChallenge","idShown","tagId","length","stakeReturned","prizeReturned","Recorded","format","GetSiteName","then","value","Rows","push","siteid","siteNamePromises","some","i","find","Promise","resolve","GetSiteNameCollection","SiteNamePromise","BreachList","esrv","breachids","GetBreach","getViewExclusionCompositeModel","GetHonorifics","HonorificId","hasParticipated","CleaningCheckList","getCleaningCheckCompositeModel","itemType","checkOK","GetActorNames","employee","_employee","ActorId","NameCollection","NameClassKeyId","ActorRoleCollection","isLoading","CrimeAlertList","getCrimeAlertCompositeModel","eventType","policeCalled","CustomerList","Honorifics","GetGenders","Genders","BirthDate","Mobile","Email","x","GenderId","FireCheckList","getFireCheckCompositeModel","InteractionList","getInteractionCompositeModel","reasons","actions","forkJoin","MachinePayoutList","_miAPI","getTagCollectionCompositeModel","_res","getMachinePayoutCompositeModel","miResults","machineIssueList","Tags","itemIssue","_foundMI","TagId","Amount","AssetReference","MachineServiceVisitList","_mrAPI","getMachineServiceVisitCompositeModel","mrResults","machineIssueResolutionList","itemResolution","_foundMR","OrganisationSitesList","siteids","sitedetails","ReinstatementList","interactionids","ShowAll","AllRows","ShowUserAccepted","row","ShowAutoAccepted","getReinstatementsForReports","reinstatement","ExclusionSubscription","GetExclusionIsSubscribed","error","err","StatutoryVisitList","getStatutoryVisitCompositeModel","getActorNames","OrganisationID","result","ToiletCheckList","getToiletCheckCompositeModel","UserAPIUsage","databaseValues","ActorName","DaysAccessedCount","toString","ReinstatementCount","ExclusionBreachCount","ExclusionCount","InteractionCount","LastAccessed","PrimarySiteName","Site","Site_Name","SiteDetail","EmployeeRow","UserRoleTags","NameTags","PostalAddressTags","GetTagInfo","tag","Tag","GetRoleName","System","SystemAdministrator","BactaAdministrator","OrganisationAdministrator","Supervisor","User","GetRolesObject","object","Id","RoleBriefs","DurationTags","FetchDurationOptionIdForMonth","UserDocumentation","UserSites","Actor","Actors_Organisations","BiologicalUserInfo","NonBiologicalName","ClientValues","GenericTagList","btoa","LoadMemoryManager","rowExists","_memory","alreadyExist","LoadRowFromMemoryManager","GetRowValues","UpdateRow","rowToUpdate","UpdateMemoryManager","RemoveRow","index","indexOf","splice","FindRow","tagSubscription","Edited","unsubscribe","localStorage","getItem","_title","JSON","parse","matchedRow","setItem","stringify","RefreshMemory","ControllerMaster","Label","Type","DomId","Checkbox","StartDate","ConfirmedControl","UpdatePhoto","MediaModel","MediaClassKeyId","MediaId","Data","Validate","EmployeeId","Value","ErrorFlag","Select","OrganisationId","Key","MethodId","MethodControl","MethodDropDownItems","ConsideredControl","RecievedCounsellingControl","UnderstandsCoolingOffControl","AwareOfMonitoringControl","DropDownItems","DropDownItem","UserCredentials","disableControl","condition","action","ngControl","control","inputs","ngOnInit","ngInit","values","exportAs","Maps","Initialise","script","document","createElement","src","APIKey","defer","async","getElementsByTagName","appendChild","GenerateMap","lat","lng","zoom","Map","google","maps","getElementById","center","LatLng","disableDefaultUI","mapTypeId","AddCircle","radius","cityCircle","Circle","strokeColor","strokeOpacity","strokeWeight","fillColor","fillOpacity","map","GenerateMapWithCircle","ClearMarkers","SiteGeoLocations","site","position","Latitude","Longitude","geometry","spherical","computeDistanceBetween","displaySite","CurrentExclusion","SiteCollection","AddMarker","GenerateMapWithCustomDrawing","PolylineLatLng","clickableIcons","listner","addListener","DrawNewMarkerOnTheMap","latLng","polyline","Polyline","geodesic","PolylineMarker","marker","Marker","AddFinalLineToMap","getPosition","setMap","Polylines","confirm","GeneratePolygon","shape","Shape","polygon","Polygon","paths","RemovePolygon","poly","containsLocation","markers","sites","SortSiteNameAscending","Shapes","clearInstanceListeners","AddBlankMarker","text","infowindow","InfoWindow","content","open","Markers","SiteWithinLatBounds","Westbound","Eastbound","SiteWithinLngBounds","sort","a","b","localeCompare","MessageDisplay","MessageList","communication","Edited_ActorID","GetBiologicalName","biologicalName","Sender","CommunicationRow","CommunicationId","Subject","Body","IsNew","IsImportant","transform","val","args","undefined","substring","pure","ActorService","SuperUser","_superUser","ElevatedMode","_elevatedMode","UnlockedButtons","_unlockedButtons","DefaultSiteIds","_defaultSiteIds","SessionStorageItemExists","name","sessionStorage","ParseStorageItem","ToggleElevationMode","ToggleLockedButtons","dsrv","router","Globals","ActorRoleId","Edited_ActorId","loadGendersToStorage","genderSubscription","Get","_genders","loadHonorificsToStorage","honorificSubscription","_honorifics","GetMyUserID","IsLoggedUserAdmin","GetActorRole","GetSitesWithinRadius","GetLoggedUserDetails","SettingCollection","SettingKeyId","DefaultSiteId","MemWord","memWord","navigate","queryParams","uid","IsLoggedUserBactaAdmin","IsLoggedUserOrganisationAdmin","GetActorCompositeModel","_actorCompositeModel","GetActorCompositeModelFromStorage","SetAvailableUserRoles","subscription","GetActorCompositeModelForId","actorRoleId","rolesAvailable","Roles","role","actorId","GetUsersFullName","Actor_Names","GetHonorific","GetGender","GetEmployeeIds","limit","offset","organisationid","tagIds","postObject","Model","Limit","Offset","TagIdLookupOperator","OrganisationIdCollection","Post","GetEmployeeIdsForSite","GetActorNameId","actorid","GetActorName","nameid","idCollection","returnObject","nameCollection","GetSiteIds","SiteIds","obj","GetOrganisationIds","GetOrganisationIdsDBSync","GetOrganisationNameCollection","siteActorId","GetActorRoleSubscription","GetUnreadMessageCount","End","PostCommunicationAccountMessageCompositeModelController","HasUnreadMesssages","MessageCount","GetMyOrganisationId","GetMyOrganisations","Organisations_ActorId","GetSiteCompositeModel","GetMediaForInteraction","interactionId","GetInteractionMedia","media","GetUserSettings","orgValues","siteValues","colleagueValues","reason","UserOrganisationId","organisationSubscription","GetOrganisation","UserOrganisationName","OrganisationIds","PopulateOrganisationSelect","defaultSiteSubscription","GetEmployeeDefaultSites","Sites_ActorId","DefaultSiteNameCollection","PopulateDefaultEmployeeSitesSelect","ColleagueIds","DefaultColleagueCollection","FillColleagueSelect","GetIdentificationDocuments","IdentificationDocumentTypes","exclusionReasonOptionsSubscription","ExclusionReasonOptions","ReasonOptions","organisationCollection","DefaultOrganisationNameCollection","ddItems","organisation","OrganisationSelect","KeySelected","SiteSelect","PopulateSiteSelectForOrgansiationId","organisationId","PopulateSiteDropDown","organisationFilterId","returnSites","missingIds","Sort","colleague","ColleagueSelect","PopulateColleagueSelectForSiteId","siteId","PopulateEmployeeDropDown","siteFilterId","returnEmployees","SortEmployees","PopulateColleagueDropDownForOrganisationId","organsiationId","PopulateEmployeeDropDownWithOrganisationId","GetAgreementDocumentation","privacyPolicy","summaryOfPrivacyPolicy","terms","summaryOfTerms","ipsosMori","privacyPolicyVersionSubscription","GetDocumentVersions","PrivacyPolicy","SortDocumentVersions","PrivacyPolicyVersion","privacyPolicyHTMLSubscription","GetDocument","PrivacyPolicyHTML","summaryOfPrivacyPolicyVersionSubscription","SummaryOfPrivacyPolicy","SummaryOfPrivacyPolicyVersion","summaryOfPrivacyPolicyHTMLSubscription","SummaryOfPrivacyPolicyHTML","summaryOfTermsVersionSubscription","SummaryOfTerms","SummaryOfTermsVersion","summaryOfTermsHTMLSubscription","SummaryOfTermsHTML","termsVersionSubscription","Terms","TermsVersion","termsHTMLSubscription","TermsHTML","ipsosMoriVersionSubscription","GetGenericDocumentVersion","IpsosMori","IpsosMoriVersion","ipsosMoriHTMLSubscription","GetGenericDocument","IpsosMoriHTML","documentArray","n1","n2","GetReinstatementModel","getReinstatements","InteractionHasReinstated","GetExclusionIds","sendObject","interactionid","getBreachCompositeModel","console","log","AssociatedActorId","GetActorSettings","PostActorSetting","setting","GetReinstatementIds","GetInteractionIds","GetCrimeAlertIds","GetFireCheckIds","GetToiletCheckIds","GetCleaningCheckIds","GetMachinePayoutIds","GetMachineServiceVisitIds","GetStatutoryVisitIds","GetAgeVerificationIds","PostOrganisation","GetInteractionReferenceCompositeModel","GetUserOrganisationDataProtectionOfficer","orgSubscription","GetMySites","sites_ActorId","ExclusionDurationOptions","ExclusionDurationOption","DurationId","GetActorNamesCompositeModel","GetActorNamesCompositeModelByActorId","GetSettingsKeys","GetSettingsKeysForId","settingsKeyId","GetAPIUsage","GetExclusionBreachCount","GetExclusionCount","GetReinstatementCount","GetBreachIds","GetUserExclusionSummary","GetMySiteIds","GetSitesForId","GetSiteDetails","UpdateSite","GetNameDetailsForId","GetNameForNameId","GetCustomerAcknowledgement","acknowledgementVersion","documentName","version","organisations_actorid","GetOrganisationForActorId","GetExclusionSummaryVersion","GetExclusionSummary","exclusionId","GetEmployeeDetails","PostEmployeeDetails","employeeDetails","TestStatusCodes","GetPostalAddressForPostalAddressId","postalAddressId","GetContactPostalAddress","GetToken","GetExclusionSites","GetCommunicationContactTags","GetCommunicationContactsContactTags","PostCommuicationContactsContactTags","PostCommunicationAccountMessageCompositeModel","GetCommunicationDetailsForId","communicationId","GetUserLogin","CompareLoginCredentials","credentialsBrief","PostNewCredentials","credentials","UpsertTag","SearchTagByName","phrase","GetTagCollectionForSearchPhrase","tagColleciton","retired","adminlevel","primarysite","errorBorderColor","defaultBorderColor","AdminService","SetOrganisationFilter","ActiveOrganisationFilterId","PopulateSiteList","suspended","tags","SiteListToShow","SiteList","IsAdmin","siteName","SiteName","SortSiteListBySiteNameAscending","PopulateOrganisationList","organisationIds","OrganisationList","OrganisationName","FetchOrganisationFilterValues","OrganisationFilter","SortOrganisationFilter","AddOrganisationToFilter","organisationName","FilterOrganisationList","CheckUserIsAdmin","UserRoleId","PopulateUserList","userIds","UserList","UserListToShow","GetAllData","FilterUserList","SortSiteList","key","SiteListOrganisationNameAscended","SortSiteListByOrganisationNameDescending","SortSiteListByOrganisationNameAscending","SiteListSiteNameAscended","SortSiteListBySiteNameDescending","SortUserListByNameAscending","SortUserListByNameDescending","SaveActorPrimarySite","primarysiteid","UpdateElement","domId","validationResult","style","borderColor","CreateFirstSite","siteTags","Organisation_ActorId","ValidateSite","Postcode","replace","Country","PostalAddressClassId","EmployeeCollection","ContactIdCollection","Contactable","Line1","CreateFirstUser","userCredententials","Login","Hash","primarysitekey","SetCredentials","passwordConfirm","CheckPasswordStrength","alert","postCredentials","AddEmployee","CheckEmailAddress","postEmployeeSubscription","UpdateEmployee","ValidateEmployee","settingCollection","testStrength","test","CheckCredentials","Password","OrganisationRow","HeaderTranslation","SiteRow","newRow","el","actor","AdvancedSearchService","errsrv","SearchModel","domainIds","type","featureIds","display","properties","Properties","filter","domains","Domains","BackendValue","FrontendValue","ReinitializeSearchModel","SearchingFeatureId","SearchingDomainId","property","ShowEditNavigation","SearchTerms","Search","SearchedFeature","Features","SearchedDomain","SearchSetChainCollection","SearchSetChainLinkCollection","searchTermCollection","SearchTermCollection","SearchTerm","MetaData","QueryDatabase","SearchResult","MetaDataKeys","Object","keys","Domain","SetId","SearchSetChainId","NavigateToSearchPage","SearchRecordByClick","tableRow","GetUrl","KeyId","Exclusions_InteractionID","SearchRecordByAuxClick","window","keyid","SearchFilter","Property","Page","SearchId","Feature","SetId_Seed","Order","AdvancedSearchResult","HttpHeaders","environment","ApiService","_http","apiURL","creds","getPublicDocument","docname","get","_apiBaseURL","headers","getPublicDocumentVersion","postInteractionCompositeModel","interaction","_interaction","post","addBreach","Breach","getBreaches","getBreacheByBreachId","breachid","postViewBreachCompositeModel","breach","addReinstatement","reinstate","postViewReinstatementsCompositeModel","postViewExclusionCompositeModel","exclusion","_exclusion","postExtension","collectionID","postTagCollectionCompositeModelTags","tagCollectionId","TagCollectionId","getGenders","getUserOrgID","userID","getUserEmployeesList","orgID","postAgeVerification","ageVerificationModel","postCrimeAlert","crimeAlertModel","searchEquipment","searchModel","getSubscriptionModel","userIDs","postFireCheck","checkModel","postToiletCheck","postCleaningCheck","postMachinePayoutCheck","postMachineServiceCheck","postStatutoryVisit","getExclustionBreachCompositeModel","getStatutoryBodyList","getSecretKey","postSecretKey","data","getCheckToken","token","getExclusionsList","fields","EventEmitter","of","throwError","catchError","concatMap","delay","retryWhen","tap","timeout","DataService","http","onError","GetVersion","Endpoint","includes","getInitGallery","initGallery","setInitGallery","next","getMemwordError","memwordError","setMemwordError","SetMyUserID","GetUserSites","SetUserSites","SetUserSettings","actorSettings","GetUserTags","SetUserTags","userTags","ClearExclusionProgress","removeItem","GetNewExclusionProgressPage","SetNewExclusionProgressPage","page","RemoveUpdateExclusion","GetSelectedExclusion","SetSelectedExclusion","excluder","RemoveSelectedExclusion","GetSelectedExclusionId","SetSelectedExclusionId","RemoveSelectedExclusionId","SetUsername","firstName","surname","GetUsername","SetMyOrganisationBriefs","organisationBrief","title","GetMyOrganisationBriefs","AddToNameDirectory","directory","newEntry","NameId","GetNameDirectory","AddToActorIdToNameIdDirectory","actorsNames","GetActorIdToNameIdDirectory","SetToken","GetUserDocumentationVersions","SetUserDocumentationVersions","userDocumentation","ClearExclusionCache","SetAdminUserList","rows","GetAdminUserList","SetUser","user","ActorIdCollection","Token","GetHeader","uri","head","getAll","pipe","errors","count","status","ShowHttpOops","WipeTokens","location","href","model","postErrors","lastPostModel","Put","put","Delete","delete","getAddressId","postcode","addressFindEndpoint","lqtkey","getAddressList","getAddressDetails","addressRetrieveEndpoint","getGeocode","geocodeRetrieveEndpoint","Username","authToken","LogOut","IsLoggedIn","CreateInterval","ErrorhanderService","showPostObject","ClearError","showDataBaseCallback","message","split","join","messages","showOops","httpOops","scroll","body","overflow","ShowValidationOops","header","validationOops","HideOops","expiredOops","CatchError","functionName","componentName","function","parameters","CreateParameter","parameter","BreachStringBuilder","errorObject","AddExclusionStringBuilder","stringBuilder","ExclusionId","County","Line2","Line3","TownCity","Landline","CarReg","Employee_ActorId","ExclusionDurationOptionId","IdCheck","ReadTCs","Exclude_Bingo","Exclude_Casino","Exclude_BetShop","Exclude_Online","PlanExclude_Bingo","PlanExclude_Casino","PlanExclude_BetShop","PlanExclude_Online","Confirmed","Reinstate","Image_Excluder","EndDate","takeUntil","ExcluderGalleryService","dateMethods","GalleryEventsHandler","ActiveSiteFilterId","FirstLoad","Initialize","initRunning","GetExcluderCards","destroy","complete","ExcluderBriefs","ExcluderBriefsToShow","ExcluderBriefsCurrentlyVisible","ExcluderIdsToShow","CurrentPage","LoadingCards","GetExcuderDurationOptions","DurationOptions","GetExcluders","GetActiveExcluderIds","ViewActiveExcluders","SortByDateAscending","LoadPage","MaximumPageCount","ceil","ActorRole","reinstatementItems","reinstatementItemstoShow","galleryLoading","brief","returnBrief","returnBriefs","Extensions","PeriodDays","_reinstatementDate","_now","_dateDiff","firstItem","lastItem","currentItem","NextPage","PreviousPage","unshift","SortByDateDescending","SortByNameAscending","SortByNameDescending","ExcluderEndDate","Colors","ExcluderViewService","CanReinstate","EligibleToReinstate","ShowLoadingSpinner","ShowCard","ShowButtons","UserIsAdmin","sitesLoaded","siteNameCollectionLoaded","adminLoaded","LoadExclusion","GetCurrentExcluderImage","ExclusionSiteName","GetSitesUsingRadius","UpdateExcluderDetailsClick","ExtendClick","CurrentForm","AppExtend","RecordBreachClick","AppRecordBreach","ReinstateClick","AppReinstate","MoreInfoClick","AppHTML","UpdateExclusionDetailsClick","AppUpdateExclusion","ShowMainView","reload","AppNone","EnableDisableFormControls","exclusionSessionStorage","tagIdChecked","tagReadTermsAndConditions","marketing","thirdPartyContactable","ExcluderService","customerDetail","customerAddress","excluderExclusion","exclusionZone","customerPhoto","termsAndConditions","exclusionDeclaration","exclusionConfirmed","PostalAddressPopulated","_postalAddressPopulated","ExclusionRadius","StartNewExclusion","ReInitiateExclusion","ShutDownExclusion","StoreExcluderBrief","excluderBrief","Image","LoadExclusionFromDatabase","SaveExclusion","PostViewExclusionCompositeModel","EnableButton","InitiateExtensionForm","ExtensionControllers","SaveExtension","mediaModel","viewMediaModel","newDate","GetCurrentExcluderEndDate","monitorPeriod","_datemethods","monitoringPeriod","extension","renavigate","PostExtension","ExtensionExists","SiteCollectionIdCollection","SaveBreach","BreachExists","GetRecentBreach","returnBreach","recentBreach","currentBreach","StartReinstatement","ReinstatementControllers","ReinstatementSave","SaveReinstatement","AddSitesWithinOneKilometer","UpdateSitesWithinRadius","ValidatePage","_errors","_pages","ValidateCustomerDetail","ValidateCustomerAddress","ValidateExclusionInfo","ValidateExclusionZone","ValidateCustomerPhoto","ValidateTermsAndConditions","ExclusionDeclaration","ShowError","sitename","tagid","biologicalModel","ValidatedInput","StringHasNumber","valueOf","fromExclusionJourney","TermsAndConditions","AddTagToExclusion","ReinstateTerms","AgreeToThirdPartyContact","OptOutPromo","IdChecked","ReinstatementExists","disabled","cursor","DisableButton","msg","SetExcluderEndDate","periodInMonths","GetEndDateForStartDate","RemoveTagFromExclusion","Observable","fromEvent","merge","timer","Subscription","InactivityService","_ds","_router","_gsrv","currentDate","getHours","getMinutes","startMonitor","idleSubscription$","idle$","isInactive","stopMonitor","startModalTimer","modal$","modalTimerX","modalTimerY","n","resetModalTimer","warn","kickUser","stopModalTimer","dataLoaded","userKicked","startTimer","timer$","timerX","timerY","refreshToken","resetTimer","checkToken","_postData","results","stopTimer","startHeartbeat","heartbeat$","stopHeartbeat","getNewKey","secretKeyMap","memwordChar1","memwordChar2","memwordChar3","_secretKey","SecretKeyCharacterCollection","Position","char","_token","killSubscriptions","iconStart","iconEnd","InteractionGalleryService","GetInteractionCards","Initializing","CustomerInteractionBriefs","CustomerInteractionBriefsToShow","CustomerInteractionBriefsCurrentlyVisible","CustomerInteractionIdsToShow","GetCustomerInteractions","SetIconImagesToShow","GetActiveInteractionIds","GetIncompleteInteractionIds","FilterGallery","SortGallery","LoadingInteractions","ViewActiveInteractions","ArchivedInteraction","IncompleteInteraction","interactionSubscription","interactionBrief","mediaIds","Media","j","Filter","ResetPageAndReload","InteractionActionBanned","GetArchivedInteractionGallery","InteractionActionTimeOut","GetIncompleteInteractionGallery","GetReinstatedSelfExcludersGallery","GetReviewDueGallery","ReinstatedExcluder","databaseBriefs","customerBrief","PlaceTimeOutFirst","aNicknameUsed","bNicknameUsed","aCompare","bCompare","CustomerInteractionEndDate","CustomerInteraction","ButtonActive","backgroundColor","borderRadius","ButtonInactive","LightBlue","BehaviorSubject","redalert","yellowalert","greenalert","greyalert","InteractionService","domid","width","AgeId","Age","HairstyleId","Hairstyle","EthnicityId","Ethnicity","HairColourId","HairColour","HeightId","Height","BuildId","Build","_databaseCalls","DatabaseCalls","StartNewInteraction","Interaction","ReadPrivacyNotice","SetInteractionUIDate","PersonCompletingForm","SaveProgress","stage","stageReason","stagePrivacyNotice","stageAction","stageCustomerDetails","whiteSpaceImage","stageIdentification","prompt","stageDescription","stageReview","stageConfirmation","incomplete","Save","updateTraits","HasIconImage","traits","TraitClassKeyId","HairColourOptions","HairstyleOptions","AgeOptions","HeightOptions","BuildOptions","EthnicityOptions","BiologicalActorTraitModelCollection","RemoveIncompleteTag","setSaveInteraction","saveInteraction","getSaveInteraction","CancelReview","archived","MediaModelImage","Load","GetHistoricInteractionIds","LoadViewModel","ViewDataLoading","LoadHistoricInteraction","LoadInteraction","GetInteractionDetails","ReferenceCollection","HistoricIds","StartReview","Review","reviewMediaCollection","SaveReview","PostReviewCompositeModel","GetInteractionReview","GetReviewCompositeModel","_interactionUIDate","GetInteractionUIDate","GetActorsDataProtectionOfficer","ActorsDataProtectionOfficer","AddItemToTagCollection","RemoveItemFromTagCollection","HasFruitImage","SystemIconImageList","GetIconNameForInteractionImage","HasAction","interactionActionBanned","interactionActionIssuedPlayDiary","ReviewHasAction","GetReasonsString","reasonsString","reasonStrings","interactionReasonTime","interactionReasonSpend","interactionReasonBehaviour","interactionReasonMachineAlert","interactionReasonVulnerability","interactionReasonWishToExclude","numberOfReasons","counter","GetActionsString","actionsString","actionStrings","interactionActionTakeABreak","interactionActionImposeTimeLimits","interactionActionImposeSpendLimits","interactionActionChangeCategory","interactionActionMonitorBehaviour","interactionActionSignpostToGamcare","interactionActionStayInControlLeaflet","interactionActionGambleManagementApp","numberOfActions","AddBoxShadowToSelectedElement","_previousEvent","border","boxShadow","margin","currentTarget","_currentSelectedIconId","SaveImage","img","currentMedia","GetInteractionColor","Grey","CyanBlue","diffDaysStart","_dateMethods","daysUntilReview","Red","Yellow","Green","reviewModel","MessagingService","AvailableOrganisations","_getMessagesPostObject","TagFilters","AllCommunicationUserIds","AllowCompose","SetStartDateFilter","SetEndDateFilter","SetLimitFilter","SetOffsetFilter","GetUnreadMessages","unreadmessage","GetMessageObject","GetImportantMessage","importantmessage","GetAllMessages","TableDataLoaded","ReadMessage","communicationRow","ComposeMode","SelectedComposer","ParseXML","SelectedBody","accountMessage","SelectedSubject","CommunicationMethodKeyId","postCommuicationContactsContactTags","ShowMessage","xml","parseString","require","ComposeNewMessage","SelectedRecipients","SendMessage","UpdateOrganisationFilter","OrganisationIdFilter","AvailableContacts","UpdateTagFilters","OrganisationService","GetSite","SiteActorID","GetMotorWayServices","GetSitesOnMotorWay","collectionId","PostcodeanywhereService","Location","errorHandler","route","state","tokenSubscription","TagService","Init","allowNewTags","tagIdCollection","AllowNewTags","LoadTagCollection","TagsLoaded","SetSearchMode","searchMode","SearchMode","TagBuilder","AddTagToCollection","CreateTag","RemoveTagFromCollection","tagIdToRemove","rowToRemove","CheckIfTagExistsForPhrase","lookupPhrase","returnTags","TagLookup","organisationlookupkey","TagNameParameters","OrganisationTagNameCollection","sitelookupkey","SiteTagNameCollection","userlookupkey","GetTagByName","subsription","LoadTagDetails","GetTag","intercept","request","_isAuthReq","url","clone","setHeaders","Authorization","handle","adminsrv","dataSpinner","decls","vars","consts","template","creationOrganisation","creationSite","creationUser","creationCredentials","primarycontact","dataprotectionofficer","headquarters","organisationDetailsChange","emit","siteInactive","organisationCreateMode","ToggleCreationMode","organisationActive","GetSitesForOrganisationId","GetEmployeesForOrganisationId","creationStep","EmployeeIdCollection","showSpinner","sitesInOrganisation","GetSiteMap","Site_ActorId","usersInOrganisation","GetEmployeeMap","item","userSite","Headquarters","headquartersExists","UserRow","PrimaryContact","primaryContactExists","DataProtectionOfficer","dataProtectionOfficerExists","CheckSite","siteBrief","SetSiteAsOrganisationHeadquarters","RemoveSiteAsOrganisationHeadquarters","previousid","SetUpSettingCollectionObject","CheckUser","SetUserAsPrimaryContact","RemoveUserAsPrimaryContact","CheckDataProtectionOfficer","SetUserAsDataProtectionOfficer","RemoveUserAsDataProtectionOfficer","CloseUserForm","showEmployeeData","CloseSiteForm","SubmitNewOrganisation","showPushSpinner","UpdateOrganisation","GoNext","showCredentials","CloseEditForm","SuspendOrganisation","ReinstateOrganisation","GoBack","CloseForm","outputs","DataModel","dataModel","dataModelChange","SetDataObject","ShowEditOrganisationOnly","FilterOrganisations","showSuspended","objectKeys","tableKeys","showSendingSpinner","showOrganisationData","Organisations_Name","ShowOrganisation","AddNewRecord","viewQuery","debounceTime","distinctUntilChanged","tsrv","postcodeAnywhere","postCodeControl","AddressLookup","allowUnsubscribe","isMotorwayService","Items","addressPopulated","SetDefaultValues","addingNewSite","ngOnDestroy","getAddressIdSubscription","getAddressListSubscription","loadingAddressList","res2","addresses","postCodeSearchIsValid","PopulateAddress","currentAddressId","City","Province","AddNewTag","showSiteData","GoForward","SuspendSite","edited","ReinstateSite","e","SetMotorwayService","searchControl","SearchSites","searchPhrase","toUpperCase","siteSearchPhrase","ShowSite","disableTable","siteDetails","employees","forename","secretkey","NotAllSitesSelected","WorksHere","SearchEnabled","ShowCredentials","showCredentialsChange","tagFilters","addEvent","checkWord","ev","_memWord","_strengthCountArr","_lowercase","RegExp","_uppercase","_numbers","_length","strength","Boolean","honorifics","genders","receiveNotifications","userActive","showSiteSelect","creatingNewRecord","ActiveCredentials","sitesToDisplay","primarySiteId","primarySiteExists","SelectAllSites","RemoveAllSites","searchPhase","toLowerCase","SuspendUser","ReinstateUser","params","LoadEmployeeFromUID","ShowEmployee","_uid","userLoginSubscription","ShowEmployeeDetails","canview","titleService","setTitle","NavigationEnd","assrv","_snackBar","openToast","toastRef","duration","events","dobDate","dobDateModel","ageDate","ageDateModel","showedIDCheck","wasChecked","checkedIDTrue","checkedIDFalse","wasAskedToLeave","transactions","getDetailsOfChallengeList","getIDTypeList","getGenderList","getTransactionsList","getEmployeeList","userSettingsLoaded","actorCompositeModelLoaded","_dataready","currentTime","nextCheckForMessage","nextCheckTime","displayFeatures","displayAddNewExcluder","ClearNewExclusionCache","color","DarkBlue","Beige","DarkPurple","innerHeight","mainWindowHeight","setTime","usingLoggedInName","employeeListLoading","_userID","loggedInUserID","_orgID","_employeeIDs","employeeResults","element","Employees_ActorId","employeeList","loggedInName","challengeListLoading","detailsOfChallengeList","setChallengeType","idTypeListLoading","idTypeList","setIDType","genderListLoading","genderList","setGender","askedToLeave","transactionsList","setTransactions","saveAgeVerification","ageTime","utc","_recordedDate","siteID","isSaving","_tagIDCollection","idType","challengeType","employeeId","gender","notes","isSavedSuccess","isError","setTimeout","errorMsg","closeNotification","unreadMessages","unreadMessageCount","ngOnChanges","ToggleFeatureMenu","MenuSelectionMade","onActivate","componentRef","HideDropDowns","dropDownIsShowing","DropDownToggle","nativeElement","click","exclusionDropDownIsShowing","ExclusionDropDownToggle","reportingDropDownIsShowing","ReportingDropDownToggle","adminDropDownIsShowing","AdminDropDownToggle","messagingDropDownIsShowing","MessagingDropDownToggle","advancedSearchIsShowing","AdvancedSearchToggle","adminToolsDropDownIsShowing","AdminToolsDropDownToggle","DropDownClicked","ExclusionDropDownClicked","ReportingDropDownClicked","AdminDropDownClicked","MessagingDropDownClicked","AdministrationToolsDropDownClicked","navigateToFeatureCollection","HideOverlayMenu","NavigateToGallery","CreateNewExclusion","NavigateToReportsBuilder","NavigateToUserAdmin","NavigateToSiteAdmin","NavigateToOrganisationAdmin","NavigateToMessaging","logOutSubscription","AdvancedSearchClicked","PrintSearchQuery","NewSearch","ReloadDropDownControllers","UnlockAllButtons","evsrv","gsrv","_interactionID","snapshot","breachNotes","BreachedDateTime","actorData","dataProcessed","checkDateModel","getTagCollection","collection","checkItem","checkOKTrue","checkOKFalse","saveCheck","checkTime","getEventAlertList","getLiveCrimeAlerts","dateStart","subtract","dateEnd","dateRange","searchObject","SubscriptionsOpened","isLoadingAlerts","openAlert","selectedAlert","isLoadingAlertItem","showAlertItemModal","alertItem","suspects","IA","hairColour","age","height","bio","closeAlertItem","ngAfterViewInit","equipmentSearch","target","showSearchResults","textSearch","isSearching","_searchModel","OrganisationIdSearchCollection","OrganisationTagIdLookupOperatorSearchCollection","OrganisationTagIdCollection","SiteIdSearchCollection","SiteTagIdLookupOperatorSearchCollection","SiteTagIdCollection","TagIdLookupOperatorSearchCollection","TagIdSearchCollection","searchResults","searchTagCollection","tagItem","selected","showLiveAlerts","showLiveAlertModal","closeLiveAlerts","addNewTag","isSavingTag","_newTag","selectSearchTag","addAtLeastOne","nextStage","missingFields","alertDate","alertTime","eventTypeID","policeCalledFalse","policeCalledTrue","isMissingFields","deleteSuspect","ind","suspectList","deleteVehicle","vehicleList","_indexOfTag","findIndex","removeTag","closeSearchResults","addSuspect","genderId","addVehicle","vehicleReg","eventTypeList","wasCalled","wasPoliceCalled","alertDateModel","saveCrimeAlert","_siteID","_suspects","_vehicles","suspect","isValid","hairTraitModel","ageTraitModel","heightTraitModel","vehicle","VehicleProperties","VehiclePropertyKeyId","_crimeAlertModel","interactionChange","showImageSpinner","showIconImage","mediaId","interactionImage","GetInteractionColour","reinstatedSelfExcluder","MagentaPink","InteractionOnTimeOut","ReinstatedSelfExcluder","ViewInteraction","FromReportBuilder","fromReportBuilder","fromReportBuilderChange","filterOptions","CreateNewCustomerInteraction","LoadSecondaryData","showPage","myOrganisationsSubscription","orgs","organisations","privacyPolicyHTML","SaveCustomerInteraction","MediaIsValid","DetailsAreValid","NoActionTaken","StartSelfExclusion","SaveCustomerInteractionState","showSaveStateSpinner","imgString","NameIsValid","ShowHideForwardArrow","showForwardArrow","ShowSaveProgressButton","ShowDefaultApp","ReturnToActionPage","Reasons","Actions","interactions","GetStartDate","ShowInteraction","SetLoadingData","ReloadMainApp","CallCloseForm","DisableRow","loadViewModel","_justCancelled","isArchived","CheckLocks","InteractionIncomplete","showDefaultButtons","_review","reviewDate","_reviewDate","add","_today","lockReview","lockCancelReview","CompleteInteraction","viewForm","appViewInteraction","showFooter","ShowReview","ReviewPageVisited","chkGambling","chkPattern","chkBehaviour","appReview","ShowReinstateSEReview","appReinstateSEReview","ShowCancelReview","ShowUploadCCTV","ShowUpdateDetails","appUpdateDetails","dataHasLoaded","ReloadAndShowMainApp","ShowMoreInfo","appMoreInfo","showAction","_route","_docID","_docVersion","reverse","documentNotFound","styles","osrv","motorWayServicesSubscription","motorWayCollection","ImageTaken","ImageDiscarded","bluealert","GetExcluder","ExclusionExists","exclusionLoaded","GetExcluderImage","ExclusionImageExists","SetExcluderImage","excluderImage","exclusionImageLoaded","UpdateDetails","PreventProcess","GetBackgroundColor","diffDaysEnd","Excluder","excluderChange","GetExcluderColour","ExcluderIsCoolingOff","Blue","GetExtensionInMonths","ExcluderRecentlyBreached","ViewExcluder","ex","_is","galleryInit$","init","CreateExcluder","SortOnChange","newStartDateString","loadingSiteDropDown","loadingEmployeeDropDown","periodMovePrevious","selectedDurationIndex","periodMoveNext","durationPeriods","ValidateAndSendData","showPhotoApp","ClosePhotoApp","exclusionSites","actorName","updateElement","RequiresValidation","catch","inputReference","referenceProvidedIsValid","showReferenceValidation","CloseReferenceValidation","Sites","sitesChange","radiusControl","GetSiteList","originalRadius","GetExclusionSiteInfo","mainSite","GetExclusionSitePostCode","exclusionSitePostcode","GetGoogleMap","SiteMarkers","searchType","ShowSitesWithinCircleRadius","LoadInitialPolygon","SetDefaultZoom","mapElement","jsPDF","getSubscriptions","sub","SubscriptionCompositeModelCollection","_activeSubs","ServiceCatalogueCompositeModelCollection","ServiceCompositeModelCollection","ageVericationActive","crimeAlertActive","exclusionsActive","interactionsActive","toolkitActive","LinkToExclusions","onSelection","LinkToCustomerInteraction","OpenCompliance","OpenTraining","OpenUserGuide","LinkToMaintenance","sender","openToolkit","openAgeVerify","openCrimeAlert","fireItemList","itemListLoading","fireItem","GetResetLink","Html","FixPage","html","htmlChange","AdditionalHTML","additionalHTML","additionalHTMLChange","innerHTML","DOMElement","HTML","bactaLink","querySelectorAll","link","getAttribute","addEventListener","CallSummaryOfPrivacyPolicy","bind","CallSummaryOfTerms","CallPrivacyPolicy","CallTerms","mediaChange","blankInteractionImageTaken","blankInteractionImageTakenRotated","blankExclusionImageTaken","LaunchLiveCapture","navigator","userAgent","substr","ShowLiveView","onFileSelected","files","selectedFile","reader","FileReader","PhotoTaken","onloadend","RenderPhoto","orginalOrientation","ResizeImage","ResetOrientation","readAsDataURL","showHideCameraButtons","UpdateMediaModel","showExcluderPreview","getExcluderImage","hidden","Accept","Close","NoImageTaken","CloseLiveView","blankImages","RotateRight","DrawRotated","RotateLeft","file","srcBase64","onload","view","DataView","getUint16","byteLength","getUint32","little","readAsArrayBuffer","canvas","context","getContext","maxW","maxH","iw","ih","scale","min","iwScaled","ihScaled","drawImage","toDataURL","originalOrientation","degrees","rotateImage","translate","rotate","PI","renderer","video","facingMode","ideal","StartCamera","mediaDevices","getUserMedia","constraints","AttachVideo","HandleError","stream","setProperty","videoElement","listen","videoHeight","videoWidth","Capture","drawingImage","mediaModelChange","photoExists","captureBtn","showVideo","mediaToUpdate","chkGamblingTrue","chkGamblingFalse","chkBehaviourTrue","chkBehaviourFalse","chkPatternTrue","chkPatternFalse","GamblingToolUsed","bool","PositiveBehaviourChange","PatternOfGamblingChanged","objectChange","FormName","formName","formNameChange","postcodeInput","PostalCode","Honorific","honorificsChange","Gender","gendersChange","birthDateString","updateExclsionBirthDate","Confirm","mailFormat","match","ShowEmailApp","updateExclusionStart","exclusionDate","breached","showBreachSite","image","durationDate","cardOuter","background","GetEndDateString","FormMessage","formMessage","formMessageChange","s","siteCollecitonComplete","summaryComplete","_siteDetails","EnablePrint","exclusionSummaryVersionSubscription","exclusionSummary","exclusionSummaryVersion","exclusionSummaryHTMLSubscription","exclusionSummaryHTML","DisablePrint","PrintExclusionTsAndCs","doc","specialElementHandlers","imgHeight","clientHeight","imgWidth","clientWidth","fromHTML","addImage","pdfHTML","pdf","output","pdfWindow","save","printEnabled","UpdateButtonProperties","btnPrint","btnPrintMobile","showEmail","DisableButtonProcessExclusion","EnableButtonProcessExclusion","ShowTerms","ShowHideTermsApp","CallValidateExclusion","emailVerification","ValidateExclusion","btnProcess","IdDocTypes","idDocTypes","idDocTypesChange","showHideTerms","MotorWayCollection","motorWayCollectionChange","showSiteListOnClick","showSiteList","showMotorwayServicesOnClick","showMotorwayServices","actorCompositeModel","MotorwayService","loadingOrganisationDropDown","showExtraInfo","showBactaTelephone","outlineStart","maxOutlines","ShowIcons","showIcons","showIconsChange","iconIdsAvailable","iconIds","SelectImage","allowCSS","IconId","iconId","iconIdChange","AllowCSS","allowCSSChange","ActionBanned","ActionIssuedPlayDiary","chkBarred","ActionTakeABreak","chkTakeABreak","ActionImposeTimeLimits","chkTimeLimits","ActionImposeSpendLimits","chkSpendLimits","ActionChangeCategory","chkChangeCategory","ActionMonitorBehaviour","chkMonitor","ActionSignpostToGamcare","chkGamcare","ActionStayInControlLeaflet","chkStayInControlLeaflet","ActionGambleManagementApp","chkGambleManagementApp","chkIssuedPlayDiary","ActionTimeOut","chkTimeOut","CheckboxClick","checkvalue","checked","HideToolTip","ToggleToolTip","tooltipToggled","ttp","visibility","FormEditable","formEditable","formEditableChange","interactionType","showReason","outlineEnd","isOutline","raceInfo","hairstyleInfo","hairColourInfo","ageRangeInfo","heightRangeInfo","bodyTypeInfo","contentToDisplay","readonlyContent","ContentClick","CloseUpdateContent","showUpdateContent","blurContentValue","calledFromCloseUpdateContent","cardContent","UpdateCustomerDetails","editHonorificId","editGenderId","editForename","editSurname","editAlias","editCustomerDetails","DiscardChanges","SaveInteraction","ImageClick","CloseUpdateImage","showUpdateImage","blurImageValue","cardThumb","LiveCapture","showLiveView","EthnicityClick","showEthnicityInfo","lastControlClicked","HideVariables","allowLiveCapture","showImage","ShowMainApp","showApp","CallShowHideForwardArrow","ImageTakenWithApp","PickIcon","PickOutline","privacyPolicyHTMLChange","ShowPrivacyPolicy","showHideInfo","InteractionCustomerLed","ChangeObservation","staffObserved","staffObservationTrue","staffObservationFalse","tooltip","listItems","currentTooltip","ttpDesktop","ttpMobile","visibilty","IsReview","isReview","isReviewChange","ReviewPeriodId","ReviewPeriodInWeeks","ReviewPeriodInDays","reviewRequired","isUser","userList","setReviewDuration","amountOfWeeks","ReviewPeriodOptions","DisableButtonSaveInteraction","AddReviewToInteraction","AddArchiveTagToInteraction","ProcessStage","EnableButtonSaveInteraction","btnSave","Motorway","motorway","motorwayChange","CloseInspect","displayMotorWayCollection","SearchTable","startsWith","AddMotorwayToExclusion","pushSite","LoadedFromMotorwayServices","AddedToExclusion","RemoveMotorwayFromExclusion","remainingSites","showMotorwaySites","inspectMotorway","ShowSpinner","showSpinnerChange","valueChange","idChange","GetTagStyle","RemoveMe","rnd","allowNewTagsChange","LookupOperator","lookupOperator","lookupOperatorChange","tagLookUpController","userSearchPhrase","userSelectedTag","EnableAddTag","loadedTags","loadingTagList","DisablePushTag","AddTag","RemoveTag","btnPushTag","insertTag","EnableInsertTag","ShowForwardArrow","showForwardArrowChange","showFull","ShowIpsosMori","login","showFailedLogin","forgottenPassword","getMachineIssuesList","machineIssueListLoading","machineIssue","amount","customerFirstname","customerSurname","machineNumber","getMachineResolutionList","machineResolutionListLoading","machineResolutionList","machineResolution","engineerFirstname","engineerSurname","showModal","clearErrors","showMissingError","_memwordFields","Character","close","cancel","msrv","ChangeFilter","selectedFilter","CloseCompose","Communication","communicationChange","Composing","composing","composingChange","CallCloseCompose","AddSendTo","PushBiologicalNameToList","selectedActor","AddEveryoneToSendTo","SendingToEveryone","BackspaceUp","newSendTo","sendToNames","search","sendTo","lastPostObject","nothing","photoGalleryReport","customerListReport","breachesReport","reinstatementsReport","userListReport","userAPIReport","organisationSiteReport","interactionListReport","ageVerificationListReport","crimeAlertListReport","fireCheckListReport","toiletCheckListReport","cleaningCheckListReport","machinePayoutListReport","machineServiceVisitListReport","statutoryVisitListReport","Report","report","FetchReportControlRequirements","reportChange","FetchData","showData","dateRequired","dateFrom","dateTo","reportName","PrepareCustomerListReport","PrepareBreachListReport","PrepareReinstatementListReport","PrepareUserAPIUsageReport","PrepareOrganisationSitesReport","PrepareInteractionListReport","PrepareAgeVerificationListReport","PrepareCrimeAlertListReport","PrepareFireCheckListReport","PrepareToiletCheckListReport","PrepareCleaningCheckListReport","PrepareMachinePayoutListReport","PrepareMachineServiceVisitListReport","PrepareStatutoryVisitListReport","dataReturned","PrepareUserListReport","getDataWithoutFurtherInput","tagRequired","additionalInfoRequired","chartRequired","tableRequired","radioGroupRequired","getExclusionDurationOptionsSubscription","durationOptions","CheckAllExclusionsLoaded","exclusionImageReportBrief","imageLoaded","breachesLoaded","exclusionImageCounter","exclusions","imagesLoadedCounter","exclusionCounter","GetExcluderExtension","reinstatements","breaches","getAdvancedFilter","advancedFilter","AdvancedFilter","PrintPDF","imagecounter","imageStart","imagex","imagey","nameStep","refStep","dateStep","iconYStep","iconXStep","imagexStep","imageyStep","GetInterface","ExcluderGalleryReport","GetData","numberOfPages","setPage","CustomerImage","InteractionName","HasBreached","HasReinstated","HasExtended","ExtendedMonths","addPage","exclusionImageReport","TagSearchType","setDate","searchAll","searchOrganisation","searchSite","ProfilesToLoad","ProfilesLoaded","aEnd","bEnd","exclusionBrief","ReportName","reportNameChange","csvObject","csvObjectKeys","innerWidth","maxWindowWidth","table","scrollWidth","showRightIndicator","ConvertToCSV","str","ConvertToPDF","orientation","rowsObject","rowObject","autoTable","ExportToExcel","csvData","setAttribute","blob","Blob","URL","createObjectURL","download","TableScrollEvent","scrollLeft","showLeftIndicator","scrollWidthMax","isAdmin","passwordResetToken","SetPassword","getStatutoryList","statutoryListLoading","_actors","orgList","officerFirstname","officerSurname","production","enableProdMode","__NgCli_bootstrap_1","bootstrapModule"],"sourceRoot":"webpack:///","x_google_ignoreList":[301]}