{"version":3,"sources":["./node_modules/moment/locale sync ^\\.\\/.*$","./src/app/app.component.html","./src/app/cancelpayment/cancelpayment.component.html","./src/app/components/footer/footer.component.html","./src/app/components/navbar/navbar.component.html","./src/app/components/sidebar/sidebar.component.html","./src/app/dashboard/dashboard.component.html","./src/app/layouts/admin-layout/admin-layout.component.html","./src/app/layouts/landing-auth-user/landing-auth-user.component.html","./src/app/layouts/login-user/login-user.component.html","./src/app/motorpaymentinvoice/motorpaymentinvoice.component.html","./src/app/motorquote/motorquote.component.html","./src/app/ocrmain/ocrmain.component.html","./src/app/ocrmain/withocr/withocr.component.html","./src/app/ocrmain/withoutocr/withoutocr.component.html","./src/app/thankyou/thankyou.component.html","./src/app/userregistration/userregistration.component.html","./src/app/winner/winner.component.html","./src/$_lazy_route_resource lazy namespace object","./src/app/_service/auth.guard.ts","./src/app/_service/compressimage.service.ts","./src/app/_service/global.service.ts","./src/app/_service/issuepolicy.service.ts","./src/app/_service/jwt.service.ts","./src/app/_service/motorquote.service.ts","./src/app/_service/userauth.service.ts","./src/app/app.component.css","./src/app/app.component.ts","./src/app/app.module.ts","./src/app/app.routing.ts","./src/app/cancelpayment/cancelpayment.component.scss","./src/app/cancelpayment/cancelpayment.component.ts","./src/app/components/components.module.ts","./src/app/components/footer/footer.component.css","./src/app/components/footer/footer.component.ts","./src/app/components/navbar/navbar.component.css","./src/app/components/navbar/navbar.component.ts","./src/app/components/sidebar/sidebar.component.css","./src/app/components/sidebar/sidebar.component.ts","./src/app/config.ts","./src/app/dashboard/dashboard.component.css","./src/app/dashboard/dashboard.component.ts","./src/app/layouts/admin-layout/admin-layout.component.scss","./src/app/layouts/admin-layout/admin-layout.component.ts","./src/app/layouts/landing-auth-user/landing-auth-user.component.scss","./src/app/layouts/landing-auth-user/landing-auth-user.component.ts","./src/app/layouts/login-user/login-user.component.scss","./src/app/layouts/login-user/login-user.component.ts","./src/app/materialui/materialui.module.ts","./src/app/motorpaymentinvoice/motorpaymentinvoice.component.scss","./src/app/motorpaymentinvoice/motorpaymentinvoice.component.ts","./src/app/motorquote/date.adapter.ts","./src/app/motorquote/motorquote.component.scss","./src/app/motorquote/motorquote.component.ts","./src/app/ocrmain/ocrmain-routing.module.ts","./src/app/ocrmain/ocrmain.component.scss","./src/app/ocrmain/ocrmain.component.ts","./src/app/ocrmain/ocrmain.module.ts","./src/app/ocrmain/withocr/withocr.component.scss","./src/app/ocrmain/withocr/withocr.component.ts","./src/app/ocrmain/withoutocr/withoutocr.component.scss","./src/app/ocrmain/withoutocr/withoutocr.component.ts","./src/app/thankyou/thankyou.component.scss","./src/app/thankyou/thankyou.component.ts","./src/app/userregistration/userregistration.component.scss","./src/app/userregistration/userregistration.component.ts","./src/app/winner/winner.component.scss","./src/app/winner/winner.component.ts","./src/environments/environment.ts","./src/main.ts"],"names":[],"mappings":";;;;;;;;;AAAA;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;A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EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;YAChC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;YAChC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;YAChC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;YAChC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;YAChC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;YAChC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;YAChC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;YAChC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;YAChC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;YAChC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;YAChC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;YAChC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;YAChC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;YAChC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;YAChC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;YAChC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;YAChC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;YAChC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;YAChC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;YAChC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;YAChC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;YAChC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;YAChC,EAAE,KAAK,EAAE,MAAM,EAAE,KA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","file":"main.js","sourcesContent":["var map = {\n\t\"./af\": \"./node_modules/moment/locale/af.js\",\n\t\"./af.js\": \"./node_modules/moment/locale/af.js\",\n\t\"./ar\": \"./node_modules/moment/locale/ar.js\",\n\t\"./ar-dz\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-dz.js\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-kw\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-kw.js\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-ly\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ly.js\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ma\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-ma.js\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-sa\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-sa.js\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-tn\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar-tn.js\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar.js\": \"./node_modules/moment/locale/ar.js\",\n\t\"./az\": \"./node_modules/moment/locale/az.js\",\n\t\"./az.js\": \"./node_modules/moment/locale/az.js\",\n\t\"./be\": \"./node_modules/moment/locale/be.js\",\n\t\"./be.js\": \"./node_modules/moment/locale/be.js\",\n\t\"./bg\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bg.js\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bm\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bm.js\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bn\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bn.js\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bo\": \"./node_modules/moment/locale/bo.js\",\n\t\"./bo.js\": \"./node_modules/moment/locale/bo.js\",\n\t\"./br\": \"./node_modules/moment/locale/br.js\",\n\t\"./br.js\": \"./node_modules/moment/locale/br.js\",\n\t\"./bs\": \"./node_modules/moment/locale/bs.js\",\n\t\"./bs.js\": \"./node_modules/moment/locale/bs.js\",\n\t\"./ca\": \"./node_modules/moment/locale/ca.js\",\n\t\"./ca.js\": \"./node_modules/moment/locale/ca.js\",\n\t\"./cs\": \"./node_modules/moment/locale/cs.js\",\n\t\"./cs.js\": \"./node_modules/moment/locale/cs.js\",\n\t\"./cv\": \"./node_modules/moment/locale/cv.js\",\n\t\"./cv.js\": \"./node_modules/moment/locale/cv.js\",\n\t\"./cy\": \"./node_modules/moment/locale/cy.js\",\n\t\"./cy.js\": \"./node_modules/moment/locale/cy.js\",\n\t\"./da\": \"./node_modules/moment/locale/da.js\",\n\t\"./da.js\": \"./node_modules/moment/locale/da.js\",\n\t\"./de\": \"./node_modules/moment/locale/de.js\",\n\t\"./de-at\": \"./node_modules/moment/locale/de-at.js\",\n\t\"./de-at.js\": \"./node_modules/moment/locale/de-at.js\",\n\t\"./de-ch\": \"./node_modules/moment/locale/de-ch.js\",\n\t\"./de-ch.js\": \"./node_modules/moment/locale/de-ch.js\",\n\t\"./de.js\": \"./node_modules/moment/locale/de.js\",\n\t\"./dv\": \"./node_modules/moment/locale/dv.js\",\n\t\"./dv.js\": \"./node_modules/moment/locale/dv.js\",\n\t\"./el\": \"./node_modules/moment/locale/el.js\",\n\t\"./el.js\": \"./node_modules/moment/locale/el.js\",\n\t\"./en-SG\": \"./node_modules/moment/locale/en-SG.js\",\n\t\"./en-SG.js\": \"./node_modules/moment/locale/en-SG.js\",\n\t\"./en-au\": \"./node_modules/moment/locale/en-au.js\",\n\t\"./en-au.js\": \"./node_modules/moment/locale/en-au.js\",\n\t\"./en-ca\": \"./node_modules/moment/locale/en-ca.js\",\n\t\"./en-ca.js\": \"./node_modules/moment/locale/en-ca.js\",\n\t\"./en-gb\": \"./node_modules/moment/locale/en-gb.js\",\n\t\"./en-gb.js\": \"./node_modules/moment/locale/en-gb.js\",\n\t\"./en-ie\": \"./node_modules/moment/locale/en-ie.js\",\n\t\"./en-ie.js\": \"./node_modules/moment/locale/en-ie.js\",\n\t\"./en-il\": \"./node_modules/moment/locale/en-il.js\",\n\t\"./en-il.js\": \"./node_modules/moment/locale/en-il.js\",\n\t\"./en-nz\": \"./node_modules/moment/locale/en-nz.js\",\n\t\"./en-nz.js\": \"./node_modules/moment/locale/en-nz.js\",\n\t\"./eo\": \"./node_modules/moment/locale/eo.js\",\n\t\"./eo.js\": \"./node_modules/moment/locale/eo.js\",\n\t\"./es\": \"./node_modules/moment/locale/es.js\",\n\t\"./es-do\": \"./node_modules/moment/locale/es-do.js\",\n\t\"./es-do.js\": \"./node_modules/moment/locale/es-do.js\",\n\t\"./es-us\": \"./node_modules/moment/locale/es-us.js\",\n\t\"./es-us.js\": \"./node_modules/moment/locale/es-us.js\",\n\t\"./es.js\": \"./node_modules/moment/locale/es.js\",\n\t\"./et\": \"./node_modules/moment/locale/et.js\",\n\t\"./et.js\": \"./node_modules/moment/locale/et.js\",\n\t\"./eu\": \"./node_modules/moment/locale/eu.js\",\n\t\"./eu.js\": \"./node_modules/moment/locale/eu.js\",\n\t\"./fa\": \"./node_modules/moment/locale/fa.js\",\n\t\"./fa.js\": \"./node_modules/moment/locale/fa.js\",\n\t\"./fi\": \"./node_modules/moment/locale/fi.js\",\n\t\"./fi.js\": \"./node_modules/moment/locale/fi.js\",\n\t\"./fo\": \"./node_modules/moment/locale/fo.js\",\n\t\"./fo.js\": \"./node_modules/moment/locale/fo.js\",\n\t\"./fr\": \"./node_modules/moment/locale/fr.js\",\n\t\"./fr-ca\": \"./node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ca.js\": \"./node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ch\": \"./node_modules/moment/locale/fr-ch.js\",\n\t\"./fr-ch.js\": \"./node_modules/moment/locale/fr-ch.js\",\n\t\"./fr.js\": \"./node_modules/moment/locale/fr.js\",\n\t\"./fy\": \"./node_modules/moment/locale/fy.js\",\n\t\"./fy.js\": \"./node_modules/moment/locale/fy.js\",\n\t\"./ga\": \"./node_modules/moment/locale/ga.js\",\n\t\"./ga.js\": \"./node_modules/moment/locale/ga.js\",\n\t\"./gd\": \"./node_modules/moment/locale/gd.js\",\n\t\"./gd.js\": \"./node_modules/moment/locale/gd.js\",\n\t\"./gl\": \"./node_modules/moment/locale/gl.js\",\n\t\"./gl.js\": \"./node_modules/moment/locale/gl.js\",\n\t\"./gom-latn\": \"./node_modules/moment/locale/gom-latn.js\",\n\t\"./gom-latn.js\": \"./node_modules/moment/locale/gom-latn.js\",\n\t\"./gu\": \"./node_modules/moment/locale/gu.js\",\n\t\"./gu.js\": \"./node_modules/moment/locale/gu.js\",\n\t\"./he\": \"./node_modules/moment/locale/he.js\",\n\t\"./he.js\": \"./node_modules/moment/locale/he.js\",\n\t\"./hi\": \"./node_modules/moment/locale/hi.js\",\n\t\"./hi.js\": \"./node_modules/moment/locale/hi.js\",\n\t\"./hr\": \"./node_modules/moment/locale/hr.js\",\n\t\"./hr.js\": \"./node_modules/moment/locale/hr.js\",\n\t\"./hu\": \"./node_modules/moment/locale/hu.js\",\n\t\"./hu.js\": \"./node_modules/moment/locale/hu.js\",\n\t\"./hy-am\": \"./node_modules/moment/locale/hy-am.js\",\n\t\"./hy-am.js\": \"./node_modules/moment/locale/hy-am.js\",\n\t\"./id\": \"./node_modules/moment/locale/id.js\",\n\t\"./id.js\": \"./node_modules/moment/locale/id.js\",\n\t\"./is\": \"./node_modules/moment/locale/is.js\",\n\t\"./is.js\": \"./node_modules/moment/locale/is.js\",\n\t\"./it\": \"./node_modules/moment/locale/it.js\",\n\t\"./it-ch\": \"./node_modules/moment/locale/it-ch.js\",\n\t\"./it-ch.js\": \"./node_modules/moment/locale/it-ch.js\",\n\t\"./it.js\": \"./node_modules/moment/locale/it.js\",\n\t\"./ja\": \"./node_modules/moment/locale/ja.js\",\n\t\"./ja.js\": \"./node_modules/moment/locale/ja.js\",\n\t\"./jv\": \"./node_modules/moment/locale/jv.js\",\n\t\"./jv.js\": \"./node_modules/moment/locale/jv.js\",\n\t\"./ka\": \"./node_modules/moment/locale/ka.js\",\n\t\"./ka.js\": \"./node_modules/moment/locale/ka.js\",\n\t\"./kk\": \"./node_modules/moment/locale/kk.js\",\n\t\"./kk.js\": \"./node_modules/moment/locale/kk.js\",\n\t\"./km\": \"./node_modules/moment/locale/km.js\",\n\t\"./km.js\": \"./node_modules/moment/locale/km.js\",\n\t\"./kn\": \"./node_modules/moment/locale/kn.js\",\n\t\"./kn.js\": \"./node_modules/moment/locale/kn.js\",\n\t\"./ko\": \"./node_modules/moment/locale/ko.js\",\n\t\"./ko.js\": \"./node_modules/moment/locale/ko.js\",\n\t\"./ku\": \"./node_modules/moment/locale/ku.js\",\n\t\"./ku.js\": \"./node_modules/moment/locale/ku.js\",\n\t\"./ky\": \"./node_modules/moment/locale/ky.js\",\n\t\"./ky.js\": \"./node_modules/moment/locale/ky.js\",\n\t\"./lb\": \"./node_modules/moment/locale/lb.js\",\n\t\"./lb.js\": \"./node_modules/moment/locale/lb.js\",\n\t\"./lo\": \"./node_modules/moment/locale/lo.js\",\n\t\"./lo.js\": \"./node_modules/moment/locale/lo.js\",\n\t\"./lt\": \"./node_modules/moment/locale/lt.js\",\n\t\"./lt.js\": \"./node_modules/moment/locale/lt.js\",\n\t\"./lv\": \"./node_modules/moment/locale/lv.js\",\n\t\"./lv.js\": \"./node_modules/moment/locale/lv.js\",\n\t\"./me\": \"./node_modules/moment/locale/me.js\",\n\t\"./me.js\": \"./node_modules/moment/locale/me.js\",\n\t\"./mi\": \"./node_modules/moment/locale/mi.js\",\n\t\"./mi.js\": \"./node_modules/moment/locale/mi.js\",\n\t\"./mk\": \"./node_modules/moment/locale/mk.js\",\n\t\"./mk.js\": \"./node_modules/moment/locale/mk.js\",\n\t\"./ml\": \"./node_modules/moment/locale/ml.js\",\n\t\"./ml.js\": \"./node_modules/moment/locale/ml.js\",\n\t\"./mn\": \"./node_modules/moment/locale/mn.js\",\n\t\"./mn.js\": \"./node_modules/moment/locale/mn.js\",\n\t\"./mr\": \"./node_modules/moment/locale/mr.js\",\n\t\"./mr.js\": \"./node_modules/moment/locale/mr.js\",\n\t\"./ms\": \"./node_modules/moment/locale/ms.js\",\n\t\"./ms-my\": \"./node_modules/moment/locale/ms-my.js\",\n\t\"./ms-my.js\": \"./node_modules/moment/locale/ms-my.js\",\n\t\"./ms.js\": \"./node_modules/moment/locale/ms.js\",\n\t\"./mt\": \"./node_modules/moment/locale/mt.js\",\n\t\"./mt.js\": \"./node_modules/moment/locale/mt.js\",\n\t\"./my\": \"./node_modules/moment/locale/my.js\",\n\t\"./my.js\": \"./node_modules/moment/locale/my.js\",\n\t\"./nb\": \"./node_modules/moment/locale/nb.js\",\n\t\"./nb.js\": \"./node_modules/moment/locale/nb.js\",\n\t\"./ne\": \"./node_modules/moment/locale/ne.js\",\n\t\"./ne.js\": \"./node_modules/moment/locale/ne.js\",\n\t\"./nl\": \"./node_modules/moment/locale/nl.js\",\n\t\"./nl-be\": \"./node_modules/moment/locale/nl-be.js\",\n\t\"./nl-be.js\": \"./node_modules/moment/locale/nl-be.js\",\n\t\"./nl.js\": \"./node_modules/moment/locale/nl.js\",\n\t\"./nn\": \"./node_modules/moment/locale/nn.js\",\n\t\"./nn.js\": \"./node_modules/moment/locale/nn.js\",\n\t\"./pa-in\": \"./node_modules/moment/locale/pa-in.js\",\n\t\"./pa-in.js\": \"./node_modules/moment/locale/pa-in.js\",\n\t\"./pl\": \"./node_modules/moment/locale/pl.js\",\n\t\"./pl.js\": \"./node_modules/moment/locale/pl.js\",\n\t\"./pt\": \"./node_modules/moment/locale/pt.js\",\n\t\"./pt-br\": \"./node_modules/moment/locale/pt-br.js\",\n\t\"./pt-br.js\": \"./node_modules/moment/locale/pt-br.js\",\n\t\"./pt.js\": \"./node_modules/moment/locale/pt.js\",\n\t\"./ro\": \"./node_modules/moment/locale/ro.js\",\n\t\"./ro.js\": \"./node_modules/moment/locale/ro.js\",\n\t\"./ru\": \"./node_modules/moment/locale/ru.js\",\n\t\"./ru.js\": \"./node_modules/moment/locale/ru.js\",\n\t\"./sd\": \"./node_modules/moment/locale/sd.js\",\n\t\"./sd.js\": \"./node_modules/moment/locale/sd.js\",\n\t\"./se\": \"./node_modules/moment/locale/se.js\",\n\t\"./se.js\": \"./node_modules/moment/locale/se.js\",\n\t\"./si\": \"./node_modules/moment/locale/si.js\",\n\t\"./si.js\": \"./node_modules/moment/locale/si.js\",\n\t\"./sk\": \"./node_modules/moment/locale/sk.js\",\n\t\"./sk.js\": \"./node_modules/moment/locale/sk.js\",\n\t\"./sl\": \"./node_modules/moment/locale/sl.js\",\n\t\"./sl.js\": \"./node_modules/moment/locale/sl.js\",\n\t\"./sq\": \"./node_modules/moment/locale/sq.js\",\n\t\"./sq.js\": \"./node_modules/moment/locale/sq.js\",\n\t\"./sr\": \"./node_modules/moment/locale/sr.js\",\n\t\"./sr-cyrl\": \"./node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr-cyrl.js\": \"./node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr.js\": \"./node_modules/moment/locale/sr.js\",\n\t\"./ss\": \"./node_modules/moment/locale/ss.js\",\n\t\"./ss.js\": \"./node_modules/moment/locale/ss.js\",\n\t\"./sv\": \"./node_modules/moment/locale/sv.js\",\n\t\"./sv.js\": \"./node_modules/moment/locale/sv.js\",\n\t\"./sw\": \"./node_modules/moment/locale/sw.js\",\n\t\"./sw.js\": \"./node_modules/moment/locale/sw.js\",\n\t\"./ta\": \"./node_modules/moment/locale/ta.js\",\n\t\"./ta.js\": \"./node_modules/moment/locale/ta.js\",\n\t\"./te\": \"./node_modules/moment/locale/te.js\",\n\t\"./te.js\": \"./node_modules/moment/locale/te.js\",\n\t\"./tet\": \"./node_modules/moment/locale/tet.js\",\n\t\"./tet.js\": \"./node_modules/moment/locale/tet.js\",\n\t\"./tg\": \"./node_modules/moment/locale/tg.js\",\n\t\"./tg.js\": \"./node_modules/moment/locale/tg.js\",\n\t\"./th\": \"./node_modules/moment/locale/th.js\",\n\t\"./th.js\": \"./node_modules/moment/locale/th.js\",\n\t\"./tl-ph\": \"./node_modules/moment/locale/tl-ph.js\",\n\t\"./tl-ph.js\": \"./node_modules/moment/locale/tl-ph.js\",\n\t\"./tlh\": \"./node_modules/moment/locale/tlh.js\",\n\t\"./tlh.js\": \"./node_modules/moment/locale/tlh.js\",\n\t\"./tr\": \"./node_modules/moment/locale/tr.js\",\n\t\"./tr.js\": \"./node_modules/moment/locale/tr.js\",\n\t\"./tzl\": \"./node_modules/moment/locale/tzl.js\",\n\t\"./tzl.js\": \"./node_modules/moment/locale/tzl.js\",\n\t\"./tzm\": \"./node_modules/moment/locale/tzm.js\",\n\t\"./tzm-latn\": \"./node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm-latn.js\": \"./node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm.js\": \"./node_modules/moment/locale/tzm.js\",\n\t\"./ug-cn\": \"./node_modules/moment/locale/ug-cn.js\",\n\t\"./ug-cn.js\": \"./node_modules/moment/locale/ug-cn.js\",\n\t\"./uk\": \"./node_modules/moment/locale/uk.js\",\n\t\"./uk.js\": \"./node_modules/moment/locale/uk.js\",\n\t\"./ur\": \"./node_modules/moment/locale/ur.js\",\n\t\"./ur.js\": \"./node_modules/moment/locale/ur.js\",\n\t\"./uz\": \"./node_modules/moment/locale/uz.js\",\n\t\"./uz-latn\": \"./node_modules/moment/locale/uz-latn.js\",\n\t\"./uz-latn.js\": \"./node_modules/moment/locale/uz-latn.js\",\n\t\"./uz.js\": \"./node_modules/moment/locale/uz.js\",\n\t\"./vi\": \"./node_modules/moment/locale/vi.js\",\n\t\"./vi.js\": \"./node_modules/moment/locale/vi.js\",\n\t\"./x-pseudo\": \"./node_modules/moment/locale/x-pseudo.js\",\n\t\"./x-pseudo.js\": \"./node_modules/moment/locale/x-pseudo.js\",\n\t\"./yo\": \"./node_modules/moment/locale/yo.js\",\n\t\"./yo.js\": \"./node_modules/moment/locale/yo.js\",\n\t\"./zh-cn\": \"./node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-cn.js\": \"./node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-hk\": \"./node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-hk.js\": \"./node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-tw\": \"./node_modules/moment/locale/zh-tw.js\",\n\t\"./zh-tw.js\": \"./node_modules/moment/locale/zh-tw.js\"\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 = \"./node_modules/moment/locale sync recursive ^\\\\.\\\\/.*$\";","export default \"\\r\\n\\r\\n\"","export default \"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n cancel\\r\\n
\\r\\n\\r\\n
\\r\\n

Payment Transaction Cancelled/Failed.

\\r\\n

{{errorMsg}}

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

Sorry, we cannot process your Policy issuance, your payment\\r\\n transaction was cancelled/failed.\\r\\n Kindly check with your bank or credit/debit card provider. Alernatively, you can contact\\r\\n Fidelity United with reference number {{quotenumber}} to issue policy.\\r\\n

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

Kindly use this Reference number for further communication:\\r\\n {{quotenumber}}

\\r\\n

\\r\\n Click Here to Locate our Office for\\r\\n Policy Issuance\\r\\n

\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","export default \"\\r\\n\"","export default \"\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\"","export default \"\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\"","export default \"\\r\\n\"","export default \"
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n\"","export default \"
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\"","export default \"\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n invoice\\r\\n \\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n

Request for payment from Fidelity United

\\r\\n
\\r\\n
PAYMENT AMOUNT
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n AED {{totalPremium | number}}\\r\\n \\r\\n
\\r\\n

SECURE PAYMENT METHOD

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

You will be redirected to PayTabs for your payment process.

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

Transaction already done.

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

directions_car\\r\\n Motor Quote

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

Personal Details

perm_identity\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Insured Vehicle Owned By *\\r\\n \\r\\n \\r\\n {{item.viewValue}}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Please\\r\\n select insured vehicle owned by\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Name of Insured *\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Please enter\\r\\n your name\\r\\n
\\r\\n
\\r\\n \\r\\n Only alphabets are allowed.\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Company name *\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Please\\r\\n enter company name\\r\\n
\\r\\n
\\r\\n \\r\\n Only alphabets are allowed.\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Date Of Birth (dd/mm/yyyy)\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Please enter date\\r\\n of birth\\r\\n
\\r\\n
\\r\\n 71 || age < 18 )\\\">Your age must be in\\r\\n range 18 - 71 years\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Email Address *\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Please enter email Id\\r\\n
\\r\\n
\\r\\n \\r\\n Please enter valid email Id\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n Mobile Number *\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n Please enter 10 digit mobile No.\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n First Driving License Issuing Country *\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{item.CountryName}}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Please\\r\\n select 1st driving licence issuing country\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Number of years without claims (NCD) *\\r\\n \\r\\n \\r\\n \\r\\n {{item.NCDDescription}}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Please select NCD\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n help\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n UAE Driving License Issuance Date *\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n Please\\r\\n select driving experience in UAE\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
{{Msg}}
\\r\\n
\\r\\n
\\r\\n
{{Msg}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n clear\\r\\n \\r\\n \\r\\n menu\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
Straight Through Processing (STP)
\\r\\n
\\r\\n
\\r\\n Dear Customer, the following\\r\\n documents should be handy along with soft copies in order to process your policy\\r\\n issuance:\\r\\n

post_add\\r\\n  Vehicle Registration card (mulkiya)

\\r\\n

post_add\\r\\n  Driving License

\\r\\n

post_add\\r\\n  Emirates Id

\\r\\n \\r\\n
#BeConfident, and be part of the Home\\r\\n of Insurance
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n

Vehicle Detail

directions_car\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
Do you have chassis number ?  \\r\\n (check if\\r\\n yes)\\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
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Chassis Number*\\r\\n \\r\\n Please\\r\\n enter chassis number\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n Please Validate chassis number
\\r\\n\\r\\n
\\r\\n \\\"\\\"
\\r\\n
\\r\\n check_circle
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Insurance Type *\\r\\n \\r\\n \\r\\n {{item.viewValue}}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Please select\\r\\n insurance type\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Model Year *\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n {{item.label}}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n Please\\r\\n select vehicle model year\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Brand New *\\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 \\r\\n Make *\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{item.VehicleMakeName}}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n Please select\\r\\n vehicle make\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Model *\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n {{item.VehicleModelName}}\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n Please select\\r\\n vehicle model\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Trim *\\r\\n \\r\\n \\r\\n {{vehitrim.VehicleSpecName}}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n Please select\\r\\n vehicle trim\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Body Type *\\r\\n \\r\\n \\r\\n {{item.BodyTypeName}}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n Please\\r\\n select vehicle body type\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Cylinders *\\r\\n \\r\\n \\r\\n {{vehicylinder.viewValue}}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Please\\r\\n select vehicle cylinder type\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Seating Capacity (Excl. Driver) *\\r\\n \\r\\n \\r\\n {{item.viewValue}}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Please\\r\\n select vehicle seating capacity\\r\\n
\\r\\n
\\r\\n
=(minyear - 1) && vehicleDetailForm.value.insType.value == 100 && vehicleDetailForm.value.brandNw != 1\\\">\\r\\n
\\r\\n \\r\\n help\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n 1st Registration Date =(minyear - 1) && vehicleDetailForm.value.brandNw != 1\\\">*\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Please enter\\r\\n 1st registration date\\r\\n
\\r\\n
\\r\\n vehicleDetailForm.value.regDate)\\\">\\r\\n Please enter valid registration date\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Place of Registration *\\r\\n \\r\\n \\r\\n {{ item.CityName}}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Please select\\r\\n registration place\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Vehicle Value \\r\\n\\r\\n (Value should be between {{ vehicleValueLimit.startLimit }} -\\r\\n {{ vehicleValueLimit.endLimit }} )\\r\\n\\r\\n *\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n Please enter\\r\\n vehicle value\\r\\n
\\r\\n
\\r\\n 0))\\\">\\r\\n Vehicle value must be within {{vehicleValueLimit.startLimit }} -\\r\\n {{vehicleValueLimit.endLimit }}\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Repair Type *\\r\\n \\r\\n \\r\\n {{item.viewValue}}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Please\\r\\n select repair type\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n What's your active policy type? *\\r\\n \\r\\n \\r\\n \\r\\n {{vehiseatcap.label}}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Please\\r\\n select active policy type\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n Is your vehicle non-GCC Specifications? *\\r\\n
\\r\\n
\\r\\n \\r\\n Yes\\r\\n No\\r\\n \\r\\n
\\r\\n
\\r\\n Is\\r\\n your vehicle non-GCC Specifications ?\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n Is your vehicle modified? *\\r\\n
\\r\\n
\\r\\n \\r\\n Yes\\r\\n No\\r\\n \\r\\n
\\r\\n
\\r\\n Is your\\r\\n vehicle modified ?\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Promo Code\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n

Quotation

description\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n {{plan_Name}}

\\r\\n
\\r\\n
\\r\\n Your Reference No. {{webQuoteNumber}}\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
Was AED\\r\\n {{(totalFixPremium+policyFee+((totalFixPremium+policyFee)*0.10)) | number:'3.2-2' }}\\r\\n
\\r\\n
\\r\\n
\\r\\n
Premium : AED\\r\\n {{(totalFixPremium+totalVariablePremium) | number:'3.2-2'}}
\\r\\n
\\r\\n
Excl. VAT
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
VAT\\r\\n Amount : AED\\r\\n {{(totalFixPremium+totalVariablePremium) * 0.05 | number:'2.2-2'}}
\\r\\n
\\r\\n
\\r\\n

Total Amount : AED\\r\\n {{((totalFixPremium+totalVariablePremium) * 0.05) + (totalFixPremium+totalVariablePremium) | number:'3.2-2'}}\\r\\n

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

Optional Benefits and Covers\\r\\n

\\r\\n
\\r\\n
check_circle\\r\\n {{item.BenefitName}}\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n check_circle\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n {{mulOptData.BenefitName}}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
+ AED\\r\\n {{ item.Price }}
\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n + AED {{ item.Price }}
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n

View Benefits and\\r\\n Covers

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

check_circle\\r\\n {{item.BenefitName}}

\\r\\n
\\r\\n
\\r\\n {{ item.SumCovered }}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n

Pay & Issue Policy

credit_card\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n
\\r\\n Your quotation has been automatically saved successfully in our system.\\r\\n Quotation Reference Number: {{webQuoteNumber}}
\\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
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Chassis Number*\\r\\n \\r\\n \\r\\n Please enter chassis number\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n Please Validate chassis number
\\r\\n\\r\\n
\\r\\n \\\"\\\"
\\r\\n
\\r\\n check_circle
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n help\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Plate Category \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{item.label}}\\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
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Plate Code *\\r\\n \\r\\n \\r\\n {{item.PlateCode}}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Please\\r\\n enter Plate Code\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n help\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Plate Number *\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Please\\r\\n enter Plate Number\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n help\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Vehicle Color *\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n {{item.ColorName}}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Please\\r\\n select vehicle color\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Engine Number \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Please\\r\\n enter vehicle engine number\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Motgaged Bank Name \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n {{item.InstituteName}}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Please select motgaged bank name\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Policy Start Date (dd/mm/yyyy)\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Please\\r\\n enter policy start date (dd/mm/yyyy)\\r\\n
\\r\\n
\\r\\n
supervised_user_circle Personal Detail
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Gender *\\r\\n \\r\\n \\r\\n {{item.viewValue}}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Please\\r\\n select gender\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n help\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Emirates ID * (xxx-xxxx-xxxxxxx-x) \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Please\\r\\n enter valid Emirates Id (in xxx-xxxx-xxxxxxx-x format)\\r\\n
\\r\\n
Invalid Emirates ID.
\\r\\n
\\r\\n
contact_phone Contact Details
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Nationality *\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{item.CountryName}}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Please\\r\\n select nationality\\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 Please\\r\\n enter communication address\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Area *\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Please enter\\r\\n Area/Location\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n PO Box Number\\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
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Driving License Number*\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Please enter Driving Licence No.\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n help\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n T.C. No. *\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n T.C. No. *\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Please enter 8 digit TCF No.\\r\\n \\r\\n Please enter 10 digit TCF No.\\r\\n\\r\\n
\\r\\n
\\r\\n
cloud_upload Upload Document
(Only pdf, jpg, jpeg and png files types\\r\\n allowed) (max file size allowed - 2MB)
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"Document\\\"\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Please\\r\\n Upload document\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"Document\\\"\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Please\\r\\n Upload document\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"Document\\\"\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Please\\r\\n Upload document\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"Document\\\"\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Please\\r\\n Upload document\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"Document\\\"\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Please\\r\\n Upload document\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"Document\\\"\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Please\\r\\n Upload document\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"Document\\\"\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Please\\r\\n Upload document\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"Document\\\"\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Terms and Condition

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

\\r\\n check_circle\\r\\n {{item.status}}

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

\\r\\n I agree\\r\\n and accept above terms & conditions.\\r\\n \\r\\n
Please Accept\\r\\n Terms & Conditions.\\r\\n

\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n clear\\r\\n \\r\\n \\r\\n menu\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
Premium Summary
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
check_circle_outline   PremiumAED\\r\\n {{(totalFixPremium+totalVariablePremium) | number:'3.2-2'}}
check_circle_outline   VAT AmountAED\\r\\n {{vatAMt | number:'2.2-2'}}
check_circle_outline   Total Amount\\r\\n AED\\r\\n {{total_premium | number:'3.2-2'}}
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
Optional Cover
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{item.BenefitName}}
\\r\\n
\\r\\n {{mulOption.BenefitName}}
\\r\\n
\\r\\n
No Optional Cover Selected
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Reference Number *\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Please enter reference number\\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 Please enter email Id\\r\\n
\\r\\n
\\r\\n Please enter valid email Id\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n Mobile Number *\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n Please enter mobile 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 \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n\"","export default \"\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Site Under Maintenance\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n

Site Under Maintenance

\\r\\n

We're sorry for the inconvenience, but we're performing some maintenance at the moment.

\\r\\n

If you need assistance, please feel free to contact us:

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

directions_car\\r\\n Motor Quote

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

Document Upload

\\r\\n upload_file \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n cloud_upload Upload Document \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Reg. Card Front *
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n picture_as_pdf\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Reg. Card Back *
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n picture_as_pdf\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Emirates ID Front
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n picture_as_pdf\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Emirates ID Back
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n picture_as_pdf\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Driving Lic. Front *
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n picture_as_pdf\\r\\n
\\r\\n \\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Driving Lic. Back *
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n picture_as_pdf\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\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 Details

perm_identity\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n assignment Quotation Details\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Insured Vehicle Owned By *\\r\\n \\r\\n \\r\\n {{item.viewValue}}\\r\\n \\r\\n \\r\\n \\r\\n Please select type\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Insurance Type *\\r\\n \\r\\n \\r\\n \\r\\n {{item.viewValue}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Please select\\r\\n insurance type\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n Number of years without claims (NCD) *\\r\\n \\r\\n \\r\\n \\r\\n {{item.NCDDescription}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Please select NCD \\r\\n
\\r\\n
\\r\\n \\r\\n What's your active policy type? *\\r\\n \\r\\n \\r\\n \\r\\n {{vehiseatcap.label}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Please select active policy type\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n Are you VAT register ? * \\r\\n \\r\\n Yes\\r\\n No\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n TRN Number *\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n Trade License Number *\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n Business/Industry Type *\\r\\n \\r\\n \\r\\n \\r\\n {{item.IndustryName}}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
person_outline\\r\\n Personal Details
\\r\\n
\\r\\n
\\r\\n \\r\\n Name *\\r\\n \\r\\n \\r\\n \\r\\n Please enter your name \\r\\n
\\r\\n
\\r\\n \\r\\n Name in Arabic\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Nationality *\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{item.CountryName}}\\r\\n \\r\\n \\r\\n \\r\\n Please select nationality\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Emirates ID * (e.g. xxx-xxxx-xxxxxxx-x)\\r\\n \\r\\n \\r\\n Please enter emirates Id\\r\\n Invalid emirates Id\\r\\n
\\r\\n
\\r\\n \\r\\n Gender *\\r\\n \\r\\n \\r\\n {{item.viewValue}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Please select gender\\r\\n
\\r\\n
\\r\\n \\r\\n Date of Birth *\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Please select date of birth \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n EID Expiry Date \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Card Number \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n License Number *\\r\\n \\r\\n \\r\\n Please enter Dri.Lic.No.\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Lic. Issue Place *\\r\\n \\r\\n \\r\\n {{ item.CityName}}\\r\\n \\r\\n \\r\\n \\r\\n Please select issue place\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Lic. Issue Date *\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Please select date of issue\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Lic. Expiry Date *\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Please select date of expiry\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n License Type \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Lic. TC no. *\\r\\n \\r\\n \\r\\n Please enter TC No.\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n Policy Start Date (dd/mm/yyyy) *\\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 Please enter emailId.\\r\\n \\r\\n \\r\\n Invalid emailId. \\r\\n
\\r\\n
\\r\\n \\r\\n Mobile Number *  (e.g. 050xxxxxxx)\\r\\n \\r\\n \\r\\n Please enter mobile No. \\r\\n Invalid mobile No. \\r\\n
\\r\\n
\\r\\n \\r\\n
directions_car\\r\\n Vehicle Details
\\r\\n
\\r\\n
\\r\\n \\r\\n Chasis Number *\\r\\n \\r\\n \\r\\n \\r\\n Please enter chassis number\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
Please Validate chassis number
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Model Year *\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{item.label}}\\r\\n \\r\\n \\r\\n \\r\\n Please select model year\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n \\r\\n Vehicle Make *\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{item.VehicleMakeName}}\\r\\n \\r\\n \\r\\n \\r\\n Please selectvehicle make\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n \\r\\n Vehicle Model *\\r\\n \\r\\n \\r\\n \\r\\n {{item.VehicleModelName}}\\r\\n \\r\\n \\r\\n \\r\\n Please select model\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n \\r\\n Trim *\\r\\n \\r\\n \\r\\n {{vehitrim.VehicleSpecName}}\\r\\n \\r\\n \\r\\n \\r\\n Please select Trim\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n \\r\\n Body Type *\\r\\n \\r\\n \\r\\n {{item.BodyTypeName}}\\r\\n \\r\\n \\r\\n \\r\\n Please select body type\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n Cubic Capacity *\\r\\n \\r\\n \\r\\n Please enter CC\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n Loading Capacity (tonnage) *\\r\\n \\r\\n \\r\\n Please enter loading capacity\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n Cylinders *\\r\\n \\r\\n \\r\\n {{vehicylinder.viewValue}}\\r\\n \\r\\n \\r\\n \\r\\n Please select\\r\\n cylinder\\r\\n
\\r\\n
\\r\\n \\r\\n Number of Passengers (Excl. Driver) *\\r\\n \\r\\n \\r\\n {{item.viewValue}}\\r\\n \\r\\n \\r\\n \\r\\n Please select No. of\\r\\n Passenger\\r\\n
\\r\\n
\\r\\n \\r\\n Vehicle Value *  (Between {{ vehicleValueLimit.startLimit }} - {{ vehicleValueLimit.endLimit }})\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n\\r\\n Please enter vehicle value\\r\\n 0))\\\">\\r\\n Vehicle value must be within {{vehicleValueLimit.startLimit }} - {{vehicleValueLimit.endLimit }}\\r\\n
\\r\\n
\\r\\n Brand New?  \\r\\n
\\r\\n \\r\\n Yes\\r\\n No\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Transaction Type *\\r\\n \\r\\n \\r\\n {{ item.label}}\\r\\n \\r\\n \\r\\n \\r\\n Please select transaction type\\r\\n
\\r\\n
\\r\\n \\r\\n Reg. Issue Place *\\r\\n \\r\\n \\r\\n {{ item.CityName}}\\r\\n \\r\\n \\r\\n \\r\\n Please select issue place\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Reg. Type *\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{item.label}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Please enter reg. type\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Plate Code *\\r\\n \\r\\n \\r\\n {{item.PlateCode}}\\r\\n \\r\\n \\r\\n \\r\\n Please select issue\\r\\n place\\r\\n
\\r\\n
\\r\\n \\r\\n Plate Number *\\r\\n \\r\\n \\r\\n Please enter\\r\\n traffic plate number\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n Reg. T.C. No * \\r\\n \\r\\n \\r\\n Please enter T.C. No.\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n Reg. Expiry Date *\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Please select Date of expiry \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n 1st Reg. Date *\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Please select Date of reg.\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Prev. Ins. Exp date *\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Please select Date of insurance\\r\\n
\\r\\n
\\r\\n \\r\\n Engine Number *\\r\\n \\r\\n \\r\\n Please enter engine number\\r\\n
\\r\\n
\\r\\n \\r\\n Repair Type *\\r\\n \\r\\n \\r\\n {{item.viewValue}}\\r\\n \\r\\n \\r\\n \\r\\n Please select repair\\r\\n type\\r\\n
\\r\\n
\\r\\n \\r\\n Vehicle Color *\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{item.ColorName}}\\r\\n \\r\\n \\r\\n \\r\\n Please select vehicle color \\r\\n
\\r\\n
\\r\\n \\r\\n Motgaged Bank Name \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{item.InstituteName}}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Is your vehicle non-GCC Specifications? * \\r\\n
\\r\\n \\r\\n Yes\\r\\n No\\r\\n \\r\\n Please select specification\\r\\n
\\r\\n
\\r\\n
\\r\\n Is your vehicle modified ? *\\r\\n  \\r\\n
\\r\\n \\r\\n Yes\\r\\n No\\r\\n \\r\\n Is your vehicle modified ?\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n Promo Code\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n

description Quotation\\r\\n

\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n
\\r\\n sticky_note_2\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n {{plan_Name}}

\\r\\n
\\r\\n
\\r\\n Your Reference No. {{webQuoteNumber}}\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n

Was AED\\r\\n {{(totalFixPremium+policyFee+((totalFixPremium+policyFee)*0.10)) | number }}

\\r\\n
\\r\\n
\\r\\n
\\r\\n Premium (Excl. VAT) : AED\\r\\n {{(totalFixPremium+totalVariablePremium) | number:'3.2-2'}}
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
VAT Amount : AED\\r\\n {{(totalFixPremium+totalVariablePremium) * 0.05 | number:'2.2-2'}}
\\r\\n
\\r\\n
\\r\\n

Total Amount : AED\\r\\n {{((totalFixPremium+totalVariablePremium) * 0.05) + (totalFixPremium+totalVariablePremium) | number:'3.2-2'}}\\r\\n

\\r\\n
\\r\\n
\\r\\n
Vehicle Value : AED\\r\\n {{ insuredDetailForm.value.adtnl_detail_vhclValue | number}}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n

Optional Benefits and Covers

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n check_circle\\r\\n {{item.BenefitName}}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n + AED\\r\\n {{ item.Price }}\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n check_circle\\r\\n \\r\\n \\r\\n \\r\\n {{mulOptData.BenefitName}}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n + AED {{ item.Price }}\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n

View Benefits and Covers

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

\\r\\n check_circle\\r\\n {{item.BenefitName}}

\\r\\n
\\r\\n
\\r\\n {{ item.SumCovered }}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Terms and Condition

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

check_circle \\r\\n {{item.status}}

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

\\r\\n I agree and accept above terms & conditions.\\r\\n \\r\\n
Please Accept Terms & Conditions.\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Reference Number *\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Please enter reference number\\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 Please enter email Id\\r\\n
\\r\\n
\\r\\n Please enter valid email Id\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Mobile Number *\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n Please enter mobile 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
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n ×\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n ×\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n ×\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n ×\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n ×\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n ×\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
Upload Documents
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n ×\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n

Please Wait.........

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

Sit tight, while we are fetching information from the uploaded documents.

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

\\r\\n withoutocr works!\\r\\n

\"","export default \" \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"Card\\r\\n

Thank you for choosing Fidelity United for your car insurance.

\\r\\n

Your payment has been processed successfully and your policy document will be sent to your email address shortly.

\\r\\n

Online Reference Number : {{quoteNumber}}

\\r\\n

Online Payment Reference : {{payment_Transaction_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\"","export default \"\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

person_add_alt\\r\\n User Registartion

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

gpp_good Upload Documents

\\r\\n
\\r\\n
\\r\\n
\\r\\n cloud_upload Upload Document\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Emirates ID Front *
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n picture_as_pdf\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Emirates ID Back *
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n picture_as_pdf\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n

admin_panel_settings Verify KYC

\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n person_outline Personal Details\\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 Please Enter Name\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Emirates ID * (e.g. xxx-xxxx-xxxxxxx-x)\\r\\n \\r\\n \\r\\n Please Enter Emirates ID\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Gender *\\r\\n \\r\\n \\r\\n {{gender.viewValue}}\\r\\n \\r\\n \\r\\n \\r\\n Please Select Gender\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n EID Expiry Date *\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Please Select EID Expiry Date\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Nationality *\\r\\n \\r\\n \\r\\n {{item.CountryName}}\\r\\n \\r\\n \\r\\n \\r\\n Please Select Nationality\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n Email * \\r\\n \\r\\n \\r\\n Please Enter Email\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Mobile Number * (e.g. 050xxxxxxx)\\r\\n \\r\\n \\r\\n Please Enter Mobile Number\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n ×\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n

how_to_reg Link Policy

\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Insured Name\\r\\n \\r\\n \\r\\n Please Enter Insured Name\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n Product\\r\\n \\r\\n \\r\\n {{product.viewValue}}\\r\\n \\r\\n \\r\\n \\r\\n Please Select Product\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Policy Number\\r\\n \\r\\n \\r\\n Please Enter Policy Number\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Policy Expiry Date\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Please Enter Policy Expiry Date\\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Policy NumberSponsor NameProductExpiryDateStatus
\\r\\n {{item.PolicyNumber}}{{item.SponsorName}}{{item.LOBName}}{{item.ExpiryDate}} Linked
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n OTP Sent successfully\\r\\n \\r\\n
\\r\\n
\\r\\n

We have send a unique code to your email address, please enter the OTP and click on submit button

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

\\r\\n \\r\\n \\r\\n OTP *\\r\\n \\r\\n \\r\\n Please Enter Valid OTP\\r\\n \\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\"","export default \"\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n

Ramadan & Summer Promotion 2021

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

Congratulations!

\\r\\n

Name:{{winnername}}

\\r\\n

Voucher#:{{winnervochureno}}

\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\"","function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"./src/$$_lazy_route_resource lazy recursive\";","import { Injectable } from \"@angular/core\";\r\nimport {\r\n Router,\r\n CanActivate,\r\n ActivatedRouteSnapshot,\r\n RouterStateSnapshot,\r\n CanActivateChild\r\n} from \"@angular/router\";\r\n\r\nimport { JwtService } from \"../_service/jwt.service\";\r\n@Injectable()\r\nexport class AuthGuard implements CanActivate, CanActivateChild {\r\n constructor(private _jwtService: JwtService, private _router: Router) {}\r\n\r\n canActivate(\r\n route: ActivatedRouteSnapshot,\r\n state: RouterStateSnapshot\r\n ): boolean {\r\n let url: string = state.url;\r\n return this.checkLogin(url);\r\n }\r\n\r\n canActivateChild(\r\n route: ActivatedRouteSnapshot,\r\n state: RouterStateSnapshot\r\n ): boolean {\r\n return this.canActivate(route, state);\r\n }\r\n checkLogin(url: string): boolean {\r\n \r\n if (this._jwtService.isLoggedIn()) {\r\n return true;\r\n }\r\n\r\n // Store the attempted URL for redirecting\r\n this._jwtService.redirectURL = url;\r\n\r\n // Navigate to the login page with extras\r\n //this._router.navigate([\"/login\"], { queryParams: { r: url } });\r\n // window.location.href = 'https://www.google.com/';\r\n //this._router.navigate([\"/login\"]);\r\n this._router.navigate([\"/ocrmain\"]);\r\n return false;\r\n }\r\n \r\n}\r\n","import { Injectable } from '@angular/core'\r\nimport { Observable } from 'rxjs'\r\n\r\n// in bytes, compress images larger than 1MB\r\nconst fileSizeMax = 1 * 1024 * 1024\r\n// in pixels, compress images have the width or height larger than 1024px\r\nconst widthHeightMax = 1024\r\nconst defaultWidthHeightRatio = 0.7\r\nconst defaultQualityRatio = 0.8\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CompressImageService {\r\n compress(file: File): Observable {\r\n const imageType = file.type || 'image/jpeg'\r\n const reader = new FileReader()\r\n reader.readAsDataURL(file)\r\n // console.log(\"==============\");\r\n // console.log(imageType);\r\n // if(\"image/png\"!=imageType) return file ;\r\n return Observable.create(observer => {\r\n\r\n \r\n // This event is triggered each time the reading operation is successfully completed.\r\n reader.onload = ev => {\r\n\r\n \r\n // Create an html image element\r\n const img = this.createImage(ev)\r\n // Choose the side (width or height) that longer than the other\r\n const imgWH = img.width > img.height ? img.width : img.height\r\n\r\n // Determines the ratios to compress the image\r\n let withHeightRatio = (imgWH > widthHeightMax) ? widthHeightMax/imgWH : defaultWidthHeightRatio\r\n let qualityRatio = (file.size > fileSizeMax) ? fileSizeMax/file.size : defaultQualityRatio\r\n\r\n // Fires immediately after the browser loads the object\r\n img.onload = () => { \r\n const elem = document.createElement('canvas')\r\n // resize width, height\r\n elem.width = img.width * withHeightRatio\r\n elem.height = img.height * withHeightRatio\r\n\r\n const ctx = elem.getContext('2d')\r\n ctx.drawImage(img, 0, 0, elem.width, elem.height)\r\n ctx.canvas.toBlob(\r\n // callback, called when blob created\r\n blob => { \r\n observer.next(new File(\r\n [blob],\r\n file.name,\r\n {\r\n type: imageType,\r\n lastModified: Date.now(),\r\n }\r\n ))\r\n },\r\n imageType,\r\n qualityRatio, // reduce image quantity \r\n )\r\n }\r\n }\r\n\r\n // Catch errors when reading file\r\n reader.onerror = error => observer.error(error)\r\n })\r\n }\r\n\r\n private createImage(ev) {\r\n let imageContent = ev.target.result\r\n const img = new Image()\r\n img.src = imageContent\r\n return img\r\n }\r\n}","import { Injectable } from \"@angular/core\";\r\n// import { environment } from \"../../environments/environment\";\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { BehaviorSubject } from \"rxjs\";\r\nimport {MatSnackBar} from '@angular/material/snack-bar';\r\n\r\n\r\n\r\n@Injectable()\r\nexport class GlobalService {\r\n userData:any=[];\r\n public changeUserInfo:BehaviorSubject = new BehaviorSubject(this.userData);\r\n public navChanged:BehaviorSubject = new BehaviorSubject(0);\r\n public connectionStatusChanged:BehaviorSubject = new BehaviorSubject('');\r\n\r\n constructor(private _snackBar: MatSnackBar) {\r\n\r\n\r\n // console.log(this.changeUserInfo.prev());\r\n\r\n console.log(this.changeUserInfo);\r\n \r\n }\r\n\r\n \r\n \r\n convertResponseInJson(res)\r\n {\r\n let response:any= res;\r\n return response;\r\n }\r\n \r\n getLocalStorageData()\r\n {\r\n if (localStorage.getItem(\"backend-token\") != null) {\r\n let retrievedData = localStorage.getItem(\"currentUser\");\r\n this.userData = JSON.parse(retrievedData);\r\n this.changeUserInfo.next(this.userData)\r\n return this.userData;\r\n } \r\n\r\n \r\n }\r\n /* START:VALIDATE DATA NUM/decimal with number */\r\n checkValidInputData(event: any,type) {\r\n var pattern:any;\r\n if(type=='1'){\r\n pattern = /[0-9\\+\\-\\ ]/;//validae only number\r\n }\r\n if(type=='2'){\r\n pattern= /^[0-9]*\\.?[0-9]*$/;//validae decimal with number \r\n }\r\n if(type=='3'){\r\n pattern= /^[A-Za-z0-9]+$/;//validae alphanumeric \r\n }\r\n if(type=='4'){\r\n pattern= /^['A-Za-z0-9 \\-\\ \\.\\ \\(\\ \\)\\ \\\\\\\\ \\#\\ \\/\\ \\,\\']+$/;//validae alphanumeric with space ^[a-zA-Z \\-\\ \\.\\']+\r\n \r\n\r\n }\r\n\r\n let inputChar = String.fromCharCode(event.charCode);\r\n if (event.keyCode != 8 && !pattern.test(inputChar)) {\r\n event.preventDefault();\r\n }\r\n }\r\n\r\n \r\n\r\n\r\n /* END:VALIDATE DATA NUM/decimal with number */\r\n \r\n /* START:VALIDATE ALL EVENTS */\r\n preventAllEvents(e: any)\r\n {\r\n if (e.ctrlKey && (e.keyCode == 88 || e.keyCode == 67 || e.keyCode == 86)) {\r\n e.preventDefault();\r\n }\r\n }\r\n\r\n getHeader(){\r\n let httpOptions = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n // Authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6bnVsbCwiZGF0YSI6eyJmaXJzdG5hbWUiOiJRdWVlbnplbmQgV2ViIiwibGFzdG5hbWUiOiJTb2x1dGlvbiIsInVzZXJ0eXBlIjoiYWRtaW4iLCJlbWFpbCI6InRlc3QuYnVzaW5lc3N1c2VyMUBnbWFpbC5jb20iLCJpbWFnZSI6InBpY3R1cmVfclhUZkFfRGluZXNoIENsZyAyMDE0MTAzMV8xNDQxMDEuanBnIiwidXNlcmlkIjoiMiIsInVzZXJuYW1lIjoidGVzdC5idXNpbmVzc3VzZXIxQGdtYWlsLmNvbSIsImFjY291bnRpbmdfdXNlciI6MSwiZmlybV9pZCI6IjIiLCJpc19yZXZpZXdlciI6IjEifSwiaWF0IjoxNTc2MTQ5OTA3LCJleHAiOjE1NzYxNjc5MDd9.HnO0fF4FWu-mDQW9LzutzqvVHBZQHvBmiD9fZN1eJB4'\r\n Authorization: 'Bearer ' +localStorage.getItem(\"backend-token\")\r\n \r\n })\r\n }\r\n return httpOptions;\r\n }\r\n\r\n getHeaderForFileUpload(){\r\n let httpOptions = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'multipart/form-data',\r\n // Authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6bnVsbCwiZGF0YSI6eyJmaXJzdG5hbWUiOiJRdWVlbnplbmQgV2ViIiwibGFzdG5hbWUiOiJTb2x1dGlvbiIsInVzZXJ0eXBlIjoiYWRtaW4iLCJlbWFpbCI6InRlc3QuYnVzaW5lc3N1c2VyMUBnbWFpbC5jb20iLCJpbWFnZSI6InBpY3R1cmVfclhUZkFfRGluZXNoIENsZyAyMDE0MTAzMV8xNDQxMDEuanBnIiwidXNlcmlkIjoiMiIsInVzZXJuYW1lIjoidGVzdC5idXNpbmVzc3VzZXIxQGdtYWlsLmNvbSIsImFjY291bnRpbmdfdXNlciI6MSwiZmlybV9pZCI6IjIiLCJpc19yZXZpZXdlciI6IjEifSwiaWF0IjoxNTc2MTQ5OTA3LCJleHAiOjE1NzYxNjc5MDd9.HnO0fF4FWu-mDQW9LzutzqvVHBZQHvBmiD9fZN1eJB4'\r\n Authorization: 'Bearer ' +localStorage.getItem(\"backend-token\")\r\n \r\n })\r\n }\r\n return httpOptions;\r\n }\r\n\r\n spinnerHide(){\r\n return true;\r\n }\r\n \r\n \r\n spinnerShow(){\r\n return false;\r\n }\r\n\r\n openSnackBar(message: string, action: string) {\r\n \r\n this._snackBar.open(message, action, {\r\n duration: 4000,\r\n verticalPosition:'bottom',\r\n horizontalPosition:'center',\r\n direction:'ltr',\r\n panelClass : ['snackbar']\r\n });\r\n }\r\n\r\n\r\n \r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs/Rx';\r\nimport { catchError, tap, map } from 'rxjs/operators';\r\nimport { of, throwError, observable } from 'rxjs';\r\nimport { GlobalService } from \"../_service/global.service\";\r\nimport { config } from './../config';\r\n// import { environment } from '../../environments/environment';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class IssuepolicyService {\r\n\r\n apiURL: string = config.apiUrl;\r\n \r\n constructor(private httpClient: HttpClient,public _globalService: GlobalService) {}\r\n \r\n // private handleError (operation = 'operation', result?: T) {\r\n // return (error: any): Observable => {\r\n\r\n // // TODO: send the error to remote logging infrastructure\r\n // console.error(error); // log to console instead\r\n\r\n // // Let the app keep running by returning an empty result.\r\n // return of(result as T);\r\n // };\r\n // }\r\n\r\n public handleError(error) {\r\n let errorMessage = '';\r\n if (error.error instanceof ErrorEvent) {\r\n // client-side error\r\n errorMessage = `Error: ${error.error.message}`;\r\n } else {\r\n // server-side error\r\n errorMessage = `Error Code: ${error.status}\\nMessage: ${error.message}`;\r\n }\r\n console.log(errorMessage);\r\n return throwError(errorMessage);\r\n }\r\n\r\n //------------ List of dropdown data FOR ISSUPOLICY ---------//\r\n public getQuotationFormData():Observable {\r\n\r\n return this.httpClient.post(`${this.apiURL}Webservice/getQuotationFormData`,{},this._globalService.getHeader())\r\n .pipe(catchError(this.handleError), tap(res => {\r\n let response=this._globalService.convertResponseInJson(res);\r\n\r\n }));\r\n }\r\n\r\n //-------------------getB2CRenewalPolicyList----------------------------------//\r\n public getB2CRenewalPolicyList(date,data):Observable {\r\n return this.httpClient.post(`${this.apiURL}MotorInsuranceWebservice/getB2CRenewalPolicyList`,{core_policy_number:data.core_policy_number,expire_date:date,mobile_number:data.mobile_number,email:data.email},this._globalService.getHeader())\r\n .pipe(catchError(this.handleError), tap(res => {\r\n let response=this._globalService.convertResponseInJson(res);\r\n }));\r\n }\r\n\r\n //------------- FOR GET QUOTE --------------//\r\n public getQuote(policyHolderFormData):Observable {\r\n\r\n return this.httpClient.post(`${this.apiURL}Webservice/getQuots`,{policyHolderFormData:policyHolderFormData},this._globalService.getHeader())\r\n .pipe(catchError(this.handleError), tap(res => {\r\n let response=this._globalService.convertResponseInJson(res);\r\n\r\n }));\r\n }\r\n\r\n//--------------- FOR GET PLANS OF PERTICULAR QUOTE NUMBER ---------------//\r\npublic getPlans(quotationNumber):Observable {\r\n\r\n return this.httpClient.post(`${this.apiURL}Webservice/getPlansByQuotataionNumber`,{QuotationNumber:quotationNumber},this._globalService.getHeader())\r\n .pipe(catchError(this.handleError), tap(res => {\r\n let response=this._globalService.convertResponseInJson(res);\r\n\r\n }));\r\n}\r\n\r\n//---------- List of dropdown data FOR RETRIEVE QUOTE --------------//\r\npublic retrieveQuoteFormData():Observable {\r\n\r\n return this.httpClient.post(`${this.apiURL}Webservice/retrieveQuotationFormApi`,{},this._globalService.getHeader())\r\n .pipe(catchError(this.handleError), tap(res => {\r\n let response=this._globalService.convertResponseInJson(res);\r\n\r\n }));\r\n}\r\n\r\n//----------- Quotation List for Retrieve Quote -----------------//\r\npublic retrieveQuoteList(id,fromDate,toDate,quotNum,phName,status):Observable {\r\n\r\n return this.httpClient.post(`${this.apiURL}Webservice/getQuotationListForRetrieve`,{Id:id,fromDate:fromDate,toDate:toDate,quoteRefNum:quotNum,policyHolderName:phName,status:status},this._globalService.getHeader())\r\n .pipe(catchError(this.handleError), tap(res => {\r\n let response=this._globalService.convertResponseInJson(res);\r\n\r\n }));\r\n}\r\n//----------- GET POLICY LIST FOR REVIEW -----------------//\r\npublic getPolicyListReview(id,fromDate,toDate,search,userId):Observable {\r\n\r\n return this.httpClient.post(`${this.apiURL}Webservice/getpolicyListReview`,{product_code:id,from_date:fromDate,to_date:toDate,search_text:search,user_id:userId},this._globalService.getHeader())\r\n .pipe(catchError(this.handleError), tap(res => {\r\n let response=this._globalService.convertResponseInJson(res);\r\n\r\n }));\r\n}\r\n\r\n//--------------- get Quotation Details For RetrieveByQuoteNo -----------------//\r\n// public getMembersDetailByQuoteNo(quoteNum):Observable {\r\n\r\n// return this.httpClient.post(`${this.apiURL}Webservice/getMembersDetailByQuoteNo`,{QuotationNumber:quoteNum},this._globalService.getHeader())\r\n// .pipe(catchError(this.handleError), tap(res => {\r\n// let response=this._globalService.convertResponseInJson(res);\r\n\r\n// }));\r\n// }\r\n//-------------------- update premimum and Plan -------\r\npublic updatePlanAndPrimum(planId,primum,DiscountPercent):Observable {\r\n\r\n return this.httpClient.post(`${this.apiURL}quotationController/updatePlanAndPrimum`,{plan:planId,primum:primum,DiscountPercent:DiscountPercent},this._globalService.getHeader())\r\n .pipe(catchError(this.handleError), tap(res => {\r\n let response=this._globalService.convertResponseInJson(res);\r\n\r\n }));\r\n}\r\n//------------- get member's detail -------------//\r\npublic getMembersDetailByQuoteNo(quoteNum):Observable {\r\n\r\n return this.httpClient.post(`${this.apiURL}Webservice/getMembersDetailByQuoteNo`,{QuotationNumber:quoteNum},this._globalService.getHeader())\r\n .pipe(catchError(this.handleError), tap(res => {\r\n let response=this._globalService.convertResponseInJson(res);\r\n\r\n }));\r\n}\r\n\r\n//----------------- Update Quote -------------//\r\npublic updateQuote(quoteNum,policyHolderFormData):Observable {\r\n\r\n return this.httpClient.post(`${this.apiURL}Webservice/updateQuotation`,{QuotationNumber:quoteNum,policyHolderFormData:policyHolderFormData},this._globalService.getHeader())\r\n .pipe(catchError(this.handleError), tap(res => {\r\n let response=this._globalService.convertResponseInJson(res);\r\n\r\n }));\r\n}\r\n\r\npublic getQuestionnaire():Observable {\r\n\r\n return this.httpClient.post(`${this.apiURL}Webservice/getQuestionnaire`,{},this._globalService.getHeader())\r\n .pipe(catchError(this.handleError), tap(res => {\r\n let response=this._globalService.convertResponseInJson(res);\r\n\r\n }));\r\n}\r\n\r\n//--------------- Update members additional detail ------------- //\r\n\r\npublic updateMemAdditionalDetail(memList,memberDetailFormData,remark):Observable {\r\n\r\n return this.httpClient.post(`${this.apiURL}MemberController/updateMembersAdditionalDetails`,{memList:memList,memberDetailFormData:memberDetailFormData,remark:remark},this._globalService.getHeader())\r\n .pipe(catchError(this.handleError), tap(res => {\r\n let response=this._globalService.convertResponseInJson(res);\r\n\r\n }));\r\n}\r\n\r\npublic saveMemberFiles(formData ):Observable {\r\n\r\n return this.httpClient.post(`${this.apiURL}MemberController/saveMembersFiles`,formData)\r\n .pipe(catchError(this.handleError), tap(res => {\r\n let response=this._globalService.convertResponseInJson(res);\r\n\r\n }));\r\n}\r\n\r\npublic saveMemberMedicalHistory(selectedMember,medicalHistory,quotationNumber,bloodGp,email,partnerID):Observable {\r\n \r\n let jsonDataSend=[];\r\n medicalHistory.forEach((item,index) => {\r\n jsonDataSend.push({id:index,data:item});\r\n \r\n });\r\n return this.httpClient.post(`${this.apiURL}MemberController/saveMemberMedicalHistory`,{MemberID:selectedMember.MemberID,formData:jsonDataSend,quotationNumber:quotationNumber,bloodGp:bloodGp,email:email,partnerID:partnerID},this._globalService.getHeader())\r\n .pipe(catchError(this.handleError), tap(res => {\r\n let response=this._globalService.convertResponseInJson(res);\r\n \r\n }));\r\n }\r\n\r\n //--------------------- PDF generate for Medical History Form------------//\r\n public medicalHistoryFormPdfGenerate(quotationNumber,memberId):Observable {\r\n\r\n return this.httpClient.post(`${this.apiURL}GeneratePdf/medicalHistoryFormPDFGenerate`,{quotationNumber:quotationNumber,memberId:memberId},this._globalService.getHeader())\r\n .pipe(catchError(this.handleError), tap(res => {\r\n let response=this._globalService.convertResponseInJson(res);\r\n \r\n }));\r\n }\r\n\r\n //--------------------- PDF generate for Quotation Plans------------//\r\n public quotationPlanPDFGenerate(quotationNumber):Observable {\r\n\r\n return this.httpClient.post(`${this.apiURL}QuotationPdf/quotationPlanPDFGenerate`,{quotationNumber:quotationNumber},this._globalService.getHeader())\r\n .pipe(catchError(this.handleError), tap(res => {\r\n let response=this._globalService.convertResponseInJson(res);\r\n \r\n }));\r\n }\r\n\r\n\r\n public getpartnerBranch(partnerID){\r\n return this.httpClient.post(`${this.apiURL}Webservice/partnerBranch`,{partnerID:partnerID},this._globalService.getHeader())\r\n .pipe(catchError(this.handleError), tap(res => {\r\n let response=this._globalService.convertResponseInJson(res);\r\n\r\n }));\r\n }\r\n\r\n //--------------------- CHECK MEMBER DUPLICATE ------------//\r\n public duplicateMember(passportNum,emiratesID,uidNum):Observable {\r\n\r\n return this.httpClient.post(`${this.apiURL}MemberController/checkDuplicateMember`,{PassportNumber:passportNum,EmiratesId:emiratesID,UIDNumber:uidNum},this._globalService.getHeader())\r\n .pipe(catchError(this.handleError), tap(res => {\r\n let response=this._globalService.convertResponseInJson(res);\r\n \r\n }));\r\n }\r\n\r\n //---------------- webservice for Work Location -------------//\r\n public getMemberWorkLocation(visaregion):Observable {\r\n\r\n return this.httpClient.post(`${this.apiURL}MemberController/getMemberWorkLocation`,{VisaRegion:visaregion},this._globalService.getHeader())\r\n .pipe(catchError(this.handleError), tap(res => {\r\n let response=this._globalService.convertResponseInJson(res);\r\n \r\n }));\r\n }\r\n\r\n //---------------- webservice for Residential Location -------------//\r\n public getMemberResLocation(visaregion):Observable {\r\n\r\n return this.httpClient.post(`${this.apiURL}MemberController/getMemberResidentialLocation`,{VisaRegion:visaregion},this._globalService.getHeader())\r\n .pipe(catchError(this.handleError), tap(res => {\r\n let response=this._globalService.convertResponseInJson(res);\r\n \r\n }));\r\n }\r\n\r\n //------------------- GET DASHBOARD DATA ------------------------//\r\n public getDashboaedData(user_id,partner_id,lob_code):Observable {\r\n\r\n return this.httpClient.post(`${this.apiURL}DashboardController/getDashboardData`,{user_id:user_id,partner_id:partner_id,lob_code:lob_code},this._globalService.getHeader())\r\n .pipe(catchError(this.handleError), tap(res => {\r\n let response=this._globalService.convertResponseInJson(res);\r\n \r\n }));\r\n }\r\n\r\n //------------------- FOR PAYMENT ------------------------//\r\n public paymentAuth(QuotationNumber,site_url,return_url,project_type,partner_id,policy_number,source,b2c_type):Observable {\r\n\r\n return this.httpClient.post(`${this.apiURL}PaymentWebservice/open_pay_page_values`,{QuotationNumber:QuotationNumber,site_url:site_url,return_url:return_url,project_type:project_type,partner_id:partner_id,policy_number:policy_number,source:source,b2c_type:b2c_type},this._globalService.getHeader())\r\n .pipe(catchError(this.handleError), tap(res => {\r\n let response=this._globalService.convertResponseInJson(res);\r\n \r\n }));\r\n }\r\n\r\n\r\n //-----------------SAVE QUOTATION PAYMENT -------------------//\r\n public saveQuotationPayment(token,eventType,quoteNumber,responseMsg,transactionID):Observable {\r\n\r\n return this.httpClient.post(`${this.apiURL}PaymentWebservice/saveQuatationPayment`,{PaymentLogId:token,eventType:eventType,QuotationNumber:quoteNumber,ResponseMessage:responseMsg,TransactionID:transactionID},this._globalService.getHeader())\r\n .pipe(catchError(this.handleError), tap(res => {\r\n let response=this._globalService.convertResponseInJson(res);\r\n \r\n }));\r\n }\r\n\r\n //-------------------- VERIFY QUOTATION PAYMENT ----------------//\r\n public verifyQuatationPayment(orderNumber):Observable {\r\n\r\n return this.httpClient.post(`${this.apiURL}PaymentWebservice/verifyQuatationPayment`,{orderNumber:orderNumber},this._globalService.getHeader())\r\n .pipe(catchError(this.handleError), tap(res => {\r\n let response=this._globalService.convertResponseInJson(res);\r\n \r\n }));\r\n }\r\n\r\n //------------------------ UPLOAD MAF --------------------//\r\n public uploadMAF(quotationNumber,MemberID,filePath,fileName,processType):Observable {\r\n\r\n return this.httpClient.post(`${this.apiURL}MemberController/uploadMAFMedicalHistory`,{quotationNumber:quotationNumber,MemberID:MemberID,filePath:filePath,fileName:fileName,processType:processType},this._globalService.getHeader())\r\n .pipe(catchError(this.handleError), tap(res => {\r\n let response=this._globalService.convertResponseInJson(res);\r\n \r\n }));\r\n }\r\n //--------------------- SEND PAYMENT LINK TO CUSTOMER -------------//\r\n public sendPaymentLink(quotationNumber):Observable {\r\n\r\n return this.httpClient.post(`${this.apiURL}PaymentWebservice/sendQuatationPaymentLink`,{QuotationNumber:quotationNumber},this._globalService.getHeader())\r\n .pipe(catchError(this.handleError), tap(res => {\r\n let response=this._globalService.convertResponseInJson(res);\r\n\r\n })); \r\n } \r\n//-------------------------- View Policy --------------------------//\r\npublic getPliciesByUser(partnerId,userName,lob,fromDate,toDate):Observable {\r\n\r\n return this.httpClient.post(`${this.apiURL}PolicyController/getPoliciesByUser`,{partnerid:partnerId,username:userName,lob:lob,from_date:fromDate,to_date:toDate},this._globalService.getHeader())\r\n .pipe(catchError(this.handleError), tap(res => {\r\n let response=this._globalService.convertResponseInJson(res);\r\n\r\n })); \r\n }\r\n//------------------------ View Policy Details -----------------------//\r\npublic getCustomerPolicyDetails(partnerId,userName,policyNumber,lobCode):Observable {\r\n\r\n return this.httpClient.post(`${this.apiURL}PolicyController/getCustomerPolicyDetails`,{partnerId:partnerId,userName:userName,polNumber:policyNumber,lobCode:lobCode},this._globalService.getHeader())\r\n .pipe(catchError(this.handleError), tap(res => {\r\n let response=this._globalService.convertResponseInJson(res);\r\n\r\n })); \r\n }\r\n//------------------------ INDIVIDUAL CERTIFICATE PDF -----------------------//\r\npublic individualCertPDF(quotationNumber,memberId):Observable {\r\n\r\n return this.httpClient.post(`${this.apiURL}Memberedcertificate_new/memberCertificatePDFGenerate`,{quotationNumber:quotationNumber,memberId:memberId},this._globalService.getHeader())\r\n .pipe(catchError(this.handleError), tap(res => {\r\n let response=this._globalService.convertResponseInJson(res);\r\n\r\n })); \r\n }\r\n\r\n//------------------------ VIRTUAL CARD PDF -----------------------//\r\npublic virtualCardPDF(quotationNumber,memberId):Observable {\r\n\r\n return this.httpClient.post(`${this.apiURL}GeneratePdf/memberVirtualCardPdf`,{quotationNumber:quotationNumber,memberId:memberId},this._globalService.getHeader())\r\n .pipe(catchError(this.handleError), tap(res => {\r\n let response=this._globalService.convertResponseInJson(res);\r\n\r\n })); \r\n }\r\n//------------------------------ SEND MAF MAIL TO CUSTOMER -----------------------------------------------//\r\npublic sendMafMailToCustomer(quotationNumber,partner_id,memberDetails,email):Observable {\r\n return this.httpClient.post(`${this.apiURL}MemberController/saveMAFLogsData`,{quotationNumber:quotationNumber,partner_id:partner_id,memberDetails:memberDetails,email:email},this._globalService.getHeader())\r\n .pipe(catchError(this.handleError), tap(res => {\r\n let response=this._globalService.convertResponseInJson(res);\r\n\r\n })); \r\n }\r\n//------------------------------- VALIDATE MAF ACCESS -----------------------------------------//\r\npublic validateMAFAccess(quotationNumber,partner_id,user_token):Observable {\r\n return this.httpClient.post(`${this.apiURL}MemberController/validateMAFAccess`,{quotationNumber:quotationNumber,partner_id:partner_id,user_token:user_token},this._globalService.getHeader())\r\n .pipe(catchError(this.handleError), tap(res => {\r\n let response=this._globalService.convertResponseInJson(res);\r\n\r\n })); \r\n }\r\n//------------------------------- FOR REDIRECT PAGES -----------------------------------------//\r\npublic redirectPages():Observable {\r\n return this.httpClient.post(`${this.apiURL}Webservice/getRedirectionLink`,{},this._globalService.getHeader())\r\n .pipe(catchError(this.handleError), tap(res => {\r\n let response=this._globalService.convertResponseInJson(res);\r\n\r\n })); \r\n }\r\n//------------------------------- FOR VALIDATE USER ACCESS -----------------------------------------//\r\npublic validateUserAccess(productPageName,lobCode):Observable {\r\n return this.httpClient.post(`${this.apiURL}MotorInsuranceWebservice/checkAccess`,{productPageName:productPageName,lobCode:lobCode},this._globalService.getHeader())\r\n .pipe(catchError(this.handleError), tap(res => {\r\n let response=this._globalService.convertResponseInJson(res);\r\n\r\n })); \r\n }\r\n//------------------------------------ FOR GET MEDICAL RECIEPT -------------------------------------------------//\r\npublic getMedicalReceipt(webQuoteNum,lobCode,user_name,policy_number,partnerId):Observable {\r\n\r\n return this.httpClient.post(`${this.apiURL}Webservice/getPaymentReceipt`,{quotation_number:webQuoteNum,lob:lobCode,user_name:user_name,policy_number:policy_number,partnerId:partnerId},this._globalService.getHeader())\r\n .pipe(catchError(this.handleError), tap(res => {\r\n let response=this._globalService.convertResponseInJson(res);\r\n\r\n })); \r\n}\r\n//------------------------------------ FOR GET MEDICAL RECIEPT -------------------------------------------------//\r\npublic getPolicyPeriod(visa_region):Observable {\r\n\r\n return this.httpClient.post(`${this.apiURL}Webservice/getPolicyPeriod`,{visa_region:visa_region},this._globalService.getHeader())\r\n .pipe(catchError(this.handleError), tap(res => {\r\n let response=this._globalService.convertResponseInJson(res);\r\n\r\n })); \r\n}\r\n\r\n\r\n//------------------------------------ FOR GET MEDICAL MemberID -------------------------------------------------//\r\npublic getMemberID(visa_region):Observable {\r\n\r\n return this.httpClient.post(`${this.apiURL}MemberController/getCustMemberID`,{visa_region:1},this._globalService.getHeader())\r\n .pipe(catchError(this.handleError), tap(res => {\r\n let response=this._globalService.convertResponseInJson(res);\r\n\r\n })); \r\n}\r\n//------------------------------------ FOR POLICY APPROVE -------------------------------------------------//\r\npublic policyApproval(quoteNum):Observable {\r\n\r\n return this.httpClient.post(`${this.apiURL}PaymentWebservice/policyApproval`,{quatationNumber:quoteNum},this._globalService.getHeader())\r\n .pipe(catchError(this.handleError), tap(res => {\r\n let response=this._globalService.convertResponseInJson(res);\r\n\r\n })); \r\n}\r\n//------------------------------------ FOR RECEIPT GENERATION -------------------------------------------------//\r\npublic generateReceipt(quoteNum,transID):Observable {\r\n\r\n return this.httpClient.post(`${this.apiURL}PaymentWebservice/receiptGeneration`,{quatationNumber : quoteNum,transaction_id : transID},this._globalService.getHeader())\r\n .pipe(catchError(this.handleError), tap(res => {\r\n let response=this._globalService.convertResponseInJson(res);\r\n\r\n })); \r\n}\r\n\r\n//------------------------------- FOR GET QUOTATION DETAIL FOR RETRIEVE QUOTE ------------------------------------//\r\npublic getDataForRetrieveQuote(quoteNum):Observable {\r\n\r\n return this.httpClient.post(`${this.apiURL}Webservice/getQuotationDetailsForRetrieveByQuoteNo`,{QuotationNumber : quoteNum},this._globalService.getHeader())\r\n .pipe(catchError(this.handleError), tap(res => {\r\n let response=this._globalService.convertResponseInJson(res);\r\n\r\n })); \r\n}\r\n//------------------------------- FOR VERIFY PAYMENT NEW ------------------------------------//\r\npublic verifyPayment(tran_ref):Observable {\r\n\r\n return this.httpClient.post(`${this.apiURL}PaymentWebservice/verifyPayment`,{tran_ref : tran_ref},this._globalService.getHeader())\r\n .pipe(catchError(this.handleError), tap(res => {\r\n let response=this._globalService.convertResponseInJson(res);\r\n\r\n })); \r\n}\r\n//------------------------------ FOR GET QUOTATION DETAIL ---------------------------------------//\r\npublic getQuotationDetail(view_type,reference_number,partner_id):Observable {\r\n\r\n return this.httpClient.post(`${this.apiURL}HomeInsuranceWebservice/getQuotationDetails`,{view_type:view_type,quotation_number:reference_number,partner_id:partner_id},this._globalService.getHeader())\r\n .pipe(catchError(this.handleError), tap(res => {\r\n let response=this._globalService.convertResponseInJson(res);\r\n\r\n }));\r\n}\r\n\r\n\r\n \r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class JwtService {\r\n\r\n constructor(private httpClient: HttpClient) { }\r\n \r\n\r\n public redirectURL='';\r\n private loggedIn = false;\r\n\r\n public logout(): void {\r\n localStorage.clear();\r\n this.loggedIn = false;\r\n }\r\n\r\n public isLoggedIn(): boolean {\r\n \r\n var backend_token=localStorage.getItem('backend-token');\r\n return (backend_token=='' || backend_token==null)?false:true;\r\n // return tokenNotExpired(\"backend-token\");\r\n }\r\n\r\n\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs/Rx';\r\nimport { catchError, tap, map } from 'rxjs/operators';\r\nimport { of, throwError, observable } from 'rxjs';\r\nimport { GlobalService } from \"../_service/global.service\";\r\nimport { config } from './../config';\r\nimport { environment } from '../../environments/environment';\r\nimport {MatSnackBar} from '@angular/material/snack-bar';\r\nimport Swal from 'sweetalert2';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class MotorquoteService {\r\n\r\n apiURL: string = config.apiUrl; \r\n paymentAPIURL = config.paymentGatewayUrl;//Added by Anju for new payment gateway\r\n \r\n constructor(private httpClient: HttpClient,public _globalService: GlobalService, private _snackBar: MatSnackBar) {}\r\n\r\n public openSnackBar(message: string, action: string) {\r\n \r\n this._snackBar.open(message, action, {\r\n duration: 6000,\r\n verticalPosition:'top',\r\n horizontalPosition:'center',\r\n direction:'ltr',\r\n panelClass : ['snackbar']\r\n });\r\n }\r\n\r\n public handleError(error) {\r\n \r\n let errorMessage :any = {};\r\n if (error.error instanceof ErrorEvent) {\r\n // client-side error\r\n errorMessage = `Error: ${error.error.message}`;\r\n } else {\r\n // server-side error\r\n errorMessage = `Error Code: ${error.status}\\nMessage: ${error.message}`;\r\n }\r\n console.error(error.status);\r\n if(error.status == 0){\r\n //window.alert(\"There is server error. Please try again later\");\r\n Swal.fire(\"There is server error\", \"Please try again later\", \"error\");\r\n }\r\n // if(error.status == 500){\r\n // Swal.fire(\"Sorry, an error occured\", \"Please try again later\", \"error\");\r\n // }\r\n \r\n\r\n return throwError(errorMessage);\r\n\r\n\r\n // if (error.status == 0) {\r\n // errorMessage = {\r\n // success: false,\r\n // status: 0,\r\n // data: \"Sorry, there was a connection error occurred. Please try again.\"\r\n // };\r\n // } else {\r\n // errorMessage = error.json();\r\n // }\r\n // return Observable.throw(errorMessage);\r\n\r\n \r\n}\r\n\r\n//--------------getplanDetails------------------//\r\npublic getplanDetails(motorValuesArray,policyDetailsArray):Observable {\r\n return this.httpClient.post(`${this.apiURL}MotorInsuranceWebservice/getRenewalPremium`,{motorValuesArray:motorValuesArray,policyDetailsArray:policyDetailsArray},this._globalService.getHeader())\r\n .pipe(catchError(this.handleError), tap(res => {\r\n let response=this._globalService.convertResponseInJson(res);\r\n }));\r\n}\r\n\r\n//------------------getPolicyDetailForRenewal------------------------//\r\npublic getPolicyDetailForRenewal(cedant_partner_id,quotation_number,core_policy_number,view_type,source):Observable {\r\n return this.httpClient.post(`${this.apiURL}MotorInsuranceWebservice/getPolicyDetailsForRenewal`,{cedant_partner_id:cedant_partner_id,quotation_number:quotation_number,core_policy_number:core_policy_number,view_type:view_type,source:source},this._globalService.getHeader())\r\n .pipe(catchError(this.handleError), tap(res => {\r\n let response=this._globalService.convertResponseInJson(res);\r\n }));\r\n}\r\n\r\n//------------------------------------- FOR GET ALL FORM DROPDOWN DATA -----------------------------------------//\r\n public getAllFormData(policy_type,registration_type,vechile_make_id,language_code,country,model_year):Observable {\r\n\r\n return this.httpClient.post(`${this.apiURL}MotorInsuranceWebservice/getVechileMasterData`,{policy_type:policy_type,registration_type:registration_type,vechile_make_id:vechile_make_id,language_code:language_code,country:country,model_year:model_year},this._globalService.getHeader())\r\n .pipe(catchError(this.handleError), tap(res => {\r\n let response=this._globalService.convertResponseInJson(res);\r\n\r\n }));\r\n }\r\n\r\n//---------------------------------------------------------- FOR GET VEHICLE NCD --------------------------------------------------//\r\npublic getVehicleNcd(language_code,policy_type):Observable {\r\n\r\n return this.httpClient.post(`${this.apiURL}MotorInsuranceWebservice/getVechileNCD`,{language_code:language_code,policy_type:policy_type},this._globalService.getHeader())\r\n .pipe(catchError(this.handleError), tap(res => {\r\n let response=this._globalService.convertResponseInJson(res);\r\n\r\n }));\r\n }\r\n\r\n//--------------------------------------------------------- FOR GET VEHICLE MODEL --------------------------------------------------//\r\npublic getVehicleModel(vechile_reg_type,make_name_obj,language_code,vechile_body_type,year):Observable {\r\n\r\n return this.httpClient.post(`${this.apiURL}MotorInsuranceWebservice/getVechileModel`,{vechile_reg_type:vechile_reg_type,make_name:make_name_obj,language_code:language_code,vechile_body_type:vechile_body_type,model_year:year},this._globalService.getHeader())\r\n .pipe(catchError(this.handleError), tap(res => {\r\n let response=this._globalService.convertResponseInJson(res);\r\n\r\n }));\r\n }\r\n// //-------------------------------------- GET TOKEN DATA ---------------------------------------------------//\r\n// public getTokenData():Observable {\r\n\r\n// return this.httpClient.post(`${this.apiURL}MotorInsuranceWebservice/getTokenData`,{},this._globalService.getHeader())\r\n// .pipe(catchError(this.handleError), tap(res => {\r\n// let response=this._globalService.convertResponseInJson(res);\r\n \r\n// }));\r\n// }\r\n//------------------------------------------------ FOR GET MOTOR BODY TYPE ------------------------------------------------------------//\r\npublic getMotorBodyType(policy_type,registration_type,vechile_model_id,language_code,model_year,model_name):Observable {\r\n\r\n return this.httpClient.post(`${this.apiURL}MotorInsuranceWebservice/getMotorBodyType`,{policy_type:policy_type,registration_type:registration_type,vechile_model_id:vechile_model_id,language_code:language_code,model_year:model_year,model_name:model_name},this._globalService.getHeader())\r\n .pipe(catchError(this.handleError), tap(res => {\r\n let response=this._globalService.convertResponseInJson(res);\r\n\r\n }));\r\n }\r\n//------------------------------------------------FOR GET VEHICLE SPECIFICATION ------------------------------------------------//\r\npublic getVhclSpecification(language_code,vechile_model_id):Observable {\r\n\r\n return this.httpClient.post(`${this.apiURL}MotorInsuranceWebservice/getVechilesSpecification`,{language_code:language_code,vechile_model_id:vechile_model_id},this._globalService.getHeader())\r\n .pipe(catchError(this.handleError), tap(res => {\r\n let response=this._globalService.convertResponseInJson(res);\r\n\r\n }));\r\n}\r\n//-------------------------------------------- For INSERT QUOTATION ------------------------------------------------------//\r\npublic getInsertQuote(motorValuesArray,policyDetailsArray):Observable {\r\n\r\n return this.httpClient.post(`${this.apiURL}MotorInsuranceWebservice/insertQuotation`,{motorValuesArray:motorValuesArray,policyDetailsArray:policyDetailsArray},this._globalService.getHeader())\r\n .pipe(catchError(this.handleError), tap(res => {\r\n let response=this._globalService.convertResponseInJson(res);\r\n\r\n }));\r\n}\r\n//------------------------------------------- SAVE QUOTATION WITH PLAN --------------------------------------------------//\r\npublic insertPlanData(quotationNumber,product_code,totalFixedPrimum,totalVariablePremium,policyFee,totalPreimum,planData,benefit_data,repairType,savePlanDetail,insType,source,scheme_code):Observable {\r\n\r\n return this.httpClient.post(`${this.apiURL}MotorInsuranceWebservice/saveQuoteWithPlan`,\r\n {quotationNumber:quotationNumber,product_code:product_code,totalFixedPrimum:totalFixedPrimum ,\r\n totalVariablePremium:totalVariablePremium,\r\n policyFee:policyFee,\r\n totalPreimum:totalPreimum,\r\n planData:planData,\r\n benefit_data:benefit_data,\r\n repairType:repairType,\r\n savePlanDetail:savePlanDetail,\r\n insuranceType:insType,\r\n source:source,\r\n scheme_code:scheme_code},this._globalService.getHeader())\r\n .pipe(catchError(this.handleError), tap(res => {\r\n // let response=this._globalService.convertResponseInJson(res);\r\n\r\n }));\r\n}\r\n\r\n\r\n//------------------------------------------- SAVE QUOTATION WITH PLAN Email--------------------------------------------------//\r\npublic insertPlanDataEmail(quotationNumber,product_code,totalFixedPrimum,totalVariablePremium,policyFee,totalPreimum,planData,benefit_data,repairType,savePlanDetail,insType,source,scheme_code):Observable {\r\n\r\n return this.httpClient.post(`${this.apiURL}MotorInsuranceWebservice/saveQuoteWithPlanEmail`,\r\n {quotationNumber:quotationNumber,product_code:product_code,totalFixedPrimum:totalFixedPrimum ,\r\n totalVariablePremium:totalVariablePremium,\r\n policyFee:policyFee,\r\n totalPreimum:totalPreimum,\r\n planData:planData,\r\n benefit_data:benefit_data,repairType:repairType, savePlanDetail:savePlanDetail,insuranceType:insType,\r\n source:source,\r\n scheme_code:scheme_code},this._globalService.getHeader())\r\n .pipe(catchError(this.handleError), tap(res => {\r\n // let response=this._globalService.convertResponseInJson(res);\r\n\r\n }));\r\n}\r\n//-------------------------------------------- For INSERT Policy ------------------------------------------------------//\r\npublic saveAdditionalInfo(QuotNo,WebQuotNo,insr_mortgage_bank,is_survey,insured_name,insured_type,vechile_engine_no,gender,source,PaymentMode ):Observable {\r\n\r\n return this.httpClient.post(`${this.apiURL}MotorInsuranceWebservice/saveAdditionalInfo`,{QuotNo:QuotNo,WebQuotNo:WebQuotNo,insr_mortgage_bank:insr_mortgage_bank,is_survey:is_survey,insured_name:insured_name,insured_type:insured_type,vechile_engine_no:vechile_engine_no,gender:gender,source:source,PaymentMode:PaymentMode },this._globalService.getHeader())\r\n .pipe(catchError(this.handleError), tap(res => {\r\n let response=this._globalService.convertResponseInJson(res);\r\n\r\n }));\r\n}\r\n//------------------------------------------------ UPLOAD DRIVING LICENCE DOC -------------------------------------------//\r\npublic uploadDrivLicDoc(QuotNo,driving_license):Observable {\r\n\r\n return this.httpClient.post(`${this.apiURL}MotorInsuranceWebservice/uploadDrivingLicense`,{QuotNo:QuotNo,driving_license:driving_license},this._globalService.getHeader())\r\n .pipe(catchError(this.handleError), tap(res => {\r\n let response=this._globalService.convertResponseInJson(res);\r\n\r\n }));\r\n}\r\n//------------------------------------------------ UPLOAD EMIRATES ID DOC -------------------------------------------//\r\npublic uploadEmiratesIdDoc(QuotNo,emirates_documents):Observable {\r\n\r\n return this.httpClient.post(`${this.apiURL}MotorInsuranceWebservice/uploadEmiratesIdDocuments`,{QuotNo:QuotNo,emirates_documents:emirates_documents},this._globalService.getHeader())\r\n .pipe(catchError(this.handleError), tap(res => {\r\n let response=this._globalService.convertResponseInJson(res);\r\n\r\n }));\r\n}\r\n//------------------------------------------------ UPLOAD REGISTRATION CARD DOC -------------------------------------------//\r\npublic uploadRegistrationCardDoc(QuotNo,registration_documents):Observable {\r\n\r\n return this.httpClient.post(`${this.apiURL}MotorInsuranceWebservice/uploadMulkiyaOrRegistrationCard`,{QuotNo:QuotNo,registration_documents:registration_documents},this._globalService.getHeader())\r\n .pipe(catchError(this.handleError), tap(res => {\r\n let response=this._globalService.convertResponseInJson(res);\r\n\r\n }));\r\n}\r\n//------------------------------------------------- UPLOAD DOCUMENTS ----------------------------------------------------//\r\npublic uploadDocuments(formData):Observable {\r\n\r\n return this.httpClient.post(`${this.apiURL}MotorInsuranceWebservice/uploadDocuments`,formData)\r\n .pipe(catchError(this.handleError), tap(res => {\r\n let response=this._globalService.convertResponseInJson(res);\r\n\r\n }));\r\n}\r\n//---------------------------------------------- Validate Chassis number -----------------------------------------------//\r\npublic validateChassisNumber(chassis_number):Observable {\r\n return this.httpClient.post(`${this.apiURL}MotorInsuranceWebservice/validateChassisNumber`,{chassis_number:chassis_number},this._globalService.getHeader())\r\n .pipe(catchError(this.handleError), tap(res => {\r\n let response=this._globalService.convertResponseInJson(res);\r\n\r\n }));\r\n}\r\n//--------------------------------------------- QUOTATION DETAIL PDF -----------------------------------------------//\r\npublic getQuoteDetailPDF(quotation_number,source):Observable {\r\n return this.httpClient.post(`${this.apiURL}MotorInsuranceWebservice/getQuotationDetailsPDF`,{quotation_number:quotation_number,source:source},this._globalService.getHeader())\r\n .pipe(catchError(this.handleError), tap(res => {\r\n let response=this._globalService.convertResponseInJson(res);\r\n\r\n }));\r\n}\r\n\r\n//--------------------------------------------- SAVE POLICY DETAIL -----------------------------------------------//\r\npublic savePolicyDetail(policyDetailsArray,quotationDetailsArray):Observable {\r\n return this.httpClient.post(`${this.apiURL}MotorInsuranceWebservice/savePolicyDetails`,{policyDetailsArray:policyDetailsArray,quotationDetailsArray:quotationDetailsArray},this._globalService.getHeader())\r\n .pipe(catchError(this.handleError), tap(res => {\r\n let response=this._globalService.convertResponseInJson(res);\r\n\r\n }));\r\n}\r\n//--------------------------------------------- GET BANKDETAIL -----------------------------------------------//\r\npublic getBankDetail():Observable {\r\n return this.httpClient.post(`${this.apiURL}MotorInsuranceWebservice/getBankdetails`,{},this._globalService.getHeader())\r\n .pipe(catchError(this.handleError), tap(res => {\r\n let response=this._globalService.convertResponseInJson(res);\r\n\r\n }));\r\n}\r\n //------------------- FOR PAYMENT ------------------------//\r\n public paymentAuth(QuotationNumber,site_url,return_url,project_type,partner_id,policy_number,source,b2c_type):Observable {\r\n\r\n return this.httpClient.post(`${this.apiURL}PaymentWebservice/open_pay_page_values`,{QuotationNumber:QuotationNumber,site_url:site_url,return_url:return_url,project_type:project_type,partner_id:partner_id,policy_number:policy_number,source:source,b2c_type:b2c_type},this._globalService.getHeader())\r\n .pipe(catchError(this.handleError), tap(res => {\r\n let response=this._globalService.convertResponseInJson(res);\r\n\r\n }));\r\n}\r\n\r\n//-----------------SAVE QUOTATION PAYMENT -------------------//\r\npublic saveQuotationPayment(token,eventType,quoteNumber,responseMsg,transactionID,project_Code,source):Observable {\r\n\r\n return this.httpClient.post(`${this.apiURL}PaymentWebservice/saveQuatationPayment`,{PaymentLogId:token,eventType:eventType,QuotationNumber:quoteNumber,ResponseMessage:responseMsg,TransactionID:transactionID,project_Code:project_Code,source:source},this._globalService.getHeader())\r\n .pipe(catchError(this.handleError), tap(res => {\r\n let response=this._globalService.convertResponseInJson(res);\r\n\r\n }));\r\n}\r\n\r\n//-------------------- VERIFY QUOTATION PAYMENT ----------------//\r\npublic verifyQuatationPayment(orderNumber):Observable {\r\n\r\n return this.httpClient.post(`${this.apiURL}PaymentWebservice/verifyQuatationPayment`,{orderNumber:orderNumber},this._globalService.getHeader())\r\n .pipe(catchError(this.handleError), tap(res => {\r\n let response=this._globalService.convertResponseInJson(res);\r\n\r\n }));\r\n}\r\n\r\n//-------------------- Get Motor Valuation ----------------//\r\npublic getMotorValuation(vechileForm):Observable {\r\n\r\n return this.httpClient.post(`${this.apiURL}MotorInsuranceWebservice/getValuation`,{vechileForm:vechileForm},this._globalService.getHeader())\r\n .pipe(catchError(this.handleError), tap(res => {\r\n let response=this._globalService.convertResponseInJson(res);\r\n\r\n }));\r\n}\r\n\r\n//-------------------- Get Motor Valuation ----------------//\r\npublic getDetailsByVIN(chasisNo):Observable {\r\n\r\n return this.httpClient.post(`${this.apiURL}MotorInsuranceWebservice/getDetailsByVIN`,{chasisNo:chasisNo},this._globalService.getHeader())\r\n .pipe(catchError(this.handleError), tap(res => {\r\n let response=this._globalService.convertResponseInJson(res);\r\n\r\n }));\r\n}\r\n//-------------------------------------------- For UPDATE QUOTATION ------------------------------------------------------//\r\npublic updateQuotation(motorValuesArray,policyDetailsArray):Observable {\r\n\r\n return this.httpClient.post(`${this.apiURL}MotorInsuranceWebservice/updateQuotation`,{motorValuesArray:motorValuesArray,policyDetailsArray:policyDetailsArray},this._globalService.getHeader())\r\n .pipe(catchError(this.handleError), tap(res => {\r\n let response=this._globalService.convertResponseInJson(res);\r\n\r\n }));\r\n}\r\n//-------------------------------------------- For Mail ------------------------------------------------------//\r\npublic sendMail(web_quotation_number,source):Observable {\r\n\r\n return this.httpClient.post(`${this.apiURL}MotorInsuranceWebservice/sendEmail`,{web_quotation_number:web_quotation_number,source:source},this._globalService.getHeader())\r\n .pipe(catchError(this.handleError), tap(res => {\r\n let response=this._globalService.convertResponseInJson(res);\r\n\r\n }));\r\n}\r\n//-------------------------------------------- For RETREIVE QUOTE ------------------------------------------------------//\r\npublic getRetrieveQuote(quotation_number,mobile_code,mobile_number,insured_email,app_source,sourceType=''):Observable {\r\n\r\n return this.httpClient.post(`${this.apiURL}MotorInsuranceWebservice/getQuotationDetailsForCustomer`,\r\n { quotation_number:quotation_number,\r\n mobile_code:mobile_code,\r\n mobile_number:mobile_number,\r\n insured_email:insured_email,\r\n app_source:app_source,\r\n sourceType:sourceType\r\n\r\n },this._globalService.getHeader())\r\n .pipe(catchError(this.handleError), tap(res => {\r\n let response=this._globalService.convertResponseInJson(res);\r\n\r\n }));\r\n}\r\n//------------------------------------------- FOR PLATE CODE DATA --------------------------------------------------------------//\r\npublic getPlateCode(language_code,plate_source):Observable {\r\n\r\n return this.httpClient.post(`${this.apiURL}MotorInsuranceWebservice/getPlateCode`,{language_code:language_code,plate_source:plate_source},this._globalService.getHeader())\r\n .pipe(catchError(this.handleError), tap(res => {\r\n let response=this._globalService.convertResponseInJson(res);\r\n\r\n }));\r\n}\r\n//-------------------------------------------- FOR PAYMENT ERROR MESSAGES -------------------------------------------------------//\r\npublic getPaymentErrorMsg(section,response_code,language):Observable {\r\n return this.httpClient.post(`${this.apiURL}PaymentWebservice/getErrorMessageDuringPayment`,{section:section,response_code:response_code,language:language},this._globalService.getHeader())\r\n .pipe(catchError(this.handleError), tap(res => {\r\n let response=this._globalService.convertResponseInJson(res);\r\n\r\n }));\r\n}\r\n//-------------------------------------------- GET DATA FOR EDITQUOTE DOCUMENTS -------------------------------------------------------//\r\npublic getDataForEditQuoteDoc(quoteNum):Observable {\r\n return this.httpClient.post(`${this.apiURL}MotorInsuranceWebservice/getDataForEditQuoteDoc`,{quotation_number:quoteNum},this._globalService.getHeader())\r\n .pipe(catchError(this.handleError), tap(res => {\r\n let response=this._globalService.convertResponseInJson(res);\r\n\r\n }));\r\n}\r\n//-------------------------------------------- GET TERMS AND CONDITIONS -------------------------------------------------------//\r\npublic getTermsConditions(product):Observable {\r\n return this.httpClient.post(`${this.apiURL}MotorInsuranceWebservice/getTermsAndCondition`,{product:product},this._globalService.getHeader())\r\n .pipe(catchError(this.handleError), tap(res => {\r\n let response=this._globalService.convertResponseInJson(res);\r\n\r\n }));\r\n}\r\n\r\n//-------------------- VERIFY QUOTATION PAYMENT ----------------//\r\npublic webSiteLink():Observable {\r\n\r\n return this.httpClient.post(`${this.apiURL}MotorInsuranceWebservice/getFedilityWebsite`,{},this._globalService.getHeader())\r\n .pipe(catchError(this.handleError), tap(res => {\r\n let response=this._globalService.convertResponseInJson(res);\r\n\r\n }));\r\n}\r\n//-------------------- GET VEHICLE MAKE DATA ----------------//\r\npublic getVhclMake(policy_type,registration_type,vechile_make_id,language_code,country,model_year,scheme_code):Observable {\r\n\r\n return this.httpClient.post(`${this.apiURL}MotorInsuranceWebservice/getVechileMakeValues`,{policy_type:policy_type,registration_type:registration_type,vechile_make_id:vechile_make_id,language_code:language_code,country:country,model_year:model_year,scheme_code:scheme_code},this._globalService.getHeader())\r\n .pipe(catchError(this.handleError), tap(res => {\r\n let response=this._globalService.convertResponseInJson(res);\r\n\r\n }));\r\n}\r\n//--------------------------------------- FOR GET DEDUCTIBLE ------------------------------------------------------------//\r\npublic getDeductible(deductibleArray):Observable {\r\n\r\n return this.httpClient.post(`${this.apiURL}MotorInsuranceWebservice/getDeductible`,{deductibleArray:deductibleArray},this._globalService.getHeader())\r\n .pipe(catchError(this.handleError), tap(res => {\r\n let response=this._globalService.convertResponseInJson(res);\r\n\r\n })); \r\n} \r\n//--------------------------------------- FOR GET MOTOR INS REQUIRED DATA ----------------------------------------------------------//\r\npublic getMotorRequiredData(key,vhclAge,vhclYear,polStartYear,vhclMake,schmeCode,quote_status,web_quote_number):Observable {\r\n\r\n return this.httpClient.post(`${this.apiURL}MotorInsuranceWebservice/motorInsuranceRequiredData`,{key:key,vechile_age:vhclAge,vechile_year:vhclYear,policy_start_date_year:polStartYear,vechile_make_array:vhclMake,scheme_code:schmeCode,quote_status:quote_status,web_quote_number:web_quote_number},this._globalService.getHeader())\r\n .pipe(catchError(this.handleError), tap(res => {\r\n let response=this._globalService.convertResponseInJson(res);\r\n\r\n })); \r\n} \r\n//------------------------------------------ FOR GET INDUSTRY TYPE ------------------------------------------------//\r\npublic getIndustryTypes(lob):Observable {\r\n return this.httpClient.post(`${this.apiURL}Webservice/getIndustryTypes`,{LOBCode : lob},this._globalService.getHeader())\r\n .pipe(catchError(this.handleError), tap(res => {\r\n let response=this._globalService.convertResponseInJson(res);\r\n\r\n }));\r\n}\r\n\r\n//-------------------- get discount ------------//\r\npublic getDiscountOnSelfDeclaration(quotation_number,lob_code):Observable {\r\n\r\n return this.httpClient.post(`${this.apiURL}Webservice/PromoDisPercent`,{quotation_number:quotation_number,lob_code:lob_code},this._globalService.getHeader())\r\n .pipe(catchError(this.handleError), tap(res => {\r\n let response=this._globalService.convertResponseInJson(res);\r\n\r\n }));\r\n}\r\n\r\n//---------------------------- Upload document temp ---------------------//\r\npublic uploadDocumentsTemp(formData):Observable {\r\n\r\n return this.httpClient.post(`${this.apiURL}MotorInsuranceWebservice/uploadDocumentTemp`,formData)\r\n .pipe(catchError(this.handleError), tap(res => {\r\n let response=this._globalService.convertResponseInJson(res);\r\n\r\n }));\r\n}\r\n\r\n//---------------------------- Get self declaration data -------------------------------//\r\npublic getSelfDeclarartionData():Observable {\r\n\r\n return this.httpClient.post(`${this.apiURL}MotorInsuranceWebservice/getSelfDeclarationData`,{},this._globalService.getHeader())\r\n .pipe(catchError(this.handleError), tap(res => {\r\n let response=this._globalService.convertResponseInJson(res);\r\n\r\n }));\r\n}\r\n//---------------------------------- FOR SPECIAL DISCOUNT ------------------------------------//\r\npublic getSpecialDiscount():Observable {\r\n\r\n return this.httpClient.post(`${this.apiURL}MotorInsuranceWebservice/SpecialDiscount`,{},this._globalService.getHeader())\r\n .pipe(catchError(this.handleError), tap(res => {\r\n let response=this._globalService.convertResponseInJson(res);\r\n\r\n }));\r\n}\r\n//---------------------------------- FOR SPECIAL DISCOUNT ------------------------------------//\r\npublic sendPaymentLink(quotationNumber,project_type,source,emailId):Observable {\r\n\r\n return this.httpClient.post(`${this.apiURL}PaymentWebservice/sendQuatationPaymentLink`,{QuotationNumber:quotationNumber,project_type:project_type,source:source,emailId:emailId},this._globalService.getHeader())\r\n .pipe(catchError(this.handleError), tap(res => {\r\n let response=this._globalService.convertResponseInJson(res);\r\n\r\n }));\r\n}\r\npublic getRetrieveQuote1(quotation_number,app_source,type):Observable {\r\n \r\n return this.httpClient.post(`${this.apiURL}MotorInsuranceWebservice/getQuotationDetailsForCustomer`,\r\n { quotation_number:quotation_number,\r\n app_source:app_source,\r\n type:type\r\n\r\n },this._globalService.getHeader())\r\n .pipe(catchError(this.handleError), tap(res => {\r\n let response=this._globalService.convertResponseInJson(res);\r\n\r\n }));\r\n}\r\n\r\n\r\n\r\n\r\n\r\n// -----------------------------------------------Upload Document For Non-OCR--------------------------------------------------\r\n\r\npublic uploadDocumentWithoutOCR(formData):Observable {\r\n\r\n return this.httpClient.post(`${this.apiURL}MotorInsuranceWebservice/uploadPolDocument`,formData)\r\n .pipe(catchError(this.handleError), tap(res => {\r\n let response=this._globalService.convertResponseInJson(res);\r\n\r\n }));\r\n}\r\n// -----------------------------------------------Winner Details--------------------------------------------------\r\n\r\npublic getWinnerDetails():Observable {\r\n\r\n return this.httpClient.post(`${this.apiURL}webservice/GetRamadanCampaign21Winner`,'')\r\n .pipe(catchError(this.handleError), tap(res => {\r\n let response=this._globalService.convertResponseInJson(res);\r\n\r\n }));\r\n}\r\n//-------------------------------------------- Verify OTP ------------------------------------------------------//\r\npublic verifyOtp(email,otp):Observable {\r\n\r\n return this.httpClient.post(`http://win.k2key.in/motorFileUploadAndKYC/index.php/Webservice/varifyOTP`,{email:email,otp:otp},this._globalService.getHeader())\r\n .pipe(catchError(this.handleError), tap(res => {\r\n let response=this._globalService.convertResponseInJson(res);\r\n\r\n }));\r\n}\r\n//-------------------------------------------- Verify OTP ------------------------------------------------------//\r\npublic sendotp(email):Observable {\r\n\r\n return this.httpClient.post(`http://win.k2key.in/motorFileUploadAndKYC/index.php/Webservice/sendOTP`,{email:email},this._globalService.getHeader())\r\n .pipe(catchError(this.handleError), tap(res => {\r\n let response=this._globalService.convertResponseInJson(res);\r\n\r\n }));\r\n}\r\npublic linkedpolicy(insuredName,policyNo,expiryDate):Observable {\r\n\r\n return this.httpClient.post(`http://win.k2key.in/motorFileUploadAndKYC/index.php/Webservice/LinkPolicy`,{insuredName:insuredName,policyNo:policyNo,expiryDate:expiryDate},this._globalService.getHeader())\r\n .pipe(catchError(this.handleError), tap(res => {\r\n let response=this._globalService.convertResponseInJson(res);\r\n\r\n }));\r\n}\r\n\r\n\r\n //------------------- FOR PAYMENT ------------------------//\r\n //Added method by Anju for new Payment API Integration\r\n public paymentAuthNew(\r\n QuotationNumber,\r\n site_url,\r\n return_url,\r\n project_type,\r\n partner_id,\r\n policy_number,\r\n quote_type,\r\n source\r\n ): Observable {\r\n return this.httpClient\r\n .post(\r\n `${this.paymentAPIURL}pay-page`,\r\n {\r\n QuotationNumber: QuotationNumber,\r\n site_url: site_url,\r\n return_url: return_url,\r\n project_type: project_type,\r\n partner_id: partner_id,\r\n policy_number: policy_number,\r\n quote_type: quote_type,\r\n source: source,\r\n },\r\n this._globalService.getHeader()\r\n )\r\n .pipe(\r\n catchError(this.handleError),\r\n tap((res) => {\r\n let response = this._globalService.convertResponseInJson(res);\r\n console.log(response);\r\n })\r\n );\r\n }\r\n\r\n\r\n //Added method by Anju for new Payment API Integration\r\n public verifyPayment(orderNumber): Observable {\r\n return this.httpClient\r\n .get(this.paymentAPIURL + 'pay-status/' + orderNumber)\r\n .pipe(\r\n catchError(this.handleError),\r\n tap((res) => {\r\n let response = this._globalService.convertResponseInJson(res);\r\n })\r\n );\r\n }\r\n\r\n public sendPolicySuccessMail(quotationNumber): Observable {\r\n\r\n return this.httpClient.post(`${this.apiURL}MotorInsuranceWebservice/SendPolicySuccessMail`, { quotationNumber: quotationNumber })\r\n .pipe(catchError(this.handleError), tap(res => {\r\n let response = this._globalService.convertResponseInJson(res);\r\n\r\n }));\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs/Rx';\r\nimport { catchError, tap, map } from 'rxjs/operators';\r\nimport { of, throwError } from 'rxjs';\r\nimport { GlobalService } from \"../_service/global.service\";\r\nimport { config } from './../config';\r\n// import { environment } from '../../environments/environment';\r\n\r\nimport { Router } from \"@angular/router\";\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class UserauthService {\r\n apiURL: string = config.apiUrl2;\r\n\r\n apiURL1: string = config.apiUrl;\r\n private loggedIn = false;\r\n \r\n\r\n constructor(private httpClient: HttpClient,public _globalService: GlobalService, public _route:Router) {}\r\n \r\n private handleError (operation = 'operation', result?: T) {\r\n return (error: any): Observable => {\r\n\r\n // TODO: send the error to remote logging infrastructure\r\n console.error(error); // log to console instead\r\n\r\n // Let the app keep running by returning an empty result.\r\n return of(result as T);\r\n };\r\n}\r\n\r\n \r\n public projecttokenAuthorisation(token){\r\n var parameter={'token':token};\r\n return this.httpClient.post(`${this.apiURL}Webserviceauth/tokenAuthorisation`,parameter)\r\n \r\n .pipe(catchError(this.handleError), tap(res => {\r\n\r\n //let response:any= res;\r\n let response=this._globalService.convertResponseInJson(res);\r\n\r\n if (response.success) {\r\n \r\n if (response.data.access_token != null) {\r\n \r\n let response_data=JSON.stringify(response.data);\r\n localStorage.setItem(\"currentUser\", response_data);\r\n localStorage.setItem(\"backend-token\", response.data.access_token);\r\n \r\n }\r\n \r\n this.loggedIn = true;\r\n } else {\r\n localStorage.clear();\r\n this.loggedIn = false;\r\n } \r\n return response;\r\n }));\r\n\r\n\r\n }\r\n\r\n\r\n public loginUserAuth(username,password){\r\n\r\n return this.httpClient.post(`${this.apiURL}Webserviceauth/login_authentication`,{EmailAddress:username,Password:password})\r\n .pipe(catchError(this.handleError), tap(res => {\r\n\r\n let response = this._globalService.convertResponseInJson(res);\r\n \r\n \r\n if (response.success) {\r\n \r\n if (response.data.access_token != null) {\r\n \r\n let response_data=JSON.stringify(response.data);\r\n let userInfo = {\"UserRole\":response.data.UserRole,\r\n \"AccessGroup\":response.data.AccessGroup,\r\n \"EmailAddress\": response.data.EmailAddress,\r\n \"CedantLogo\": response.data.CedantLogo,\r\n \"PartnerName\": response.data.PartnerName,\r\n \"UserName\": response.data.UserName,\r\n \"BranchId\": response.data.BranchId,\r\n \"User_ID\": response.data.UserId,\r\n \"Partner_ID\": response.data.PartnerId,\r\n \"Cedant_ID\" : response.data.CedantId\r\n\r\n }\r\n // localStorage.setItem(\"UserRole\", response.data.UserRole);\r\n // localStorage.setItem(\"EmailAddress\", response.data.EmailAddress);\r\n // localStorage.setItem(\"CedantLogo\", response.data.CedantLogo);\r\n // localStorage.setItem(\"PartnerName\", response.data.PartnerName);\r\n // localStorage.setItem(\"UserName\", response.data.UserName);\r\n localStorage.setItem(\"currentUser\",JSON.stringify( userInfo));\r\n localStorage.setItem(\"backend-token\", response.data.access_token);\r\n \r\n }\r\n \r\n this.loggedIn = true;\r\n } else {\r\n localStorage.clear();\r\n this.loggedIn = false;\r\n } \r\n return response;\r\n }));\r\n \r\n }\r\n\r\n\r\n\r\n\r\n public userAuthLoginExist() {\r\n \r\n var backend_token=localStorage.getItem('backend-token');\r\n let loginStatus = (backend_token=='' || backend_token==null)?false:true;\r\n console.log(loginStatus);\r\n if(loginStatus == false){\r\n this._route.navigate([\"/login\"]);\r\n }\r\n else{\r\n \r\n this._route.navigate([\"/dashboard\"]);\r\n\r\n }\r\n\r\n }\r\n\r\n public getTokenData(){\r\n\r\n return this.httpClient.post(`${this.apiURL}MotorInsuranceWebservice/getTokenData`,{})\r\n .pipe(catchError(this.handleError), tap(res => {\r\n\r\n let response = this._globalService.convertResponseInJson(res);\r\n \r\n console.log(response.response_message == \"Success\");\r\n if (response.response_message == \"Success\") {\r\n \r\n if (response.token.token != null) {\r\n \r\n let response_data = JSON.stringify(response.token.token);\r\n \r\n // localStorage.setItem(\"UserRole\", response.data.UserRole);\r\n // localStorage.setItem(\"EmailAddress\", response.data.EmailAddress);\r\n // localStorage.setItem(\"CedantLogo\", response.data.CedantLogo);\r\n // localStorage.setItem(\"PartnerName\", response.data.PartnerName);\r\n // localStorage.setItem(\"UserName\", response.data.UserName);\r\n \r\n localStorage.setItem(\"backend-token\", response.token.token);\r\n \r\n }\r\n \r\n this.loggedIn = true;\r\n } else {\r\n localStorage.clear();\r\n this.loggedIn = false;\r\n } \r\n return response;\r\n }));\r\n \r\n }\r\n \r\n\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2FwcC5jb21wb25lbnQuY3NzIn0= */\"","import { Component} from '@angular/core';\r\nimport {Observable, Subscription, fromEvent} from 'rxjs';\r\nimport { GlobalService } from './_service/global.service';\r\nimport Swal from 'sweetalert2';\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.css']\r\n})\r\nexport class AppComponent {\r\n\r\n onlineEvent: Observable;\r\n offlineEvent: Observable;\r\n subscriptions: Subscription[] = [];\r\n connectionStatusMessage: string;\r\n connectionStatus: string;\r\n\r\n constructor(public _globalService: GlobalService) {}\r\n\r\n ngOnInit() {\r\n \r\n \r\n this.onlineEvent = fromEvent(window, 'online');\r\n this.offlineEvent = fromEvent(window, 'offline');\r\n this.subscriptions.push(this.onlineEvent.subscribe(e => {\r\n this.connectionStatusMessage = 'Back to online';\r\n this.connectionStatus = 'online';\r\n\r\n this._globalService.connectionStatusChanged.next('online');\r\n Swal.fire(\"\", \"Back to online\", \"success\");\r\n // alert('Back to online');\r\n console.log('Online...',e);\r\n }));\r\n\r\n this.subscriptions.push(this.offlineEvent.subscribe(e => {\r\n this.connectionStatusMessage = 'Connection lost! You are not connected to internet';\r\n this.connectionStatus = 'offline';\r\n\r\n this._globalService.connectionStatusChanged.next('offline');\r\n Swal.fire(\"\", \"Connection lost! You are not connected to internet\", \"error\");\r\n // alert('Connection lost! You are not connected to internet');\r\n console.log('Offline...',e);\r\n }));\r\n\r\n }\r\n\r\n}\r\n","import { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { HttpModule } from '@angular/http';\r\nimport { RouterModule } from '@angular/router';\r\n\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\n\r\nimport { AppRoutingModule } from './app.routing';\r\nimport { ComponentsModule } from './components/components.module';\r\n\r\nimport { AppComponent } from './app.component';\r\n\r\nimport { NgSelectModule } from '@ng-select/ng-select';\r\n\r\nimport {MaterialuiModule} from './materialui/materialui.module';\r\nimport { DatePipe } from '@angular/common';\r\n\r\nimport {HttpClientModule} from '@angular/common/http';\r\n\r\nimport { AuthGuard } from \"./_service/auth.guard\";\r\n//JWT MODULE\r\nimport { JwtModule } from '@auth0/angular-jwt';\r\n\r\nimport { NgxMatSelectSearchModule } from 'ngx-mat-select-search';\r\n// import {NgxMaterialToolsModule} from 'ngx-material-tools';\r\nimport { NgxMaskModule, IConfig } from 'ngx-mask';\r\n\r\nimport { AdminLayoutComponent } from './layouts/admin-layout/admin-layout.component';\r\nimport { LandingAuthUserComponent } from './layouts/landing-auth-user/landing-auth-user.component';\r\nimport { LoginUserComponent } from './layouts/login-user/login-user.component';\r\nimport { DashboardComponent} from './dashboard/dashboard.component';\r\nimport { MotorquoteComponent} from './motorquote/motorquote.component';\r\nimport { CancelpaymentComponent } from './cancelpayment/cancelpayment.component';\r\nimport { ThankyouComponent } from './thankyou/thankyou.component';\r\n//START:INCLUDE SERVICES\r\nimport { JwtService } from \"./_service/jwt.service\";\r\nimport { GlobalService } from \"./_service/global.service\";\r\nimport { UserauthService } from './_service/userauth.service';\r\nimport { MotorquoteService } from './_service/motorquote.service';\r\n// import { RecaptchaModule, RECAPTCHA_SETTINGS, RecaptchaSettings } from 'ng-recaptcha';\r\n// import { RecaptchaFormsModule } from 'ng-recaptcha';\r\nimport { ServiceWorkerModule } from '@angular/service-worker';\r\nimport { environment } from '../environments/environment';\r\nimport { OcrmainModule } from './ocrmain/ocrmain.module';\r\nimport { MotorpaymentinvoiceComponent } from './motorpaymentinvoice/motorpaymentinvoice.component';\r\nimport { WinnerComponent } from './winner/winner.component'; \r\n// import{NgxSimpleCountdownModule} from 'ngx-simple-countdown';\r\nimport { UserregistrationComponent } from './userregistration/userregistration.component';\r\n//END:INCLUDE SERVICES\r\n\r\nexport function tokenGetter() {\r\n return localStorage.getItem('backend-token');\r\n }\r\n\r\n \r\nexport let options: Partial | (() => Partial);\r\n\r\n@NgModule({\r\n imports: [\r\n BrowserAnimationsModule,\r\n FormsModule,\r\n // NgxSimpleCountdownModule,\r\n NgxMatSelectSearchModule,\r\n NgSelectModule,\r\n ReactiveFormsModule,\r\n HttpModule,\r\n ComponentsModule,\r\n RouterModule,\r\n AppRoutingModule,MaterialuiModule,\r\n HttpClientModule,\r\n // NgxMaterialToolsModule,\r\n // RecaptchaModule.forRoot(),\r\n // RecaptchaFormsModule,\r\n NgxMaskModule.forRoot(),\r\n OcrmainModule,\r\n \r\n \r\n\r\n JwtModule.forRoot({\r\n config: {\r\n tokenGetter: tokenGetter,\r\n whitelistedDomains: ['localhost:4200'],\r\n blacklistedRoutes: ['http://localhost:4200/dashoard']\r\n }\r\n }),\r\n\r\n ServiceWorkerModule.register('motor_ins/ngsw-worker.js', { enabled: environment.production })\r\n\r\n ],\r\n exports: [\r\n A11yModule,\r\n CdkStepperModule,\r\n CdkTableModule,\r\n CdkTreeModule,\r\n DragDropModule,\r\n PortalModule,\r\n ScrollingModule,\r\n \r\n \r\n ],\r\n declarations: [\r\n AppComponent,\r\n AdminLayoutComponent,\r\n LandingAuthUserComponent,LoginUserComponent,DashboardComponent,MotorquoteComponent,UserregistrationComponent, ThankyouComponent, CancelpaymentComponent, MotorpaymentinvoiceComponent, WinnerComponent,\r\n ],\r\n providers: [AuthGuard,GlobalService,JwtService,UserauthService,DatePipe,MotorquoteService],\r\n \r\n bootstrap: [AppComponent]\r\n})\r\nexport class AppModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule, } from '@angular/common';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { AuthGuard } from \"./_service/auth.guard\";\r\nimport { AdminLayoutComponent } from './layouts/admin-layout/admin-layout.component';\r\nimport { LandingAuthUserComponent } from './layouts/landing-auth-user/landing-auth-user.component';\r\nimport { LoginUserComponent } from './layouts/login-user/login-user.component';\r\nimport {DashboardComponent } from './dashboard/dashboard.component';\r\nimport { MotorquoteComponent} from './motorquote/motorquote.component';\r\nimport { MotorquoteModule } from './motorquote/motorquote.module';\r\nimport {ThankyouComponent } from './thankyou/thankyou.component';\r\nimport { CancelpaymentComponent } from './cancelpayment/cancelpayment.component';\r\nimport { OcrmainComponent } from './ocrmain/ocrmain.component';\r\nimport { MotorpaymentinvoiceComponent } from './motorpaymentinvoice/motorpaymentinvoice.component';\r\nimport { WithocrComponent } from './ocrmain/withocr/withocr.component';\r\nimport { WinnerComponent } from './winner/winner.component';\r\nimport { UserregistrationComponent } from './userregistration/userregistration.component';\r\n\r\n\r\nconst routes: Routes =[\r\n\r\n\r\n\r\n {\r\n path : '',\r\n component : OcrmainComponent,\r\n pathMatch: 'full',\r\n \r\n },\r\n\r\n {\r\n path : 'motorquote',\r\n component : OcrmainComponent,\r\n \r\n \r\n },\r\n\r\n {\r\n path : 'MT_Quote',\r\n component : OcrmainComponent,\r\n \r\n },\r\n\r\n {\r\n path : 'MT_Quote/:Quote_No',\r\n component : OcrmainComponent\r\n },\r\n\r\n {\r\n path : 'payment_status',\r\n component : ThankyouComponent\r\n },\r\n {\r\n path : 'motoradvquote/:quotationNumber',\r\n component : OcrmainComponent,\r\n \r\n },\r\n\r\n {\r\n path : 'cancelpayment/:Res_Code',\r\n component : CancelpaymentComponent\r\n },\r\n \r\n {\r\n path: 'MT_Quote',\r\n component: OcrmainComponent,\r\n pathMatch: 'full',\r\n },\r\n {\r\n path: 'motorpay/:QuotationNumber/quote/payment',\r\n component: MotorpaymentinvoiceComponent,\r\n },\r\n {\r\n path: 'motor/thankyou',\r\n component: ThankyouComponent,\r\n },\r\n {\r\n path: 'winner',\r\n component: WinnerComponent,\r\n },\r\n {\r\n path: 'registration',\r\n component: UserregistrationComponent,\r\n },\r\n\r\n];\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n BrowserModule,\r\n RouterModule.forRoot(routes,{\r\n useHash: false\r\n })\r\n ],\r\n exports: [\r\n ],\r\n})\r\nexport class AppRoutingModule { }\r\n","export default \".wrapper-form {\\n margin: auto;\\n max-width: 500px;\\n border: 1px solid lightgray;\\n border-top: 8px solid #1f3e7b;\\n padding: 15px;\\n box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;\\n background: #fff !important;\\n}\\n\\n.wrapper-policy {\\n /* margin-top: 8em; */\\n padding-top: 8em;\\n}\\n\\n@media (max-width: 600px) {\\n .scrollcss {\\n height: 450px;\\n overflow-y: scroll;\\n }\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY2FuY2VscGF5bWVudC9DOlxcVXNlcnNcXGFuanUudmlzd2FuYXRoXFxzb3VyY2VcXHJlcG9zXFxCMkNQb3J0YWxfQnJhbmNoZXNcXFByb2Qvc3JjXFxhcHBcXGNhbmNlbHBheW1lbnRcXGNhbmNlbHBheW1lbnQuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL2NhbmNlbHBheW1lbnQvY2FuY2VscGF5bWVudC5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQTtFQUNJLFlBQUE7RUFDQSxnQkFBQTtFQUNBLDJCQUFBO0VBQ0EsNkJBQUE7RUFDQSxhQUFBO0VBQ0Esd0RBQUE7RUFDQSwyQkFBQTtBQ0FKOztBREVBO0VBQ0kscUJBQUE7RUFDQSxnQkFBQTtBQ0NKOztBRENBO0VBQ0k7SUFDSSxhQUFBO0lBQ0Esa0JBQUE7RUNFTjtBQUNGIiwiZmlsZSI6InNyYy9hcHAvY2FuY2VscGF5bWVudC9jYW5jZWxwYXltZW50LmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbi53cmFwcGVyLWZvcm0ge1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgbWF4LXdpZHRoOiA1MDBweDtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkIGxpZ2h0Z3JheTtcclxuICAgIGJvcmRlci10b3A6IDhweCBzb2xpZCAjMWYzZTdiO1xyXG4gICAgcGFkZGluZzogMTVweDtcclxuICAgIGJveC1zaGFkb3c6IDAgMC41cmVtIDFyZW0gcmdiYSgwLCAwLCAwLCAwLjE1KSAhaW1wb3J0YW50O1xyXG4gICAgYmFja2dyb3VuZDogI2ZmZiAhaW1wb3J0YW50O1xyXG59XHJcbi53cmFwcGVyLXBvbGljeSB7XHJcbiAgICAvKiBtYXJnaW4tdG9wOiA4ZW07ICovXHJcbiAgICBwYWRkaW5nLXRvcDogOGVtO1xyXG59XHJcbkBtZWRpYSAobWF4LXdpZHRoOjYwMHB4KXtcclxuICAgIC5zY3JvbGxjc3Mge1xyXG4gICAgICAgIGhlaWdodDogNDUwcHg7XHJcbiAgICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xyXG4gICAgfVxyXG4gIH1cclxuIiwiLndyYXBwZXItZm9ybSB7XG4gIG1hcmdpbjogYXV0bztcbiAgbWF4LXdpZHRoOiA1MDBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgbGlnaHRncmF5O1xuICBib3JkZXItdG9wOiA4cHggc29saWQgIzFmM2U3YjtcbiAgcGFkZGluZzogMTVweDtcbiAgYm94LXNoYWRvdzogMCAwLjVyZW0gMXJlbSByZ2JhKDAsIDAsIDAsIDAuMTUpICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQ6ICNmZmYgIWltcG9ydGFudDtcbn1cblxuLndyYXBwZXItcG9saWN5IHtcbiAgLyogbWFyZ2luLXRvcDogOGVtOyAqL1xuICBwYWRkaW5nLXRvcDogOGVtO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgLnNjcm9sbGNzcyB7XG4gICAgaGVpZ2h0OiA0NTBweDtcbiAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gIH1cbn0iXX0= */\"","import { Component, OnInit } from '@angular/core';\r\nimport { Router,ActivatedRoute } from '@angular/router';\r\nimport { MotorquoteService } from '../_service/motorquote.service';\r\nimport Swal from 'sweetalert2';\r\nimport { GlobalService } from '../_service/global.service';\r\n\r\n@Component({\r\n selector: 'app-cancelpayment',\r\n templateUrl: './cancelpayment.component.html',\r\n styleUrls: ['./cancelpayment.component.scss']\r\n})\r\nexport class CancelpaymentComponent implements OnInit {\r\n\r\n quotenumber:any; paymentLoader: boolean = false; payment_cancel_reason : any; res_code = 0; errorMsg:any;\r\n trans_ref: any;\r\n orderNumber: string;\r\n\r\n constructor(public _route: Router,public _activatedroute: ActivatedRoute,public motorQuoteService: MotorquoteService,public globalService:GlobalService) { }\r\n\r\n ngOnInit() {\r\n this.orderNumber = localStorage.getItem(\"Payment_Order_ID\");\r\n this.paymentLoader = this.globalService.spinnerHide();\r\n this.quotenumber = localStorage.getItem('Payment_Quotation_Number');\r\n \r\n const routeParam = this._activatedroute.snapshot.params;\r\n if(routeParam){\r\n this.res_code = routeParam.Res_Code;\r\n this.getPaymentErrorMsg(this.res_code);\r\n }\r\nconsole.log(this.orderNumber)\r\n }\r\n\r\n goBackto(){\r\n this._route.navigateByUrl('/motorquote');\r\n }\r\n\r\n retryPayment(){\r\n \r\n let return_url = \"http://k2key.in/motor_ins//dashboard\";\r\n let site_url = \"http://k2key.in/motor_ins/\" + this._route.url;\r\n\r\n this.paymentLoader = this.globalService.spinnerShow();\r\n // this.showHideLoader.additionalDetail = true;\r\n\r\n //Modified by Anju for payment gateway revamp\r\n this.motorQuoteService.paymentAuthNew(this.quotenumber, site_url, return_url, 'MT', '1', '', 'B2C', 'adv').subscribe(res => {\r\n let payRes = res;\r\n\r\n if (payRes.status == 'Failed') {\r\n Swal.fire(payRes.res_msg);\r\n // this.paymentLoader = this.globalService.spinnerHide();\r\n // this.showLoader.Quotation = false;\r\n return false;\r\n }\r\n\r\n else if (payRes.status == 'Success') {\r\n // alert(payRes.result.p_id)\r\n //this.paymentLoader = this.globalService.spinnerHide();\r\n // this.showLoader.Quotation = false;\r\n // localStorage.setItem('Payment_Order_ID',res.result.tran_ref);\r\n localStorage.setItem('Payment_Order_ID', payRes.data.tran_ref);\r\n localStorage.setItem('Payment_Order_Tokan', payRes.data.token);\r\n localStorage.setItem('Payment_Quotation_Number', this.quotenumber);\r\n\r\n window.location.href = payRes.data.redirect_url;\r\n }\r\n\r\n });\r\n }\r\n\r\n getPaymentErrorMsg(res_code){\r\n this.motorQuoteService.getPaymentErrorMsg('PAYMENT',res_code,'ENG').subscribe(res =>{\r\n // this.motorQuoteService.getPaymentErrorMsg(this.orderNumber,res_code,'ENG').subscribe(res =>{\r\n this.errorMsg = res.errorMessage[0].ErrorMessage;\r\n\r\n });\r\n }\r\n\r\n retrieveQuote(){\r\n \r\n // this._route.navigateByUrl('/motorquote/' + this.quotenumber);\r\n this._route.navigateByUrl('/motoradvquote/' + this.quotenumber);\r\n \r\n }\r\n\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { RouterModule } from '@angular/router';\r\n\r\nimport { FooterComponent } from './footer/footer.component';\r\nimport { NavbarComponent } from './navbar/navbar.component';\r\nimport { SidebarComponent } from './sidebar/sidebar.component';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n RouterModule,\r\n ],\r\n declarations: [\r\n FooterComponent,\r\n NavbarComponent,\r\n SidebarComponent\r\n ],\r\n exports: [\r\n FooterComponent,\r\n NavbarComponent,\r\n SidebarComponent\r\n ]\r\n})\r\nexport class ComponentsModule { }\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvZm9vdGVyL2Zvb3Rlci5jb21wb25lbnQuY3NzIn0= */\"","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-footer',\r\n templateUrl: './footer.component.html',\r\n styleUrls: ['./footer.component.css']\r\n})\r\nexport class FooterComponent implements OnInit {\r\n test : Date = new Date();\r\n \r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvbmF2YmFyL25hdmJhci5jb21wb25lbnQuY3NzIn0= */\"","import { Component, OnInit, ElementRef } from '@angular/core';\r\nimport { ROUTES } from '../sidebar/sidebar.component';\r\nimport {Location, LocationStrategy, PathLocationStrategy} from '@angular/common';\r\nimport { Router } from '@angular/router';\r\nimport { GlobalService } from \"../../_service/global.service\";\r\n\r\n@Component({\r\n selector: 'app-navbar',\r\n templateUrl: './navbar.component.html',\r\n styleUrls: ['./navbar.component.css']\r\n})\r\nexport class NavbarComponent implements OnInit {\r\n private listTitles: any[];\r\n location: Location;\r\n mobile_menu_visible: any = 0;\r\n private toggleButton: any;\r\n private sidebarVisible: boolean;\r\n public isAdmin:string ;\r\n\r\n userData:any=[];\r\n constructor(public _globalService: GlobalService,location: Location, private element: ElementRef, private router: Router) {\r\n this.location = location;\r\n this.sidebarVisible = false;\r\n }\r\n\r\n ngOnInit(){\r\n this.listTitles = ROUTES.filter(listTitle => listTitle);\r\n const navbar: HTMLElement = this.element.nativeElement;\r\n this.toggleButton = navbar.getElementsByClassName('navbar-toggler')[0];\r\n this.router.events.subscribe((event) => {\r\n // this.sidebarClose();\r\n // var $layer: any = document.getElementsByClassName('close-layer')[0];\r\n // if ($layer) {\r\n // $layer.remove();\r\n // this.mobile_menu_visible = 0;\r\n // }\r\n });\r\n\r\n //START:GET LOCALSTORAGE DATA\r\n this.userData=this._globalService.getLocalStorageData();\r\n // this.userData.default_image_name='assets/img/faces/marc.jpg';\r\n // this.userData.default_image_name = '';\r\n }\r\n \r\n\r\n\r\n sidebarOpen() {\r\n const toggleButton = this.toggleButton;\r\n const body = document.getElementsByTagName('body')[0];\r\n setTimeout(function(){\r\n toggleButton.classList.add('toggled');\r\n }, 500);\r\n\r\n body.classList.add('nav-open');\r\n\r\n this.sidebarVisible = true;\r\n };\r\n sidebarClose() {\r\n const body = document.getElementsByTagName('body')[0];\r\n this.toggleButton.classList.remove('toggled');\r\n this.sidebarVisible = false;\r\n body.classList.remove('nav-open');\r\n };\r\n sidebarToggle() {\r\n // const toggleButton = this.toggleButton;\r\n // const body = document.getElementsByTagName('body')[0];\r\n var $toggle = document.getElementsByClassName('navbar-toggler')[0];\r\n\r\n if (this.sidebarVisible === false) {\r\n this.sidebarOpen();\r\n } else {\r\n this.sidebarClose();\r\n }\r\n const body = document.getElementsByTagName('body')[0];\r\n\r\n if (this.mobile_menu_visible == 1) {\r\n // $('html').removeClass('nav-open');\r\n body.classList.remove('nav-open');\r\n if ($layer) {\r\n $layer.remove();\r\n }\r\n setTimeout(function() {\r\n $toggle.classList.remove('toggled');\r\n }, 400);\r\n\r\n this.mobile_menu_visible = 0;\r\n } else {\r\n setTimeout(function() {\r\n $toggle.classList.add('toggled');\r\n }, 430);\r\n\r\n var $layer = document.createElement('div');\r\n $layer.setAttribute('class', 'close-layer');\r\n\r\n\r\n if (body.querySelectorAll('.main-panel')) {\r\n document.getElementsByClassName('main-panel')[0].appendChild($layer);\r\n }else if (body.classList.contains('off-canvas-sidebar')) {\r\n document.getElementsByClassName('wrapper-full-page')[0].appendChild($layer);\r\n }\r\n\r\n setTimeout(function() {\r\n $layer.classList.add('visible');\r\n }, 100);\r\n\r\n $layer.onclick = function() { //asign a function\r\n body.classList.remove('nav-open');\r\n this.mobile_menu_visible = 0;\r\n $layer.classList.remove('visible');\r\n setTimeout(function() {\r\n $layer.remove();\r\n $toggle.classList.remove('toggled');\r\n }, 400);\r\n }.bind(this);\r\n\r\n body.classList.add('nav-open');\r\n this.mobile_menu_visible = 1;\r\n\r\n }\r\n };\r\n\r\n getTitle(){\r\n var titlee = this.location.prepareExternalUrl(this.location.path());\r\n if(titlee.charAt(0) === '#'){\r\n titlee = titlee.slice( 1 );\r\n }\r\n\r\n for(var item = 0; item < this.listTitles.length; item++){\r\n if(this.listTitles[item].path === titlee){\r\n return this.listTitles[item].title;\r\n }\r\n }\r\n return 'Dashboard';\r\n }\r\n\r\n logout(){\r\n localStorage.clear();\r\n //window.location.href = 'localhost:4200/login';\r\n this.router.navigate([\"/login\"]);\r\n }\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvc2lkZWJhci9zaWRlYmFyLmNvbXBvbmVudC5jc3MifQ== */\"","import { Component, OnInit } from '@angular/core';\r\n\r\ndeclare const $: any;\r\ndeclare interface RouteInfo {\r\n path: string;\r\n title: string;\r\n icon: string;\r\n class: string;\r\n}\r\nexport const ROUTES: RouteInfo[] = [\r\n { path: '/dashboard', title: 'Dashboard', icon: 'dashboard', class: '' },\r\n { path: '/user-profile', title: 'User Profile', icon:'person', class: '' },\r\n { path: '/table-list', title: 'Table List', icon:'content_paste', class: '' },\r\n { path: '/typography', title: 'Typography', icon:'library_books', class: '' },\r\n { path: '/icons', title: 'Icons', icon:'bubble_chart', class: '' },\r\n { path: '/maps', title: 'Maps', icon:'location_on', class: '' },\r\n { path: '/notifications', title: 'Notifications', icon:'notifications', class: '' },\r\n { path: '/upgrade', title: 'Upgrade to PRO', icon:'unarchive', class: 'active-pro' },\r\n];\r\n\r\n@Component({\r\n selector: 'app-sidebar',\r\n templateUrl: './sidebar.component.html',\r\n styleUrls: ['./sidebar.component.css']\r\n})\r\nexport class SidebarComponent implements OnInit {\r\n menuItems: any[];\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n this.menuItems = ROUTES.filter(menuItem => menuItem);\r\n }\r\n isMobileMenu() {\r\n if ($(window).width() > 991) {\r\n return false;\r\n }\r\n return true;\r\n };\r\n}\r\n","//------------------------- FOR K2KEYSERVER ---------------------------------------------//\r\n// export const config = {\r\n// apiUrl: 'http://win.k2key.in/medical_fidelity_united_api/index.php/', // FOR SERVER\r\n\r\n// // apiUrl: 'http://win.k2key.in/medical_fidelity_united_api_dev/index.php/', // FOR LOCAL\r\n\r\n// apiUrl2: 'http://win.k2key.in/medical_fidelity_united_api/index.php/',\r\n\r\n\r\n// server_name: \"https://api.fidelityunited.ae/\",\r\n \r\n// // apiUrl2: 'http://k2key.in/medical_fidelity_united_api/api/',\r\n// //paypalApiUrl:'https://api.sandbox.paypal.com/v1/'\r\n \r\n// };\r\n\r\n//----------------------- FOR FIDELITY PRODUCTION ----------------------------------------//\r\nexport const config = {\r\n apiUrl: 'https://api.fidelityunited.ae/index.php/', // FOR SERVER\r\n\r\n // apiUrl: 'http://win.k2key.in/medical_fidelity_united_api_dev/index.php/', // FOR LOCAL\r\n\r\n apiUrl2: 'https://api.fidelityunited.ae/index.php/',\r\n\r\n\r\n server_name: \"https://api.fidelityunited.ae/index.php/\",\r\n\r\n paymentGatewayUrl: \"https://mybuddy.fidelityunited.ae/b2b-pay/api/v2/pay/\", //Added by Anju for Payment gateway integration\r\n \r\n};\r\n\r\n//------------------------------------------ FOR FIDELITY TESTING -------------------------------//\r\n// export const config = {\r\n// apiUrl: 'https://apitest.fidelityunited.ae/index.php/', // FOR SERVER\r\n// apiUrl2: 'https://apitest.fidelityunited.ae/index.php/',\r\n// encKey: \"202019$#@$^@1fed\",\r\n// server_name: \"https://apitest.fidelityunited.ae/index.php/\",\r\n// logOutURL: 'https://onlinetest.fidelityunited.ae:8090/testportal/logout.aspx',\r\n// motor_hire_purchase_clause : \"https://10.168.10.14:78/DocumentPrint/GID035.aspx?pEndtSrlNo=0&pUserLang=ENG&pLogo=Y&pOutType=pdf&pPolUid=\"\r\n\r\n// // apiUrl: 'http://10.168.10.21/index.php/', // FOR SERVER\r\n// // apiUrl2: 'http://10.168.10.21/index.php/',\r\n// // encKey: \"202019$#@$^@1fed\",\r\n// // server_name: \"http://10.168.10.21/index.php/\",\r\n// // logOutURL: 'http://onlinetest.fidelityunited.ae:8090/testportal/logout.aspx',\r\n// };\r\n\r\n\r\n// export const config = {\r\n// apiUrl: 'http://ociapi.fidelityunited.ae/index.php/', // FOR SERVER for B2B\r\n// apiUrl2: 'http://ociapi.fidelityunited.ae/index.php/', //for B2C\r\n// encKey: \"202019$#@$^@1fed\",\r\n// server_name: \"http://ociapi.fidelityunited.ae/index.php/\",\r\n// logOutURL: 'http://ociportal.fidelityunited.ae/logout.aspx',\r\n// motor_hire_purchase_clause : \"https://10.168.10.14:78/DocumentPrint/GID035.aspx?pEndtSrlNo=0&pUserLang=ENG&pLogo=Y&pOutType=pdf&pPolUid=\"\r\n// // apiUrl: 'http://10.168.10.21/index.php/', // FOR SERVER\r\n// // apiUrl2: 'http://10.168.10.21/index.php/',\r\n// // encKey: \"202019$#@$^@1fed\",\r\n// // server_name: \"http://10.168.10.21/index.php/\",\r\n// // logOutURL: 'http://onlinetest.fidelityunited.ae:8090/testportal/logout.aspx',\r\n// };\r\n\r\n// ------------------------------------------- FOR K2KEY ONLINE TEST -------------------------------------//\r\n// export const config = {\r\n// apiUrl: 'http://win.k2key.in/online_fidelity_k2key/index.php/', // FOR SERVER\r\n// apiUrl2: 'http://win.k2key.in/online_fidelity_k2key/index.php/',\r\n// encKey: \"202019$#@$^@1fed\",\r\n// server_name: \"http://k2key.in/main_insurance_project/\",\r\n// logOutURL: 'http://efinadvisor.gearhostpreview.com/insurance/mdds/logout.aspx',\r\n// planBenefitID : 509 //For Roadside Assistance - Bronze\r\n// };\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2Rhc2hib2FyZC9kYXNoYm9hcmQuY29tcG9uZW50LmNzcyJ9 */\"","import { Component, OnInit } from '@angular/core';\r\n import * as Chartist from 'chartist';\r\n import { ChartOptions, ChartType, ChartDataSets, } from 'chart.js';\r\n// import { Label } from 'ng2-charts';\r\n import { SingleDataSet, Label, monkeyPatchChartJsLegend, monkeyPatchChartJsTooltip, Color } from 'ng2-charts';\r\n \r\nimport { GlobalService } from '../_service/global.service';\r\nimport {MotorquoteService } from '../_service/motorquote.service';\r\nimport { UserauthService } from '../_service/userauth.service';\r\n\r\n// import {MaterialuiModule} from '../materialui/materialui.module';\r\n@Component({\r\n selector: 'app-dashboard',\r\n templateUrl: './dashboard.component.html',\r\n styleUrls: ['./dashboard.component.css']\r\n})\r\nexport class DashboardComponent implements OnInit {\r\n// Pie\r\npublic pieChartOptions: ChartOptions = {\r\n responsive: true,\r\n};\r\npublic pieChartLabels: Label[] = [\r\n ['Dubai'],\r\n ['Abu Dhabi'],\r\n ['Ras Al Khaimah'],\r\n ['Fujairah'],\r\n ['Others']\r\n]\r\n//public pieChartData: SingleDataSet = [300, 500, 100,300,600];\r\npublic pieChartData: SingleDataSet = [0, 0, 0,0,1];\r\npublic pieChartType: ChartType = 'pie'; \r\npublic pieChartLegend = true; \r\npublic pieChartPlugins = []; public quotation2:any = []; public quotation3:any = []; \r\n//pieChartColors: { backgroundColor: ['#ffa726','#ffa726','#ffa726'], borderColor: string; }[];\r\n\r\nshowMatch:boolean= false ;\r\ntotalMonthlyQuotedPremium:number = 0;\r\nmonthlyQuotationCount:number = 0;\r\ntotalYearlyQuotePremium:number = 0;\r\nyearlyQuotationCount:number = 0;\r\n\r\ntotalMonthlyIssuedPremium:number = 0;\r\nmonthlyIssuedQuoteCount:number = 0;\r\ntotalYearlyIssuedPremium:number = 0;\r\nyearlyIssuedQuoteCount:number = 0;\r\n\r\npendingApproval:any = []; issued:any = []; quotation:any=[]; public dashboardData:any = []; weekArr:any = [];\r\ndata:any; currentMonth:any = new Date(); currentYear:any; todate:any = new Date();\r\n \r\n\r\nconstructor( public globalService:GlobalService,public motorQuoteService:MotorquoteService, public userAuthService : UserauthService, public _globalService:GlobalService ) {\r\n monkeyPatchChartJsTooltip();\r\n monkeyPatchChartJsLegend();\r\n}\r\n\r\n\r\npublic chartColors: Array = [\r\n { // first color\r\n backgroundColor: '#ffa726',\r\n borderColor: '#ffa726',\r\n pointBackgroundColor: '#ffa726',\r\n pointBorderColor: '#ffa726',\r\n pointHoverBackgroundColor: '#ffa726',\r\n pointHoverBorderColor: '#ffa726'\r\n },\r\n { // second color\r\n backgroundColor: '#26c6da',\r\n borderColor: '#26c6da',\r\n pointBackgroundColor: '#26c6da',\r\n pointBorderColor: '#26c6da',\r\n pointHoverBackgroundColor: '#26c6da',\r\n pointHoverBorderColor: '#26c6da'\r\n },\r\n { // Third color #66bb6a\r\n backgroundColor: '#66bb6a',\r\n borderColor: '#66bb6a',\r\n pointBackgroundColor: '#66bb6a',\r\n pointBorderColor: '#66bb6a',\r\n pointHoverBackgroundColor: '#66bb6a',\r\n pointHoverBorderColor: '#66bb6a'\r\n }\r\n];\r\n\r\n\r\npublic pieChartColors = [\r\n {\r\n backgroundColor: [\r\n '#ffa726',\r\n '#1f3e7b',\r\n '#66bb6a',\r\n '#26c6da',\r\n '#ab47bc',\r\n \r\n ]\r\n }\r\n];\r\n\r\n\r\n\r\nngOnInit() {\r\n\r\n this.data=this.globalService.getLocalStorageData();\r\n\r\n this.currentMonth = new Date().getMonth() + 1;\r\n\r\n this.currentYear = new Date().getFullYear();\r\n console.log( this.currentMonth );\r\n\r\n this. getDashboardData();\r\n this.getTokenData();\r\n\r\n /* ----------========== Daily Sales Chart initialization For Documentation ==========---------- */\r\n\r\n const dataDailySalesChart: any = {\r\n labels: ['M', 'T', 'W', 'T'],\r\n series: [\r\n [12, 17, 7, 17]\r\n ],\r\n colors:[\"#333\", \"#222\", \"#111\", \"#000\"]\r\n };\r\n\r\n const optionsDailySalesChart: any = {\r\n lineSmooth: Chartist.Interpolation.cardinal({\r\n tension: 0\r\n }),\r\n low: 0,\r\n high: 50, // creative tim: we recommend you to set the high sa the biggest value + something for a better look\r\n chartPadding: { top: 0, right: 0, bottom: 0, left: 0},\r\n }\r\n\r\n var dailySalesChart = new Chartist.Pie('#dailySalesChart', dataDailySalesChart, {\r\n donut: true,\r\n donutWidth: 60,\r\n startAngle: 270,\r\n total: 200,\r\n showLabel: false\r\n });\r\n\r\n this.startAnimationForLineChart(dailySalesChart);\r\n\r\n\r\n /* ----------========== Completed Tasks Chart initialization ==========---------- */\r\n\r\n const dataCompletedTasksChart: any = {\r\n labels: ['12p', '3p', '6p', '9p', '12p', '3a', '6a', '9a'],\r\n series: [\r\n [230, 750, 450, 300, 280, 240, 200, 190]\r\n ]\r\n };\r\n\r\n const optionsCompletedTasksChart: any = {\r\n lineSmooth: Chartist.Interpolation.cardinal({\r\n tension: 0\r\n }),\r\n low: 0,\r\n high: 1000, // creative tim: we recommend you to set the high sa the biggest value + something for a better look\r\n chartPadding: { top: 0, right: 0, bottom: 0, left: 0}\r\n }\r\n\r\n var completedTasksChart = new Chartist.Line('#completedTasksChart', dataCompletedTasksChart, optionsCompletedTasksChart);\r\n\r\n // start animation for the Completed Tasks Chart - Line Chart\r\n this.startAnimationForLineChart(completedTasksChart);\r\n\r\n\r\n\r\n /* ----------========== Emails Subscription Chart initialization ==========---------- */\r\n\r\n var datawebsiteViewsChart = {\r\n labels: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'],\r\n series: [\r\n [542, 443, 320, 780, 553, 453, 326, 434, 568, 610, 756, 895]\r\n\r\n ]\r\n };\r\n var optionswebsiteViewsChart = {\r\n axisX: {\r\n showGrid: false\r\n },\r\n low: 0,\r\n high: 1000,\r\n chartPadding: { top: 0, right: 5, bottom: 0, left: 0}\r\n };\r\n var responsiveOptions: any[] = [\r\n ['screen and (max-width: 640px)', {\r\n seriesBarDistance: 5,\r\n axisX: {\r\n labelInterpolationFnc: function (value) {\r\n return value[0];\r\n }\r\n }\r\n }]\r\n ];\r\n let r = Math.floor(Math.random() * 200);\r\n let g = Math.floor(Math.random() * 200);\r\n let b = Math.floor(Math.random() * 200);\r\n let color = 'rgb(' + r + ', ' + g + ', ' + b + ')';\r\n var websiteViewsChart = new Chartist.Pie('#websiteViewsChart', {\r\n series: [{\r\n value: 20,\r\n // className: \"myclass1\"\r\n },\r\n {\r\n value: 10,\r\n // className: \"myclass2\"\r\n },\r\n {\r\n value: 30,\r\n //className: \"myclass3\"\r\n },\r\n {\r\n value: 40,\r\n //className: \"myclass4\"\r\n }]\r\n }, {\r\n \r\n \r\n });\r\n //CHART COLOR.\r\n let pieChartColor:any = [\r\n {\r\n backgroundColor: ['rgba(30, 169, 224, 0.8)',\r\n 'rgba(255,165,0,0.9)',\r\n 'rgba(139, 136, 136, 0.9)',\r\n 'rgba(255, 161, 181, 0.9)',\r\n 'rgba(255, 102, 0, 0.9)'\r\n ]\r\n }\r\n]\r\n var data = {\r\n labels: ['Cananas', 'Xpples', 'Zrapes','Red','Yellow'],\r\n series: [10, 20, 40,60,10],\r\n //color:pieChartColor[0]\r\n backgroundColor: [\r\n \"#f38b4a\",\r\n \"#56d798\",\r\n \"#ff8397\",\r\n \"#6970d5\", \"#6970d5\" \r\n ],\r\n };\r\n console.log(data);\r\n var options = {\r\n labelInterpolationFnc: function(value) {\r\n return value[0]\r\n }\r\n };\r\n \r\n \r\n \r\n new Chartist.Pie('#websiteViewsChart', data, options, responsiveOptions);\r\n\r\n\r\n // start animation for the Emails Subscription Chart\r\n this.startAnimationForBarChart(websiteViewsChart);\r\n\r\n}\r\n\r\n public barChartOptions: ChartOptions = {\r\n responsive: true,\r\n };\r\n \r\n //public barChartLabels: Label[] = ['Week1', 'Week2', 'Week3'];\r\n\r\n public barChartLabels:any = [];\r\n \r\n\r\n\r\n public barChartType: ChartType = 'bar';\r\n //public chartColors=[\"#17a2b8\", \"#1f3e7b\", \"#28a745\"]\r\n public barChartLegend = true;\r\n public barChartPlugins = [];\r\n\r\n // public barChartData: ChartDataSets[] = [\r\n\r\n\r\n \r\n // { data: [500,90,60], label: 'Quotation' },\r\n // { data: [75,64,24], label: 'PendingAproval' },\r\n // { data: [50,30,40], label: 'Issued' }\r\n\r\n \r\n \r\n // ];\r\n \r\n public barChartData: ChartDataSets[] = [ ];\r\n\r\n\r\n \r\n\r\n\r\n // constructor() {\r\n \r\n // }\r\n\r\n\r\n\r\n startAnimationForLineChart(chart){\r\n let seq: any, delays: any, durations: any;\r\n seq = 0;\r\n delays = 80;\r\n durations = 500;\r\n\r\n chart.on('draw', function(data) {\r\n if(data.type === 'line' || data.type === 'area') {\r\n data.element.animate({\r\n d: {\r\n begin: 600,\r\n dur: 700,\r\n from: data.path.clone().scale(1, 0).translate(0, data.chartRect.height()).stringify(),\r\n to: data.path.clone().stringify(),\r\n easing: Chartist.Svg.Easing.easeOutQuint\r\n }\r\n });\r\n } else if(data.type === 'point') {\r\n seq++;\r\n data.element.animate({\r\n opacity: {\r\n begin: seq * delays,\r\n dur: durations,\r\n from: 0,\r\n to: 1,\r\n easing: 'ease'\r\n }\r\n });\r\n }\r\n });\r\n\r\n seq = 0;\r\n };\r\n startAnimationForBarChart(chart){\r\n let seq2: any, delays2: any, durations2: any;\r\n\r\n seq2 = 0;\r\n delays2 = 80;\r\n durations2 = 500;\r\n chart.on('draw', function(data) {\r\n if(data.type === 'bar'){\r\n seq2++;\r\n data.element.animate({\r\n opacity: {\r\n begin: seq2 * delays2,\r\n dur: durations2,\r\n from: 0,\r\n to: 1,\r\n easing: 'ease'\r\n }\r\n });\r\n }\r\n });\r\n\r\n seq2 = 0;\r\n };\r\n \r\n \r\n\r\n getDashboardData(){\r\n\r\n\r\n this.barChartData = [\r\n { data: [0,0,0,0,0], label: 'Quotation' },\r\n { data: [0,0,0,0,0], label: 'PendingAproval' },\r\n { data: [0,0,0,0,0], label: 'Issued' }\r\n\r\n // { data: this.quotation, label: 'Quotation' },\r\n // { data: this.pendingApproval, label: 'PendingAproval' },\r\n // { data: this.issued, label: 'Issued' }\r\n\r\n\r\n ];\r\n \r\n\r\n\r\n }\r\n\r\n getWeekData(){\r\n \r\n }\r\n //-------------------------- GET TOKEN DATA -------------------------\r\n getTokenData(){\r\n\r\n this.userAuthService.getTokenData().subscribe(res =>{\r\n let result=this._globalService.convertResponseInJson(res);\r\n });\r\n }\r\n\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2xheW91dHMvYWRtaW4tbGF5b3V0L2FkbWluLWxheW91dC5jb21wb25lbnQuc2NzcyJ9 */\"","import { Component, OnInit, ViewChild, AfterViewInit } from '@angular/core';\r\nimport { Location, LocationStrategy, PathLocationStrategy, PopStateEvent } from '@angular/common';\r\nimport 'rxjs/add/operator/filter';\r\nimport { NavbarComponent } from '../../components/navbar/navbar.component';\r\nimport { Router, NavigationEnd, NavigationStart } from '@angular/router';\r\nimport { Subscription } from 'rxjs/Subscription';\r\nimport PerfectScrollbar from 'perfect-scrollbar';\r\nimport * as $ from \"jquery\";\r\n\r\n@Component({\r\n selector: 'app-admin-layout',\r\n templateUrl: './admin-layout.component.html',\r\n styleUrls: ['./admin-layout.component.scss']\r\n})\r\nexport class AdminLayoutComponent implements OnInit {\r\n private _router: Subscription;\r\n private lastPoppedUrl: string;\r\n private yScrollStack: number[] = [];\r\n\r\n constructor( public location: Location, private router: Router) {}\r\n\r\n ngOnInit() {\r\n const isWindows = navigator.platform.indexOf('Win') > -1 ? true : false;\r\n\r\n if (isWindows && !document.getElementsByTagName('body')[0].classList.contains('sidebar-mini')) {\r\n // if we are on windows OS we activate the perfectScrollbar function\r\n\r\n document.getElementsByTagName('body')[0].classList.add('perfect-scrollbar-on');\r\n } else {\r\n document.getElementsByTagName('body')[0].classList.remove('perfect-scrollbar-off');\r\n }\r\n const elemMainPanel = document.querySelector('.main-panel');\r\n const elemSidebar = document.querySelector('.sidebar .sidebar-wrapper');\r\n\r\n this.location.subscribe((ev:PopStateEvent) => {\r\n this.lastPoppedUrl = ev.url;\r\n });\r\n this.router.events.subscribe((event:any) => {\r\n if (event instanceof NavigationStart) {\r\n if (event.url != this.lastPoppedUrl)\r\n this.yScrollStack.push(window.scrollY);\r\n } else if (event instanceof NavigationEnd) {\r\n if (event.url == this.lastPoppedUrl) {\r\n this.lastPoppedUrl = undefined;\r\n window.scrollTo(0, this.yScrollStack.pop());\r\n } else\r\n window.scrollTo(0, 0);\r\n }\r\n });\r\n this._router = this.router.events.filter(event => event instanceof NavigationEnd).subscribe((event: NavigationEnd) => {\r\n elemMainPanel.scrollTop = 0;\r\n // elemSidebar.scrollTop = 0;\r\n });\r\n if (window.matchMedia(`(min-width: 960px)`).matches && !this.isMac()) {\r\n let ps = new PerfectScrollbar(elemMainPanel);\r\n // ps = new PerfectScrollbar(elemSidebar);\r\n }\r\n\r\n const window_width = $(window).width();\r\n let $sidebar = $('.sidebar');\r\n let $sidebar_responsive = $('body > .navbar-collapse');\r\n let $sidebar_img_container = $sidebar.find('.sidebar-background');\r\n\r\n\r\n if(window_width > 767){\r\n if($('.fixed-plugin .dropdown').hasClass('show-dropdown')){\r\n $('.fixed-plugin .dropdown').addClass('open');\r\n }\r\n\r\n }\r\n\r\n $('.fixed-plugin a').click(function(event){\r\n // Alex if we click on switch, stop propagation of the event, so the dropdown will not be hide, otherwise we set the section active\r\n if($(this).hasClass('switch-trigger')){\r\n if(event.stopPropagation){\r\n event.stopPropagation();\r\n }\r\n else if(window.event){\r\n window.event.cancelBubble = true;\r\n }\r\n }\r\n });\r\n\r\n $('.fixed-plugin .badge').click(function(){\r\n let $full_page_background = $('.full-page-background');\r\n\r\n\r\n $(this).siblings().removeClass('active');\r\n $(this).addClass('active');\r\n\r\n var new_color = $(this).data('color');\r\n\r\n if($sidebar.length !== 0){\r\n $sidebar.attr('data-color', new_color);\r\n }\r\n\r\n if($sidebar_responsive.length != 0){\r\n $sidebar_responsive.attr('data-color',new_color);\r\n }\r\n });\r\n\r\n $('.fixed-plugin .img-holder').click(function(){\r\n let $full_page_background = $('.full-page-background');\r\n\r\n $(this).parent('li').siblings().removeClass('active');\r\n $(this).parent('li').addClass('active');\r\n\r\n\r\n var new_image = $(this).find(\"img\").attr('src');\r\n\r\n if($sidebar_img_container.length !=0 ){\r\n $sidebar_img_container.fadeOut('fast', function(){\r\n $sidebar_img_container.css('background-image','url(\"' + new_image + '\")');\r\n $sidebar_img_container.fadeIn('fast');\r\n });\r\n }\r\n\r\n if($full_page_background.length != 0){\r\n\r\n $full_page_background.fadeOut('fast', function(){\r\n $full_page_background.css('background-image','url(\"' + new_image + '\")');\r\n $full_page_background.fadeIn('fast');\r\n });\r\n }\r\n\r\n if($sidebar_responsive.length != 0){\r\n $sidebar_responsive.css('background-image','url(\"' + new_image + '\")');\r\n }\r\n });\r\n }\r\n ngAfterViewInit() {\r\n this.runOnRouteChange();\r\n }\r\n isMaps(path){\r\n var titlee = this.location.prepareExternalUrl(this.location.path());\r\n titlee = titlee.slice( 1 );\r\n if(path == titlee){\r\n return false;\r\n }\r\n else {\r\n return true;\r\n }\r\n }\r\n runOnRouteChange(): void {\r\n if (window.matchMedia(`(min-width: 960px)`).matches && !this.isMac()) {\r\n const elemMainPanel = document.querySelector('.main-panel');\r\n const ps = new PerfectScrollbar(elemMainPanel);\r\n ps.update();\r\n }\r\n }\r\n isMac(): boolean {\r\n let bool = false;\r\n if (navigator.platform.toUpperCase().indexOf('MAC') >= 0 || navigator.platform.toUpperCase().indexOf('IPAD') >= 0) {\r\n bool = true;\r\n }\r\n return bool;\r\n }\r\n\r\n}\r\n","export default \".wrapper-bgimg {\\n background-image: url('landingpage.png');\\n background-size: 100%;\\n height: 100vh;\\n background-repeat: no-repeat;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbGF5b3V0cy9sYW5kaW5nLWF1dGgtdXNlci9DOlxcVXNlcnNcXGFuanUudmlzd2FuYXRoXFxzb3VyY2VcXHJlcG9zXFxCMkNQb3J0YWxfQnJhbmNoZXNcXFByb2Qvc3JjXFxhcHBcXGxheW91dHNcXGxhbmRpbmctYXV0aC11c2VyXFxsYW5kaW5nLWF1dGgtdXNlci5jb21wb25lbnQuc2NzcyIsInNyYy9hcHAvbGF5b3V0cy9sYW5kaW5nLWF1dGgtdXNlci9sYW5kaW5nLWF1dGgtdXNlci5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNJLHdDQUFBO0VBQ0QscUJBQUE7RUFDQSxhQUFBO0VBQ0EsNEJBQUE7QUNDSCIsImZpbGUiOiJzcmMvYXBwL2xheW91dHMvbGFuZGluZy1hdXRoLXVzZXIvbGFuZGluZy1hdXRoLXVzZXIuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIud3JhcHBlci1iZ2ltZ3tcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnYXNzZXRzL2ltZy9sYW5kaW5ncGFnZS5wbmcnKTtcclxuICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xyXG4gICBoZWlnaHQ6IDEwMHZoO1xyXG4gICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG59XHJcbi8vIC53cmFwcGVyLWxvYWRlci50ZXh0LWNlbnRlciB7XHJcbi8vICAgICBwYWRkaW5nOiAxODBweDtcclxuLy8gfVxyXG4vLyAud3JhcHBlci1sb2FkZXIge1xyXG4vLyBwYWRkaW5nOiAyMDBweDtcclxuLy8gfVxyXG4vLyAuY3VzdG9tY3NzZXJyb3Ige1xyXG4vLyBtYXgtd2lkdGg6IDUwMHB4O1xyXG4vLyBtYXJnaW46IGF1dG87XHJcbi8vIH1cclxuLy8gLmN1c3RvbWNzc3RvcGVycm9yIHtcclxuLy8gcGFkZGluZzogMjAwcHg7XHJcbi8vIH0iLCIud3JhcHBlci1iZ2ltZyB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImFzc2V0cy9pbWcvbGFuZGluZ3BhZ2UucG5nXCIpO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gIGhlaWdodDogMTAwdmg7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59Il19 */\"","import { Component, OnInit, Input,Output, ViewEncapsulation ,ViewChild,EventEmitter } from \"@angular/core\";\r\nimport { FormGroup, FormBuilder, Validators } from \"@angular/forms\";\r\nimport { Router,ActivatedRoute } from \"@angular/router\";\r\nimport { environment } from '../../../environments/environment';\r\nimport { UserauthService } from '../../_service/userauth.service';\r\nimport { GlobalService } from \"../../_service/global.service\";\r\n@Component({\r\n selector: \"app-basic-login\",\r\n \r\n templateUrl: \"./landing-auth-user.component.html\",\r\n styleUrls: [\"./landing-auth-user.component.scss\"]\r\n})\r\nexport class LandingAuthUserComponent implements OnInit {\r\n \r\n public _loginForm: FormGroup;\r\n public _formErrors: any;\r\n public _submitted: boolean = false;\r\n public _errorMessage: string = \"\";$msgErrr='';\r\n \r\n constructor(\r\n public _userauthService: UserauthService,public _globalService: GlobalService,\r\n private _router: Router,\r\n private _formBuilder: FormBuilder,private _activatedRoute: ActivatedRoute\r\n ) {}\r\n \r\n authToken:any;\r\n ngOnInit()\r\n {\r\n const routeParams = this._activatedRoute.snapshot.params;\r\n this.authToken=routeParams.authToken;\r\n this.projectTokenAuthorisation(); \r\n }\r\n\r\n projectTokenAuthorisation(){\r\n this._submitted = true;\r\n this._userauthService.projecttokenAuthorisation(this.authToken).subscribe((res)=>{\r\n\r\n let result=this._globalService.convertResponseInJson(res);\r\n if (result.status=='true') {\r\n this._router.navigate([\"/dashboard\"]);\r\n }\r\n else {\r\n \r\n this._errorMessage = \"Invalid Token..\";\r\n this._submitted = false;\r\n setTimeout(\r\n function() {\r\n this._errorMessage = \" \";\r\n // window.location.href = 'https://www.google.com/';\r\n this._router.navigate([\"/login\"]);\r\n }.bind(this),\r\n 2200\r\n );\r\n }\r\n });\r\n }\r\n\r\n \r\n \r\n \r\n}\r\n","export default \".wrappermainimg {\\n background-image: url(\\\"/assets/img/loginpage.png\\\");\\n background-size: 100%;\\n height: 100vh;\\n background-repeat: no-repeat;\\n}\\n\\n.p-10 {\\n padding: 10px;\\n}\\n\\n.logoimage {\\n background: #1b3b72;\\n}\\n\\n.wrapper-login {\\n margin: auto;\\n max-width: 700px;\\n padding: 100px;\\n}\\n\\n.loginhead {\\n font-weight: bold;\\n font-size: 35px;\\n color: #1b3b72;\\n margin: 0px !important;\\n}\\n\\n.loginsec {\\n background: #fff;\\n}\\n\\n.shadowcss {\\n box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;\\n}\\n\\n.customhr {\\n width: 50%;\\n border: 1px solid #7373b4;\\n}\\n\\n.signinbtncss {\\n padding: 12px !important;\\n font-size: 16px !important;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbGF5b3V0cy9sb2dpbi11c2VyL0M6XFxVc2Vyc1xcYW5qdS52aXN3YW5hdGhcXHNvdXJjZVxccmVwb3NcXEIyQ1BvcnRhbF9CcmFuY2hlc1xcUHJvZC9zcmNcXGFwcFxcbGF5b3V0c1xcbG9naW4tdXNlclxcbG9naW4tdXNlci5jb21wb25lbnQuc2NzcyIsInNyYy9hcHAvbGF5b3V0cy9sb2dpbi11c2VyL2xvZ2luLXVzZXIuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRyxrREFBQTtFQUNBLHFCQUFBO0VBQ0EsYUFBQTtFQUNBLDRCQUFBO0FDQ0g7O0FEQ0E7RUFDSSxhQUFBO0FDRUo7O0FEQUE7RUFDSSxtQkFBQTtBQ0dKOztBRERBO0VBQ0ksWUFBQTtFQUNBLGdCQUFBO0VBQ0EsY0FBQTtBQ0lKOztBREZBO0VBQ0ksaUJBQUE7RUFDQSxlQUFBO0VBQ0EsY0FBQTtFQUNBLHNCQUFBO0FDS0o7O0FESEE7RUFDSSxnQkFBQTtBQ01KOztBREpBO0VBQ0ksd0RBQUE7QUNPSjs7QURMQTtFQUNJLFVBQUE7RUFDQSx5QkFBQTtBQ1FKOztBRE5BO0VBQ0ksd0JBQUE7RUFDQSwwQkFBQTtBQ1NKIiwiZmlsZSI6InNyYy9hcHAvbGF5b3V0cy9sb2dpbi11c2VyL2xvZ2luLXVzZXIuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIud3JhcHBlcm1haW5pbWd7XHJcbiAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2Fzc2V0cy9pbWcvbG9naW5wYWdlLnBuZycpO1xyXG4gICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XHJcbiAgIGhlaWdodDogMTAwdmg7XHJcbiAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbn1cclxuLnAtMTB7XHJcbiAgICBwYWRkaW5nOiAxMHB4O1xyXG59XHJcbi5sb2dvaW1hZ2Uge1xyXG4gICAgYmFja2dyb3VuZDojMWIzYjcyO1xyXG59XHJcbi53cmFwcGVyLWxvZ2luIHtcclxuICAgIG1hcmdpbjogYXV0bztcclxuICAgIG1heC13aWR0aDogNzAwcHg7XHJcbiAgICBwYWRkaW5nOiAxMDBweDtcclxufVxyXG4ubG9naW5oZWFkIHtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgZm9udC1zaXplOiAzNXB4O1xyXG4gICAgY29sb3I6ICMxYjNiNzI7XHJcbiAgICBtYXJnaW46IDBweCFpbXBvcnRhbnQ7XHJcbn1cclxuLmxvZ2luc2VjIHtcclxuICAgIGJhY2tncm91bmQ6ICNmZmY7XHJcbn1cclxuLnNoYWRvd2Nzc3tcclxuICAgIGJveC1zaGFkb3c6IDAgLjVyZW0gMXJlbSByZ2JhKDAsMCwwLC4xNSkhaW1wb3J0YW50O1xyXG59XHJcbi5jdXN0b21ociB7XHJcbiAgICB3aWR0aDogNTAlO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgIzczNzNiNDtcclxufVxyXG4uc2lnbmluYnRuY3NzIHtcclxuICAgIHBhZGRpbmc6IDEycHghaW1wb3J0YW50O1xyXG4gICAgZm9udC1zaXplOiAxNnB4IWltcG9ydGFudDtcclxufSIsIi53cmFwcGVybWFpbmltZyB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9hc3NldHMvaW1nL2xvZ2lucGFnZS5wbmdcIik7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cblxuLnAtMTAge1xuICBwYWRkaW5nOiAxMHB4O1xufVxuXG4ubG9nb2ltYWdlIHtcbiAgYmFja2dyb3VuZDogIzFiM2I3Mjtcbn1cblxuLndyYXBwZXItbG9naW4ge1xuICBtYXJnaW46IGF1dG87XG4gIG1heC13aWR0aDogNzAwcHg7XG4gIHBhZGRpbmc6IDEwMHB4O1xufVxuXG4ubG9naW5oZWFkIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc2l6ZTogMzVweDtcbiAgY29sb3I6ICMxYjNiNzI7XG4gIG1hcmdpbjogMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5sb2dpbnNlYyB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG59XG5cbi5zaGFkb3djc3Mge1xuICBib3gtc2hhZG93OiAwIDAuNXJlbSAxcmVtIHJnYmEoMCwgMCwgMCwgMC4xNSkgIWltcG9ydGFudDtcbn1cblxuLmN1c3RvbWhyIHtcbiAgd2lkdGg6IDUwJTtcbiAgYm9yZGVyOiAxcHggc29saWQgIzczNzNiNDtcbn1cblxuLnNpZ25pbmJ0bmNzcyB7XG4gIHBhZGRpbmc6IDEycHggIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAxNnB4ICFpbXBvcnRhbnQ7XG59Il19 */\"","import { Component, OnInit, Input,Output, ViewEncapsulation ,ViewChild,EventEmitter } from \"@angular/core\";\r\nimport { FormGroup, FormBuilder, Validators } from \"@angular/forms\";\r\nimport { UserauthService } from \"../../_service/userauth.service\";\r\nimport { Router,ActivatedRoute } from \"@angular/router\";\r\nimport { GlobalService } from \"../../_service/global.service\";\r\nimport { environment } from '../../../environments/environment';\r\n\r\n\r\n\r\n@Component({\r\n selector: \"app-basic-login\",\r\n \r\n templateUrl: \"./login-user.component.html\",\r\n styleUrls: [\"./login-user.component.scss\"]\r\n})\r\nexport class LoginUserComponent implements OnInit {\r\n \r\n public _loginForm: FormGroup;\r\n public _submitted: boolean = false;\r\n public _errorMessage: string = \"\";$msgErrr='';\r\n _formErrors:any;\r\n domain_location=window.location.origin;\r\n public tockenCheck:any ='';\r\n loaderStatus:boolean = true;\r\n\r\n \r\n \r\n \r\n constructor(\r\n private _staffService: UserauthService,\r\n private _router: Router,\r\n private _formBuilder: FormBuilder,private route: ActivatedRoute,public _globalService: GlobalService\r\n ) {\r\n \r\n this._loginForm = _formBuilder.group({\r\n email: [\"\", Validators.required],\r\n password: [\r\n \"\",\r\n Validators.compose([Validators.required])\r\n ]\r\n });\r\n this._loginForm.valueChanges.subscribe(data => this.onValueChanged(data));\r\n }\r\n \r\n public _setFormErrors(errorFields: any): void {\r\n for (let key in errorFields) {\r\n // skip loop if the property is from prototype\r\n if (!errorFields.hasOwnProperty(key)) continue;\r\n\r\n let message = errorFields[key];\r\n this._formErrors[key].valid = false;\r\n this._formErrors[key].message = message;\r\n }\r\n }\r\n public _resetFormErrors(): void {\r\n this._formErrors = {\r\n email: { valid: true, message: \"\" },\r\n password: { valid: true, message: \"\" }\r\n };\r\n }\r\n\r\n public _isValid(field): boolean {\r\n let isValid: boolean = false;\r\n\r\n // If the field is not touched and invalid, it is considered as initial loaded form. Thus set as true\r\n if (this._loginForm.controls[field].touched == false) {\r\n isValid = true;\r\n }\r\n // If the field is touched and valid value, then it is considered as valid.\r\n else if (\r\n this._loginForm.controls[field].touched == true &&\r\n this._loginForm.controls[field].valid == true\r\n ) {\r\n isValid = true;\r\n }\r\n return isValid;\r\n }\r\n public onValueChanged(data?: any) {\r\n if (!this._loginForm) {\r\n return;\r\n }\r\n const form = this._loginForm;\r\n for (let field in this._formErrors) {\r\n // clear previous error message (if any)\r\n let control = form.get(field);\r\n if (control && control.dirty) {\r\n this._formErrors[field].valid = true;\r\n this._formErrors[field].message = \"\";\r\n }\r\n }\r\n }\r\n \r\n ngOnInit() {\r\n \r\n document.querySelector(\"body\").setAttribute(\"themebg-pattern\", \"theme1\");\r\n this._staffService.userAuthLoginExist();\r\n \r\n }\r\n \r\n \r\n getParameters(): void {\r\n this.route.queryParams\r\n .subscribe(result => {\r\n console.log('result', result);\r\n },\r\n error => {\r\n console.log('error', error);\r\n });\r\n }\r\n\r\n loginUserAuth(){\r\n this._submitted = true;\r\n this._errorMessage='';\r\n this._staffService.loginUserAuth(this._loginForm.value.email,this._loginForm.value.password).subscribe(res =>{\r\n let result=this._globalService.convertResponseInJson(res);\r\n if (result.status=='true') {\r\n this._router.navigate([\"/dashboard\"]);\r\n }\r\n else {\r\n \r\n this._errorMessage = \"Invalid Token..\";\r\n this._submitted = false;\r\n this.loaderStatus = false;\r\n this.loaderStatus = this._globalService.spinnerShow();\r\n setTimeout(\r\n function() {\r\n this._errorMessage = \"\";\r\n \r\n }.bind(this),\r\n 2200\r\n );\r\n }\r\n });\r\n \r\n }\r\n \r\n public onSubmit(elementValues: any) {\r\n // this._submitted = true;\r\n // this._errorMessage='';\r\n // this._staffService\r\n // .login(elementValues.email, elementValues.password)\r\n // .subscribe(\r\n // result => {\r\n // if (result.status=='true') {\r\n \r\n // if(localStorage.getItem(\"usertype\")=='saasadmin'){\r\n // this._router.navigate([\"/dashboard/admin\"]);\r\n // }else{\r\n // // this.getAccountingFirm();\r\n // // this.firmPickModal.show(); \r\n\r\n // this._router.navigate([\"/dashboard\"]);\r\n // }\r\n // //this._router.navigate([\"/process/currenttask\"]);\r\n // // this._router.navigate([\"/dashboard\"]);\r\n // } else {\r\n \r\n // this._errorMessage = \"Username or password is incorrect.\";\r\n\r\n // this._submitted = false;\r\n // }\r\n // },\r\n // error => {\r\n // this._submitted = false;\r\n // // Validation error\r\n // if (error.status == 422) {\r\n // this._resetFormErrors();\r\n // // this._errorMessage = \"There was an error on submission. Please check again.\";\r\n // let errorFields = JSON.parse(error.data.message);\r\n // this._setFormErrors(errorFields);\r\n // } else {\r\n // this._errorMessage = error.data;\r\n // }\r\n // }\r\n // );\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n//START:MATERIAL MODULE\r\nimport { MatFormFieldModule } from '@angular/material';\r\nimport {MatAutocompleteModule} from '@angular/material/autocomplete';\r\nimport {MatBadgeModule} from '@angular/material/badge';\r\nimport {MatBottomSheetModule} from '@angular/material/bottom-sheet';\r\nimport {MatButtonModule} from '@angular/material/button';\r\nimport {MatButtonToggleModule} from '@angular/material/button-toggle';\r\nimport {MatCardModule} from '@angular/material/card';\r\nimport {MatCheckboxModule} from '@angular/material/checkbox';\r\nimport {MatChipsModule} from '@angular/material/chips';\r\nimport {MatStepperModule} from '@angular/material/stepper';\r\nimport {MatDatepickerModule} from '@angular/material/datepicker';\r\nimport {MatDialogModule} from '@angular/material/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 {MatInputModule} from '@angular/material/input';\r\nimport {MatListModule} from '@angular/material/list';\r\nimport {MatMenuModule} from '@angular/material/menu';\r\nimport {MatNativeDateModule, MatRippleModule} from '@angular/material/core';\r\nimport {MatPaginatorModule} from '@angular/material/paginator';\r\nimport {MatProgressBarModule} from '@angular/material/progress-bar';\r\nimport {MatProgressSpinnerModule} from '@angular/material/progress-spinner';\r\nimport {MatRadioModule} from '@angular/material/radio';\r\nimport {MatSelectModule} from '@angular/material/select';\r\nimport {MatSidenavModule} from '@angular/material/sidenav';\r\nimport {MatSliderModule} from '@angular/material/slider';\r\nimport {MatSlideToggleModule} from '@angular/material/slide-toggle';\r\nimport {MatSnackBarModule} from '@angular/material/snack-bar';\r\nimport {MatSortModule} from '@angular/material/sort';\r\nimport {MatTableModule} from '@angular/material/table';\r\nimport {MatTabsModule} from '@angular/material/tabs';\r\nimport {MatToolbarModule} from '@angular/material/toolbar';\r\nimport {MatTooltipModule} from '@angular/material/tooltip';\r\nimport {MatTreeModule} from '@angular/material/tree';\r\nimport { NgSelectModule } from '@ng-select/ng-select';\r\nimport { NgxMatSelectSearchModule } from 'ngx-mat-select-search';\r\n//For Reactive Form\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\n// For digital signature\r\nimport { SignaturePadModule } from 'angular2-signaturepad';\r\n\r\nimport { MDBBootstrapModule } from 'angular-bootstrap-md';\r\nimport { MatMomentDateModule } from '@angular/material-moment-adapter';\r\nimport { ChartsModule } from 'ng2-charts';\r\n\r\n\r\n\r\n//END:MATERIAL MODULE\r\n\r\n@NgModule({\r\n declarations: [],\r\n providers: [ ],\r\n imports: [\r\n CommonModule,\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,MatFormFieldModule,NgSelectModule,\r\n FormsModule, ReactiveFormsModule,SignaturePadModule,\r\n MDBBootstrapModule.forRoot(),ChartsModule, MatMomentDateModule,\r\n NgxMatSelectSearchModule\r\n \r\n ],\r\n \r\n exports: [\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,MatFormFieldModule,NgSelectModule,\r\n FormsModule, ReactiveFormsModule,SignaturePadModule,\r\n MDBBootstrapModule,ChartsModule\r\n]\r\n})\r\nexport class MaterialuiModule { \r\n}\r\n","export default \".paybox {\\n margin: 12% auto;\\n max-width: 700px;\\n padding: 10px;\\n border: 1px solid lightgray;\\n box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;\\n background-color: #f8f8f8;\\n}\\n\\n.payheading {\\n border: 1px solid lightgray;\\n padding: 10px;\\n margin-bottom: 15px;\\n}\\n\\n.price {\\n font-size: 20px;\\n font-weight: bold;\\n}\\n\\n.amount {\\n float: right;\\n text-decoration: none;\\n color: blue;\\n font-weight: bold;\\n}\\n\\n.txt_css {\\n margin-top: 1em;\\n text-align: justify;\\n font-size: 18px;\\n}\\n\\n.centercss {\\n text-align: center;\\n}\\n\\n.btncss {\\n width: 45%;\\n padding: 13px;\\n font-size: 20px;\\n background-color: #1f3e7b;\\n color: white;\\n border: 1px solid black;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbW90b3JwYXltZW50aW52b2ljZS9DOlxcVXNlcnNcXGFuanUudmlzd2FuYXRoXFxzb3VyY2VcXHJlcG9zXFxCMkNQb3J0YWxfQnJhbmNoZXNcXFByb2Qvc3JjXFxhcHBcXG1vdG9ycGF5bWVudGludm9pY2VcXG1vdG9ycGF5bWVudGludm9pY2UuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL21vdG9ycGF5bWVudGludm9pY2UvbW90b3JwYXltZW50aW52b2ljZS5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNJLGdCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxhQUFBO0VBQ0EsMkJBQUE7RUFDQSx3REFBQTtFQUNBLHlCQUFBO0FDQ0o7O0FERUE7RUFDSSwyQkFBQTtFQUNBLGFBQUE7RUFDQSxtQkFBQTtBQ0NKOztBRENBO0VBQ0ksZUFBQTtFQUNBLGlCQUFBO0FDRUo7O0FEQUE7RUFDSSxZQUFBO0VBQ0EscUJBQUE7RUFDQSxXQUFBO0VBQ0EsaUJBQUE7QUNHSjs7QUREQTtFQUNJLGVBQUE7RUFDQSxtQkFBQTtFQUNBLGVBQUE7QUNJSjs7QURGQTtFQUNJLGtCQUFBO0FDS0o7O0FESEE7RUFDSSxVQUFBO0VBQ0EsYUFBQTtFQUNBLGVBQUE7RUFDQSx5QkFBQTtFQUNBLFlBQUE7RUFDQSx1QkFBQTtBQ01KIiwiZmlsZSI6InNyYy9hcHAvbW90b3JwYXltZW50aW52b2ljZS9tb3RvcnBheW1lbnRpbnZvaWNlLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLnBheWJveCB7XHJcbiAgICBtYXJnaW46IDEyJSBhdXRvO1xyXG4gICAgbWF4LXdpZHRoOiA3MDBweDtcclxuICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCBsaWdodGdyYXk7XHJcbiAgICBib3gtc2hhZG93OiAwIC41cmVtIDFyZW0gcmdiYSgwLDAsMCwuMTUpIWltcG9ydGFudDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmOGY4Zjg7XHJcbiAgICAvLyBvcGFjaXR5OiAwLjk7XHJcbn1cclxuLnBheWhlYWRpbmcge1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgbGlnaHRncmF5O1xyXG4gICAgcGFkZGluZzogMTBweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XHJcbn1cclxuLnByaWNlIHtcclxuICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG59XHJcbi5hbW91bnQge1xyXG4gICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgY29sb3I6IGJsdWU7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxufVxyXG4udHh0X2NzcyB7XHJcbiAgICBtYXJnaW4tdG9wOiAxZW07XHJcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xyXG4gICAgZm9udC1zaXplOiAxOHB4O1xyXG59XHJcbi5jZW50ZXJjc3Mge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcbi5idG5jc3Mge1xyXG4gICAgd2lkdGg6IDQ1JTtcclxuICAgIHBhZGRpbmc6IDEzcHg7XHJcbiAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiMxZjNlN2I7XHJcbiAgICBjb2xvcjogd2hpdGU7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCBibGFjaztcclxufSIsIi5wYXlib3gge1xuICBtYXJnaW46IDEyJSBhdXRvO1xuICBtYXgtd2lkdGg6IDcwMHB4O1xuICBwYWRkaW5nOiAxMHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCBsaWdodGdyYXk7XG4gIGJveC1zaGFkb3c6IDAgMC41cmVtIDFyZW0gcmdiYSgwLCAwLCAwLCAwLjE1KSAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOGY4O1xufVxuXG4ucGF5aGVhZGluZyB7XG4gIGJvcmRlcjogMXB4IHNvbGlkIGxpZ2h0Z3JheTtcbiAgcGFkZGluZzogMTBweDtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbn1cblxuLnByaWNlIHtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLmFtb3VudCB7XG4gIGZsb2F0OiByaWdodDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjb2xvcjogYmx1ZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi50eHRfY3NzIHtcbiAgbWFyZ2luLXRvcDogMWVtO1xuICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xuICBmb250LXNpemU6IDE4cHg7XG59XG5cbi5jZW50ZXJjc3Mge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5idG5jc3Mge1xuICB3aWR0aDogNDUlO1xuICBwYWRkaW5nOiAxM3B4O1xuICBmb250LXNpemU6IDIwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxZjNlN2I7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyOiAxcHggc29saWQgYmxhY2s7XG59Il19 */\"","import { Component, OnInit } from '@angular/core';\r\nimport { IssuepolicyService } from '../_service/issuepolicy.service';\r\nimport { GlobalService } from \"../_service/global.service\";\r\nimport { Router,ActivatedRoute } from '@angular/router';\r\nimport { MotorquoteService } from 'app/_service/motorquote.service';\r\n\r\n@Component({\r\n selector: 'app-motorpaymentinvoice',\r\n templateUrl: './motorpaymentinvoice.component.html',\r\n styleUrls: ['./motorpaymentinvoice.component.scss']\r\n})\r\nexport class MotorpaymentinvoiceComponent implements OnInit {\r\n\r\n public quoteNum:any; totalPremium :any; quoteDetail:any = []; paymentLoader:boolean = false; quote_Status:any; paymentMsgShow:boolean = false;\r\n toalContriLoader: boolean =false;\r\n quoteDetailData: any;\r\n toalContri: any;\r\n quoitationID: any;\r\n retrieveData: any;\r\n localStorDta: any;\r\n partnerId: any;\r\n trans_ref: any;\r\n // public issuePolicyService: IssuepolicyService\r\n constructor(public _route: Router,public _activatedroute: ActivatedRoute,public globalService:GlobalService,public issuePolicyService: IssuepolicyService,public motorQuoteService:MotorquoteService) { }\r\n\r\n ngOnInit() {\r\n // console.log(1)\r\n this.toalContriLoader = this.globalService.spinnerHide();\r\n \r\n this.paymentLoader = this.globalService.spinnerHide();\r\n this.localStorDta = this.globalService.getLocalStorageData();\r\n // this.partnerId = this.localStorDta.Partner_ID;\r\n const routeParam = this._activatedroute.snapshot.params;\r\n if(routeParam){\r\n\r\n this.quoteNum = routeParam.QuotationNumber;\r\n this.getMotorVehcleDetail();\r\n\r\n }\r\n\r\n }\r\n\r\n getMotorVehcleDetail(){\r\n this.toalContriLoader = this.globalService.spinnerShow();\r\n this.motorQuoteService.getRetrieveQuote1(this.quoteNum,'BTBPORTAL','PAYMENT').subscribe(res => {\r\n if(res.response_code == 1){\r\n this.toalContriLoader = this.globalService.spinnerHide();\r\n this.retrieveData = res.quotationDetailsDataForCustomer;\r\n let resData = this.retrieveData[0];\r\n\r\n this.totalPremium = resData.TotalPremium;\r\n this.quote_Status = resData.StatusDesc;\r\n \r\n localStorage.setItem('Payment_Quotation_Number', this.quoteNum);\r\n\r\n if(this.quote_Status == \"ISSUED\"){\r\n this.paymentMsgShow = true;\r\n \r\n }\r\n\r\n }\r\n });\r\n }\r\n\r\n payTabPayment(){\r\n\r\n this.paymentMsgShow = false;\r\n \r\n let return_url = \"http://localhost:4200/dashboard\";\r\n let site_url = \"http://localhost:4200/\" + this._route.url;\r\n\r\n this.paymentLoader = this.globalService.spinnerShow();\r\n\r\n //Modified by Anju for payment gateway revamp\r\n this.motorQuoteService.paymentAuthNew(this.quoteNum, site_url, return_url, 'MT', 1, '', \"B2C\", \"adv\").subscribe(res => {\r\n let payRes = res;\r\n\r\n if (payRes.status == 'Failed') {\r\n alert(payRes.res_msg);\r\n this.paymentLoader = this.globalService.spinnerHide();\r\n return false;\r\n }\r\n\r\n else if (payRes.status == 'Success') {\r\n this.trans_ref = payRes.data.tran_ref;\r\n // localStorage.setItem('Trans_Ref',this.trans_ref);\r\n // localStorage.setItem('TokenId',payRes.result.token);\r\n this.paymentLoader = this.globalService.spinnerHide();\r\n localStorage.setItem('Payment_Order_ID', payRes.data.tran_ref);\r\n localStorage.setItem('Payment_Order_Tokan', payRes.data.token);\r\n localStorage.setItem('Payment_Quotation_Number', this.quoteNum);\r\n\r\n window.location.href = payRes.data.redirect_url;\r\n // window.location.href = res.result.redirect_url; //new payment\r\n // window.location.href = payRes.result.payment_url;\r\n\r\n\r\n }\r\n\r\n\r\n });\r\n\r\n\r\n }\r\n\r\n}","import { NativeDateAdapter, DateAdapter, MAT_DATE_FORMATS, MatDateFormats } from \"@angular/material\";\r\nimport { Injectable } from \"@angular/core\";\r\n\r\n@Injectable()\r\nexport class AppDateAdapter extends NativeDateAdapter {\r\n\r\n parse(value: any): Date | null {\r\n if ((typeof value === 'string') && (value.indexOf('/') > -1)) {\r\n const str = value.split('/');\r\n const year = Number(str[2]);\r\n const month = Number(str[1]) - 1;\r\n const date = Number(str[0]);\r\n return new Date(year, month, date);\r\n }\r\n const timestamp = typeof value === 'number' ? value : Date.parse(value);\r\n return isNaN(timestamp) ? null : new Date(timestamp);\r\n }\r\n format(date: Date, displayFormat: string): string {\r\n if (displayFormat == \"input\") {\r\n let day = date.getDate();\r\n let month = date.getMonth() + 1;\r\n let year = date.getFullYear();\r\n return this._to2digit(day) + '/' + this._to2digit(month) + '/' + year;\r\n } else if (displayFormat == \"inputMonth\") {\r\n let month = date.getMonth() + 1;\r\n let year = date.getFullYear();\r\n return this._to2digit(month) + '/' + year;\r\n } else {\r\n return date.toDateString();\r\n }\r\n }\r\n\r\n private _to2digit(n: number) {\r\n return ('00' + n).slice(-2);\r\n } \r\n}\r\n\r\nexport const APP_DATE_FORMATS =\r\n{\r\n parse: {\r\n dateInput: {month: 'short', year: 'numeric', day: 'numeric'}\r\n },\r\n display: {\r\n // dateInput: { month: 'short', year: 'numeric', day: 'numeric' },\r\n dateInput: 'input',\r\n // monthYearLabel: { month: 'short', year: 'numeric', day: 'numeric' },\r\n monthYearLabel: 'inputMonth',\r\n dateA11yLabel: {year: 'numeric', month: 'long', day: 'numeric'},\r\n monthYearA11yLabel: {year: 'numeric', month: 'long'},\r\n }\r\n}","export default \".maxauto60 {\\n width: 60%;\\n margin: auto;\\n}\\n\\n.customselfdeclare .customheader {\\n padding: 10px 15px 0 15px;\\n}\\n\\n.customselfdeclare p {\\n margin: 0 !important;\\n margin-left: 10px !important;\\n}\\n\\n.customselfdeclare h5 {\\n font-size: 14px !important;\\n font-weight: bold !important;\\n}\\n\\n.customselfdeclare .modal {\\n background: #0000003d;\\n}\\n\\n.customselfdeclare h6 {\\n color: #344b89 !important;\\n /* text-align: center; */\\n font-weight: bold !important;\\n text-transform: capitalize !important;\\n font-size: 14px !important;\\n}\\n\\n.refresh-btn {\\n background: #3f51b5;\\n width: 38px;\\n height: 38px;\\n border-radius: 50%;\\n color: #fff !important;\\n margin-top: 10px;\\n}\\n\\n.captcha-box {\\n border: 1px solid lightgray;\\n border-radius: 3px;\\n padding: 8px;\\n background: #f2f2f2;\\n}\\n\\n.capt-input {\\n width: 100%;\\n height: 37px;\\n background: #dadadaf1;\\n border: 1px solid lightgray;\\n border-radius: 3px;\\n margin-top: 10px;\\n padding: 5px;\\n}\\n\\n.check-btn {\\n margin-top: 10px;\\n background-image: linear-gradient(45deg #1f3e7b, #7373b4) !important;\\n}\\n\\n.captcha-err1 {\\n color: #dc3545;\\n font-size: 12px;\\n font-weight: 500;\\n}\\n\\n.captcha-err2 {\\n color: green;\\n font-size: 12px;\\n font-weight: 500;\\n}\\n\\n.p0 {\\n padding: 0px !important;\\n}\\n\\n.rotate-icon {\\n transition: transform 0.3s ease-out;\\n}\\n\\n.refresh-btn:hover .rotate-icon {\\n transform: rotate(360deg);\\n}\\n\\n@media only screen and (max-width: 600px) {\\n .res-refresh {\\n width: 30% !important;\\n }\\n\\n .res-input {\\n width: 50% !important;\\n }\\n\\n .maxauto60 {\\n width: 100% !important;\\n margin: auto;\\n }\\n\\n .wrapper-policy .card .card-body {\\n padding: 0 !important;\\n }\\n\\n .restextleft {\\n text-align: left !important;\\n }\\n\\n .customresposition {\\n position: absolute;\\n left: 32px;\\n margin-top: 24px;\\n }\\n\\n .resposimat {\\n position: relative;\\n left: 20px;\\n width: 260px;\\n }\\n\\n .resticmat {\\n position: absolute;\\n top: 7px;\\n }\\n\\n .mar85res {\\n margin-top: 54px !important;\\n }\\n\\n .btnres .custombtncss {\\n width: 45%;\\n margin: 10px 0;\\n }\\n\\n .sucessValidation {\\n color: #0ba52c !important;\\n }\\n\\n .errorValidation {\\n color: red;\\n }\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbW90b3JxdW90ZS9DOlxcVXNlcnNcXGFuanUudmlzd2FuYXRoXFxzb3VyY2VcXHJlcG9zXFxCMkNQb3J0YWxfQnJhbmNoZXNcXFByb2Qvc3JjXFxhcHBcXG1vdG9ycXVvdGVcXG1vdG9ycXVvdGUuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL21vdG9ycXVvdGUvbW90b3JxdW90ZS5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNJLFVBQUE7RUFDQSxZQUFBO0FDQ0o7O0FERUE7RUFDSSx5QkFBQTtBQ0NKOztBREVBO0VBQ0ksb0JBQUE7RUFDQSw0QkFBQTtBQ0NKOztBREVBO0VBQ0ksMEJBQUE7RUFDQSw0QkFBQTtBQ0NKOztBREVBO0VBQ0kscUJBQUE7QUNDSjs7QURFQTtFQUNJLHlCQUFBO0VBQ0Esd0JBQUE7RUFDQSw0QkFBQTtFQUNBLHFDQUFBO0VBQ0EsMEJBQUE7QUNDSjs7QURDQTtFQUVJLG1CQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7RUFDQSxrQkFBQTtFQUNBLHNCQUFBO0VBQ0EsZ0JBQUE7QUNDSjs7QURDQTtFQUNJLDJCQUFBO0VBQ0Esa0JBQUE7RUFDQSxZQUFBO0VBQ0EsbUJBQUE7QUNFSjs7QURBQTtFQUNJLFdBQUE7RUFDQSxZQUFBO0VBQ0EscUJBQUE7RUFDQSwyQkFBQTtFQUNBLGtCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxZQUFBO0FDR0o7O0FEREE7RUFDSSxnQkFBQTtFQUNBLG9FQUFBO0FDSUo7O0FERkE7RUFDSSxjQUFBO0VBQ0EsZUFBQTtFQUNBLGdCQUFBO0FDS0o7O0FESEE7RUFDSSxZQUFBO0VBQ0EsZUFBQTtFQUNBLGdCQUFBO0FDTUo7O0FESkE7RUFDSSx1QkFBQTtBQ09KOztBRExBO0VBRUUsbUNBQUE7QUNPRjs7QURMQTtFQUVFLHlCQUFBO0FDT0Y7O0FESkE7RUFDSTtJQUNJLHFCQUFBO0VDT047O0VETEU7SUFDSSxxQkFBQTtFQ1FOOztFRE5FO0lBQ0ksc0JBQUE7SUFDQSxZQUFBO0VDU047O0VEUEU7SUFDSSxxQkFBQTtFQ1VOOztFRFJFO0lBQ0ksMkJBQUE7RUNXTjs7RURURTtJQUNJLGtCQUFBO0lBRUEsVUFBQTtJQUNBLGdCQUFBO0VDV047O0VEVEU7SUFDSSxrQkFBQTtJQUNBLFVBQUE7SUFDQSxZQUFBO0VDWU47O0VEVkU7SUFDSSxrQkFBQTtJQUNBLFFBQUE7RUNhTjs7RURYRTtJQUNJLDJCQUFBO0VDY047O0VEWkU7SUFDSSxVQUFBO0lBQ0EsY0FBQTtFQ2VOOztFRGJFO0lBQ0kseUJBQUE7RUNnQk47O0VEZEU7SUFDSSxVQUFBO0VDaUJOO0FBQ0YiLCJmaWxlIjoic3JjL2FwcC9tb3RvcnF1b3RlL21vdG9ycXVvdGUuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIubWF4YXV0bzYwIHtcclxuICAgIHdpZHRoOiA2MCU7XHJcbiAgICBtYXJnaW46IGF1dG87XHJcbn1cclxuXHJcbi5jdXN0b21zZWxmZGVjbGFyZSAuY3VzdG9taGVhZGVyIHtcclxuICAgIHBhZGRpbmc6IDEwcHggMTVweCAwIDE1cHg7XHJcbn1cclxuXHJcbi5jdXN0b21zZWxmZGVjbGFyZSBwIHtcclxuICAgIG1hcmdpbjogMCFpbXBvcnRhbnQ7XHJcbiAgICBtYXJnaW4tbGVmdDogMTBweCFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5jdXN0b21zZWxmZGVjbGFyZSBoNSB7XHJcbiAgICBmb250LXNpemU6IDE0cHghaW1wb3J0YW50O1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uY3VzdG9tc2VsZmRlY2xhcmUgLm1vZGFsIHtcclxuICAgIGJhY2tncm91bmQ6ICMwMDAwMDAzZDtcclxufVxyXG5cclxuLmN1c3RvbXNlbGZkZWNsYXJlIGg2IHtcclxuICAgIGNvbG9yOiAjMzQ0Yjg5IWltcG9ydGFudDtcclxuICAgIC8qIHRleHQtYWxpZ246IGNlbnRlcjsgKi9cclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkIWltcG9ydGFudDtcclxuICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplIWltcG9ydGFudDtcclxuICAgIGZvbnQtc2l6ZTogMTRweCFpbXBvcnRhbnQ7XHJcbn1cclxuLnJlZnJlc2gtYnRue1xyXG5cclxuICAgIGJhY2tncm91bmQ6ICMzZjUxYjU7XHJcbiAgICB3aWR0aDogMzhweDtcclxuICAgIGhlaWdodDogMzhweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgIGNvbG9yOiAjZmZmIWltcG9ydGFudDtcclxuICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbn1cclxuLmNhcHRjaGEtYm94e1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgbGlnaHRncmF5O1xyXG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xyXG4gICAgcGFkZGluZzogOHB4O1xyXG4gICAgYmFja2dyb3VuZDogI2YyZjJmMjtcclxufVxyXG4uY2FwdC1pbnB1dHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAzN3B4O1xyXG4gICAgYmFja2dyb3VuZDogI2RhZGFkYWYxO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgbGlnaHRncmF5O1xyXG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xyXG4gICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgIHBhZGRpbmc6IDVweDtcclxufVxyXG4uY2hlY2stYnRue1xyXG4gICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCg0NWRlZyAjMWYzZTdiLCAjNzM3M2I0KSFpbXBvcnRhbnQ7XHJcbn1cclxuLmNhcHRjaGEtZXJyMXtcclxuICAgIGNvbG9yOiAjZGMzNTQ1O1xyXG4gICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcclxufVxyXG4uY2FwdGNoYS1lcnIye1xyXG4gICAgY29sb3I6IGdyZWVuO1xyXG4gICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcclxufVxyXG4ucDB7XHJcbiAgICBwYWRkaW5nOiAwcHghaW1wb3J0YW50O1xyXG59XHJcbi5yb3RhdGUtaWNvblxyXG57XHJcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZS1vdXQ7XHJcbn1cclxuLnJlZnJlc2gtYnRuOmhvdmVyIC5yb3RhdGUtaWNvblxyXG57XHJcbiAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcclxufVxyXG5cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xyXG4gICAgLnJlcy1yZWZyZXNoe1xyXG4gICAgICAgIHdpZHRoOiAzMCUhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgLnJlcy1pbnB1dHtcclxuICAgICAgICB3aWR0aDogNTAlIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgIC5tYXhhdXRvNjAge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlIWltcG9ydGFudDtcclxuICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICB9XHJcbiAgICAud3JhcHBlci1wb2xpY3kgLmNhcmQgLmNhcmQtYm9keSB7XHJcbiAgICAgICAgcGFkZGluZzogMCFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAucmVzdGV4dGxlZnQge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgLmN1c3RvbXJlc3Bvc2l0aW9uIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgLy8gbWFyZ2luLXRvcDogNDVweDtcclxuICAgICAgICBsZWZ0OiAzMnB4O1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDI0cHg7XHJcbiAgICB9XHJcbiAgICAucmVzcG9zaW1hdCB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGxlZnQ6IDIwcHg7XHJcbiAgICAgICAgd2lkdGg6IDI2MHB4O1xyXG4gICAgfVxyXG4gICAgLnJlc3RpY21hdCB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogN3B4O1xyXG4gICAgfVxyXG4gICAgLm1hcjg1cmVzIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiA1NHB4IWltcG9ydGFudDtcclxuICAgIH1cclxuICAgIC5idG5yZXMgLmN1c3RvbWJ0bmNzcyB7XHJcbiAgICAgICAgd2lkdGg6IDQ1JTtcclxuICAgICAgICBtYXJnaW46IDEwcHggMDtcclxuICAgIH1cclxuICAgIC5zdWNlc3NWYWxpZGF0aW9ue1xyXG4gICAgICAgIGNvbG9yOiAjMGJhNTJjIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgIC5lcnJvclZhbGlkYXRpb257XHJcbiAgICAgICAgY29sb3I6IHJlZDtcclxuICAgIH1cclxufSIsIi5tYXhhdXRvNjAge1xuICB3aWR0aDogNjAlO1xuICBtYXJnaW46IGF1dG87XG59XG5cbi5jdXN0b21zZWxmZGVjbGFyZSAuY3VzdG9taGVhZGVyIHtcbiAgcGFkZGluZzogMTBweCAxNXB4IDAgMTVweDtcbn1cblxuLmN1c3RvbXNlbGZkZWNsYXJlIHAge1xuICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgbWFyZ2luLWxlZnQ6IDEwcHggIWltcG9ydGFudDtcbn1cblxuLmN1c3RvbXNlbGZkZWNsYXJlIGg1IHtcbiAgZm9udC1zaXplOiAxNHB4ICFpbXBvcnRhbnQ7XG4gIGZvbnQtd2VpZ2h0OiBib2xkICFpbXBvcnRhbnQ7XG59XG5cbi5jdXN0b21zZWxmZGVjbGFyZSAubW9kYWwge1xuICBiYWNrZ3JvdW5kOiAjMDAwMDAwM2Q7XG59XG5cbi5jdXN0b21zZWxmZGVjbGFyZSBoNiB7XG4gIGNvbG9yOiAjMzQ0Yjg5ICFpbXBvcnRhbnQ7XG4gIC8qIHRleHQtYWxpZ246IGNlbnRlcjsgKi9cbiAgZm9udC13ZWlnaHQ6IGJvbGQgIWltcG9ydGFudDtcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemUgIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAxNHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5yZWZyZXNoLWJ0biB7XG4gIGJhY2tncm91bmQ6ICMzZjUxYjU7XG4gIHdpZHRoOiAzOHB4O1xuICBoZWlnaHQ6IDM4cHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbiAgbWFyZ2luLXRvcDogMTBweDtcbn1cblxuLmNhcHRjaGEtYm94IHtcbiAgYm9yZGVyOiAxcHggc29saWQgbGlnaHRncmF5O1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIHBhZGRpbmc6IDhweDtcbiAgYmFja2dyb3VuZDogI2YyZjJmMjtcbn1cblxuLmNhcHQtaW5wdXQge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAzN3B4O1xuICBiYWNrZ3JvdW5kOiAjZGFkYWRhZjE7XG4gIGJvcmRlcjogMXB4IHNvbGlkIGxpZ2h0Z3JheTtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBtYXJnaW4tdG9wOiAxMHB4O1xuICBwYWRkaW5nOiA1cHg7XG59XG5cbi5jaGVjay1idG4ge1xuICBtYXJnaW4tdG9wOiAxMHB4O1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcgIzFmM2U3YiwgIzczNzNiNCkgIWltcG9ydGFudDtcbn1cblxuLmNhcHRjaGEtZXJyMSB7XG4gIGNvbG9yOiAjZGMzNTQ1O1xuICBmb250LXNpemU6IDEycHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi5jYXB0Y2hhLWVycjIge1xuICBjb2xvcjogZ3JlZW47XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLnAwIHtcbiAgcGFkZGluZzogMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5yb3RhdGUtaWNvbiB7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2Utb3V0O1xufVxuXG4ucmVmcmVzaC1idG46aG92ZXIgLnJvdGF0ZS1pY29uIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuICAucmVzLXJlZnJlc2gge1xuICAgIHdpZHRoOiAzMCUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5yZXMtaW5wdXQge1xuICAgIHdpZHRoOiA1MCUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tYXhhdXRvNjAge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiBhdXRvO1xuICB9XG5cbiAgLndyYXBwZXItcG9saWN5IC5jYXJkIC5jYXJkLWJvZHkge1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5yZXN0ZXh0bGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmN1c3RvbXJlc3Bvc2l0aW9uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMzJweDtcbiAgICBtYXJnaW4tdG9wOiAyNHB4O1xuICB9XG5cbiAgLnJlc3Bvc2ltYXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAyMHB4O1xuICAgIHdpZHRoOiAyNjBweDtcbiAgfVxuXG4gIC5yZXN0aWNtYXQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDdweDtcbiAgfVxuXG4gIC5tYXI4NXJlcyB7XG4gICAgbWFyZ2luLXRvcDogNTRweCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmJ0bnJlcyAuY3VzdG9tYnRuY3NzIHtcbiAgICB3aWR0aDogNDUlO1xuICAgIG1hcmdpbjogMTBweCAwO1xuICB9XG5cbiAgLnN1Y2Vzc1ZhbGlkYXRpb24ge1xuICAgIGNvbG9yOiAjMGJhNTJjICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZXJyb3JWYWxpZGF0aW9uIHtcbiAgICBjb2xvcjogcmVkO1xuICB9XG59Il19 */\"","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';\r\nimport { GlobalService } from '../_service/global.service';\r\nimport { MotorquoteService } from '../_service/motorquote.service';\r\nimport { DateAdapter, MatStepper, MAT_DATE_FORMATS, MAT_DATE_LOCALE } from '@angular/material';\r\nimport { MomentDateModule, MomentDateAdapter } from '@angular/material-moment-adapter';\r\nimport { UserauthService } from '../_service/userauth.service';\r\nimport Swal from 'sweetalert2';\r\nimport { AppDateAdapter, APP_DATE_FORMATS } from '../motorquote/date.adapter';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { config } from '../config';\r\nimport { ReplaySubject, Subject } from 'rxjs';\r\nimport { MatSelect } from '@angular/material';\r\nimport { take, takeUntil } from 'rxjs/operators';\r\nimport { Observable, Subscription, fromEvent } from 'rxjs';\r\nimport {ModalDirective} from 'angular-bootstrap-md';\r\n\r\ninterface InsVehiBy {\r\n value: string;\r\n viewValue: string;\r\n code: string;\r\n}\r\ninterface Code {\r\n value: string;\r\n viewValue: string;\r\n}\r\n\r\ninterface DrivExp {\r\n value: string;\r\n viewValue: string;\r\n}\r\n\r\ninterface VehiTrim {\r\n value: string;\r\n viewValue: string;\r\n}\r\ninterface VehiModelYr {\r\n value: string;\r\n label: string;\r\n}\r\ninterface BrandNew {\r\n value: string;\r\n viewValue: string;\r\n}\r\ninterface VehiSeatCap {\r\n value: string;\r\n viewValue: string;\r\n}\r\ninterface VehiCylinder {\r\n value: string;\r\n viewValue: string;\r\n code: string;\r\n}\r\ninterface InsType {\r\n value: string;\r\n viewValue: string;\r\n WebProdCode: string;\r\n CoreProdCode: string;\r\n}\r\ninterface YesNo {\r\n value: string;\r\n viewValue: string;\r\n}\r\ninterface RepairType {\r\n value: string;\r\n viewValue: string;\r\n}\r\ninterface MotBankNam {\r\n value: string;\r\n viewValue: string;\r\n}\r\ninterface Gender {\r\n value: string;\r\n viewValue: string;\r\n}\r\ninterface ExpiryMonth {\r\n value: string;\r\n viewValue: string;\r\n}\r\n\r\ninterface Country {\r\n id: number;\r\n CountryName: string;\r\n Active: boolean;\r\n CountryCode: string;\r\n CurrencyCode: string;\r\n CRS_NATION_CODE: number;\r\n CRS_Country_Map_Code: number;\r\n}\r\n\r\ninterface Make {\r\n VehicleMakeId: number;\r\n VehicleMakeName: string;\r\n Active: boolean;\r\n IsReferral: number;\r\n CRS_VEH_CODE: number;\r\n}\r\n\r\ninterface Model {\r\n\r\n VehicleModelId: number;\r\n VehicleModelName: string;\r\n Active: boolean;\r\n SeatingCapacityExDriver: number;\r\n BodyTypeId: number;\r\n CRS_MODEL_CODE: number;\r\n EDATA_MODEL_CODE: string;\r\n}\r\n\r\ninterface PlateCategory {\r\n\r\n label: string;\r\n value: string;\r\n}\r\n\r\ninterface VichleColor {\r\n\r\n ColorId: number;\r\n ColorName: string;\r\n CRS_COLOR_CODE: string;\r\n}\r\n\r\ninterface MortageBank {\r\n\r\n Id: number;\r\n InstituteName: string;\r\n InstituteCode: string\r\n CRS_Bank_Map_Code: string;\r\n}\r\n\r\nexport const MY_FORMATS = {\r\n parse: {\r\n dateInput: 'LL'\r\n },\r\n display: {\r\n dateInput: 'DD/MM/YYYY',\r\n monthYearLabel: 'YYYY',\r\n dateA11yLabel: 'LL',\r\n monthYearA11yLabel: 'YYYY'\r\n }\r\n};\r\nimport {\r\n state,\r\n style,\r\n transition,\r\n animate,\r\n trigger,\r\n AUTO_STYLE\r\n} from \"@angular/animations\";\r\nimport { CompressImageService } from '../../app/_service/compressimage.service';\r\n@Component({\r\n selector: 'app-motorquote',\r\n templateUrl: './motorquote.component.html',\r\n styleUrls: ['./motorquote.component.scss'],\r\n providers: [\r\n // { provide: DateAdapter, useClass: MomentDateAdapter, deps: [MAT_DATE_LOCALE] },\r\n {\r\n provide: DateAdapter, useClass: AppDateAdapter\r\n },\r\n {\r\n provide: MAT_DATE_FORMATS, useValue: APP_DATE_FORMATS\r\n }\r\n // { provide: MAT_DATE_FORMATS, useValue: MY_FORMATS }\r\n ],\r\n animations: [\r\n trigger(\"slideInOut\", [\r\n state(\r\n \"in\",\r\n style({\r\n transform: \"translate3d(0, 0, 0)\"\r\n })\r\n ),\r\n state(\r\n \"out\",\r\n style({\r\n transform: \"translate3d(100%, 0, 0)\"\r\n })\r\n ),\r\n transition(\"in => out\", animate(\"400ms ease-in-out\")),\r\n transition(\"out => in\", animate(\"400ms ease-in-out\"))\r\n ]),\r\n trigger(\"slideOnOff\", [\r\n state(\r\n \"on\",\r\n style({\r\n transform: \"translate3d(0, 0, 0)\"\r\n })\r\n ),\r\n state(\r\n \"off\",\r\n style({\r\n transform: \"translate3d(100%, 0, 0)\"\r\n })\r\n ),\r\n transition(\"on => off\", animate(\"400ms ease-in-out\")),\r\n transition(\"off => on\", animate(\"400ms ease-in-out\"))\r\n ]),\r\n trigger(\"visibility\", [\r\n state(\r\n \"shown\",\r\n style({\r\n opacity: 1\r\n })\r\n ),\r\n state(\r\n \"hidden\",\r\n style({\r\n opacity: 0\r\n })\r\n ),\r\n transition(\"* => *\", animate(\".25s\"))\r\n ]),\r\n trigger(\"mobileMenuTop\", [\r\n state(\r\n \"no-block, void\",\r\n style({\r\n overflow: \"hidden\",\r\n height: \"0px\"\r\n })\r\n ),\r\n state(\r\n \"yes-block\",\r\n style({\r\n height: AUTO_STYLE\r\n })\r\n ),\r\n transition(\"no-block <=> yes-block\", [animate(\"400ms ease-in-out\")])\r\n ])\r\n ],\r\n})\r\n\r\n\r\n\r\nexport class MotorquoteComponent implements OnInit {\r\n\r\n\r\n /****************** selection search country ***********/\r\n\r\n\r\n\r\n /** control for the MatSelect filter keyword */\r\n public country1FilterCtrl: FormControl = new FormControl();\r\n public nationalFilterCtrl: FormControl = new FormControl();\r\n public makeFilterCtrl: FormControl = new FormControl();\r\n public modelFilterCtrl: FormControl = new FormControl();\r\n\r\n public yearFilterCtrl: FormControl = new FormControl();\r\n public plateFilterCtrl: FormControl = new FormControl();\r\n public vchColorFilterCtrl: FormControl = new FormControl();\r\n public mortageBankFilterCtrl: FormControl = new FormControl();\r\n public codeFilterCtrl: FormControl = new FormControl();\r\n\r\n\r\n /** list of banks filtered by search keyword */\r\n public filteredCountries: ReplaySubject = new ReplaySubject(1);\r\n public filteredNationCountries: ReplaySubject = new ReplaySubject(1);\r\n public filteredMakes: ReplaySubject = new ReplaySubject(1);\r\n public filteredModels: ReplaySubject = new ReplaySubject(1);\r\n public filteredYears: ReplaySubject = new ReplaySubject(1);\r\n public filteredPlateCat: ReplaySubject = new ReplaySubject(1);\r\n public filteredVchColor: ReplaySubject = new ReplaySubject(1);\r\n public filteredBank: ReplaySubject = new ReplaySubject(1);\r\n public filteredCode: ReplaySubject = new ReplaySubject(1);\r\n\r\n paymentMode =\"ONL\";\r\n\r\n\r\n\r\n\r\n @ViewChild('stepper', { static: true })stepper:MatStepper\r\n @ViewChild('frame', { static: false }) frame: ModalDirective;\r\n @ViewChild('singleSelect', { static: false }) singleSelect: MatSelect;\r\n /** Subject that emits when the component has been destroyed. */\r\n private _onDestroy = new Subject();\r\n conditionType: any;\r\n showEmailLoader: boolean=false;\r\n\r\n\r\n formatLabel(value: number) {\r\n if (value >= 1000) {\r\n return Math.round(value / 1000) + 'Y';\r\n }\r\n\r\n return value;\r\n }\r\n status_type: any =0;\r\n captchaValidation: boolean =false;\r\n Msg: any ='Please Enter Valid Captcha !';\r\n captchasucess: boolean =false;\r\n vehicleValueLimit = { isSet: false, startLimit: 0, mediumLimit: 0, endLimit: 0 }\r\n insvehibys: any = [\r\n { value: 'Individual', viewValue: 'Individual', code: '100' },\r\n { value: 'Corporate', viewValue: 'Corporate', code: '200' },\r\n ];\r\n codes: Code[] = [\r\n { value: '050', viewValue: '050' },\r\n { value: '052', viewValue: '052' },\r\n { value: '054', viewValue: '054' },\r\n { value: '055', viewValue: '055' },\r\n { value: '056', viewValue: '056' },\r\n { value: '057', viewValue: '057' },\r\n { value: '058', viewValue: '058' },\r\n ];\r\n\r\n drivexps: DrivExp[] = [\r\n { value: 'Yes', viewValue: 'Yes' },\r\n { value: 'No', viewValue: 'No' },\r\n ];\r\n\r\n vehimodelyrs: VehiModelYr[] = [\r\n { value: '2023', label: '2023' },\r\n { value: '2022', label: '2022' },\r\n { value: '2021', label: '2021' },\r\n { value: '2020', label: '2020' },\r\n { value: '2019', label: '2019' },\r\n { value: '2018', label: '2018' },\r\n { value: '2017', label: '2017' },\r\n { value: '2016', label: '2016' },\r\n { value: '2015', label: '2015' },\r\n { value: '2014', label: '2014' },\r\n { value: '2013', label: '2013' },\r\n { value: '2012', label: '2012' },\r\n { value: '2011', label: '2011' },\r\n { value: '2010', label: '2010' },\r\n { value: '2009', label: '2009' },\r\n { value: '2008', label: '2008' },\r\n { value: '2007', label: '2007' },\r\n { value: '2006', label: '2006' },\r\n { value: '2005', label: '2005' },\r\n { value: '2004', label: '2004' },\r\n { value: '2003', label: '2003' },\r\n { value: '2002', label: '2002' },\r\n { value: '2001', label: '2001' },\r\n { value: '2000', label: '2000' },\r\n ];\r\n brandnews: BrandNew[] = [\r\n { value: 'Yes', viewValue: 'Yes' },\r\n { value: 'No', viewValue: 'No' },\r\n ];\r\n vehiseatcaps: any = [\r\n { value: '1', viewValue: '1' },\r\n { value: '3', viewValue: '3' },\r\n { value: '4', viewValue: '4' },\r\n { value: '5', viewValue: '5' },\r\n { value: '6', viewValue: '6' },\r\n { value: '7', viewValue: '7' },\r\n { value: '8', viewValue: '8' },\r\n ];\r\n vehicylinders: VehiCylinder[] = [\r\n { value: '4', viewValue: '4 Cylinder', code: '1004' },\r\n { value: '6', viewValue: '6 Cylinder', code: '1006' },\r\n { value: '8', viewValue: '8 Cylinder', code: '1008' },\r\n { value: '10', viewValue: '10 Cylinder', code: '1010' },\r\n { value: '12', viewValue: '12 Cylinder', code: '1012' },\r\n ];\r\n instypes: InsType[] = [\r\n { value: '100', viewValue: 'Comprehensive', WebProdCode: 'MT00061', CoreProdCode: '4001_1' },\r\n { value: '200', viewValue: 'Third Party Liability', WebProdCode: 'MTTPL0065', CoreProdCode: '4021' },\r\n ];\r\n yesnos: YesNo[] = [\r\n { value: 'Yes', viewValue: 'Yes' },\r\n { value: 'No', viewValue: 'No' },\r\n ];\r\n\r\n repairtypes: RepairType[] = [\r\n { value: 'Agency', viewValue: 'Agency' },\r\n { value: 'Garage', viewValue: 'Garage' },\r\n ];\r\n\r\n motbanknams: MotBankNam[] = [\r\n { value: 'MBN', viewValue: 'ABC Bank' },\r\n { value: 'MBN', viewValue: 'DEF Bank' },\r\n { value: 'MBN', viewValue: 'GHI Bank' },\r\n ];\r\n genders: Gender[] = [\r\n { value: 'M', viewValue: 'Male' },\r\n { value: 'F', viewValue: 'Female' },\r\n ];\r\n expmonths: ExpiryMonth[] = [\r\n { value: 'EXPMON', viewValue: 'January' },\r\n { value: 'EXPMON', viewValue: 'February' },\r\n { value: 'EXPMON', viewValue: 'March' },\r\n { value: 'EXPMON', viewValue: 'April' },\r\n { value: 'EXPMON', viewValue: 'May' },\r\n { value: 'EXPMON', viewValue: 'June' },\r\n { value: 'EXPMON', viewValue: 'July' },\r\n { value: 'EXPMON', viewValue: 'August' },\r\n { value: 'EXPMON', viewValue: 'September' },\r\n { value: 'EXPMON', viewValue: 'October' },\r\n { value: 'EXPMON', viewValue: 'November' },\r\n { value: 'EXPMON', viewValue: 'December' },\r\n ];\r\n\r\n NCDArr = [\r\n { value: '0', label: '0' },\r\n { value: '1', label: '1' },\r\n { value: '2', label: '2' },\r\n { value: '3', label: '3' },\r\n { value: '4', label: '4' },\r\n { value: '5+', label: '5+' },\r\n\r\n ]\r\n\r\n activePolicyTypeArr = [\r\n { value: 'Yes', label: 'No Insurance' },\r\n { value: 'No', label: 'Comprehensive' },\r\n { value: 'Yes', label: 'Third Party Liability' }\r\n\r\n ];\r\n\r\n plateCatArray: PlateCategory[] = [\r\n { label: \"Private\", value: \"Private\" },\r\n // { label: \"Police\", value: \"Police\" },\r\n // { label: \"Public (Driving Learning)\", value: \"Public (Driving Learning)\" },\r\n // { label: \"Protocol\", value: \"Protocol\" },\r\n // { label: \"Public (Transport/Taxi)\", value: \"Public (Transport/Taxi)\" },\r\n // { label: \"Trade Plate\", value: \"Trade Plate\" },\r\n // { label: \"Export\", value: \"Export\" },\r\n // { label: \"Diplomatic Association\", value: \"Diplomatic Association\" },\r\n // { label: \"International Organization\", value: \"International Organization\" },\r\n // { label: \"Delegate\", value: \"Delegate\" },\r\n // { label: \"Classical\", value: \"Classical\" },\r\n // { label: \"Others\", value: \"Others\" },\r\n ];\r\n\r\n\r\n maxDate = new Date(new Date().setFullYear(new Date().getFullYear() - 18));\r\n minDate = new Date(new Date().setFullYear(new Date().getFullYear() - 71));\r\n UAELicMinDate = new Date(new Date().setFullYear(new Date().getFullYear() - 50));\r\n policyMinDate = new Date(Date.now());\r\n\r\n policyMaxDate = new Date(new Date().setDate(new Date().getDate() + 13));\r\n regMinDate = new Date(2000, 0, 1);\r\n regMaxDate = new Date(2023, 0, 1);// Updated regmax date to 2023 by Anju\r\n\r\n\r\n //DECLARE FORMGROUPS\r\n personalDetailForm: FormGroup; vehicleDetailForm: FormGroup; coverDetailForm: FormGroup; additionalDetailForm: FormGroup; retrieveQuoteForm: FormGroup;\r\n quotationForm: FormGroup; policyRenewForm: FormGroup; public subscriptions: Subscription[] = [];\r\n\r\n //DECLARE ARRAYS\r\n vhclMakeArr: Make[]; countryArr: Country[]; vhclColorArr: VichleColor[]; cityArr: any = []; vhclModelArr: Model[]; vhclBodyTypeArr: any = []; vehitrims: any = []; tempRepairTypeArr: any = [];\r\n coverData: any = []; NCDData: any = []; benfPremIdArray: any = []; savePlanDetailArr: any = []; quoteDetailArr: any = []; bankDetail: MortageBank[]; quoteDetailDataForCUst: any = []; plateCodeArray: any = [];\r\n public termsAndCondition :any = [];\r\ntempBenefitData:any = [];\r\n //DECLARE VARIABLES\r\n public policy_type: any; reg_type: any; vehicle_mk_id: any; language_code = 'ENG'; country = 'United Arab Emirates'; selectedCover: any; notSelectedCover: any; checkedOptCover: boolean; no_Of_Doors: any;\r\n checked: boolean; coverPremium: any; validChassisNum: boolean = false; webQuoteNumber: any = ''; quoteNumber: any; invalidEID: boolean = false; value: any = 0; plan_Name: any; plan_Id: any;\r\n paymentLoader: boolean = false; totalPremiumeithDisc: any; validtnMsg1: boolean = false; docNameType: any; mulOption: any; quoteDetail: any; public policyFee: number; vehicleValue: any = '';\r\n licFrontLoader: boolean = false; licBackLoader: boolean = false; regFrontLoader: boolean = false; regBackLoader: boolean = false; eidFrontLoader: boolean = false; eidBackLoader: boolean = false;\r\n delQuoteLoader: boolean = false; otherDocLoader: boolean = false; selected = new FormControl(0); minTCF: any; maxTCF: any; blankChassis: boolean = false; age: any; UAELicAge: any;\r\n accept_terms: boolean = false; chassis_No_Details: any; check_chassis_No: boolean = false; selectedStepper = new FormControl(0); ret_quote_num: any = ''; VATAMT: any;\r\n Total_Primium: any; getVechileDetailData: any; tempTotalFixPremium: number; totalFixPremium: number = 0; totalVariablePremium: number = 0;\r\n totalDiscount: number = 0; totalPreimum: number = 0; product_code = \"MT00061\"; public checkStepper: boolean = false; emailID: any; mobile_No: any; code: any; optionalBenefit: any; vhclModelYearVal:any = ''; retrieveFlag:boolean = false;\r\n vhcleValueFlag :boolean = false; retrieveVehcleMake:any; SchemeCode:any = 'ALL'; trans_ref:any; specialDiscountAmt:any;\r\n accept_self_declaration_1:boolean = false; accept_self_declaration_2:boolean = false;accept_self_declaration_3:boolean = false;\r\n accept_self_declaration_4:boolean = false; accept_self_declaration_5:boolean = false; tempTotalLoadFixPrem:any;\r\n floatingSelectedIndex: any;\r\n public showFloatingopenicon:boolean=true;\r\n public premiumopenicon:boolean=true;\r\n public showFloatingcloseicon:boolean=false;\r\n public premiumcloseicon:boolean=false;\r\n public showFloating :boolean=true;\r\n public showpremiumFloating :boolean=true;\r\n //DATES\r\n toDay = new Date(Date.now());\r\n minyear = new Date().getFullYear() - 1;\r\n maxYear = new Date().getFullYear() + 1;\r\n year = new Date().getFullYear();\r\n nextDate = new Date(Date.now() + 1);\r\n PrevDate = new Date(Date.now() - 2);\r\n showHideLoader = {\r\n vhclMake: false,\r\n vhclModel: false,\r\n vhclBodyTypeArr: false,\r\n vehitrims: false,\r\n personalDetail: false,\r\n vehicleDetail: false,\r\n coverDetail: false,\r\n Quotation: false,\r\n additionalDetail: false,\r\n chasisNoButton: false,\r\n VehicleValue: false,\r\n retrieveQuote: false,\r\n policyRenew: false\r\n };\r\n\r\n validtnMsg = {\r\n personalDetail: false,\r\n vehicleDetail: false,\r\n coverDetail: false,\r\n Quotation: false,\r\n additionalDetail: false,\r\n retrieveQuote: false,\r\n policyRenew: false\r\n\r\n }\r\n iSRetriveQuote: boolean;\r\n editableStep = { personalDetail: true, vehicleDetail: true, coverDetail: true, Quotation: true, additionalDetail: true }\r\n constructor(public _route: Router, public _activatedroute: ActivatedRoute, public formBuilder: FormBuilder, public globalService: GlobalService, public motorQuoteService: MotorquoteService, public userAuthService: UserauthService,public compressImage:CompressImageService) { }\r\n\r\n ngOnInit() {\r\n\r\n this.licFrontLoader = this.globalService.spinnerHide();\r\n this.licBackLoader = this.globalService.spinnerHide();\r\n this.regFrontLoader = this.globalService.spinnerHide();\r\n this.regBackLoader = this.globalService.spinnerHide();\r\n this.eidFrontLoader = this.globalService.spinnerHide();\r\n this.eidBackLoader = this.globalService.spinnerHide();\r\n this.delQuoteLoader = this.globalService.spinnerHide();\r\n this.otherDocLoader = this.globalService.spinnerHide();\r\n\r\n this.iSRetriveQuote = false;\r\n\r\n this.getSelfDeclarartionData();\r\n\r\n // /^\\w+([-+.']\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*&/\r\n\r\n this.personalDetailForm = this.formBuilder.group({\r\n vhclOwnBy: ['', Validators.required],\r\n name: [''],\r\n companyName: [''],\r\n dob: [''],\r\n email: ['', Validators.compose([Validators.required, Validators.pattern('[a-zA-Z0-9.-_-]{1,}@[a-zA-Z.-]{2,}[.]{1}[a-zA-Z]{2,}')])],\r\n \r\n mobileNum: ['', [Validators.required, Validators.minLength(10), Validators.maxLength(10)]],\r\n licIssueContry: [''],\r\n countryFilterCtrl: [''],\r\n drivExpInUAE: [''],\r\n NCD: [''],\r\n recaptchaReactive: ['',],\r\n recaptchaReactiveByUser: ['',],\r\n optionBExtra: [{ disabled: true, value: '' }, Validators.required]\r\n\r\n });\r\n\r\n this.vehicleDetailForm = this.formBuilder.group({\r\n chassisNum: [''],\r\n vhclModelYr: ['', Validators.required],\r\n brandNw: [''],\r\n vhclMake: ['', Validators.required],\r\n vhclModel: ['', Validators.required],\r\n vhclTrim: ['', Validators.required],\r\n vhclBodyType: ['', Validators.required],\r\n vhclCylinder: ['', Validators.required],\r\n vhclSeatCapcity: ['', Validators.required],\r\n regDate: [''],\r\n regplace: ['', Validators.required],\r\n insType: ['', Validators.required],\r\n vhclValue: Number[''],\r\n repairType: [''],\r\n vhclTPLCoverage: ['', Validators.required],\r\n vhclGCCSpecifird: ['', Validators.required],\r\n vhclModified: ['', Validators.required],\r\n isChassisValidate: [''],\r\n promo_code: ['']\r\n\r\n });\r\n\r\n this.coverDetailForm = this.formBuilder.group({\r\n\r\n });\r\n\r\n this.quotationForm = this.formBuilder.group({\r\n quoteStepValdtn: ['', Validators.required]\r\n\r\n });\r\n\r\n this.additionalDetailForm = this.formBuilder.group({\r\n chassisNum: [''],\r\n vhclColor: ['', Validators.required],\r\n vhclPlateCategory: [''],\r\n plateCode: ['', Validators.required],\r\n plateNumber: ['', Validators.required],\r\n engineNum: [''],\r\n motgagedBankName: [''],\r\n polStartDate: [new Date(Date.now()), Validators.required],\r\n gender: ['', Validators.required],\r\n emiratesID: ['', [Validators.required]],\r\n nationality: ['', Validators.required],\r\n address: ['', [Validators.required, Validators.pattern('.*[A-Za-z0-9 -,#.)(]{5,200}$')]],\r\n area: ['', [Validators.required, Validators.pattern('.*[A-Za-z0-9 -,#.)(]{5,100}$')]],\r\n poBoxNum: [''],\r\n drivingLicense: ['', [Validators.required]],\r\n TCFnum: [''],\r\n\r\n docDriving_License_Front: [''],\r\n driving_License_Front: ['', [Validators.required]],\r\n driving_License_FrontFilePath: '',\r\n driving_License_FrontFileType: '',\r\n\r\n docDriving_license_Back: [''],\r\n driving_license_Back: ['', [Validators.required]],\r\n driving_license_BackFilePath: '',\r\n driving_license_BackFileType: '',\r\n\r\n docEID_Front: [''],\r\n EID_Front: ['', [Validators.required]],\r\n EID_FrontFilePath: '',\r\n EID_FrontFileType: '',\r\n\r\n docEID_Back: [''],\r\n EID_Back: ['', [Validators.required]],\r\n EID_BackFilePath: '',\r\n EID_BackFileType: '',\r\n\r\n docReg_Card_Front: [''],\r\n Reg_Card_Front: [''],\r\n Reg_Card_FrontFilePath: '',\r\n Reg_Card_FrontFileType: '',\r\n\r\n docReg_Card_Back: [''],\r\n Reg_Card_Back: [''],\r\n Reg_Card_BackFilePath: '',\r\n Reg_Card_BackFileType: '',\r\n\r\n docDealerQuote: [''],\r\n dealer_quote: [''],\r\n dealer_quoteFilePath: '',\r\n dealer_quoteFileType: '',\r\n\r\n docOther: [''],\r\n other_DOc: [''],\r\n other_DOcFilePath: '',\r\n other_DOcFileType: '',\r\n\r\n isChassisValidate: ['']\r\n\r\n // otherForm: ['',Validators.required]\r\n });\r\n\r\n this.retrieveQuoteForm = this.formBuilder.group({\r\n\r\n web_Quote_Num: ['', Validators.required],\r\n email: ['', Validators.compose([Validators.required, Validators.pattern('[a-zA-Z0-9.-_-]{1,}@[a-zA-Z.-]{2,}[.]{1}[a-zA-Z]{2,}')])],\r\n // code: ['', Validators.required],\r\n mob_Num: ['', Validators.required],\r\n //isRetriveValidate : ['',Validators.required]\r\n\r\n\r\n });\r\n\r\n this.policyRenewForm = this.formBuilder.group({\r\n policyNum: ['', [Validators.required, Validators.maxLength(15), Validators.pattern('^[a-zA-Z0-9 \\/\\']+')]],\r\n polExpDate: ['', Validators.required],\r\n email: ['', Validators.compose([Validators.required, Validators.pattern('[a-zA-Z0-9.-_-]{1,}@[a-zA-Z.-]{2,}[.]{1}[a-zA-Z]{2,}')])],\r\n code: ['', Validators.required],\r\n mobile: ['', Validators.required]\r\n\r\n });\r\n\r\n\r\n this.personalDetailForm.controls['vhclOwnBy'].valueChanges.subscribe(obj => {\r\n if (obj.value == 'Individual') {\r\n this.personalDetailForm.controls['name'].setValidators([Validators.required, Validators.minLength(3), Validators.maxLength(150), Validators.pattern('^[a-zA-Z \\-\\ \\.\\']+')]);\r\n this.personalDetailForm.controls['dob'].setValidators([Validators.required]);\r\n this.personalDetailForm.controls['licIssueContry'].setValidators([Validators.required]);\r\n this.personalDetailForm.controls['licIssueContry'].setValidators([Validators.required]);\r\n this.personalDetailForm.controls['drivExpInUAE'].setValidators([Validators.required]);\r\n this.personalDetailForm.controls['NCD'].setValidators([Validators.required]);\r\n this.personalDetailForm.controls['companyName'].setValidators(null);\r\n\r\n }\r\n else if (obj.value == 'Corporate') {\r\n this.personalDetailForm.controls['companyName'].setValidators([Validators.required, Validators.minLength(3), Validators.maxLength(150), Validators.pattern('^[a-zA-Z \\-\\ \\.\\']+')]);\r\n this.personalDetailForm.controls['name'].setValidators(null);\r\n this.personalDetailForm.controls['dob'].setValidators(null);\r\n this.personalDetailForm.controls['licIssueContry'].setValidators(null);\r\n this.personalDetailForm.controls['drivExpInUAE'].setValidators(null);\r\n this.personalDetailForm.controls['NCD'].setValidators(null);\r\n }\r\n\r\n this.personalDetailForm.controls['name'].updateValueAndValidity();\r\n this.personalDetailForm.controls['companyName'].updateValueAndValidity();\r\n this.personalDetailForm.controls['licIssueContry'].updateValueAndValidity();\r\n this.personalDetailForm.controls['dob'].updateValueAndValidity();\r\n this.personalDetailForm.controls['drivExpInUAE'].updateValueAndValidity();\r\n this.personalDetailForm.controls['NCD'].updateValueAndValidity();\r\n\r\n });\r\n\r\n this.vehicleDetailForm.controls['brandNw'].valueChanges.subscribe(obj => {\r\n\r\n if (obj == 0 || obj == '') {\r\n // this.vehicleDetailForm.controls['regDate'].setValidators([Validators.required]);\r\n this.additionalDetailForm.controls['dealer_quote'].setValidators(null);\r\n this.additionalDetailForm.controls['Reg_Card_Front'].setValidators([Validators.required]);\r\n this.additionalDetailForm.controls['Reg_Card_Back'].setValidators([Validators.required]);\r\n\r\n\r\n }\r\n else {\r\n // this.vehicleDetailForm.controls['regDate'].setValidators(null);\r\n this.additionalDetailForm.controls['dealer_quote'].setValidators([Validators.required]);\r\n this.additionalDetailForm.controls['Reg_Card_Front'].setValidators(null);\r\n this.additionalDetailForm.controls['Reg_Card_Back'].setValidators(null);\r\n\r\n }\r\n\r\n // this.vehicleDetailForm.controls['regDate'].updateValueAndValidity();\r\n this.additionalDetailForm.controls['dealer_quote'].updateValueAndValidity();\r\n this.additionalDetailForm.controls['Reg_Card_Front'].updateValueAndValidity();\r\n this.additionalDetailForm.controls['Reg_Card_Back'].updateValueAndValidity();\r\n });\r\n\r\n this.vehicleDetailForm.controls['insType'].valueChanges.subscribe(obj => {\r\n if (obj.viewValue == 'Comprehensive') {\r\n\r\n this.vehicleDetailForm.controls['repairType'].setValidators([Validators.required]);\r\n this.vehicleDetailForm.controls['vhclValue'].setValidators([Validators.required,Validators.min(this.vehicleValueLimit.startLimit), Validators.max(this.vehicleValueLimit.endLimit)]);\r\n\r\n\r\n }\r\n else {\r\n\r\n this.vehicleDetailForm.controls['repairType'].setValidators(null);\r\n this.vehicleDetailForm.controls['vhclValue'].setValidators(null);\r\n\r\n }\r\n\r\n this.vehicleDetailForm.controls['repairType'].updateValueAndValidity();\r\n this.vehicleDetailForm.controls['vhclValue'].updateValueAndValidity();\r\n\r\n });\r\n\r\n this.vehicleDetailForm.controls['regplace'].valueChanges.subscribe(obj => {\r\n\r\n if (obj.CityName == 'Dubai') {\r\n\r\n this.additionalDetailForm.controls['TCFnum'].setValidators([Validators.required, Validators.minLength(8), Validators.maxLength(8)]);\r\n }\r\n else {\r\n this.additionalDetailForm.controls['TCFnum'].setValidators([Validators.required, Validators.minLength(10), Validators.maxLength(10)]);\r\n }\r\n\r\n this.additionalDetailForm.controls['TCFnum'].updateValueAndValidity();\r\n\r\n });\r\n\r\n\r\n const statusModSub = this.globalService.connectionStatusChanged.subscribe(data => {\r\n\r\n if (data == 'online') {\r\n\r\n this.getTokenData();\r\n }\r\n else {\r\n }\r\n\r\n\r\n });\r\n this. Captcha();\r\n this.subscriptions.push(statusModSub);\r\n\r\n this.getTokenData();\r\n\r\n const routeParam = this._activatedroute.snapshot.params;\r\n if (routeParam.Quote_No) {\r\n this.ret_quote_num = routeParam.Quote_No;\r\n }\r\n\r\n\r\n this.paymentLoader = this.globalService.spinnerHide();\r\n\r\n this.tempRepairTypeArr = this.repairtypes;\r\n\r\n\r\n\r\n // listen for search field value changes\r\n this.country1FilterCtrl.valueChanges\r\n .pipe(takeUntil(this._onDestroy))\r\n .subscribe(() => {\r\n\r\n this.filterCountry();\r\n });\r\n\r\n\r\n // listen for search field value changes\r\n this.nationalFilterCtrl.valueChanges\r\n .pipe(takeUntil(this._onDestroy))\r\n .subscribe(() => {\r\n\r\n this.filterNationalCountry();\r\n });\r\n\r\n this.makeFilterCtrl.valueChanges\r\n .pipe(takeUntil(this._onDestroy))\r\n .subscribe(() => {\r\n\r\n this.filterMake();\r\n });\r\n\r\n this.modelFilterCtrl.valueChanges\r\n .pipe(takeUntil(this._onDestroy))\r\n .subscribe(() => {\r\n\r\n this.filterModel();\r\n });\r\n\r\n this.filteredYears.next(this.vehimodelyrs.slice());\r\n\r\n this.yearFilterCtrl.valueChanges\r\n .pipe(takeUntil(this._onDestroy))\r\n .subscribe(() => {\r\n\r\n this.filterYear();\r\n });\r\n\r\n\r\n\r\n this.filteredPlateCat.next(this.plateCatArray.slice());\r\n\r\n this.plateFilterCtrl.valueChanges\r\n .pipe(takeUntil(this._onDestroy))\r\n .subscribe(() => {\r\n\r\n this.filterPlateCat();\r\n });\r\n\r\n\r\n this.vchColorFilterCtrl.valueChanges\r\n .pipe(takeUntil(this._onDestroy))\r\n .subscribe(() => {\r\n\r\n this.filterVechColor();\r\n });\r\n\r\n this.mortageBankFilterCtrl.valueChanges\r\n .pipe(takeUntil(this._onDestroy))\r\n .subscribe(() => {\r\n\r\n this.filterMortageBank();\r\n });\r\n\r\n\r\n this.filteredCode.next(this.codes.slice());\r\n this.codeFilterCtrl.valueChanges\r\n .pipe(takeUntil(this._onDestroy))\r\n .subscribe(() => {\r\n\r\n this.filterCode();\r\n });\r\n\r\n if(localStorage.getItem(\"retriveOCR\")==\"NONOCR\"){\r\n setTimeout(() => {\r\n \r\n \r\n this.status_type =localStorage.getItem(\"EmailStatus\")\r\n this.retrieveQuoteForm.get('web_Quote_Num').setValue(localStorage.getItem(\"retriveOCRQuote\"));\r\n this.retrieveQuoteForm.get('email').setValue(localStorage.getItem(\"retriveOCRemail\"));\r\n this.retrieveQuoteForm.get('mob_Num').setValue(localStorage.getItem(\"retriveOCRmob_Num\"));\r\n localStorage.setItem(\"retriveOCRQuote\",'');\r\n localStorage.setItem(\"retriveOCRemail\",'');\r\n localStorage.setItem(\"retriveOCRCode\",'');\r\n localStorage.setItem(\"retriveOCR\",'');\r\n \r\n \r\n // this.retrieveQuoteForm.get('web_Quote_Num').setValue(localStorage.getItem(\"retriveOCRemail\"));\r\n \r\n // localStorage.getItem(\"retriveOCRCode\");\r\n // localStorage.getItem(\"retriveOCRmob_Num\");\r\n // localStorage.getItem(\"retriveOCRemail\");\r\n this.getRetrieveQuote(1);\r\n \r\n }, 5000);\r\n \r\n }\r\n\r\n\r\n\r\n }\r\n\r\n ngOnDestroy() {\r\n this._onDestroy.next();\r\n this._onDestroy.complete();\r\n }\r\n\r\n\r\n get f() { return this.personalDetailForm.controls; }\r\n get g() { return this.vehicleDetailForm.controls; }\r\n get h() { return this.coverDetailForm.controls; }\r\n get k() { return this.additionalDetailForm.controls; }\r\n get r() { return this.retrieveQuoteForm.controls; }\r\n get n() { return this.policyRenewForm.controls; }\r\n\r\n\r\n //-------------------------- GET TOKEN DATA -------------------------\r\n getTokenData() {\r\n\r\n this.showHideLoader.personalDetail = true;\r\n this.userAuthService.getTokenData().subscribe(res => {\r\n let result = this.globalService.convertResponseInJson(res);\r\n if (result.response_code == 1) {\r\n this._route.navigate([\"/MT_Quote\"]);\r\n this.getAllFormData('');\r\n this.getVhclNCD();\r\n this.showHideLoader.personalDetail = false;\r\n\r\n }\r\n },\r\n (error) => {\r\n this.showHideLoader.personalDetail = false;\r\n console.error(error.status);\r\n \r\n });\r\n }\r\n\r\n insertQuote(stepper, type) {\r\n\r\n // console.log(this.personalDetailForm);\r\n\r\n if (this.personalDetailForm.invalid) {\r\n this.validtnMsg.personalDetail = true;\r\n return false;\r\n }\r\n if(this.status_type == 0){\r\n if(this.Msg == 'Please Enter Valid Captcha !' ){\r\n Swal.fire(\"\", \"Please Enter Valid Captcha !\", 'error');\r\n\r\n return false;\r\n }\r\n } \r\n\r\n if (this.age > 71 || this.age < 18) {\r\n return false;\r\n }\r\n\r\n this.validtnMsg.personalDetail = false;\r\n\r\n if (type != 0)\r\n stepper.next();\r\n // this. Captcha();\r\n // this.ValidCaptcha();\r\n // this.Msg = 'Please Enter Valid Captcha !'\r\n\r\n }\r\n //--------------------------------- GET ALL FORM DROPDOWN DATA -----------------------------\r\n getAllFormData(year) {\r\n this.motorQuoteService.getAllFormData('COMPREHENSIVE', 'INDIVIDUAL', '0', this.language_code, this.country,year).subscribe(res => {\r\n\r\n this.cityArr = res.cityData;\r\n this.vhclColorArr = res.vehicleColorsData;\r\n this.countryArr = res.countryData;\r\n \r\n\r\n this.filteredVchColor.next(this.vhclColorArr.slice());\r\n \r\n\r\n \r\n // this.personalDetailForm.get(\"licIssueContry\").setValue(this.countryArr[32]);\r\n this.filteredCountries.next(this.countryArr.slice());\r\n\r\n // this.additionalDetailForm.get(\"nationality\").setValue(this.countryArr[32]);\r\n this.filteredNationCountries.next(this.countryArr.slice());\r\n\r\n });\r\n\r\n this.motorQuoteService.getBankDetail().subscribe(res => {\r\n\r\n this.bankDetail = res.bankdetailsData;\r\n this.filteredBank.next(this.bankDetail.slice());\r\n\r\n });\r\n }\r\n\r\n //------------------------------ GET VEHICLE MAKE DATA ---------------------------------//\r\n getVhclMakeData(year,type){\r\n this.motorQuoteService.getVhclMake('COMPREHENSIVE', 'INDIVIDUAL', '0', this.language_code, this.country,year,this.SchemeCode).subscribe(res => {\r\n this.vhclMakeArr = res.vechileMakeValuesData;\r\n\r\n \r\n if (type == 1 && typeof (this.vhclMakeArr) != undefined && typeof (this.vhclMakeArr) != \"undefined\") {\r\n \r\n //VEHICLE Make ----- filter\r\n let makeVal\r\n this.vhclMakeArr.forEach((item, index) => {\r\n\r\n if (item.VehicleMakeName == this.getVechileDetailData.VehicleDetails.General.Make) {\r\n makeVal = item;\r\n }\r\n });\r\n this.vehicleDetailForm.get('vhclMake').setValue(makeVal);\r\n this.chassis_No_Details.General.Make = makeVal.VehicleMakeId;\r\n this.getVhclModel(makeVal.VehicleMakeId, 2,year);\r\n }\r\n\r\n if (type == 2 && typeof (this.vhclMakeArr) != undefined && typeof (this.vhclMakeArr) != \"undefined\") {\r\n \r\n //VEHICLE Make ----- filter\r\n let makeVal\r\n this.vhclMakeArr.forEach((item, index) => {\r\n \r\n if (item.VehicleMakeName == this.retrieveVehcleMake) {\r\n makeVal = item;\r\n }\r\n });\r\n this.vehicleDetailForm.get('vhclMake').setValue(makeVal);\r\n this.quoteDetail.VehicleMakeId = makeVal.VehicleMakeId;\r\n this.getVhclModel(makeVal.VehicleMakeId, 0,year);\r\n \r\n }\r\n\r\n this.onVehiclAgeChange(year);\r\n\r\n if(res.response_code == 1){\r\n this.filteredMakes.next(this.vhclMakeArr.slice());\r\n }\r\n\r\n \r\n let d = new Date(this.vehicleDetailForm.value.regDate);\r\n let firstRegYear: number = d.getFullYear();\r\n\r\n var p = new Date(this.additionalDetailForm.value.polStartDate);\r\n let policyStartDateYear = new Date().getFullYear();\r\n let vhclYear = this.vehicleDetailForm.value.vhclModelYr.value;\r\n\r\n // current year - model year + 1 <= 3 ------agency & garage else garage 05 - Oct - 2020\r\n\r\n if((Number(policyStartDateYear) - Number(vhclYear) + 1) <= 3){\r\n\r\n this.repairtypes = [];\r\n this.repairtypes = this.tempRepairTypeArr;\r\n this.vehicleDetailForm.get('repairType').setValue(this.repairtypes[0]);\r\n }else{\r\n \r\n this.repairtypes = [];\r\n this.repairtypes.push(this.tempRepairTypeArr[1]);\r\n this.vehicleDetailForm.get('repairType').setValue(this.repairtypes[0]);\r\n }\r\n\r\n });\r\n \r\n if(this.vehicleDetailForm.value.vhclModelYr.value >=(this.minyear - 1) && this.vehicleDetailForm.value.insType.value == 100 && this.vehicleDetailForm.value.brandNw != 1 ){\r\n // alert(1)\r\n this.vehicleDetailForm.controls['regDate'].setValidators([Validators.required]);\r\n\r\n }else{\r\n \r\n //this.vehicleDetailForm.get('regdate').setValue(new Date);\r\n \r\n this.vehicleDetailForm.controls['regDate'].setValidators(null);\r\n \r\n }\r\n\r\n this.vehicleDetailForm.controls['regDate'].updateValueAndValidity();\r\n\r\n }\r\n //------------------------------ GET VEHICLE NCD ---------------------------------------------\r\n getVhclNCD() {\r\n this.motorQuoteService.getVehicleNcd(this.language_code, 'MOTOR').subscribe(res => {\r\n\r\n this.NCDData = res.vechileNCDData;\r\n if (res.response_code == 1) {\r\n if (this.ret_quote_num != '') {\r\n this.getRetrieveQuote(2);\r\n }\r\n }\r\n\r\n });\r\n }\r\n\r\n //------------------------------ GET VEHICLE MODEL -----------------------------------------\r\n getVhclModel(vehclMkId, type,year) {\r\n\r\n\r\n if (type == 0)\r\n vehclMkId = this.retrieveQuoteForm.value.web_Quote_Num == '' ? vehclMkId : this.quoteDetail.VehicleMakeId;\r\n\r\n this.showHideLoader.vhclModel = true;\r\n this.showHideLoader.vhclMake = true;\r\n this.motorQuoteService.getVehicleModel('P', this.vehicleDetailForm.value.vhclMake, this.language_code, null,this.vehicleDetailForm.value.vhclModelYr.value).subscribe(res => {\r\n\r\n this.vhclModelArr = res.vechileModelData;\r\n \r\n if (type == 0 && typeof (this.vhclModelArr) != undefined && typeof (this.vhclModelArr) != \"undefined\") {\r\n\r\n\r\n let ModalName = this.quoteDetail.VehicleModel;\r\n\r\n var indexModel = this.vhclModelArr.findIndex(function (obj, k) {\r\n return obj.VehicleModelName === ModalName;\r\n });\r\n let modelVal = this.vhclModelArr[indexModel];\r\n this.vehicleDetailForm.get('vhclModel').setValue(modelVal);\r\n\r\n this.getMotorBodyType(modelVal.VehicleModelId, 0,year,modelVal.VehicleModelName);\r\n\r\n }\r\n\r\n if (type == 2 && typeof (this.vhclModelArr) != undefined && typeof (this.vhclModelArr) != \"undefined\") {\r\n let ModalName = (this.chassis_No_Details.General.Make == 34 || this.chassis_No_Details.General.Make == 7) ? this.chassis_No_Details.General.Trim : this.chassis_No_Details.General.Model;\r\n var indexModel = this.vhclModelArr.findIndex(function (obj, k) {\r\n return obj.VehicleModelName === ModalName;\r\n });\r\n let modelVal = this.vhclModelArr[indexModel];\r\n this.vehicleDetailForm.get('vhclModel').setValue(modelVal);\r\n this.getMotorBodyType(modelVal.VehicleModelId, 2,year,modelVal.VehicleModelName);\r\n\r\n }\r\n\r\n if (res.response_code == 1) {\r\n this.filteredModels.next(this.vhclModelArr.slice()); // FOr ng select search\r\n }\r\n this.showHideLoader.vhclMake = false;\r\n this.showHideLoader.vhclModel = false;\r\n\r\n \r\n \r\n\r\n \r\n \r\n });\r\n }\r\n\r\n //------------------------------- GET MOTOR BODY TYPE AND VEHICLE SPECIFICATION------------------------------------------\r\n getMotorBodyType(vhclModelId, type,year,modelName) {\r\n\r\n if (typeof (vhclModelId) == \"undefined\" || typeof (vhclModelId) == undefined) return false;\r\n\r\n // this.quoteDetail.VehicleModel\r\n\r\n this.showHideLoader.vhclBodyTypeArr = true;\r\n this.showHideLoader.vehitrims = true;\r\n this.motorQuoteService.getMotorBodyType('COMPREHENSIVE', 'INDIVIDUAL', vhclModelId, this.language_code,year,modelName).subscribe(res => {\r\n\r\n this.vhclBodyTypeArr = res.vechileMotoBodyTypeData;\r\n this.vehitrims = res.vechilesSpecificationData;\r\n\r\n if (type == 0 && typeof (this.vhclBodyTypeArr) != undefined && typeof (this.vhclBodyTypeArr) != \"undefined\") {\r\n\r\n //VEHICLE TRIM ------- not given\r\n let trimName = this.quoteDetail.TrimName;\r\n let bodyType = this.quoteDetail.BodyType;\r\n\r\n var indexTrim = this.vehitrims.findIndex(function (obj, k) {\r\n return obj.VehicleSpecName === trimName;\r\n });\r\n\r\n let trimVal = this.vehitrims[indexTrim];\r\n this.vehicleDetailForm.get('vhclTrim').setValue(trimVal);\r\n\r\n //BODY TYPE\r\n var indexbodyType = this.vhclBodyTypeArr.findIndex(function (obj, k) {\r\n return obj.BodyTypeName === bodyType;\r\n });\r\n let bdTyVal = this.vhclBodyTypeArr[indexbodyType];\r\n this.vehicleDetailForm.get('vhclBodyType').setValue(bdTyVal);\r\n\r\n this.vhcleValueFlag = true;\r\n }\r\n\r\n\r\n if (type == 2 && typeof (this.vhclBodyTypeArr) != undefined && typeof (this.vhclBodyTypeArr) != \"undefined\") {\r\n\r\n //VEHICLE TRIM ------- not given\r\n\r\n let trimName = this.chassis_No_Details.General.Trim + \" \" + \"-\" + \" \" + this.chassis_No_Details.Technical.EngineDisplacementNominal.Value;\r\n let bodyType = this.chassis_No_Details.General.BodyType;\r\n\r\n var indexTrim = this.vehitrims.findIndex(function (obj, k) {\r\n return obj.VehicleSpecName === trimName;\r\n });\r\n\r\n let trimVal = this.vehitrims[indexTrim];\r\n this.vehicleDetailForm.get('vhclTrim').setValue(trimVal);\r\n\r\n //BODY TYPE\r\n var indexbodyType = this.vhclBodyTypeArr.findIndex(function (obj, k) {\r\n return obj.BodyTypeName === bodyType;\r\n });\r\n let bdTyVal = this.vhclBodyTypeArr[indexbodyType];\r\n this.vehicleDetailForm.get('vhclBodyType').setValue(bdTyVal);\r\n\r\n \r\n this.updateValuation();\r\n\r\n\r\n }\r\n\r\n\r\n if (type == 1)\r\n this.vehicleDetailForm.get('vhclBodyType').setValue(this.vhclBodyTypeArr[0]);\r\n this.showHideLoader.vhclBodyTypeArr = false;\r\n this.showHideLoader.vehitrims = false;\r\n\r\n\r\n });\r\n\r\n // this.motorQuoteService.getVhclSpecification(this.language_code,vhclModelId).subscribe(res =>{\r\n\r\n // });\r\n\r\n }\r\n\r\n\r\n calculateAge(dateOfBirth) {\r\n\r\n let timeDiff = Math.abs(Date.now() - dateOfBirth);\r\n return Math.floor((timeDiff / (1000 * 3600 * 24)) / 365.25);\r\n\r\n }\r\n //-----------------------------------------------------------------------------------------------\r\n onVehiclAgeChange(vhclYear) {\r\n\r\n \r\n if(this.retrieveFlag == false){\r\n // alert(2)\r\n // this.vehicleDetailForm.get('regDate').setValue('');\r\n let vhclNextYear = Number(vhclYear.value) + 1;\r\n let vhclPrevYear = Number(vhclYear.value) - 1;\r\n \r\n this.regMinDate = new Date(vhclPrevYear, 6, 1);\r\n this.regMaxDate = new Date(vhclNextYear, 5, 30);\r\n // this.regMinDate = new Date(new Date().setFullYear(new Date().getFullYear()));\r\n // this.regMaxDate = new Date(new Date().setFullYear(new Date().getFullYear() - (vhclYear.label + 1)));\r\n \r\n let vhclAge = this.year - vhclYear.value;\r\n\r\n \r\n if (vhclAge == 0) {\r\n \r\n this.repairtypes = [];\r\n this.repairtypes.push(this.tempRepairTypeArr[0]);\r\n this.vehicleDetailForm.get('repairType').setValue(this.repairtypes[0]);\r\n \r\n }\r\n else if (vhclAge == 1) {\r\n this.repairtypes = [];\r\n this.repairtypes = this.tempRepairTypeArr;\r\n this.vehicleDetailForm.get('repairType').setValue(this.repairtypes[1]);\r\n // this.vehicleDetailForm.get('brandNw').setValue(1);\r\n \r\n }\r\n else {\r\n \r\n this.repairtypes = [];\r\n this.repairtypes.push(this.tempRepairTypeArr[1]);\r\n this.vehicleDetailForm.get('repairType').setValue(this.repairtypes[0]);\r\n // this.vehicleDetailForm.get('brandNw').setValue(0);\r\n \r\n }\r\n this.vehicleDetailForm.get('brandNw').setValue('');\r\n\r\n }else{\r\n this.retrieveFlag = false;\r\n }\r\n \r\n \r\n \r\n\r\n }\r\n\r\n\r\n checkBrandNew(){\r\n if(this.vehicleDetailForm.value.brandNw == 1){\r\n this.vehicleDetailForm.controls['regDate'].setValidators(null);\r\n }\r\n this.vehicleDetailForm.controls['regDate'].updateValueAndValidity();\r\n }\r\n //------------------------------- GET MOTOR Quoatation ------------------------------------------\r\n\r\n\r\n getQuotation(stepper, type, frame) {\r\n this.checkStepper = true;\r\n //frame.hide();\r\n if (this.vehicleDetailForm.invalid) {\r\n this.validtnMsg.vehicleDetail = true;\r\n return false;\r\n }\r\n \r\n\r\n if (this.vehicleDetailForm.value.vhclModelYr.value >= (this.minyear - 1) && this.vehicleDetailForm.value.insType.value == 100 && this.vehicleDetailForm.value.brandNw != 1) {\r\n this.vehicleDetailForm.controls['regDate'].setValidators([Validators.required]);\r\n \r\n if (this.vehicleDetailForm.value.brandNw != 1) { \r\n \r\n if (this.regMaxDate < this.vehicleDetailForm.value.regDate || this.regMinDate > this.vehicleDetailForm.value.regDate) {\r\n \r\n return false;\r\n }\r\n }\r\n } else {\r\n \r\n this.vehicleDetailForm.controls['regDate'].setValidators(null);\r\n }\r\n \r\n this.vehicleDetailForm.controls['regDate'].updateValueAndValidity();\r\n\r\n if(Number(this.vehicleDetailForm.value.vhclValue) < Number(this.vehicleValueLimit.startLimit) || Number(this.vehicleDetailForm.value.vhclValue) > Number(this.vehicleValueLimit.endLimit)) {\r\n this.validtnMsg.vehicleDetail = true;\r\n return false;\r\n }\r\n\r\n // this.showHideLoader.vehicleDetail = true;\r\n this.showHideLoader.Quotation = true;\r\n this.validtnMsg.vehicleDetail = false;\r\n \r\n if (type != 0){\r\n stepper.next();\r\n }\r\n \r\n let name = this.personalDetailForm.value.vhclOwnBy.code == '100' ? this.personalDetailForm.value.name : this.personalDetailForm.value.companyName;\r\n let vehicleType = this.personalDetailForm.value.vhclOwnBy.code == '100' ? { code: '1001', value: 'Private' } : { code: '1009', value: 'Commercial' };\r\n let policy_expire_date = this.vehicleDetailForm.value.vhclTPLCoverage == 'No' ? this.nextDate : this.PrevDate;\r\n let brand_new = (this.vehicleDetailForm.value.vhclModelYr.value != this.maxYear || this.vehicleDetailForm.value.vhclModelYr.value != this.year || this.vehicleDetailForm.value.vhclModelYr.value != this.minyear) ? { code: '0', value: 'N' } : { code: '1', value: 'Y' };\r\n //let regDate = this.vehicleDetailForm.value.brandNw == 1 ? this.convertDate(this.toDay) : this.convertDate(this.vehicleDetailForm.value.regDate);\r\n\r\n let regDate: any;\r\n if (this.vehicleDetailForm.value.brandNw == 1) {\r\n regDate = this.convertDate(this.toDay);\r\n }\r\n else if (this.vehicleDetailForm.value.vhclModelYr.value < (this.minyear - 1)) {\r\n regDate = this.convertDate(new Date(this.vehicleDetailForm.value.vhclModelYr.value, 0, 1));\r\n }\r\n else {\r\n regDate = this.convertDate(this.vehicleDetailForm.value.regDate);\r\n }\r\n\r\n let modifyValue = this.existVehiclevalue == 1 ? this.existVehiclevalue : null;\r\n let dob = this.personalDetailForm.value.vhclOwnBy.code == '100' ? this.convertDate(this.personalDetailForm.value.dob) : '';\r\n let repairType = this.vehicleDetailForm.value.insType.value == 100 ? this.vehicleDetailForm.value.repairType : { value: 'Garage', viewValue: 'Garage' };\r\n let vehicle_value = this.vehicleDetailForm.value.insType.value == 100 ? this.vehicleDetailForm.value.vhclValue : 0;\r\n let motorArrayQuote = {\r\n insured_type: this.personalDetailForm.value.vhclOwnBy,\r\n insured_name: name,\r\n gender: \"\",\r\n dob: dob,\r\n prospect_age: this.calculateAge(this.personalDetailForm.value.dob),\r\n nationality: this.personalDetailForm.value.licIssueContry, // check if we need to add in html\r\n email: this.personalDetailForm.value.email,\r\n mobile: this.personalDetailForm.value.mobileNum,\r\n // code: this.personalDetailForm.value.mobileCode,\r\n UAE_lic_age: this.convertDate(this.personalDetailForm.value.drivExpInUAE),\r\n UAELicAge: this.UAELicAge,\r\n license_country: this.personalDetailForm.value.licIssueContry,\r\n NCD: this.personalDetailForm.value.NCD,\r\n\r\n brand_new: brand_new,\r\n model_year: this.vehicleDetailForm.value.vhclModelYr,\r\n make: this.vehicleDetailForm.value.vhclMake,\r\n model: this.vehicleDetailForm.value.vhclModel,\r\n body_type: this.vehicleDetailForm.value.vhclBodyType,\r\n cylinders: this.vehicleDetailForm.value.vhclCylinder,\r\n passenger: this.vehicleDetailForm.value.vhclSeatCapcity,\r\n registered_date: regDate,\r\n registered_place: this.vehicleDetailForm.value.regplace,\r\n trim: this.vehicleDetailForm.value.vhclTrim,\r\n chassis_no: this.vehicleDetailForm.value.chassisNum,\r\n\r\n repair_type: repairType,\r\n sum_insured: vehicle_value,\r\n GCCSpecified: this.vehicleDetailForm.value.vhclGCCSpecifird,\r\n vhclModified: this.vehicleDetailForm.value.vhclModified,\r\n policy_type: this.vehicleDetailForm.value.insType,\r\n ExistingCover: this.vehicleDetailForm.value.vhclTPLCoverage,\r\n policy_expire_date: this.convertDate(policy_expire_date),\r\n product_code: \"MT00061\", // MT00061 - If Comprehensive // MTTPL0065 - If TPL\r\n customer_id: \"0\",\r\n lead_id: \"0\",\r\n\r\n NCD_docs: \"No\",\r\n registration_type: vehicleType,\r\n VEHENGINESIZE: '1',\r\n modifiedVhclValue: modifyValue,\r\n SchemeCode: this.SchemeCode,\r\n source: 'B2C',\r\n //Added by Anju to satisfy Referral Conditions\r\n reg_ins_exp_date: this.convertDate(new Date().setDate(new Date().getDate() + 1)),\r\n emirates_id: \"111-1111-1111111-1\",\r\n start_date: this.convertDate(new Date()),\r\n\r\n promoCode : this.vehicleDetailForm.value.promo_code,\r\n selfDecl : this.accept_self_declaration_1+\",\"+this.accept_self_declaration_2+\",\"+this.accept_self_declaration_3+\",\"+this.accept_self_declaration_4+\",\"+this.accept_self_declaration_5\r\n\r\n\r\n };\r\n\r\n\r\n this.quoteDetailArr = motorArrayQuote;\r\n\r\n this.motorQuoteService.getInsertQuote(motorArrayQuote,'').subscribe(res => {\r\n this.PlanDataJson.planBenefitData.benefit_data = [];\r\n this.showHideLoader.vehicleDetail = false;\r\n this.showHideLoader.Quotation = false;\r\n this.checkStepper = false;\r\n if (res.response_code == 0) {\r\n\r\n Swal.fire(\"Sorry! Plan not available.\", \" \", \"error\");\r\n\r\n stepper.previous();\r\n }\r\n\r\n else if (res.response_code == 2) {\r\n\r\n // Swal.fire(\"Sorry, an error occurred while processing your request. Kindly try again or contact Fidelity United at 800 842.\", \"Your contact and vehicle details are sent to our back-office team and one of our representative will contact you shortly.\", \"error\");\r\n Swal.fire(\"Thank you for you request, based on your application details, the case needs to be referred for further review.\", \"An email will be sent to you shortly. If you need further assistance call us at 800-842\", \"error\");\r\n\r\n stepper.previous();\r\n }\r\n else if (res.response_code == 4) {\r\n\r\n // Swal.fire(\"Sorry, an error occurred while processing your request. Kindly try again or contact Fidelity United at 800 842.\", \"Your contact and vehicle details are sent to our back-office team and one of our representative will contact you shortly.\", \"error\");\r\n Swal.fire(\"Thank you for you request, based on your application details, the case needs to be referred for further review.\", \"An email will be sent to you shortly. If you need further assistance call us at 800-842\", \"error\");\r\n\r\n stepper.previous();\r\n }\r\n\r\n else if (res.response_code_ == 400 || res.response_code == 5) {\r\n \r\n //Swal.fire(\"Sorry, an error occurred while processing your request. Kindly try again or contact Fidelity United at 800 842.\", \"Your contact and vehicle details are sent to our back-office team and one of our representative will contact you shortly.\", \"error\");\r\n Swal.fire(\"Thank you for you request, based on your application details, the case needs to be referred for further review.\", \"An email will be sent to you shortly. If you need further assistance call us at 800-842\", \"error\");\r\n\r\n stepper.previous();\r\n }\r\n\r\n else {\r\n\r\n // this.editableStep.personalDetail = false ;\r\n // this.editableStep.vehicleDetail = false ;\r\n // this.editableStep.coverDetail = false ;\r\n\r\n // this.coverData = res.quotationData.Covers;\r\n\r\n // this.policyFee = this.vehicleDetailForm.value.insType.value == 200 ? 51 : 1;\r\n this.policyFee = 1;\r\n this.totalVariablePremium = 0;\r\n this.PlanDataJson = res;\r\n this.totalFixPremium = 0;\r\n\r\n if(this.PlanDataJson.planBenefitData.data == [] || this.PlanDataJson.planBenefitData.benefit_data == null){\r\n Swal.fire(\"Thank you for you request, based on your application details, the case needs to be referred for further review.\", \"An email will be sent to you shortly. If you need further assistance call us at 800-842\", \"error\");\r\n stepper.previous();\r\n }\r\n\r\n this.plan_Name = this.PlanDataJson.planBenefitData.data[0].PlanName;\r\n this.plan_Id = this.PlanDataJson.planBenefitData.data[0].PlanId;\r\n this.benfPremIdArray = this.PlanDataJson.planBenefitData.data;\r\n this.webQuoteNumber = this.PlanDataJson.webQuotationNumber;\r\n this.quoteNumber = this.PlanDataJson.quotationNumber;\r\n this.minTCF = this.vehicleDetailForm.value.regplace.CityName == 'Dubai' ? 8 : 10;\r\n this.maxTCF = this.vehicleDetailForm.value.regplace.CityName == 'Dubai' ? 8 : 10;\r\n\r\n \r\n\r\n this.PlanDataJson.planBenefitData.data.forEach((item, index) => {\r\n\r\n if (item.PlanBenefitType == 'OPTIONAL' && item.MultiOptionFlag == 1) {\r\n this.mulOption = item.multipleOptionData[0];\r\n this.PlanDataJson.planBenefitData.data[index].benefitSelectedData = item.multipleOptionData[0];\r\n this.PlanDataJson.planBenefitData.data[index].multiOptID = item.multipleOptionData[0].BenefitId;\r\n this.PlanDataJson.planBenefitData.data[index].Price = item.multipleOptionData[0].Price;\r\n this.PlanDataJson.planBenefitData.data[index].checked = false;\r\n\r\n\r\n }\r\n \r\n });\r\n \r\n // this.addOptionalBenigits(1, 2);\r\n // let discount = this.personalDetailForm.value.NCD.NCDDisc / 100;\r\n // let discount = 0 ;\r\n\r\n\r\n let discount = this.PlanDataJson.thirdPartyAPIData.NcdDiscount.NcdAmnt;\r\n this.tempBenefitData = this.PlanDataJson.planBenefitData.benefit_data;\r\n this.PlanDataJson.planBenefitData.benefit_data.forEach((item, index) => {\r\n\r\n this.totalFixPremium = Number(this.totalFixPremium) + Number(item.premium);\r\n // if(this.PlanDataJson.planBenefitData.benefit_data[index].plan_name != 'POLICY FEE'){\r\n // this.PlanDataJson.planBenefitData.benefit_data[index].premium = (item.premium - item.premium * discount); comment on 26 Oct - in save quote with plan API we have to send without benefits without discount \r\n // }\r\n\r\n\r\n });\r\n\r\n this.tempTotalFixPremium = this.totalFixPremium;\r\n this.totalFixPremium = Math.round(this.tempTotalFixPremium - discount);\r\n this.totalFixPremium = Math.round(this.totalFixPremium + this.policyFee);\r\n this.tempTotalLoadFixPrem = this.totalFixPremium;\r\n this.VATAMT = (this.totalFixPremium + this.totalVariablePremium) * 0.05;\r\n this.Total_Primium = this.totalFixPremium + this.totalVariablePremium + this.VATAMT;\r\n\r\n if(this.accept_self_declaration_1 || this.accept_self_declaration_2 || this.accept_self_declaration_3 || this.accept_self_declaration_4 || this.accept_self_declaration_5){\r\n this.getDiscountOnSelfDeclaration();\r\n if(this.totalFixPremium==0 || this.totalFixPremium==null)\r\n this.getDiscountOnSelfDeclaration();\r\n }\r\n \r\n if(this.vehicleDetailForm.value.insType.value == '100' && this.totalFixPremium <= 900 ){\r\n \r\n Swal.fire(\"Thank you for you request, based on your application details, the case needs to be referred for ew.\", \"An email will be sent to you shortly. If you need further assistance call us at 800-842\", \"error\");\r\n stepper.previous();\r\n }\r\n\r\n if(this.vehicleDetailForm.value.insType.value == '200' && this.totalFixPremium <= 500 ){\r\n \r\n Swal.fire(\"Thank you for you request, based on your application details, the case needs to be referred for further review.\", \"An email will be sent to you shortly. If you need further assistance call us at 800-842\", \"error\");\r\n stepper.previous();\r\n }\r\n\r\n \r\n\r\n\r\n\r\n //this.VATAMT = (this.totalFixPremium + this.totalVariablePremium + this.policyFee) * 0.05;\r\n //this.Total_Primium = this.totalFixPremium + this.totalVariablePremium + this.policyFee + this.VATAMT;\r\n\r\n\r\n // this.totalFixPremium = this.totalFixPremium + 1 ; //AED 1 added for RSA cover\r\n\r\n\r\n // if(type != 0)\r\n // stepper.next();\r\n }\r\n\r\n });\r\n\r\n // this.motorQuoteService.getVhclSpecification(this.language_code,vhclModelId).subscribe(res =>{\r\n\r\n // });\r\n\r\n }\r\n\r\n //----------- CONVERT DATE INTO DD/MM/YYYY FORMAT ------------//\r\n convertDate(inputFormat) {\r\n function pad(s) { return (s < 10) ? '0' + s : s; }\r\n var d = new Date(inputFormat);\r\n //return ([ d.getFullYear(),pad(d.getMonth()+1),pad(d.getDate())].join('-'));\r\n return ([pad(d.getDate()), pad(d.getMonth() + 1), d.getFullYear()].join('-'));\r\n\r\n }\r\n\r\n checkedCoverData() {\r\n \r\n }\r\n valueChange(data, item, $event) {\r\n //set the two-way binding here for the specific unit with the event\r\n data[item].checked = $event.checked;\r\n\r\n }\r\n\r\n PlanDataJson: any = {\r\n\r\n \"quotationNumber\": \"\",\r\n \"productCode\": \"\",\r\n\r\n \"planBenefitData\": {\r\n\r\n \"BenefitId\": 497,\r\n \"PlanBenefitId\": 1440,\r\n \"PlanName\": \"Elite\",\r\n \"BenefitName\": \"National Ambulance Service (per person)\",\r\n \"PlanId\": 52,\r\n \"PerSeat\": 0,\r\n \"Deductible\": null,\r\n \"MinContribution\": 0,\r\n \"Rate\": null,\r\n \"Price\": 0,\r\n \"IsIncluded\": 1,\r\n \"PlanBenefitType\": \"INCLUDED\",\r\n \"CRS_BENEFIT_CODE\": \"40013\",\r\n \"DisplayOrder\": 18,\r\n \"CoverType\": \"C\",\r\n \"SumCovered\": \"AED 6,770\",\r\n \"MultiOptionFlag\": null,\r\n \"MultiOptionFlagName\": null\r\n },\r\n \"data\": []\r\n\r\n\r\n };\r\n\r\n onMulOptionDataChange(eve, i, mulOption) {\r\n\r\n this.PlanDataJson.planBenefitData.data[i].benefitSelectedData = eve;\r\n this.PlanDataJson.planBenefitData.data[i].multiOptID = eve.BenefitId;\r\n this.PlanDataJson.planBenefitData.data[i].Price = eve.Price;\r\n this.PlanDataJson.planBenefitData.data[i].checked = false;\r\n this.addOptionalBenigits(1, 2);\r\n }\r\n\r\n \r\n\r\n callChangeStepper(event: any, stepper) {\r\n // return false;\r\n this.floatingSelectedIndex = event.selectedIndex ;\r\n if (event.selectedIndex == 1) {\r\n\r\n this.insertQuote(stepper, 0);\r\n }\r\n\r\n if (event.selectedIndex == 2) {\r\n \r\n if (this.checkStepper == false) {\r\n \r\n if (this.webQuoteNumber == '' && this.retrieveQuoteForm.value.web_Quote_Num == '') {\r\n this.getQuotation(stepper, 0,'');\r\n \r\n }\r\n else{\r\n this.updateQuotation(stepper, 0,'');\r\n \r\n }\r\n \r\n }\r\n\r\n }\r\n\r\n if (event.selectedIndex == 3) {\r\n\r\n this.getQuotePlan(stepper, 0);\r\n }\r\n\r\n }\r\n ckhBk: any = [];\r\n addOptionalBenigits(id, event) {\r\n\r\n this.totalVariablePremium = 0;\r\n this.optionalBenefit = \"\" ;\r\n this.PlanDataJson.planBenefitData.data.forEach((item, index) => {\r\n\r\n if (item.checked == true && item.PlanBenefitType == 'OPTIONAL' && item.MultiOptionFlag!=1) {\r\n this.optionalBenefit = this.optionalBenefit+\",\"+item.BenefitId;\r\n this.totalVariablePremium = Number(this.totalVariablePremium + item.Price);\r\n \r\n }\r\n\r\n if (item.checked == true && item.PlanBenefitType == 'OPTIONAL' && item.MultiOptionFlag==1) {\r\n this.optionalBenefit = this.optionalBenefit+\",\"+this.mulOption.BenefitId;\r\n this.totalVariablePremium = Number(this.totalVariablePremium + item.Price);\r\n \r\n }\r\n\r\n \r\n\r\n });\r\n\r\n \r\n }\r\n\r\n checkOptionalBenefit(benefitId) { \r\n\r\n\r\n if(typeof (benefitId) != undefined && typeof (benefitId) != \"undefined\" ){\r\n\r\n\r\n let benefitIdArray = benefitId.split(',');\r\n\r\n this.totalVariablePremium = 0;\r\n benefitIdArray.forEach((item1, index1) => {\r\n\r\n this.PlanDataJson.planBenefitData.data.forEach((item, index) => {\r\n if (item.BenefitId == item1) {\r\n this.PlanDataJson.planBenefitData.data[index].checked = true;\r\n this.totalVariablePremium = Number(this.totalVariablePremium + item.Price);\r\n }\r\n\r\n\r\n });\r\n\r\n this.PlanDataJson.planBenefitData.data.forEach((item, index) => {\r\n\r\n if (item.PlanBenefitType == 'OPTIONAL' && item.MultiOptionFlag == 1) {\r\n\r\n item.multipleOptionData.forEach((multiItem, multiIndex) => {\r\n if (multiItem.BenefitId == item1) {\r\n\r\n\r\n this.mulOption = item.multipleOptionData[multiIndex];\r\n this.PlanDataJson.planBenefitData.data[index].checked = true;\r\n this.PlanDataJson.planBenefitData.data[index].multiOptID = item.multipleOptionData[multiIndex].BenefitId;\r\n this.PlanDataJson.planBenefitData.data[index].Price = item.multipleOptionData[multiIndex].Price;\r\n\r\n }\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.addOptionalBenigits(1, 2);\r\n }\r\n\r\n public vatAMt:any; total_premium:any;\r\n getQuotePlan(stepper, type) {\r\n\r\n this.quotationForm.get('quoteStepValdtn').setValue('1');\r\n\r\n this.showHideLoader.additionalDetail = true;\r\n\r\n // let vatAmt = (this.totalFixPremium + this.totalVariablePremium + this.policyFee) * 0.05;\r\n // let total_premium = this.totalFixPremium + this.totalVariablePremium + this.policyFee + vatAmt;\r\n\r\n let vatAMt = (this.totalFixPremium + this.totalVariablePremium) * 0.05;\r\n this.vatAMt = vatAMt;\r\n let total_premium = this.totalFixPremium + this.totalVariablePremium + vatAMt\r\n this.total_premium = total_premium;\r\n\r\n this.savePlanDetailArr = {\r\n quotation_number: this.webQuoteNumber,\r\n plan_id: this.plan_Id,\r\n total_premium: total_premium,\r\n base_premium: this.totalFixPremium,\r\n optional_benefit_premiun: this.totalVariablePremium,\r\n admin_fees: this.policyFee,\r\n CRS_quote_number: this.quoteNumber,\r\n service_fees: 0,\r\n product_code: this.vehicleDetailForm.value.insType,\r\n VAT: vatAMt,\r\n benefitPreId: this.benfPremIdArray,\r\n\r\n\r\n }\r\n\r\n this.additionalDetailForm.get('docDriving_license_Back').setValue('');\r\n this.additionalDetailForm.get('docDriving_License_Front').setValue('');\r\n this.additionalDetailForm.get('docReg_Card_Front').setValue('');\r\n this.additionalDetailForm.get('docReg_Card_Back').setValue('');\r\n this.additionalDetailForm.get('docEID_Front').setValue('');\r\n this.additionalDetailForm.get('docEID_Back').setValue('');\r\n this.additionalDetailForm.get('docDealerQuote').setValue('');\r\n this.additionalDetailForm.get('docOther').setValue('');\r\n \r\n\r\n this.motorQuoteService.insertPlanData(this.PlanDataJson.quotationNumber, this.PlanDataJson.PlanDataJson, this.totalFixPremium,\r\n this.totalVariablePremium,\r\n this.policyFee,\r\n this.totalPreimum,\r\n this.PlanDataJson.planBenefitData.data,\r\n this.tempBenefitData,\r\n this.vehicleDetailForm.value.repairType,\r\n this.savePlanDetailArr,\r\n this.vehicleDetailForm.value.insType.viewValue,\r\n 'B2C',\r\n this.SchemeCode\r\n ).subscribe(res => {\r\n\r\n this.showHideLoader.additionalDetail = false;\r\n // this.editableStep.Quotation = false ;\r\n\r\n\r\n\r\n });\r\n\r\n if (type != 0)\r\n stepper.next();\r\n\r\n }\r\n\r\n\r\n getQuotePlanEmail() {\r\n this.showHideLoader.Quotation = true;\r\n // this.policyFee = this.vehicleDetailForm.value.insType.value == 200 ? 50 : 0;\r\n // let vatAmt = (this.totalFixPremium + this.totalVariablePremium + this.policyFee) * 0.05;\r\n // let total_premium = this.totalFixPremium + this.totalVariablePremium + this.policyFee + vatAmt;\r\n\r\n let vatAMt = (this.totalFixPremium + this.totalVariablePremium) * 0.05;\r\n let total_premium = this.totalFixPremium + this.totalVariablePremium + vatAMt;\r\n\r\n this.savePlanDetailArr = {\r\n quotation_number: this.webQuoteNumber,\r\n plan_id: this.plan_Id,\r\n total_premium: total_premium,\r\n base_premium: this.totalFixPremium,\r\n optional_benefit_premiun: this.totalVariablePremium,\r\n admin_fees: this.policyFee,\r\n CRS_quote_number: this.quoteNumber,\r\n service_fees: 0,\r\n product_code: this.vehicleDetailForm.value.insType,\r\n VAT: vatAMt,\r\n benefitPreId: this.benfPremIdArray,\r\n\r\n\r\n }\r\n\r\n this.motorQuoteService.insertPlanDataEmail(this.PlanDataJson.quotationNumber, this.PlanDataJson.PlanDataJson, this.totalFixPremium,\r\n this.totalVariablePremium,\r\n this.policyFee,\r\n this.totalPreimum,\r\n this.PlanDataJson.planBenefitData.data,\r\n this.tempBenefitData,\r\n this.vehicleDetailForm.value.repairType,\r\n this.savePlanDetailArr,\r\n this.vehicleDetailForm.value.insType.viewValue,\r\n 'B2C',\r\n this.SchemeCode\r\n ).subscribe(res => {\r\n\r\n this.sendMail();\r\n this.showHideLoader.Quotation = false;\r\n // this.editableStep.Quotation = false ;\r\n\r\n Swal.fire(\"\", \"Thank you for choosing Fidelity United for insuring your car. We have sent an email to your registered email with all the quotation details\", 'success');\r\n\r\n });\r\n }\r\n\r\n sendMail() {\r\n this.motorQuoteService.sendMail(this.webQuoteNumber,'B2C').subscribe(res => {\r\n\r\n });\r\n }\r\n //----------------------------------------- SAVE ADDITIONAL INFO (THIRD PARTY API)--------------------------------------------------------\r\n saveAdditionalInfo(type) {\r\n\r\n if (type == 2 ) {\r\n if (this.accept_terms == false) {\r\n return;\r\n }\r\n }\r\n\r\n if (type == 1 ) {\r\n if (this.vehicleDetailForm.value.chassisNum == '') {\r\n\r\n this.additionalDetailForm.controls['chassisNum'].setValidators([Validators.required]);\r\n this.additionalDetailForm.controls['isChassisValidate'].setValidators([Validators.required]);\r\n }\r\n else {\r\n\r\n this.additionalDetailForm.controls['chassisNum'].setValidators(null);\r\n this.additionalDetailForm.controls['isChassisValidate'].setValidators(null);\r\n }\r\n\r\n this.additionalDetailForm.controls['chassisNum'].updateValueAndValidity();\r\n this.additionalDetailForm.controls['isChassisValidate'].updateValueAndValidity();\r\n\r\n\r\n if (this.additionalDetailForm.invalid) {\r\n\r\n this.validtnMsg.additionalDetail = true;\r\n return false;\r\n }\r\n\r\n if (this.invalidEID == true) {\r\n\r\n return;\r\n }\r\n }\r\n \r\n this.validtnMsg.additionalDetail = false;\r\n let name = this.personalDetailForm.value.vhclOwnBy.code == '100' ? this.personalDetailForm.value.name : this.personalDetailForm.value.companyName;\r\n\r\n this.showHideLoader.additionalDetail = true;\r\n\r\n this.motorQuoteService.saveAdditionalInfo(this.quoteNumber, this.webQuoteNumber, this.additionalDetailForm.value.motgagedBankName, 'N', name, this.vehicleDetailForm.value.insType, this.additionalDetailForm.value.engineNum, this.additionalDetailForm.value.gender.value,'B2C',this.paymentMode).subscribe(res => {\r\n \r\n this.additionalDetailForm.get('docDriving_license_Back').setValue('');\r\n this.additionalDetailForm.get('docDriving_License_Front').setValue('');\r\n this.additionalDetailForm.get('docReg_Card_Front').setValue('');\r\n this.additionalDetailForm.get('docReg_Card_Back').setValue('');\r\n this.additionalDetailForm.get('docEID_Front').setValue('');\r\n this.additionalDetailForm.get('docEID_Back').setValue('');\r\n this.additionalDetailForm.get('docDealerQuote').setValue('');\r\n this.additionalDetailForm.get('docOther').setValue('')\r\n \r\n if (res.response_code == 1) {\r\n \r\n if (type == 1 ) {\r\n this.savePolicyDetail(1);\r\n }\r\n\r\n if (type == 2 ) {\r\n // alert(1)\r\n Swal.fire(\"Your details will be saved and you will be re-directed to Payment gateway page\", \" Do not click back or click any button\", 'success');\r\n this.savePolicyDetail(2);\r\n }\r\n if(type == 3){\r\n this.sendPaymentLink();\r\n }\r\n\r\n\r\n this.showHideLoader.additionalDetail = false;\r\n }\r\n\r\n });\r\n \r\n\r\n //stepper.next();\r\n\r\n }\r\n //------------------------------------------ UPLOAD DRIVING LICENCE DOC (Third party API) -------------------------------------------------\r\n uploadDrivLicDoc(doc) {\r\n\r\n this.motorQuoteService.uploadDrivLicDoc(this.PlanDataJson.quotationNumber, doc).subscribe(res => {\r\n\r\n\r\n });\r\n }\r\n //-------------------- FOR DOCUMENTS UPLOAD ------------------------//\r\n onFileChange(event, docName, FiledName, files: FileList) {\r\n\r\n //this.webQuoteNumber = 'QMT0010610000052471';\r\n\r\n this.docNameType = docName;\r\n if (this.docNameType == 'drivingLicenseFront') {\r\n this.licFrontLoader = this.globalService.spinnerShow();\r\n\r\n }\r\n else if (this.docNameType == 'drivingLicenseBack') {\r\n this.licBackLoader = this.globalService.spinnerShow();\r\n }\r\n else if (this.docNameType == 'RegCardFront') {\r\n // alert(1)\r\n this.regFrontLoader = this.globalService.spinnerShow();\r\n }\r\n else if (this.docNameType == 'RegCardBack') {\r\n this.regBackLoader = this.globalService.spinnerShow();\r\n }\r\n else if (this.docNameType == 'EIDFront') {\r\n this.eidFrontLoader = this.globalService.spinnerShow();\r\n }\r\n else if (this.docNameType == 'EIDBack') {\r\n this.eidBackLoader = this.globalService.spinnerShow();\r\n }\r\n else if (this.docNameType == 'dealerquote') {\r\n this.delQuoteLoader = this.globalService.spinnerShow();\r\n }\r\n else if (this.docNameType == 'otherDoc') {\r\n this.otherDocLoader = this.globalService.spinnerShow();\r\n }\r\n\r\n // console.log(`Image size before compressed: ${event.target.files[0].size} bytes.`);\r\n // alert(`Image size before compressed: ${event.target.files[0].size} bytes.`);\r\n this.compressImage.compress(event.target.files[0])\r\n .pipe(take(1))\r\n .subscribe(compressedImage => {\r\n \r\n \r\n // console.log(`Image size after compressed: ${compressedImage.size} bytes.`);\r\n\r\n const formData = new FormData();\r\n formData.append('file', compressedImage);\r\n formData.append('QuotationNumber', this.webQuoteNumber);\r\n formData.append('docName', docName);\r\n formData.append('source', 'B2C');\r\n formData.append('quoteType', 'adv');\r\n Array.from(files).forEach(f => formData.append('file', f))\r\n\r\n this.motorQuoteService.uploadDocumentWithoutOCR(formData).subscribe(res => {\r\n let updateMemResponse = res;\r\n if (updateMemResponse.response_code == 1) {\r\n\r\n this.licFrontLoader = this.globalService.spinnerHide();\r\n this.licBackLoader = this.globalService.spinnerHide();\r\n this.regFrontLoader = this.globalService.spinnerHide();\r\n this.regBackLoader = this.globalService.spinnerHide();\r\n this.eidFrontLoader = this.globalService.spinnerHide();\r\n this.eidBackLoader = this.globalService.spinnerHide();\r\n this.delQuoteLoader = this.globalService.spinnerHide();\r\n this.otherDocLoader = this.globalService.spinnerHide();\r\n\r\n\r\n let fileType = updateMemResponse.File.split(\".\");\r\n fileType = fileType[fileType.length - 1];\r\n fileType = fileType == \"pdf\" ? \"PDF\": \"IMG\";\r\n let formArrayValue: any = this.additionalDetailForm.value;\r\n \r\n formArrayValue[FiledName] = updateMemResponse.File;\r\n formArrayValue[FiledName + \"FilePath\"] = updateMemResponse.FileDir;\r\n// console.log(FiledName)\r\n if(FiledName == 'Reg_Card_Front'){\r\n // alert(2)\r\n \r\n this.additionalDetailForm.get('Reg_Card_FrontFilePath').setValue(updateMemResponse.FileDir);\r\n this.additionalDetailForm.get('Reg_Card_Front').setValue(updateMemResponse.File);\r\n this.additionalDetailForm.get('Reg_Card_FrontFileType').setValue(fileType);\r\n \r\n }\r\n if(FiledName == 'Reg_Card_Back'){\r\n \r\n this.additionalDetailForm.get('Reg_Card_BackFilePath').setValue(updateMemResponse.FileDir);\r\n this.additionalDetailForm.get('Reg_Card_Back').setValue(updateMemResponse.File);\r\n this.additionalDetailForm.get('Reg_Card_BackFileType').setValue(fileType);\r\n }\r\n if(FiledName == 'EID_Front'){\r\n \r\n this.additionalDetailForm.get('EID_FrontFilePath').setValue(updateMemResponse.FileDir);\r\n this.additionalDetailForm.get('EID_Front').setValue(updateMemResponse.File);\r\n this.additionalDetailForm.get('EID_FrontFileType').setValue(fileType);\r\n }\r\n if(FiledName == 'EID_Back'){\r\n \r\n this.additionalDetailForm.get('EID_BackFilePath').setValue(updateMemResponse.FileDir);\r\n this.additionalDetailForm.get('EID_Back').setValue(updateMemResponse.File);\r\n this.additionalDetailForm.get('EID_BackFileType').setValue(fileType);\r\n }\r\n if(FiledName == 'driving_License_Front'){\r\n \r\n this.additionalDetailForm.get('driving_License_FrontFilePath').setValue(updateMemResponse.FileDir);\r\n this.additionalDetailForm.get('driving_License_Front').setValue(updateMemResponse.File);\r\n this.additionalDetailForm.get('driving_License_FrontFileType').setValue(fileType);\r\n\r\n }\r\n if(FiledName == 'driving_license_Back'){\r\n \r\n this.additionalDetailForm.get('driving_license_BackFilePath').setValue(updateMemResponse.FileDir);\r\n this.additionalDetailForm.get('driving_license_Back').setValue(updateMemResponse.File);\r\n this.additionalDetailForm.get('driving_license_BackFileType').setValue(fileType);\r\n }\r\n if(FiledName == 'dealer_quote'){\r\n \r\n this.additionalDetailForm.get('dealer_quoteFilePath').setValue(updateMemResponse.FileDir);\r\n this.additionalDetailForm.get('dealer_quote').setValue(updateMemResponse.File);\r\n this.additionalDetailForm.get('dealer_quoteFileType').setValue(fileType);\r\n }\r\n if(FiledName == 'other_DOc'){\r\n \r\n this.additionalDetailForm.get('other_DOcFilePath').setValue(updateMemResponse.FileDir);\r\n this.additionalDetailForm.get('other_DOc').setValue(updateMemResponse.File);\r\n this.additionalDetailForm.get('other_DOcFileType').setValue(fileType);\r\n }\r\n\r\n\r\n formArrayValue[\"docDriving_License_Front\"] = \"\";\r\n formArrayValue[\"docDriving_license_Back\"] = \"\";\r\n formArrayValue[\"docReg_Card_Front\"] = \"\";\r\n formArrayValue[\"docReg_Card_Back\"] = \"\";\r\n formArrayValue[\"docEID_Front\"] = \"\";\r\n formArrayValue[\"docEID_Back\"] = \"\";\r\n formArrayValue[\"docDealerQuote\"] = \"\";\r\n formArrayValue[\"docOther\"] = \"\";\r\n \r\n }\r\n if (updateMemResponse.response_code == 5) {\r\n this.licFrontLoader = this.globalService.spinnerHide();\r\n this.licBackLoader = this.globalService.spinnerHide();\r\n this.regFrontLoader = this.globalService.spinnerHide();\r\n this.regBackLoader = this.globalService.spinnerHide();\r\n this.eidFrontLoader = this.globalService.spinnerHide();\r\n this.eidBackLoader = this.globalService.spinnerHide();\r\n this.delQuoteLoader = this.globalService.spinnerHide();\r\n this.otherDocLoader = this.globalService.spinnerHide();\r\n Swal.fire(\"Please select valid file format.\", \"only .pdf, .jpg, .png and .jpeg file formats allowed.\", 'error');\r\n }\r\n\r\n if (updateMemResponse.response_code == 6) {\r\n this.licFrontLoader = this.globalService.spinnerHide();\r\n this.licBackLoader = this.globalService.spinnerHide();\r\n this.regFrontLoader = this.globalService.spinnerHide();\r\n this.regBackLoader = this.globalService.spinnerHide();\r\n this.eidFrontLoader = this.globalService.spinnerHide();\r\n this.eidBackLoader = this.globalService.spinnerHide();\r\n this.delQuoteLoader = this.globalService.spinnerHide();\r\n this.otherDocLoader = this.globalService.spinnerHide();\r\n Swal.fire(updateMemResponse.response_status);\r\n }\r\n\r\n },\r\n (error) => {\r\n if (error.error.status == 500) {\r\n Swal.fire(\"Sorry, an error occured\", \"Please try again later\", \"error\");\r\n }\r\n this.licFrontLoader = this.globalService.spinnerHide();\r\n this.licBackLoader = this.globalService.spinnerHide();\r\n this.regFrontLoader = this.globalService.spinnerHide();\r\n this.regBackLoader = this.globalService.spinnerHide();\r\n this.eidFrontLoader = this.globalService.spinnerHide();\r\n this.eidBackLoader = this.globalService.spinnerHide();\r\n this.delQuoteLoader = this.globalService.spinnerHide();\r\n this.otherDocLoader = this.globalService.spinnerHide();\r\n }\r\n )\r\n }\r\n\r\n );\r\n\r\n\r\n }\r\n //----------------------------------- VIEW QUOTE PDF -------------------------------------------\r\n viewQuotePDF() {\r\n this.showHideLoader.Quotation = true;\r\n //this.policyFee = this.vehicleDetailForm.value.insType.value == 200 ? 50 : 0;\r\n // let vatAmt = (this.totalFixPremium + this.totalVariablePremium + this.policyFee) * 0.05;\r\n // let total_premium = this.totalFixPremium + this.totalVariablePremium + this.policyFee + vatAmt;\r\n\r\n let vatAMt = (this.totalFixPremium + this.totalVariablePremium) * 0.05;\r\n let total_premium = this.totalFixPremium + this.totalVariablePremium + vatAMt;\r\n\r\n this.savePlanDetailArr = {\r\n quotation_number: this.webQuoteNumber,\r\n plan_id: this.plan_Id,\r\n total_premium: total_premium,\r\n base_premium: this.totalFixPremium,\r\n optional_benefit_premiun: this.totalVariablePremium,\r\n admin_fees: this.policyFee,\r\n CRS_quote_number: this.quoteNumber,\r\n service_fees: 0,\r\n product_code: this.vehicleDetailForm.value.insType,\r\n VAT: vatAMt,\r\n benefitPreId: this.benfPremIdArray,\r\n\r\n\r\n }\r\n\r\n this.motorQuoteService.insertPlanDataEmail(this.PlanDataJson.quotationNumber, this.PlanDataJson.PlanDataJson, this.totalFixPremium,\r\n this.totalVariablePremium,\r\n this.policyFee,\r\n this.totalPreimum,\r\n this.PlanDataJson.planBenefitData.data,\r\n this.tempBenefitData,\r\n this.vehicleDetailForm.value.repairType,\r\n this.savePlanDetailArr,\r\n this.vehicleDetailForm.value.insType.viewValue,\r\n 'B2C',\r\n this.SchemeCode\r\n ).subscribe(res => {\r\n\r\n\r\n this.motorQuoteService.getQuoteDetailPDF(this.webQuoteNumber,'B2C').subscribe(res => {\r\n this.showHideLoader.Quotation = false;\r\n setTimeout(\r\n function () {\r\n\r\n }.bind(this),\r\n 600\r\n );\r\n let viewPDF = res;\r\n if (viewPDF.response_code == 1) {\r\n window.open(viewPDF.pdfPath, \"_blank\");\r\n }\r\n });\r\n // this.editableStep.Quotation = false ;\r\n\r\n\r\n\r\n });\r\n\r\n }\r\n\r\n //------------------------------------- VALIDATE CHASSIS NUMBER ------------------------------------------------------------//\r\n validateChassisNum(chassisNo, stepper, type) {\r\n // this.validChassisNum = true;\r\n\r\n if (chassisNo == '') {\r\n this.blankChassis = true;\r\n return false;\r\n }\r\n\r\n this.vehicleDetailForm.get('isChassisValidate').setValue('');\r\n this.additionalDetailForm.get('isChassisValidate').setValue('');\r\n let stepperD = stepper;\r\n\r\n\r\n\r\n this.blankChassis = false;\r\n this.showHideLoader.chasisNoButton = true;\r\n this.motorQuoteService.validateChassisNumber(chassisNo).subscribe(res => {\r\n let validateRes = res;\r\n\r\n if (validateRes.validateChassisNumber == '1') {\r\n Swal.fire(chassisNo + \" \" + \"This Chassis number is already available. Please contact Fidelity United at 800 842\", \"error\");\r\n this.showHideLoader.chasisNoButton = false;\r\n this.vehicleDetailForm.get('isChassisValidate').setValue('');\r\n this.additionalDetailForm.get('isChassisValidate').setValue('');\r\n this.vehicleDetailForm.get('chassisNum').setValue('');\r\n this.additionalDetailForm.get('chassisNum').setValue('');\r\n return false;\r\n } else {\r\n\r\n this.motorQuoteService.getDetailsByVIN(chassisNo).subscribe(res => {\r\n this.showHideLoader.chasisNoButton = false;\r\n this.getVechileDetailData = res.vechileData;\r\n this.chassis_No_Details = this.getVechileDetailData.VehicleDetails;\r\n\r\n if (res.vechileData.StatusCode == 400 || res.vechileData.StatusCode == 422 || res.vechileData.ExpiresIn == 1200) {\r\n Swal.fire(\" \", \"Invalid Chassis No.\", \"error\");\r\n if (type == 1) {\r\n this.vehicleDetailForm.get('isChassisValidate').setValue('');\r\n this.vehicleDetailForm.get('vhclMake').setValue('');\r\n this.vehicleDetailForm.get('vhclModelYr').setValue('');\r\n this.vehicleDetailForm.get('vhclSeatCapcity').setValue('');\r\n this.vehicleDetailForm.get('vhclGCCSpecifird').setValue('');\r\n this.vehicleDetailForm.get('vhclModel').setValue('');\r\n this.vehicleDetailForm.get('vhclTrim').setValue('');\r\n this.vehicleDetailForm.get('vhclBodyType').setValue('');\r\n this.vehicleDetailForm.get('vhclCylinder').setValue('');\r\n this.vehicleDetailForm.get('vhclValue').setValue('');\r\n this.vehicleDetailForm.get('chassisNum').setValue('');\r\n\r\n }\r\n if (type == 2) {\r\n this.additionalDetailForm.get('isChassisValidate').setValue('');\r\n this.additionalDetailForm.get('chassisNum').setValue('');\r\n }\r\n\r\n }\r\n\r\n else {\r\n\r\n if (this.additionalDetailForm.value.chassisNum != '') {\r\n\r\n let validateFlag = false;\r\n let genData = this.getVechileDetailData.VehicleDetails;\r\n let msg = [];\r\n if (this.getVechileDetailData.VehicleDetails.General.ModelYear != this.vehicleDetailForm.value.vhclModelYr.value) {\r\n msg.push(\"Model Year\");\r\n }\r\n if (this.getVechileDetailData.VehicleDetails.General.Make.toLowerCase() != this.vehicleDetailForm.value.vhclMake.VehicleMakeName.toLowerCase()) {\r\n msg.push(\"Vehicle Make\");\r\n }\r\n if (this.getVechileDetailData.VehicleDetails.General.Model != null && this.getVechileDetailData.VehicleDetails.General.Model.toLowerCase() != this.vehicleDetailForm.value.vhclModel.VehicleModelName.toLowerCase()) { //Added null checks by Anju\r\n msg.push(\"Vehicle Model\");\r\n }\r\n\r\n if (this.getVechileDetailData.VehicleDetails.General.Trim != null && this.getVechileDetailData.VehicleDetails.General.Trim != \"\" && this.getVechileDetailData.VehicleDetails.General.Trim.toLowerCase() != this.vehicleDetailForm.value.vhclTrim.VehicleSpecCode.toLowerCase()) { //Added null checks by Anju\r\n msg.push(\"Vehicle Trim\");\r\n }\r\n\r\n\r\n //Added null check by Anju for avoiding error\r\n if (this.getVechileDetailData.VehicleDetails.General.ModelYear != this.vehicleDetailForm.value.vhclModelYr.value\r\n || (this.getVechileDetailData.VehicleDetails.General.Make != null && this.getVechileDetailData.VehicleDetails.General.Make.toLowerCase() != this.vehicleDetailForm.value.vhclMake.VehicleMakeName.toLowerCase())\r\n || (this.getVechileDetailData.VehicleDetails.General.Model != null && this.getVechileDetailData.VehicleDetails.General.Model.toLowerCase() != this.vehicleDetailForm.value.vhclModel.VehicleModelName.toLowerCase())\r\n || (this.getVechileDetailData.VehicleDetails.General.Trim != null && this.getVechileDetailData.VehicleDetails.General.Trim.toLowerCase() != this.vehicleDetailForm.value.vhclTrim.VehicleSpecCode.toLowerCase())\r\n\r\n\r\n ) {\r\n Swal.fire(\"Sorry,the vehicle details did not match with the data from Chassis Number Following Values are incorrect\", JSON.stringify(msg), \"error\");\r\n //Swal.fire('Vehicle detail is incorrect !!!', 'Motor ' + JSON.stringify(msg) + \" is wrong.\", 'error');\r\n // Swal.fire(\"Vehicle detail is incorrect !!!\");\r\n this.additionalDetailForm.get('isChassisValidate').setValue('');\r\n stepperD.previous();\r\n stepperD.previous();\r\n } else {\r\n this.additionalDetailForm.get('isChassisValidate').setValue('1');\r\n //Vehicle Color \r\n if (this.getVechileDetailData.VehicleDetails.General.ColourEN != '') {\r\n let colorVal;\r\n this.vhclColorArr.forEach((item, index) => {\r\n if (item.ColorName == this.getVechileDetailData.VehicleDetails.General.ColourEN) {\r\n colorVal = item;\r\n }\r\n });\r\n\r\n this.additionalDetailForm.get('vhclColor').setValue(colorVal);\r\n }\r\n\r\n\r\n let enginNo = this.getVechileDetailData.VehicleDetails.General.EngineNo;\r\n this.additionalDetailForm.get('engineNum').setValue(enginNo);\r\n\r\n this.no_Of_Doors = this.getVechileDetailData.VehicleDetails.General.NoOfDoors;\r\n\r\n\r\n }\r\n }\r\n\r\n\r\n if (this.vehicleDetailForm.value.chassisNum != '') {\r\n this.vehicleDetailForm.get('isChassisValidate').setValue('1');\r\n\r\n localStorage.setItem('vehcl_make', this.getVechileDetailData.VehicleDetails.General.Make);\r\n localStorage.setItem('vehcl_model', this.getVechileDetailData.VehicleDetails.General.Model);\r\n localStorage.setItem('vehcl_model_year', this.getVechileDetailData.VehicleDetails.General.ModelYear);\r\n localStorage.setItem('vehcl_trim', this.getVechileDetailData.VehicleDetails.General.Trim);\r\n localStorage.setItem('vehcl_body', this.getVechileDetailData.VehicleDetails.General.BodyType);\r\n localStorage.setItem('vehcl_trim_val', this.getVechileDetailData.VehicleDetails.Technical.EngineDisplacementNominal.Value);\r\n\r\n\r\n \r\n \r\n\r\n //VEHICLE YEAR\r\n let yearVal;\r\n this.vehimodelyrs.forEach((item, index) => {\r\n\r\n if (item.label == this.getVechileDetailData.VehicleDetails.General.ModelYear) {\r\n yearVal = item;\r\n }\r\n });\r\n\r\n this.vehicleDetailForm.get('vhclModelYr').setValue(yearVal);\r\n \r\n this.getVhclMakeData(yearVal,1)\r\n \r\n\r\n //Vehicle Cylinders\r\n let cylVal;\r\n this.vehicylinders.forEach((item, index) => {\r\n\r\n if (item.value == this.getVechileDetailData.VehicleDetails.Technical.EngineCylinders) {\r\n cylVal = item;\r\n }\r\n });\r\n this.vehicleDetailForm.get('vhclCylinder').setValue(cylVal);\r\n\r\n //Passenger Count\r\n let PasgerVal;\r\n this.vehiseatcaps.forEach((item, index) => {\r\n\r\n if (item.value == (this.getVechileDetailData.VehicleDetails.General.NoOfSeats - 1)) {\r\n PasgerVal = item;\r\n }\r\n });\r\n this.vehicleDetailForm.get('vhclSeatCapcity').setValue(PasgerVal);\r\n\r\n let gcc_specification = this.getVechileDetailData.VehicleDetails.General.Region == 'GCC' ? 'No' : 'Yes';\r\n this.vehicleDetailForm.get('vhclGCCSpecifird').setValue(gcc_specification);\r\n\r\n localStorage.setItem('GCC_Specification', this.getVechileDetailData.VehicleDetails.General.Region);\r\n\r\n //Vehicle Color \r\n if (this.getVechileDetailData.VehicleDetails.General.ColourEN != '') {\r\n let colorVal;\r\n this.vhclColorArr.forEach((item, index) => {\r\n if (item.ColorName == this.getVechileDetailData.VehicleDetails.General.ColourEN) {\r\n colorVal = item;\r\n }\r\n });\r\n\r\n this.additionalDetailForm.get('vhclColor').setValue(colorVal);\r\n }\r\n\r\n let enginNo = this.getVechileDetailData.VehicleDetails.General.EngineNo;\r\n this.additionalDetailForm.get('engineNum').setValue(enginNo);\r\n\r\n this.no_Of_Doors = this.getVechileDetailData.VehicleDetails.General.NoOfDoors;\r\n }\r\n\r\n\r\n }\r\n\r\n\r\n });\r\n\r\n }\r\n });\r\n }\r\n\r\n\r\ngetMakeData(year,makeId){\r\n\r\n}\r\n\r\n //------------------------------- VALIDATION FOR EMIRATES ID ----------------------------------------------//\r\n checkEID(i) {\r\n this.value = i;\r\n\r\n this.value = this.value.replace(/-/g, \"\");\r\n if (/[^0-9-]+/.test(this.value))\r\n this.invalidEID = true;\r\n\r\n if (this.value.length != 15) {\r\n this.invalidEID = true;\r\n return this.invalidEID;\r\n }\r\n if (this.value == \"111111111111111\" || this.value == \"000000000000000\" || this.value == \"222222222222222\" || this.value == \"333333333333333\") {\r\n this.invalidEID = false;\r\n\r\n return this.invalidEID;\r\n }\r\n\r\n else {\r\n //The Luhn Algorithm.\r\n var nCheck = 0, nDigit = 0, bEven = false;\r\n this.value = this.value.replace(/\\D/g, \"\");\r\n\r\n\r\n //784-1982-6961498-2\r\n\r\n for (let n = this.value.length - 1; n >= 0; n--) {\r\n\r\n var cDigit = this.value.charAt; nDigit = parseInt(this.value[n]);\r\n\r\n if (bEven) {\r\n if ((nDigit *= 2) > 9)\r\n nDigit -= 9;\r\n }\r\n\r\n nCheck += nDigit;\r\n bEven = !bEven;\r\n\r\n\r\n\r\n }\r\n\r\n if ((nCheck % 10) == 0) {\r\n //if valid, ok, check next\r\n this.invalidEID = false;\r\n\r\n return this.invalidEID;\r\n\r\n }\r\n else {\r\n this.invalidEID = true;\r\n\r\n //alert('Invalid Emirates ID. Please enter valid emirates Id including (-) dash/hypen.');\r\n }\r\n\r\n\r\n\r\n }\r\n\r\n }\r\n //--------- VALIDATION FOR NUMBERS & DECIMAL NUM ------------//\r\n checkValidInputData(event: any, type) {\r\n\r\n this.globalService.checkValidInputData(event, type);\r\n }\r\n preventAllEvents(event: any) {\r\n\r\n this.globalService.preventAllEvents(event);\r\n }\r\n\r\n //------------------------------------- SAVE POLICY DETAIL ---------------------------------------------//\r\n savePolicyDetail(type) {\r\n //this._route.navigateByUrl('/motorquote/thankyou');\r\n\r\n let policyDetail = {\r\n quotation_number: this.webQuoteNumber,\r\n CRS_quotation_number: this.quoteNumber,\r\n traffic_code: this.additionalDetailForm.value.TCFnum,\r\n license: this.additionalDetailForm.value.drivingLicense,\r\n emirates: this.vehicleDetailForm.value.regplace,\r\n address: this.additionalDetailForm.value.address,\r\n PO_box: this.additionalDetailForm.value.poBoxNum,\r\n occupation: '',\r\n national_id: this.additionalDetailForm.value.emiratesID,\r\n arabic_name: '',\r\n home_office_number: '',\r\n start_date: this.convertDate(this.additionalDetailForm.value.polStartDate),\r\n end_date: '22/12/2019',\r\n color: this.additionalDetailForm.value.vhclColor,\r\n chassis_no: this.additionalDetailForm.value.chassisNum,\r\n engine: this.additionalDetailForm.value.engineNum,\r\n plate: '54687',\r\n mortgage: this.additionalDetailForm.value.motgagedBankName,\r\n payment_mode: 'ONLINE',\r\n named_driver: this.personalDetailForm.value.name,\r\n additional_driver_under_age: '0',\r\n IP_address: '',\r\n mobile: this.personalDetailForm.value.mobileNum,\r\n code: '',\r\n driving_License_Front: this.additionalDetailForm.value.driving_License_Front,\r\n driving_license_Back: this.additionalDetailForm.value.driving_license_Back,\r\n Reg_Card_Front: this.additionalDetailForm.value.Reg_Card_Front,\r\n Reg_Card_Back: this.additionalDetailForm.value.Reg_Card_Back,\r\n EID_Front: this.additionalDetailForm.value.EID_Front,\r\n EID_Back: this.additionalDetailForm.value.EID_Back,\r\n dealer_quote: this.additionalDetailForm.value.dealer_quote,\r\n vhclPlateCategory: this.additionalDetailForm.value.vhclPlateCategory,\r\n plateCode: this.additionalDetailForm.value.plateCode,\r\n plateNumber: this.additionalDetailForm.value.plateNumber,\r\n area: this.additionalDetailForm.value.area,\r\n noOfDoors: this.no_Of_Doors,\r\n gender: this.additionalDetailForm.value.gender.value,\r\n nationality: this.additionalDetailForm.value.nationality\r\n }\r\n\r\n this.motorQuoteService.savePolicyDetail(policyDetail, this.quoteDetailArr).subscribe(res => {\r\n this.additionalDetailForm.get('docDriving_license_Back').setValue('');\r\n this.additionalDetailForm.get('docDriving_License_Front').setValue('');\r\n this.additionalDetailForm.get('docReg_Card_Front').setValue('');\r\n this.additionalDetailForm.get('docReg_Card_Back').setValue('');\r\n this.additionalDetailForm.get('docEID_Front').setValue('');\r\n this.additionalDetailForm.get('docEID_Back').setValue('');\r\n this.additionalDetailForm.get('docDealerQuote').setValue('');\r\n this.additionalDetailForm.get('docOther').setValue('');\r\n\r\n\r\n if (type == 1) {\r\n \r\n Swal.fire(\"Your details are saved successfully.\", \"Your Quotation Reference Number is \" + this.webQuoteNumber + \". If you need any assistance please call us at 800-842.\", \"success\");\r\n }\r\n\r\n if (type == 2) {\r\n\r\n let server_name = config.server_name;\r\n let return_url = \"http://k2key.in/motor_ins//dashboard\";\r\n let site_url = \"http://k2key.in/motor_ins/\" + this._route.url;\r\n\r\n //this.paymentLoader = this.globalService.spinnerShow();\r\n this.showHideLoader.additionalDetail = true;\r\n\r\n //----------------------------- NEW PAYMENT GATEWAY -----------------------------------------//\r\n // this.motorQuoteService.paymentAuth(this.webQuoteNumber,site_url,return_url,'MT','1','','B2C','adv').subscribe(res => {\r\n // let payRes = res;\r\n // this.trans_ref = payRes.result.tran_ref;\r\n \r\n // localStorage.setItem('Trans_Ref',this.trans_ref);\r\n // localStorage.setItem('TokenId',payRes.result.token);\r\n \r\n \r\n // if(payRes.res_code == 1){\r\n // window.location.href = payRes.result.redirect_url;\r\n // } \r\n \r\n // });\r\n\r\n //----------------------------- OLD PAYMENT GATEWAY -----------------------------------------//\r\n // alert(1)\r\n // console.log(1)\r\n //Modified by Anju for new payment gateway\r\n this.motorQuoteService.paymentAuthNew(this.webQuoteNumber, site_url, return_url, 'MT', '1', '', 'B2C', 'adv').subscribe(res => {\r\n let payRes = res;\r\n // alert(2)\r\n if (payRes.status == 'Failed') {\r\n Swal.fire(payRes.res_msg);\r\n // this.paymentLoader = this.globalService.spinnerHide();\r\n this.showHideLoader.additionalDetail = false;\r\n return false;\r\n }\r\n\r\n else if (payRes.status == 'Success') {\r\n // alert(1)\r\n //this.paymentLoader = this.globalService.spinnerHide();\r\n this.showHideLoader.additionalDetail = false;\r\n // console.log(payRes.result.p_id);\r\n // console.log(payRes.result.transaction_id);\r\n // localStorage.setItem('Payment_Order_ID',res.result.tran_ref);\r\n localStorage.setItem('Payment_Order_ID', payRes.data.tran_ref);\r\n localStorage.setItem('Payment_Order_Tokan', payRes.data.token);\r\n localStorage.setItem('Payment_Quotation_Number', this.webQuoteNumber);\r\n localStorage.setItem('Insured_Email', this.personalDetailForm.value.email);\r\n localStorage.setItem('Insured_Mobile', this.personalDetailForm.value.mobileNum);\r\n // localStorage.setItem('Insured_Code', this.personalDetailForm.value.mobileCode.value);\r\n window.location.href = payRes.data.redirect_url;\r\n\r\n\r\n }\r\n\r\n\r\n });\r\n }\r\n\r\n\r\n });\r\n\r\n }\r\n\r\n public existVehiclevalue: any;\r\n updateValuation() {\r\n\r\nif(this.vhcleValueFlag == false){\r\n if (this.vehicleDetailForm.value.vhclMake != '' && this.vehicleDetailForm.value.vhclModel != '' && this.vehicleDetailForm.value.vhclTrim != '' && this.vehicleDetailForm.value.vhclBodyType != '') {\r\n\r\n this.showHideLoader.VehicleValue = true;\r\n\r\n this.motorQuoteService.getMotorValuation(this.vehicleDetailForm.value).subscribe(res => {\r\n\r\n\r\n if (res.StatusCode == 200) {\r\n this.existVehiclevalue = 0;\r\n this.vehicleValueLimit.isSet = true;\r\n this.vehicleValueLimit.startLimit = res.Valuation.Low;\r\n this.vehicleValueLimit.endLimit = res.Valuation.High;\r\n\r\n\r\n this.vehicleDetailForm.controls['vhclValue'].setValidators([Validators.required, Validators.min(res.Valuation.Low), Validators.max(res.Valuation.High)]);\r\n this.vehicleDetailForm.controls['vhclValue'].updateValueAndValidity();\r\n this.vehicleDetailForm.get('vhclValue').setValue(res.Valuation.Medium);\r\n\r\n // this.vehicleDetailForm.vhclValue\r\n\r\n\r\n } else {\r\n\r\n this.existVehiclevalue = 1;\r\n this.vehicleValueLimit.startLimit = 0;\r\n this.vehicleValueLimit.endLimit = 1000000;\r\n this.vehicleDetailForm.controls['vhclValue'].setValidators([Validators.required]);\r\n this.vehicleDetailForm.controls['vhclValue'].updateValueAndValidity();\r\n this.vehicleDetailForm.get('vhclValue').setValue('');\r\n this.vehicleValueLimit.isSet = false;\r\n\r\n }\r\n\r\n this.showHideLoader.VehicleValue = false;\r\n\r\n });\r\n }\r\n\r\n }else{\r\n this.vhcleValueFlag = false;\r\n }\r\n\r\n\r\n}\r\n\r\n changeChasisValidation(type) {\r\n\r\n // commented for timing\r\n this.vehicleDetailForm.get('isChassisValidate').setValue('');\r\n this.additionalDetailForm.get('isChassisValidate').setValue('');\r\n if (type == 1) {\r\n this.vehicleDetailForm.get('vhclModelYr').setValue('');\r\n this.vehicleDetailForm.get('vhclMake').setValue('');\r\n this.vehicleDetailForm.get('vhclModel').setValue('');\r\n this.vehicleDetailForm.get('vhclTrim').setValue('');\r\n this.vehicleDetailForm.get('vhclBodyType').setValue('');\r\n this.vehicleDetailForm.get('vhclCylinder').setValue('');\r\n this.vehicleDetailForm.get('vhclSeatCapcity').setValue('');\r\n\r\n }\r\n\r\n\r\n localStorage.removeItem(\"vehcl_make\");\r\n localStorage.removeItem(\"vehcl_model\");\r\n localStorage.removeItem('vehcl_model_year');\r\n localStorage.removeItem('vehcl_trim');\r\n localStorage.removeItem('vehcl_body');\r\n localStorage.removeItem('vehcl_trim_val');\r\n\r\n\r\n }\r\n\r\n\r\n /************** Country Filter */\r\n\r\n private filterCountry() {\r\n if (!this.countryArr) {\r\n return;\r\n }\r\n // get the search keyword\r\n let search = this.country1FilterCtrl.value;\r\n if (!search) {\r\n this.filteredCountries.next(this.countryArr.slice());\r\n return;\r\n } else {\r\n search = search.toLowerCase();\r\n }\r\n // filter the banks\r\n this.filteredCountries.next(\r\n this.countryArr.filter(bank => bank.CountryName.toLowerCase().indexOf(search) > -1)\r\n );\r\n }\r\n\r\n\r\n private filterNationalCountry() {\r\n if (!this.countryArr) {\r\n return;\r\n }\r\n // get the search keyword\r\n let search = this.nationalFilterCtrl.value;\r\n if (!search) {\r\n this.filteredNationCountries.next(this.countryArr.slice());\r\n return;\r\n } else {\r\n search = search.toLowerCase();\r\n }\r\n // filter the banks\r\n this.filteredNationCountries.next(\r\n this.countryArr.filter(bank => bank.CountryName.toLowerCase().indexOf(search) > -1)\r\n );\r\n }\r\n\r\n\r\n\r\n\r\n private filterMortageBank() {\r\n if (!this.bankDetail) {\r\n return;\r\n }\r\n\r\n // get the search keyword\r\n let search = this.mortageBankFilterCtrl.value;\r\n\r\n if (!search) {\r\n this.filteredBank.next(this.bankDetail.slice());\r\n return;\r\n } else {\r\n search = search.toLowerCase();\r\n }\r\n\r\n\r\n // filter the banks\r\n this.filteredBank.next(\r\n this.bankDetail.filter(bank => bank.InstituteName.toLowerCase().indexOf(search) > -1)\r\n );\r\n }\r\n\r\n private filterVechColor() {\r\n if (!this.vhclColorArr) {\r\n return;\r\n }\r\n\r\n // get the search keyword\r\n let search = this.vchColorFilterCtrl.value;\r\n if (!search) {\r\n this.filteredVchColor.next(this.vhclColorArr.slice());\r\n return;\r\n } else {\r\n search = search.toLowerCase();\r\n }\r\n\r\n\r\n // filter the banks\r\n this.filteredVchColor.next(\r\n this.vhclColorArr.filter(bank => bank.ColorName.toLowerCase().indexOf(search) > -1)\r\n );\r\n }\r\n\r\n private filterPlateCat() {\r\n if (!this.plateCatArray) {\r\n return;\r\n }\r\n\r\n // get the search keyword\r\n let search = this.plateFilterCtrl.value;\r\n if (!search) {\r\n this.filteredPlateCat.next(this.plateCatArray.slice());\r\n return;\r\n } else {\r\n search = search.toLowerCase();\r\n }\r\n\r\n\r\n // filter the banks\r\n this.filteredPlateCat.next(\r\n this.plateCatArray.filter(bank => bank.label.toLowerCase().indexOf(search) > -1)\r\n );\r\n }\r\n\r\n private filterCode() {\r\n if (!this.codes) {\r\n return;\r\n }\r\n\r\n // get the search keyword\r\n let search = this.codeFilterCtrl.value;\r\n if (!search) {\r\n this.filteredCode.next(this.codes.slice());\r\n return;\r\n } else {\r\n search = search.toLowerCase();\r\n }\r\n\r\n\r\n // filter the banks\r\n this.filteredCode.next(\r\n this.codes.filter(bank => bank.viewValue.toLowerCase().indexOf(search) > -1)\r\n );\r\n }\r\n\r\n private filterYear() {\r\n if (!this.vehimodelyrs) {\r\n return;\r\n }\r\n\r\n // get the search keyword\r\n let search = this.yearFilterCtrl.value;\r\n if (!search) {\r\n this.filteredYears.next(this.vehimodelyrs.slice());\r\n return;\r\n } else {\r\n search = search.toLowerCase();\r\n }\r\n\r\n\r\n // filter the banks\r\n this.filteredYears.next(\r\n this.vehimodelyrs.filter(bank => bank.label.toLowerCase().indexOf(search) > -1)\r\n );\r\n }\r\n\r\n private filterMake() {\r\n if (!this.vhclMakeArr) {\r\n return;\r\n }\r\n // get the search keyword\r\n let search = this.makeFilterCtrl.value;\r\n if (!search) {\r\n this.filteredMakes.next(this.vhclMakeArr.slice());\r\n return;\r\n } else {\r\n search = search.toLowerCase();\r\n }\r\n // filter the banks\r\n this.filteredMakes.next(\r\n this.vhclMakeArr.filter(bank => bank.VehicleMakeName.toLowerCase().indexOf(search) > -1)\r\n );\r\n }\r\n\r\n private filterModel() {\r\n if (!this.vhclModelArr) {\r\n return;\r\n }\r\n // get the search keyword\r\n let search = this.modelFilterCtrl.value;\r\n if (!search) {\r\n this.filteredModels.next(this.vhclModelArr.slice());\r\n return;\r\n } else {\r\n search = search.toLowerCase();\r\n }\r\n // filter the banks\r\n this.filteredModels.next(\r\n this.vhclModelArr.filter(bank => bank.VehicleModelName.toLowerCase().indexOf(search) > -1)\r\n );\r\n }\r\n\r\n updateQuotation(stepper, type, frame) {\r\n this.checkStepper = true;\r\n //frame.hide();\r\n if (this.vehicleDetailForm.invalid) {\r\n this.validtnMsg.vehicleDetail = true;\r\n return false;\r\n }\r\n// console.log(\"Testing----\");\r\n if(this.vehicleDetailForm.value.insType.value == 100 && (Number(this.vehicleDetailForm.value.vhclValue) < Number(this.vehicleValueLimit.startLimit) || Number(this.vehicleDetailForm.value.vhclValue) > Number(this.vehicleValueLimit.endLimit))) {\r\n\r\n this.validtnMsg.vehicleDetail = true;\r\n return false;\r\n }\r\n\r\n\r\n if (this.vehicleDetailForm.value.vhclModelYr.value >= (this.minyear - 1) && this.vehicleDetailForm.value.insType.value == 100 && this.vehicleDetailForm.value.brandNw != 1) {\r\n this.vehicleDetailForm.controls['regDate'].setValidators([Validators.required]);\r\n \r\n if (this.vehicleDetailForm.value.brandNw != 1) { \r\n if (this.regMaxDate < this.vehicleDetailForm.value.regDate || this.regMinDate > this.vehicleDetailForm.value.regDate) {\r\n return false;\r\n }\r\n }\r\n } else {\r\n this.vehicleDetailForm.controls['regDate'].setValidators(null);\r\n }\r\n this.vehicleDetailForm.controls['regDate'].updateValueAndValidity();\r\n\r\n \r\n this.showHideLoader.vehicleDetail = true;\r\n this.showHideLoader.Quotation = true;\r\n if (type != 0){\r\n stepper.next();\r\n }\r\n \r\n let webQuoteNum = this.retrieveQuoteForm.value.web_Quote_Num == '' ? this.webQuoteNumber : this.retrieveQuoteForm.value.web_Quote_Num;\r\n\r\n let name = this.personalDetailForm.value.vhclOwnBy.code == '100' ? this.personalDetailForm.value.name : this.personalDetailForm.value.companyName;\r\n let vehicleType = this.personalDetailForm.value.vhclOwnBy.code == '100' ? { code: '1001', value: 'Private' } : { code: '1009', value: 'Commercial' }\r\n let policy_expire_date = this.vehicleDetailForm.value.vhclTPLCoverage == 'No' ? this.nextDate : this.PrevDate;\r\n let brand_new = (this.vehicleDetailForm.value.vhclModelYr.value != this.maxYear || this.vehicleDetailForm.value.vhclModelYr.value != this.year || this.vehicleDetailForm.value.vhclModelYr.value != this.minyear) ? { code: '0', value: 'N' } : { code: '1', value: 'Y' };\r\n //let regDate = this.vehicleDetailForm.value.brandNw == 1 ? this.convertDate(this.toDay) : this.convertDate(this.vehicleDetailForm.value.regDate);\r\n\r\n let regDate: any;\r\n if (this.vehicleDetailForm.value.brandNw == 1) {\r\n regDate = this.convertDate(this.toDay);\r\n }\r\n else if (this.vehicleDetailForm.value.vhclModelYr.value < (this.minyear - 1)) {\r\n regDate = this.convertDate(new Date(this.vehicleDetailForm.value.vhclModelYr.value, 0, 1));\r\n }\r\n else {\r\n regDate = this.convertDate(this.vehicleDetailForm.value.regDate);\r\n }\r\n\r\n let modifyValue = this.existVehiclevalue == 1 ? this.existVehiclevalue : null;\r\n let vehicle_value = this.vehicleDetailForm.value.insType.value == 100 ? this.vehicleDetailForm.value.vhclValue : 0;\r\n let motorArrayQuote = {\r\n quotation_number: this.quoteNumber,\r\n web_quote_number: webQuoteNum,\r\n insured_type: this.personalDetailForm.value.vhclOwnBy,\r\n insured_name: name,\r\n gender: \"\",\r\n dob: this.convertDate(this.personalDetailForm.value.dob),\r\n prospect_age: this.calculateAge(this.personalDetailForm.value.dob),\r\n nationality: this.personalDetailForm.value.licIssueContry, // check if we need to add in html\r\n email: this.personalDetailForm.value.email,\r\n mobile: this.personalDetailForm.value.mobileNum,\r\n code: this.personalDetailForm.value.mobileCode,\r\n UAE_lic_age: this.convertDate(this.personalDetailForm.value.drivExpInUAE),\r\n UAELicAge: this.UAELicAge,\r\n license_country: this.personalDetailForm.value.licIssueContry,\r\n NCD: this.personalDetailForm.value.NCD,\r\n\r\n brand_new: brand_new,\r\n model_year: this.vehicleDetailForm.value.vhclModelYr,\r\n make: this.vehicleDetailForm.value.vhclMake,\r\n model: this.vehicleDetailForm.value.vhclModel,\r\n body_type: this.vehicleDetailForm.value.vhclBodyType,\r\n cylinders: this.vehicleDetailForm.value.vhclCylinder,\r\n passenger: this.vehicleDetailForm.value.vhclSeatCapcity,\r\n registered_date: regDate,\r\n registered_place: this.vehicleDetailForm.value.regplace,\r\n trim: this.vehicleDetailForm.value.vhclTrim,\r\n chassis_no: this.vehicleDetailForm.value.chassisNum,\r\n\r\n repair_type: this.vehicleDetailForm.value.repairType,\r\n sum_insured: vehicle_value,\r\n GCCSpecified: this.vehicleDetailForm.value.vhclGCCSpecifird,\r\n vhclModified: this.vehicleDetailForm.value.vhclModified,\r\n policy_type: this.vehicleDetailForm.value.insType,\r\n ExistingCover: this.vehicleDetailForm.value.vhclTPLCoverage,\r\n policy_expire_date: this.convertDate(policy_expire_date),\r\n\r\n customer_id: \"0\",\r\n lead_id: \"0\",\r\n\r\n NCD_docs: \"No\",\r\n registration_type: vehicleType,\r\n VEHENGINESIZE: '1',\r\n modifiedVhclValue: modifyValue,\r\n SchemeCode: this.SchemeCode,\r\n source: 'B2C',\r\n promoCode: this.vehicleDetailForm.value.promo_code,\r\n //Added by Anju for mandtory check in PHP API\r\n reg_ins_exp_date: this.convertDate(new Date().setDate(new Date().getDate() + 1)),\r\n emirates_id: \"111-1111-1111111-1\",\r\n start_date: this.convertDate(new Date()),\r\n selfDecl : this.accept_self_declaration_1+\",\"+this.accept_self_declaration_2+\",\"+this.accept_self_declaration_3+\",\"+this.accept_self_declaration_4+\",\"+this.accept_self_declaration_5\r\n\r\n };\r\n\r\n\r\n\r\n\r\n this.quoteDetailArr = motorArrayQuote;\r\n\r\n this.motorQuoteService.updateQuotation(motorArrayQuote,'').subscribe(res => {\r\n this.PlanDataJson.planBenefitData.benefit_data = [];\r\n this.showHideLoader.vehicleDetail = false;\r\n this.showHideLoader.Quotation = false;\r\n this.checkStepper = false;\r\n if (res.response_code == 0) {\r\n\r\n\r\n // this.vehicleDetailForm.get('vhclTPLCoverage').setValue('');\r\n // this.vehicleDetailForm.get('vhclGCCSpecifird').setValue('');\r\n\r\n Swal.fire(\"Sorry! Plan not available.\", \" \", \"error\");\r\n\r\n stepper.previous();\r\n }\r\n\r\n else if (res.response_code == 4) {\r\n\r\n // this.vehicleDetailForm.get('vhclTPLCoverage').setValue('');\r\n // this.vehicleDetailForm.get('vhclGCCSpecifird').setValue('');\r\n\r\n // Swal.fire(\"Sorry, we could not find any suitable plan based on the data entered. Please try again or contact Fidelity United at 800 842\", \" \", \"error\");\r\n Swal.fire(\"Thank you for you request, based on your application details, the case needs to be referred for further review.\", \"An email will be sent to you shortly. If you need further assistance call us at 800-842\", \"error\");\r\n\r\n stepper.previous();\r\n }\r\n\r\n else if (res.response_code_ == 400 || res.response_code == 5) {\r\n // this.vehicleDetailForm.get('vhclTPLCoverage').setValue('');\r\n // this.vehicleDetailForm.get('vhclGCCSpecifird').setValue('');\r\n\r\n // Swal.fire(\"Sorry, an error occurred while processing your request. Kindly try again or contact Fidelity United at 800 842\", \" \", \"error\");\r\n Swal.fire(\"Thank you for you request, based on your application details, the case needs to be referred for further review.\", \"An email will be sent to you shortly. If you need further assistance call us at 800-842\", \"error\");\r\n\r\n stepper.previous();\r\n }\r\n\r\n else {\r\n\r\n // this.policyFee = this.vehicleDetailForm.value.insType.value == 200 ? 0 : 0;\r\n // this.policyFee = this.vehicleDetailForm.value.insType.value == 200 ? 51 : 1;\r\n this.policyFee = 1;\r\n this.totalVariablePremium = 0;\r\n this.PlanDataJson = res;\r\n this.totalFixPremium = 0;\r\n\r\n if(this.PlanDataJson.planBenefitData.data == [] || this.PlanDataJson.planBenefitData.benefit_data == null){\r\n Swal.fire(\"Thank you for you request, based on your application details, the case needs to be referred for further review.\", \"An email will be sent to you shortly. If you need further assistance call us at 800-842\", \"error\");\r\n stepper.previous();\r\n }\r\n\r\n this.plan_Name = this.PlanDataJson.planBenefitData.data[0].PlanName;\r\n this.plan_Id = this.PlanDataJson.planBenefitData.data[0].PlanId;\r\n this.benfPremIdArray = this.PlanDataJson.planBenefitData.data;\r\n this.webQuoteNumber = this.PlanDataJson.webQuotationNumber;\r\n this.quoteNumber = this.PlanDataJson.quotationNumber;\r\n this.minTCF = this.vehicleDetailForm.value.regplace.CityName == 'Dubai' ? 8 : 10;\r\n this.maxTCF = this.vehicleDetailForm.value.regplace.CityName == 'Dubai' ? 8 : 10;\r\n\r\n \r\n this.PlanDataJson.planBenefitData.data.forEach((item, index) => {\r\n\r\n if (item.PlanBenefitType == 'OPTIONAL' && item.MultiOptionFlag == 1) {\r\n this.mulOption = item.multipleOptionData[0];\r\n this.PlanDataJson.planBenefitData.data[index].benefitSelectedData = item.multipleOptionData[0];\r\n this.PlanDataJson.planBenefitData.data[index].multiOptID = item.multipleOptionData[0].BenefitId;\r\n this.PlanDataJson.planBenefitData.data[index].Price = item.multipleOptionData[0].Price;\r\n this.PlanDataJson.planBenefitData.data[index].checked = false;\r\n\r\n\r\n }\r\n \r\n });\r\n \r\n this.checkOptionalBenefit(this.optionalBenefit);\r\n \r\n let discount = this.PlanDataJson.thirdPartyAPIData.NcdDiscount.NcdAmnt;\r\n this.tempBenefitData = this.PlanDataJson.planBenefitData.benefit_data;\r\n this.PlanDataJson.planBenefitData.benefit_data.forEach((item, index) => {\r\n\r\n this.totalFixPremium = Number(this.totalFixPremium) + Number(item.premium);\r\n // this.PlanDataJson.planBenefitData.benefit_data[index].premium = (item.premium - item.premium * discount); comment on 26 Oct - in save quote with plan API we have to send without benefits without discount \r\n });\r\n\r\n\r\n this.tempTotalFixPremium = this.totalFixPremium;\r\n\r\n \r\n this.totalFixPremium = Math.round(this.tempTotalFixPremium - discount);\r\n this.totalFixPremium = Math.round(this.totalFixPremium + this.policyFee);\r\n this.tempTotalLoadFixPrem = this.totalFixPremium;\r\n this.VATAMT = (this.totalFixPremium + this.totalVariablePremium) * 0.05;\r\n this.Total_Primium = this.totalFixPremium + this.totalVariablePremium + this.VATAMT;\r\n\r\n if(this.accept_self_declaration_1 || this.accept_self_declaration_2 || this.accept_self_declaration_3 || this.accept_self_declaration_4 || this.accept_self_declaration_5){\r\n this.getDiscountOnSelfDeclaration();\r\n \r\n if(this.totalFixPremium==0 || this.totalFixPremium==null)\r\n this.getDiscountOnSelfDeclaration();\r\n }\r\n if(this.vehicleDetailForm.value.insType.value == '100' && this.totalFixPremium <= 900 ){\r\n \r\n Swal.fire(\"Thank you for you request, based on your application details, the case needs to be referred for ew.\", \"An email will be sent to you shortly. If you need further assistance call us at 800-842\", \"error\");\r\n stepper.previous();\r\n }\r\n\r\n if(this.vehicleDetailForm.value.insType.value == '200' && this.totalFixPremium <= 500 ){\r\n \r\n Swal.fire(\"Thank you for you request, based on your application details, the case needs to be referred for further review.\", \"An email will be sent to you shortly. If you need further assistance call us at 800-842\", \"error\");\r\n stepper.previous();\r\n }\r\n\r\n //this.VATAMT = (this.totalFixPremium + this.totalVariablePremium + this.policyFee) * 0.05;\r\n //this.Total_Primium = this.totalFixPremium + this.totalVariablePremium + this.policyFee + this.VATAMT;\r\n\r\n\r\n // if(type !=0 )\r\n // stepper.next();\r\n\r\n }\r\n\r\n });\r\n\r\n }\r\n\r\n //-------------------------------------------------- GET RETRIEVE QUOTE DATA -----------------------------------------------------------------------\r\n getRetrieveQuote(type) {\r\n this.check_chassis_No = false;\r\n if (type == 1) {\r\n if (this.retrieveQuoteForm.invalid) {\r\n this.validtnMsg.retrieveQuote = true;\r\n return false;\r\n }\r\n }\r\n if (type == 2) {\r\n this.emailID = localStorage.getItem('Insured_Email');\r\n this.code = localStorage.getItem('Insured_Code');\r\n this.mobile_No = localStorage.getItem('Insured_Mobile');\r\n }\r\n\r\n this.resetAllForms();\r\n\r\n let mob_Num = type == 2 ? this.mobile_No : this.retrieveQuoteForm.value.mob_Num;\r\n let email = type == 2 ? this.emailID : this.retrieveQuoteForm.value.email;\r\n let code = ''\r\n let web_Quote_Num = type == 2 ? this.ret_quote_num : this.retrieveQuoteForm.value.web_Quote_Num;\r\n\r\n if (type == 2) {\r\n this.showHideLoader.personalDetail = true;\r\n }\r\n\r\n this.validtnMsg.retrieveQuote = false;\r\n this.showHideLoader.retrieveQuote = true;\r\n\r\n\r\n\r\n // this.retrieveQuoteForm.get('isRetriveValidate').setValue('');\r\n\r\n this.motorQuoteService.getRetrieveQuote(web_Quote_Num, code, mob_Num, email, 'BTCPORTAL').subscribe(res => {\r\n\r\n this.showHideLoader.retrieveQuote = false;\r\n this.showHideLoader.personalDetail = false;\r\n if (res.response_code == 1) {\r\n if(res.quotationDetailsDataForCustomer[0].QuoteType==\"OCR\"){\r\n localStorage.setItem(\"retriveOCR\",'OCR');\r\n localStorage.setItem(\"retriveOCRQuote\",web_Quote_Num);\r\n localStorage.setItem(\"retriveOCRCode\",code);\r\n localStorage.setItem(\"retriveOCRmob_Num\",mob_Num);\r\n localStorage.setItem(\"retriveOCRemail\",email);\r\n this._route.navigate([\"/motoradvquote\"]);\r\n \r\n return false ;\r\n }\r\n\r\n Swal.fire(\"Your quotation has been successfully retrieved.\", \"Kindly note the premium may change based on the company pricing policy\", \"success\");\r\n\r\n // this.retrieveQuoteForm.get('isRetriveValidate').setValue('1');\r\n this.selected.setValue(0);\r\n\r\n this.getDataForEditQuoteDocs(web_Quote_Num);\r\n this.retrieveFlag = true;\r\n this.vhcleValueFlag = true;\r\n // this.webQuoteNumber = this.retrieveQuoteForm.value.web_Quote_Num;\r\n this.webQuoteNumber = web_Quote_Num;\r\n this.quoteDetailDataForCUst = res.quotationDetailsDataForCustomer;\r\n let quoteDetail = this.quoteDetailDataForCUst[0];\r\n this.quoteDetail = this.quoteDetailDataForCUst[0];\r\n this.vehicleValue = quoteDetail.SumInsured;\r\n this.optionalBenefit = quoteDetail.SelectedBenefits;\r\n this.quoteDetail.plateCode = quoteDetail.PlateCode;\r\n\r\n this.personalDetailForm.get('name').setValue(quoteDetail.InsuredName);\r\n this.personalDetailForm.get('companyName').setValue(quoteDetail.InsuranceCompanyName);\r\n this.personalDetailForm.get('dob').setValue(new Date(quoteDetail.InsuredDOB));\r\n this.personalDetailForm.get('email').setValue(quoteDetail.InsuredEmail);\r\n this.personalDetailForm.get('mobileNum').setValue(quoteDetail.InsuredMobile);\r\n this.personalDetailForm.get('drivExpInUAE').setValue(new Date(quoteDetail.ResidenceCountryLicenseAge));\r\n \r\n this.calucateAge(this.personalDetailForm.value.drivExpInUAE, 2);\r\n \r\n if(this.vehicleDetailForm.value.brandNw==1){\r\n this.vehicleDetailForm.get('vhclTPLCoverage').setValue(this.activePolicyTypeArr[1]);\r\n }else{\r\n if(quoteDetail.CurrentInsurance==\"Yes\")\r\n {\r\n this.vehicleDetailForm.get('vhclTPLCoverage').setValue(this.activePolicyTypeArr[2]);\r\n } else {\r\n this.vehicleDetailForm.get('vhclTPLCoverage').setValue(this.activePolicyTypeArr[1]);\r\n\r\n }\r\n }\r\n\r\n // if(this.vehicleDetailForm.value.brandNw!=1){\r\n // console.log(quoteDetail.FirstRegistrationDate)\r\n // this.vehicleDetailForm.get('regDate').setValue(new Date(quoteDetail.FirstRegistrationDate));\r\n // }\r\n \r\n //Vehicle own by \r\n var indexOwnBy = this.insvehibys.findIndex(function (obj, k) {\r\n return obj.value === quoteDetail.InsuredType;\r\n });\r\n let ownByVal = this.insvehibys[indexOwnBy];\r\n this.personalDetailForm.get('vhclOwnBy').setValue(ownByVal);\r\n\r\n //Mobile Code\r\n // var indexCode = this.codes.findIndex(function (obj, k) {\r\n // return obj.viewValue === quoteDetail.MobileCode;\r\n // });\r\n // let codeVal = this.codes[indexCode];\r\n // this.personalDetailForm.get('mobileCode').setValue(codeVal);\r\n\r\n //NCD\r\n var indexNCD = this.NCDData.findIndex(function (obj, k) {\r\n return obj.NCDDescription === quoteDetail.NCD;\r\n });\r\n let NCDVal = this.NCDData[indexNCD];\r\n this.personalDetailForm.get('NCD').setValue(NCDVal);\r\n\r\n //Driving Lic Country\r\n var indexLicCnty = this.countryArr.findIndex(function (obj, k) {\r\n return obj.CountryName === quoteDetail.FirstDrivingLicenseCountry;\r\n });\r\n let licContVal = this.countryArr[indexLicCnty];\r\n this.personalDetailForm.get('licIssueContry').setValue(licContVal);\r\n\r\n this.vehicleDetailForm.get('regDate').setValue(new Date(quoteDetail.FirstRegistrationDate));\r\n this.vehicleDetailForm.get('brandNw').setValue(quoteDetail.IsBrandNew);\r\n this.vehicleDetailForm.get('vhclGCCSpecifird').setValue(quoteDetail.HasGCCSpecification);\r\n this.vehicleDetailForm.get('vhclModified').setValue(quoteDetail.IsModified);\r\n this.vehicleDetailForm.get('vhclValue').setValue(this.vehicleValue);\r\n\r\n this.vehicleValueLimit.startLimit = quoteDetail.ValuationLow;\r\n this.vehicleValueLimit.endLimit = quoteDetail.ValuationHigh;\r\n this.vehicleValueLimit.isSet = true;\r\n\r\n \r\n //VEHICLE YEAR\r\n let yearVal;\r\n this.vehimodelyrs.forEach((item, index) => {\r\n if (item.label == quoteDetail.VehicleModelYear) {\r\n yearVal = item;\r\n }\r\n });\r\n this.vehicleDetailForm.get('vhclModelYr').setValue(yearVal);\r\n this.vhclModelYearVal = quoteDetail.VehicleModelYear;\r\n this.retrieveVehcleMake = quoteDetail.VehicleMake;\r\n this.getVhclMakeData(yearVal,2);\r\n \r\n //REG PLACE\r\n var indexPlace = this.cityArr.findIndex(function (obj, k) {\r\n return obj.CityName === quoteDetail.RegistrationPlace;\r\n });\r\n let placeal = this.cityArr[indexPlace];\r\n this.vehicleDetailForm.get('regplace').setValue(placeal);\r\n\r\n\r\n this.vehicleDetailForm.patchValue({ regplace: placeal });\r\n\r\n this.quoteDetail.regplace = placeal.CityName;\r\n this.getPlateCode(this.quoteDetail.regplace, 2);\r\n\r\n //Policy Type\r\n var indexInsType = this.instypes.findIndex(function (obj, k) {\r\n return obj.viewValue === quoteDetail.PolicyType;\r\n });\r\n let insVal = this.instypes[indexInsType];\r\n this.vehicleDetailForm.get('insType').setValue(insVal);\r\n\r\n //Vehicle Cylinders\r\n var indexCylinder = this.vehicylinders.findIndex(function (obj, k) {\r\n return obj.value === quoteDetail.VehicleCylinders;\r\n });\r\n let cylVal = this.vehicylinders[indexCylinder];\r\n this.vehicleDetailForm.get('vhclCylinder').setValue(cylVal);\r\n\r\n //Passenger Count\r\n var indexPasger = this.vehiseatcaps.findIndex(function (obj, k) {\r\n return obj.value == quoteDetail.PassengersCount;\r\n });\r\n\r\n\r\n let PasgerVal = this.vehiseatcaps[indexPasger];\r\n\r\n this.vehicleDetailForm.get('vhclSeatCapcity').setValue(PasgerVal);\r\n\r\n //Active Policy\r\n // var indexPol = this.activePolicyTypeArr.findIndex(function (obj, k) {\r\n // return obj.value === quoteDetail.CurrentInsurance;\r\n // });\r\n // let polVal = this.activePolicyTypeArr[indexPol];\r\n // this.vehicleDetailForm.get('vhclTPLCoverage').setValue(polVal);\r\n\r\n this.vehicleDetailForm.get('chassisNum').setValue(quoteDetail.ChassisNumber)\r\n if (this.vehicleDetailForm.value.chassisNum != '' && this.vehicleDetailForm.value.chassisNum != null ) {\r\n this.check_chassis_No = true;\r\n\r\n // this.checkChassisNo();\r\n }\r\n // return false ;\r\n \r\n // ADDITIONAL INFORMATION\r\n\r\n\r\n this.additionalDetailForm.get('emiratesID').setValue(quoteDetail.EmiratesIdNumber);\r\n this.additionalDetailForm.get('engineNum').setValue(quoteDetail.EngineNumber);\r\n this.additionalDetailForm.get('poBoxNum').setValue(quoteDetail.POBox);\r\n this.additionalDetailForm.get('plateNumber').setValue(quoteDetail.RegistrationNumber);\r\n this.additionalDetailForm.get('area').setValue(quoteDetail.Area);\r\n this.additionalDetailForm.get('TCFnum').setValue(quoteDetail.TrafficFileNo);\r\n this.additionalDetailForm.get('drivingLicense').setValue(quoteDetail.LicenceNumber);\r\n this.additionalDetailForm.get('address').setValue(quoteDetail.InsuredAddress);\r\n\r\n //Mortagage bank\r\n if(quoteDetail.Mortgage != '' || quoteDetail.Mortgage != null) { \r\n var indexBank = this.bankDetail.findIndex(function (obj, k) {\r\n return obj.InstituteName === quoteDetail.Mortgage;\r\n });\r\n let bankVal = this.bankDetail[indexBank];\r\n if(quoteDetail.Mortgage==\"Not Mortgaged\")\r\n this.additionalDetailForm.get('motgagedBankName').setValue(this.bankDetail[0]);\r\n else\r\n this.additionalDetailForm.get('motgagedBankName').setValue(bankVal);\r\n }else {\r\n this.additionalDetailForm.get('motgagedBankName').setValue('');\r\n }\r\n\r\n\r\n //Nationality\r\n var indexNationality = this.countryArr.findIndex(function (obj, k) {\r\n return obj.CountryName === quoteDetail.InsuredNationality;\r\n });\r\n let nationalVal = this.countryArr[indexNationality];\r\n this.additionalDetailForm.get('nationality').setValue(nationalVal);\r\n\r\n //Plate category\r\n var indexPlCat = this.plateCatArray.findIndex(function (obj, k) {\r\n return obj.label === quoteDetail.PlateCategory;\r\n });\r\n let plCatVal = this.plateCatArray[indexPlCat];\r\n this.additionalDetailForm.get('vhclPlateCategory').setValue(plCatVal.value);\r\n\r\n //Vehicle Color\r\n var indexColor = this.vhclColorArr.findIndex(function (obj, k) {\r\n return obj.ColorName === quoteDetail.VehicleColour;\r\n });\r\n let clrVal = this.vhclColorArr[indexColor];\r\n this.additionalDetailForm.get('vhclColor').setValue(clrVal);\r\n //Gender\r\n var indexGender = this.genders.findIndex(function (obj, k) {\r\n return obj.value === quoteDetail.InsuredGender;\r\n });\r\n let gnderVal = this.genders[indexGender];\r\n this.additionalDetailForm.get('gender').setValue(gnderVal);\r\n\r\n this.iSRetriveQuote = true;\r\n\r\n }\r\n\r\n\r\n\r\n else {\r\n // this.retrieveQuoteForm.get('isRetriveValidate').setValue('');\r\n Swal.fire('Sorry we could not find details based on entered search criteria.', 'Kindly review and try again or contact Fidelity United at 800 842 or email at info@fidelityunited.ae', 'error');\r\n this.retrieveQuoteForm.reset();\r\n this.webQuoteNumber = '';\r\n return false;\r\n }\r\n\r\n\r\n\r\n\r\n },\r\n (error) => {\r\n\r\n this.showHideLoader.retrieveQuote = false;\r\n });\r\n if(this.status_type == 1){\r\n this.personalDetailForm.get('recaptchaReactiveByUser').setValue('gT8e7ez');\r\n \r\n // if(this.status_email == 1){\r\n setTimeout(() => {\r\n console.log(this.stepper)\r\n this.insertQuote(this.stepper,1)\r\n this.showHideLoader.personalDetail =false;\r\n }, 3000);\r\n // }\r\n setTimeout(() => {\r\n this.showEmailLoader =false;\r\n console.log(this.frame)\r\n this.updateQuotation(this.stepper,1,this.frame)\r\n localStorage.setItem(\"EmailStatus\",'0');\r\n }, 7000);\r\n \r\n }\r\n\r\n\r\n\r\n }\r\n public editQuoteDocs: any; fileType: any;\r\n //---------------------------- GET DOCUMENTS DATA FOR RETRIEVE -----------------------------------------------------------//\r\n getDataForEditQuoteDocs(quoteNumber) {\r\n\r\n this.motorQuoteService.getDataForEditQuoteDoc(quoteNumber).subscribe(res => {\r\n this.editQuoteDocs = res.getDataForEditQuoteDoc;\r\n\r\n this.editQuoteDocs.forEach((item, index) => {\r\n this.fileType = item.DocFileName.split(\".\");\r\n this.fileType = this.fileType[this.fileType.length - 1];\r\n\r\n if (item.DocumentType == \"drivingLicenseFront\") {\r\n this.licFrontLoader = this.globalService.spinnerHide();\r\n this.additionalDetailForm.get('driving_License_Front').setValue('1');\r\n if (this.fileType == 'pdf') {\r\n this.additionalDetailForm.get('driving_license_BackFileType').setValue('PDF');\r\n this.additionalDetailForm.get('driving_License_FrontFilePath').setValue(this.editQuoteDocs[index].DocFilePath);\r\n }\r\n else {\r\n this.additionalDetailForm.get('driving_license_BackFileType').setValue('IMG');\r\n this.additionalDetailForm.get('driving_License_FrontFilePath').setValue(this.editQuoteDocs[index].DocFilePath);\r\n }\r\n }\r\n\r\n if (item.DocumentType == \"drivingLicenseBack\") {\r\n this.licBackLoader = this.globalService.spinnerHide();\r\n this.additionalDetailForm.get('driving_license_Back').setValue('1');\r\n if (this.fileType == 'pdf') {\r\n this.additionalDetailForm.get('driving_License_FrontFileType').setValue('PDF');\r\n this.additionalDetailForm.get('driving_license_BackFilePath').setValue(this.editQuoteDocs[index].DocFilePath);\r\n }\r\n else {\r\n this.additionalDetailForm.get('driving_License_FrontFileType').setValue('IMG');\r\n this.additionalDetailForm.get('driving_license_BackFilePath').setValue(this.editQuoteDocs[index].DocFilePath);\r\n }\r\n }\r\n\r\n if (item.DocumentType == \"RegCardFront\") {\r\n this.regFrontLoader = this.globalService.spinnerHide();\r\n this.additionalDetailForm.get('Reg_Card_Front').setValue('1');\r\n if (this.fileType == 'pdf') {\r\n this.additionalDetailForm.get('Reg_Card_FrontFileType').setValue('PDF');\r\n this.additionalDetailForm.get('Reg_Card_FrontFilePath').setValue(this.editQuoteDocs[index].DocFilePath);\r\n }\r\n else {\r\n this.additionalDetailForm.get('Reg_Card_FrontFileType').setValue('IMG');\r\n this.additionalDetailForm.get('Reg_Card_FrontFilePath').setValue(this.editQuoteDocs[index].DocFilePath);\r\n }\r\n }\r\n\r\n if (item.DocumentType == \"RegCardBack\") {\r\n this.regBackLoader = this.globalService.spinnerHide();\r\n this.additionalDetailForm.get('Reg_Card_Back').setValue('1');\r\n if (this.fileType == 'pdf') {\r\n this.additionalDetailForm.get('Reg_Card_BackFileType').setValue('PDF');\r\n this.additionalDetailForm.get('Reg_Card_BackFilePath').setValue(this.editQuoteDocs[index].DocFilePath);\r\n }\r\n else {\r\n this.additionalDetailForm.get('Reg_Card_BackFileType').setValue('IMG');\r\n this.additionalDetailForm.get('Reg_Card_BackFilePath').setValue(this.editQuoteDocs[index].DocFilePath);\r\n }\r\n }\r\n\r\n if (item.DocumentType == \"EIDFront\") {\r\n this.eidFrontLoader = this.globalService.spinnerHide();\r\n this.additionalDetailForm.get('EID_Front').setValue('1');\r\n if (this.fileType == 'pdf') {\r\n this.additionalDetailForm.get('EID_FrontFileType').setValue('PDF');\r\n this.additionalDetailForm.get('EID_FrontFilePath').setValue(this.editQuoteDocs[index].DocFilePath);\r\n }\r\n else {\r\n this.additionalDetailForm.get('EID_FrontFileType').setValue('IMG');\r\n this.additionalDetailForm.get('EID_FrontFilePath').setValue(this.editQuoteDocs[index].DocFilePath);\r\n }\r\n }\r\n\r\n if (item.DocumentType == \"EIDBack\") {\r\n this.eidBackLoader = this.globalService.spinnerHide();\r\n this.additionalDetailForm.get('EID_Back').setValue('1');\r\n if (this.fileType == 'pdf') {\r\n this.additionalDetailForm.get('EID_BackFileType').setValue('PDF');\r\n this.additionalDetailForm.get('EID_BackFilePath').setValue(this.editQuoteDocs[index].DocFilePath);\r\n }\r\n else {\r\n this.additionalDetailForm.get('EID_BackFileType').setValue('IMG');\r\n this.additionalDetailForm.get('EID_BackFilePath').setValue(this.editQuoteDocs[index].DocFilePath);\r\n }\r\n }\r\n });\r\n\r\n\r\n\r\n });\r\n\r\n }\r\n //----------------------------------------VALIDATION FOR AGE ------------------------------------------------//\r\n calucateAge(inputData, type) {\r\n\r\n let timeDiff = Math.abs(Date.now() - inputData);\r\n if (type == 1) {\r\n this.age = Math.floor((timeDiff / (1000 * 3600 * 24)) / 365.25);\r\n }\r\n\r\n if (type == 2) {\r\n this.UAELicAge = Math.floor((timeDiff / (1000 * 3600 * 24)) / 365.25);\r\n }\r\n\r\n }\r\n\r\n renewPolicyData() {\r\n\r\n if (this.policyRenewForm.invalid) {\r\n this.validtnMsg.policyRenew = true;\r\n return false;\r\n }\r\n\r\n //this.showHideLoader.policyRenew = true;\r\n\r\n\r\n }\r\n\r\n getPlateCode(regPlaceId, type) {\r\n\r\n let plateSource = this.retrieveQuoteForm.value.web_Quote_Num == '' ? regPlaceId : this.quoteDetail.regplace;\r\n\r\n if(typeof (plateSource) != undefined && typeof (plateSource) != \"undefined\" ){\r\n this.motorQuoteService.getPlateCode(this.language_code, plateSource).subscribe(res => {\r\n\r\n this.plateCodeArray = res.plateCodeData;\r\n\r\n if (type == 2 && typeof (this.plateCodeArray) != undefined && typeof (this.plateCodeArray) != \"undefined\") {\r\n //Plate COde\r\n let plateCode = this.quoteDetail.plateCode;\r\n\r\n var indexPlCode = this.plateCodeArray.findIndex(function (obj, k) {\r\n return obj.PlateCode === plateCode;\r\n });\r\n let plCodeVal = this.plateCodeArray[indexPlCode];\r\n this.additionalDetailForm.get('plateCode').setValue(plCodeVal);\r\n }\r\n });\r\n\r\n }\r\n\r\n\r\n }\r\n\r\n resetAllForms() {\r\n\r\n this.personalDetailForm.get('name').setValue('');\r\n this.personalDetailForm.get('companyName').setValue('');\r\n this.personalDetailForm.get('dob').setValue('');\r\n this.personalDetailForm.get('email').setValue('');\r\n this.personalDetailForm.get('mobileNum').setValue('');\r\n this.personalDetailForm.get('drivExpInUAE').setValue('');\r\n this.personalDetailForm.get('vhclOwnBy').setValue('');\r\n // this.personalDetailForm.get('mobileCode').setValue('');\r\n this.personalDetailForm.get('NCD').setValue('');\r\n this.personalDetailForm.get('licIssueContry').setValue('');\r\n\r\n this.vehicleDetailForm.get('vhclValue').setValue('');\r\n this.vehicleDetailForm.get('regDate').setValue('');\r\n this.vehicleDetailForm.get('brandNw').setValue('');\r\n this.vehicleDetailForm.get('vhclGCCSpecifird').setValue('');\r\n this.vehicleDetailForm.get('vhclModified').setValue('');\r\n this.vehicleDetailForm.get('vhclValue').setValue('');\r\n this.vehicleDetailForm.get('vhclMake').setValue('');\r\n this.vehicleDetailForm.get('vhclModel').setValue('');\r\n this.vehicleDetailForm.get('vhclModelYr').setValue('');\r\n this.vehicleDetailForm.get('regplace').setValue('');\r\n this.vehicleDetailForm.get('insType').setValue('');\r\n this.vehicleDetailForm.get('vhclCylinder').setValue('');\r\n this.vehicleDetailForm.get('vhclSeatCapcity').setValue('');\r\n this.vehicleDetailForm.get('vhclTPLCoverage').setValue('');\r\n\r\n }\r\n\r\n\r\n termsAndConditions(frame,type) {\r\n this.conditionType=type;\r\n if(type == 1){\r\n if (this.vehicleDetailForm.value.chassisNum == '') {\r\n\r\n this.additionalDetailForm.controls['chassisNum'].setValidators([Validators.required]);\r\n this.additionalDetailForm.controls['isChassisValidate'].setValidators([Validators.required]);\r\n }\r\n else {\r\n \r\n this.additionalDetailForm.controls['chassisNum'].setValidators(null);\r\n this.additionalDetailForm.controls['isChassisValidate'].setValidators(null);\r\n }\r\n \r\n this.additionalDetailForm.controls['chassisNum'].updateValueAndValidity();\r\n this.additionalDetailForm.controls['isChassisValidate'].updateValueAndValidity();\r\n \r\n \r\n if (this.additionalDetailForm.invalid) {\r\n \r\n this.validtnMsg.additionalDetail = true;\r\n return false;\r\n }\r\n \r\n if (this.invalidEID == true) {\r\n \r\n return;\r\n }\r\n frame.show();\r\n this.getTermsConditions();\r\n }\r\n else if( type ==2){\r\n if (this.vehicleDetailForm.value.chassisNum == '') {\r\n\r\n this.additionalDetailForm.controls['chassisNum'].setValidators([Validators.required]);\r\n this.additionalDetailForm.controls['isChassisValidate'].setValidators([Validators.required]);\r\n }\r\n else {\r\n \r\n this.additionalDetailForm.controls['chassisNum'].setValidators(null);\r\n this.additionalDetailForm.controls['isChassisValidate'].setValidators(null);\r\n }\r\n \r\n this.additionalDetailForm.controls['chassisNum'].updateValueAndValidity();\r\n this.additionalDetailForm.controls['isChassisValidate'].updateValueAndValidity();\r\n \r\n \r\n if (this.additionalDetailForm.invalid) {\r\n \r\n this.validtnMsg.additionalDetail = true;\r\n return false;\r\n }\r\n \r\n if (this.invalidEID == true) {\r\n \r\n return;\r\n }\r\n \r\n this.saveAdditionalInfo(3);\r\n \r\n\r\n }\r\n \r\n\r\n }\r\n\r\n checkTermsCond(stepper) {\r\n this.accept_terms = !this.accept_terms;\r\n\r\n }\r\n\r\n\r\n checkChassisNo() {\r\n\r\n this.check_chassis_No = !this.check_chassis_No;\r\n\r\n if (this.check_chassis_No == true) {\r\n\r\n this.vehicleDetailForm.controls['chassisNum'].setValidators([Validators.required]);\r\n this.vehicleDetailForm.controls['isChassisValidate'].setValidators([Validators.required]);\r\n }\r\n else {\r\n this.vehicleDetailForm.get('chassisNum').setValue('');\r\n this.vehicleDetailForm.controls['chassisNum'].setValidators(null);\r\n this.vehicleDetailForm.controls['isChassisValidate'].setValidators(null);\r\n }\r\n\r\n this.vehicleDetailForm.controls['chassisNum'].updateValueAndValidity();\r\n this.vehicleDetailForm.controls['isChassisValidate'].updateValueAndValidity();\r\n }\r\n nonEditableFields(type) {\r\n //this.vehicleDetailForm.value.chassisNum != null && this.vehicleDetailForm.value.vhclGCCSpecifird != null && this.vehicleDetailForm.value.vhclTrim != undefined && this.vehicleDetailForm.value.vhclBodyType != null && this.vehicleDetailForm.value.vhclCylinder != null && this.vehicleDetailForm.value.vhclSeatCapcity != null\r\n\r\n if (this.vehicleDetailForm.value.chassisNum != '' && this.vehicleDetailForm.value.isChassisValidate == 1) {\r\n let vhclMake = localStorage.getItem(\"vehcl_make\");\r\n let vhclModel = localStorage.getItem(\"vehcl_model\");\r\n let vhclModelYear = localStorage.getItem(\"vehcl_model_year\");\r\n let vhclTrim = localStorage.getItem(\"vehcl_trim\");\r\n let vhclTrimVal = localStorage.getItem(\"vehcl_trim_val\");\r\n let vhclBody = localStorage.getItem(\"vehcl_body\");\r\n let gccSpecification = localStorage.getItem(\"GCC_Specification\");\r\n\r\n\r\n if ((vhclMake != '' || vhclMake != null) && type == 1) {\r\n\r\n return true;\r\n }\r\n\r\n else if ((vhclModel != '' || vhclModel != null) && type == 2) {\r\n\r\n return true;\r\n }\r\n\r\n else if ((vhclModelYear != '' || vhclModelYear != null) && type == 3) {\r\n\r\n return true;\r\n }\r\n\r\n else if ((vhclTrim != '' || vhclTrim != null) && (vhclTrimVal == '' || vhclTrimVal == null) && type == 4) {\r\n\r\n return true;\r\n }\r\n\r\n else if ((vhclBody != '' || vhclBody != null) && type == 5) {\r\n\r\n return true;\r\n }\r\n\r\n else if ((gccSpecification != '' || gccSpecification != null) && type == 6) {\r\n\r\n return true;\r\n }\r\n\r\n else\r\n false;\r\n\r\n }\r\n\r\n // if(type == 1 && this.vehicleDetailForm.value.chassisNum != '' && this.vehicleDetailForm.value.vhclGCCSpecifird != '' && this.vehicleDetailForm.value.vhclTrim != undefined && this.vehicleDetailForm.value.vhclBodyType != '' && this.vehicleDetailForm.value.vhclCylinder != '' && this.vehicleDetailForm.value.vhclSeatCapcity != ''){\r\n // return true;\r\n // }\r\n\r\n // else{\r\n // return false;\r\n // }\r\n }\r\n callSteps(stepper, e) {\r\n\r\n // console.log(e);\r\n if (e == 1) {\r\n stepper.selectedIndex = 0;\r\n\r\n\r\n }\r\n\r\n\r\n }\r\n\r\n public showTerms :boolean = false;\r\n getTermsConditions(){\r\n\r\n this.showTerms = true;\r\n this.motorQuoteService.getTermsConditions('B2C').subscribe(res =>{\r\n if(res.response_code == 1){\r\n this.showTerms = false;\r\n this.termsAndCondition = res.termsAndCondition;\r\n }\r\n \r\n });\r\n }\r\n\r\n togglefloating(){\r\n this.showFloating=!this.showFloating;\r\n this.showFloatingcloseicon=!this.showFloatingcloseicon;\r\n this.showFloatingopenicon=!this.showFloatingopenicon;\r\n }\r\n togglepremiumfloating(){\r\n this.showpremiumFloating=!this.showpremiumFloating;\r\n this.premiumcloseicon=!this.premiumcloseicon;\r\n this.premiumopenicon=!this.premiumopenicon;\r\n}\r\n checkSelfDeclarationCondition(type,event){\r\n if(type == 1){\r\n this.accept_self_declaration_1 = event.checked;\r\n }\r\n\r\n if(type == 2){\r\n this.accept_self_declaration_2 = event.checked;\r\n }\r\n\r\n if(type == 3){\r\n this.accept_self_declaration_3 = event.checked;\r\n } \r\n\r\n if(type == 4){\r\n this.accept_self_declaration_4 = event.checked;\r\n } \r\n \r\n if(type == 5){\r\n this.accept_self_declaration_5 = event.checked;\r\n }\r\n \r\n \r\n }\r\n\r\n continueOnSelfDeclarion(stepper,type, frame){\r\n if(this.webQuoteNumber == ''){\r\n this.getQuotation(stepper,1, frame);\r\n }else{\r\n this.updateQuotation(stepper,1, frame);\r\n }\r\n }\r\n //Added by Anju for Get Quote flow without decalaration\r\n continueOnCreateQuotation(stepper) {\r\n if (this.webQuoteNumber == '') {\r\n this.getQuotation(stepper, 1, '');\r\n } else {\r\n this.updateQuotation(stepper, 1, '');\r\n }\r\n }\r\n // openSelfDeclartnModal(frame){\r\n // frame.show();\r\n // }\r\n\r\n selfDeclarationDiscount:number;\r\n\r\n getDiscountOnSelfDeclaration(){\r\n this.motorQuoteService.getDiscountOnSelfDeclaration(this.webQuoteNumber,'MT').subscribe(res =>{\r\n\r\n // console.log(\"-----\");\r\n this.selfDeclarationDiscount = res.PromoDiscount;\r\n // console.log(this.selfDeclarationDiscount);\r\n this.specialDiscountAmt = res.SpecialDiscount ;\r\n // this.specialDiscount();\r\n // console.log(\"-------\");\r\n // console.log(this.selfDeclarationDiscount);\r\n const copy = JSON.parse(JSON.stringify(this.tempBenefitData));\r\n \r\n let base_Primium = copy;\r\n let discountAmt = 0;\r\n this.PlanDataJson.planBenefitData.benefit_data = this.tempBenefitData;\r\n this.totalFixPremium = this.tempTotalLoadFixPrem;\r\n // console.log(this.totalFixPremium);\r\n let discount:number = Number(this.PlanDataJson.thirdPartyAPIData.NcdDiscount.NcdAmnt);\r\n let policyFee:number = 0 ;\r\n // console.log(discount);\r\n this.tempBenefitData.forEach((item, index) => {\r\n if (this.vehicleDetailForm.value.insType.value == 200 && item.Code == '40099') {\r\n //get policy fee\r\n policyFee = item.premium ;\r\n }\r\n });\r\n \r\n this.tempBenefitData.forEach((item, index) => {\r\n \r\n // FOR COMPRENSIVE\r\n if (this.vehicleDetailForm.value.insType.value == 100 && item.Code == '40001') {\r\n \r\n let newBasePremium = this.totalFixPremium;\r\n \r\n \r\n discountAmt = Math.round(((this.selfDeclarationDiscount * Number(newBasePremium)) / 100)); //FOR BY PERCENT\r\n // console.log(discountAmt);\r\n \r\n let totalPrem:number = 0 ;\r\n totalPrem += newBasePremium;\r\n totalPrem += discount ;\r\n totalPrem -= discountAmt;\r\n \r\n if(Number(base_Primium[1].premium) > Number(base_Primium[0].premium)){ \r\n totalPrem -= parseInt(base_Primium[0].premium); \r\n }else{\r\n totalPrem -= parseInt(base_Primium[1].premium);\r\n }\r\n \r\n this.PlanDataJson.planBenefitData.benefit_data[index].premium = totalPrem;\r\n \r\n }\r\n \r\n // FOR TPL\r\n if (this.vehicleDetailForm.value.insType.value == 200 && item.Code == '40002') {\r\n \r\n let newBasePremium = this.totalFixPremium;\r\n \r\n \r\n discountAmt = Math.round(((this.selfDeclarationDiscount * Number(newBasePremium)) / 100)); //FOR BY PERCENT\r\n // console.log(discountAmt);discountAmt\r\n let totalPrem:number = 0 ;\r\n \r\n if(this.PlanDataJson.planBenefitData.benefit_data[index].Code == 40002){\r\n totalPrem = parseInt(base_Primium[index].premium) - discountAmt; \r\n }\r\n \r\n this.PlanDataJson.planBenefitData.benefit_data[index].premium = totalPrem;\r\n \r\n \r\n }\r\n \r\n });\r\n \r\n this.totalFixPremium = Math.round(Number(this.totalFixPremium) - Number(discountAmt) - Number(this.specialDiscountAmt));\r\n \r\n this.VATAMT = (this.totalFixPremium + this.totalVariablePremium) * 0.05;\r\n this.Total_Primium = Number(this.totalFixPremium) + Number(this.totalVariablePremium) + Number(this.VATAMT);\r\n this.tempBenefitData = copy ;\r\n });\r\n }\r\n\r\n getSelfDeclarartionData(){\r\n this.motorQuoteService.getSelfDeclarartionData().subscribe(res =>{\r\n\r\n });\r\n }\r\n\r\n// specialDiscount(){\r\n// this.motorQuoteService.getSpecialDiscount().subscribe(res =>{\r\n// if(res.response_code == 1){\r\n// this.specialDiscountAmt = res.special_discount;\r\n// }\r\n// });\r\n// }\r\n// ------------FUNCTION FOR SEND PAYMENT LINK---------------------\r\nsendPaymentLink()\r\n{\r\n this.motorQuoteService.sendPaymentLink(this.webQuoteNumber,'MT','B2C',this.personalDetailForm.value.email).subscribe(res =>{\r\n this._route.navigate([\"/motorquote\"]);\r\n Swal.fire(\"\", \"Thank you for choosing Fidelity United for insuring your car. We have sent an email to your registered email with a payment link\", 'success');\r\n\r\n });\r\n}\r\n\r\n\r\n// ---------------------------------------------Captcha Code---------------------------------------------------\r\nCaptcha(){\r\n var alpha = new Array('A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z',\r\n 'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z', \r\n '0','1','2','3','4','5','6','7','8','9');\r\n var i;\r\n for (i=0;i<6;i++){\r\n var a = alpha[Math.floor(Math.random() * alpha.length)];\r\n var b = alpha[Math.floor(Math.random() * alpha.length)];\r\n var c = alpha[Math.floor(Math.random() * alpha.length)];\r\n var d = alpha[Math.floor(Math.random() * alpha.length)];\r\n var e = alpha[Math.floor(Math.random() * alpha.length)];\r\n var f = alpha[Math.floor(Math.random() * alpha.length)];\r\n var g = alpha[Math.floor(Math.random() * alpha.length)];\r\n }\r\n var code = a + ' ' + b + ' ' + ' ' + c + ' ' + d + ' ' + e + ' '+ f + ' ' + g;\r\n // document.getElementById(\"mainCaptcha\").innerHTML = code;\r\n console.log(code)\r\n console.log( this.personalDetailForm)\r\n this.personalDetailForm.get('recaptchaReactive').setValue(code);\r\n this.personalDetailForm.get('recaptchaReactiveByUser').setValue('');\r\n \r\n // document.getElementById(\"mainCaptcha\").value = code\r\n }\r\n\r\n removeSpaces(string){\r\n return string.split(' ').join('');\r\n }\r\n\r\n ValidCaptcha(){\r\n \r\n var string1 = this.removeSpaces(this.personalDetailForm.value.recaptchaReactive);\r\n var string2 = this.removeSpaces(this.personalDetailForm.value.recaptchaReactiveByUser);\r\n if (string1 == string2){\r\n this.captchaValidation=false;\r\n this.captchasucess=true;\r\n // alert(this.Msg);\r\n this.Msg=\"You have Entered Valid Captcha\";\r\n console.log(this.Msg)\r\n return true;\r\n \r\n }else{ \r\n this.captchaValidation=true;\r\n this.captchasucess=false;\r\n // alert(this.Msg); \r\n this.Msg=\"Please Enter Valid Captcha !\" ; \r\n console.log(this.Msg) \r\n return false;\r\n }\r\n \r\n}\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { OcrmainComponent } from './ocrmain.component';\r\nimport { WithocrComponent } from './withocr/withocr.component';\r\nimport { WithoutocrComponent } from './withoutocr/withoutocr.component';\r\n\r\nconst routes: Routes = [ \r\n\r\n\r\n {\r\n path: 'motoradvquote',\r\n component: OcrmainComponent,\r\n },\r\n {\r\n path: 'motoradvquote/:quoteNum/:emailId/:mobileNo',\r\n component: OcrmainComponent,\r\n },\r\n\r\n {\r\n path: 'withoutocr',\r\n component: OcrmainComponent,\r\n },\r\n\r\n\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class OcrmainRoutingModule { }\r\n","export default \".bg-ocr {\\n background-image: url('homebg.jpg');\\n background-size: cover;\\n background-position: center;\\n background-repeat: no-repeat;\\n position: fixed;\\n top: 0;\\n width: 100%;\\n height: 100%;\\n}\\n\\n.centr-card {\\n position: absolute;\\n top: 50%;\\n left: 50%;\\n transform: translate(-50%, -50%);\\n}\\n\\n.act-icon span {\\n color: #7373b4 !important;\\n font-size: 12px;\\n vertical-align: middle;\\n}\\n\\n.act-title {\\n color: #1b3b71 !important;\\n font-size: 15px;\\n font-weight: 500;\\n padding-top: 3px;\\n margin-bottom: 10px;\\n}\\n\\n.nw-card {\\n padding: 35px 35px;\\n width: 90%;\\n margin: auto;\\n}\\n\\n.bl-head h3 {\\n color: #fff !important;\\n font-weight: bold !important;\\n margin-bottom: 25px;\\n text-align: center;\\n}\\n\\n.sub-para {\\n text-align: justify;\\n padding: 20px 0px;\\n color: gray;\\n text-transform: capitalize;\\n font-size: 14px;\\n font-weight: 500;\\n}\\n\\n.or {\\n border-left: 1px solid #dbdbdb;\\n height: 100%;\\n position: absolute;\\n left: 50%;\\n}\\n\\n.or span {\\n color: #1b3b71;\\n font-weight: 500;\\n position: absolute;\\n z-index: 10;\\n top: 47%;\\n left: 50%;\\n margin: 0;\\n padding: 0;\\n width: auto;\\n text-align: center;\\n text-transform: uppercase;\\n transform: translateX(-50%);\\n background: white;\\n height: 25px;\\n}\\n\\n.p-0 {\\n padding: 0px !important;\\n}\\n\\n.p-35 {\\n padding: 35px 35px;\\n}\\n\\n.doc-lable {\\n display: flex;\\n margin: 10px 0px;\\n}\\n\\n.ch-lble {\\n font-size: 15px;\\n font-weight: bold;\\n color: #1f3e7b;\\n margin: 0px 0px 15px 0px !important;\\n}\\n\\n.doc-lable h4 {\\n margin: 0px 5px !important;\\n}\\n\\n.get-btn {\\n border-top: 1px solid #e3e3e3;\\n padding-top: 1em;\\n}\\n\\n@media only screen and (max-width: 767px) {\\n .or span {\\n height: 23px;\\n width: 35px;\\n margin-top: -10px;\\n }\\n\\n .or {\\n border-bottom: 1px solid #dbdbdb;\\n width: 100%;\\n position: absolute;\\n left: 0%;\\n top: 37px;\\n }\\n\\n .get-btn {\\n border-top: 0;\\n padding-top: 1em;\\n }\\n\\n .centr-card {\\n position: absolute;\\n top: 62% !important;\\n left: 50%;\\n transform: translate(-50%, -50%);\\n }\\n\\n .custombtncss {\\n box-shadow: none !important;\\n }\\n}\\n\\n@media only screen and (min-width: 411px) and (max-width: 731px) {\\n .centr-card {\\n position: absolute;\\n top: 55% !important;\\n left: 50%;\\n transform: translate(-50%, -50%);\\n }\\n\\n .custombtncss {\\n box-shadow: none !important;\\n }\\n}\\n\\n@media only screen and (min-device-width: 375px) and (max-device-height: 812px) and (-webkit-device-pixel-ratio: 3) {\\n .centr-card {\\n position: absolute;\\n top: 55% !important;\\n left: 50%;\\n transform: translate(-50%, -50%);\\n }\\n\\n .custombtncss {\\n box-shadow: none !important;\\n }\\n}\\n\\n@media only screen and (max-width: 600px) {\\n .custombtncss {\\n box-shadow: none !important;\\n }\\n\\n .centr-card .card .card-header .card-title {\\n font-size: 14px;\\n }\\n\\n .bg-ocr {\\n overflow: scroll;\\n }\\n\\n .rs-screen {\\n height: 100px;\\n padding-top: 60px;\\n }\\n\\n .doc-lable {\\n margin: 5px 0px !important;\\n }\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvb2NybWFpbi9DOlxcVXNlcnNcXGFuanUudmlzd2FuYXRoXFxzb3VyY2VcXHJlcG9zXFxCMkNQb3J0YWxfQnJhbmNoZXNcXFByb2Qvc3JjXFxhcHBcXG9jcm1haW5cXG9jcm1haW4uY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL29jcm1haW4vb2NybWFpbi5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQTtFQUNFLG1DQUFBO0VBQ0Esc0JBQUE7RUFDQSwyQkFBQTtFQUNBLDRCQUFBO0VBQ0EsZUFBQTtFQUNBLE1BQUE7RUFDQSxXQUFBO0VBQ0EsWUFBQTtBQ0FGOztBREdBO0VBQ0Usa0JBQUE7RUFDQSxRQUFBO0VBQ0EsU0FBQTtFQUVBLGdDQUFBO0FDQUY7O0FER0E7RUFDRSx5QkFBQTtFQUNBLGVBQUE7RUFDQSxzQkFBQTtBQ0FGOztBREVBO0VBQ0kseUJBQUE7RUFDQSxlQUFBO0VBQ0EsZ0JBQUE7RUFDQSxnQkFBQTtFQUNBLG1CQUFBO0FDQ0o7O0FER0E7RUFFSSxrQkFBQTtFQUNBLFVBQUE7RUFDQSxZQUFBO0FDREo7O0FER0E7RUFDSSxzQkFBQTtFQUNBLDRCQUFBO0VBQ0EsbUJBQUE7RUFDQSxrQkFBQTtBQ0FKOztBREVBO0VBQ0ksbUJBQUE7RUFDQSxpQkFBQTtFQUNBLFdBQUE7RUFDQSwwQkFBQTtFQUNBLGVBQUE7RUFDQSxnQkFBQTtBQ0NKOztBRENBO0VBQ0ksOEJBQUE7RUFDQSxZQUFBO0VBQ0Esa0JBQUE7RUFDQSxTQUFBO0FDRUo7O0FEQUE7RUFDSSxjQUFBO0VBQ0EsZ0JBQUE7RUFDQSxrQkFBQTtFQUNBLFdBQUE7RUFDQSxRQUFBO0VBQ0EsU0FBQTtFQUNBLFNBQUE7RUFDQSxVQUFBO0VBQ0EsV0FBQTtFQUNBLGtCQUFBO0VBQ0EseUJBQUE7RUFDQSwyQkFBQTtFQUNBLGlCQUFBO0VBQ0EsWUFBQTtBQ0dKOztBRERBO0VBQ0UsdUJBQUE7QUNJRjs7QURGQTtFQUNFLGtCQUFBO0FDS0Y7O0FESEE7RUFDRSxhQUFBO0VBQ0EsZ0JBQUE7QUNNRjs7QURKQTtFQUNFLGVBQUE7RUFDQSxpQkFBQTtFQUNBLGNBQUE7RUFDQSxtQ0FBQTtBQ09GOztBRExBO0VBQ0UsMEJBQUE7QUNRRjs7QUROQTtFQUNFLDZCQUFBO0VBQ0EsZ0JBQUE7QUNTRjs7QURMQTtFQUNFO0lBQ0UsWUFBQTtJQUNBLFdBQUE7SUFDQSxpQkFBQTtFQ1FGOztFRE5BO0lBQ0UsZ0NBQUE7SUFDQSxXQUFBO0lBQ0Esa0JBQUE7SUFDQSxRQUFBO0lBQ0EsU0FBQTtFQ1NGOztFRFBBO0lBQ0UsYUFBQTtJQUNBLGdCQUFBO0VDVUY7O0VEUkY7SUFDRSxrQkFBQTtJQUNBLG1CQUFBO0lBQ0EsU0FBQTtJQUVBLGdDQUFBO0VDV0E7O0VEVEY7SUFDRSwyQkFBQTtFQ1lBO0FBQ0Y7O0FEUkE7RUFDRTtJQUNFLGtCQUFBO0lBQ0EsbUJBQUE7SUFDQSxTQUFBO0lBRUEsZ0NBQUE7RUNVRjs7RURSQTtJQUNFLDJCQUFBO0VDV0Y7QUFDRjs7QURUQTtFQUNFO0lBQ0Usa0JBQUE7SUFDQSxtQkFBQTtJQUNBLFNBQUE7SUFFQSxnQ0FBQTtFQ1dGOztFRFRBO0lBQ0UsMkJBQUE7RUNZRjtBQUNGOztBRFZBO0VBQ0U7SUFDRSwyQkFBQTtFQ1lGOztFRFZBO0lBQ0UsZUFBQTtFQ2FGOztFRFhBO0lBQ0UsZ0JBQUE7RUNjRjs7RURaQTtJQUNFLGFBQUE7SUFDQSxpQkFBQTtFQ2VGOztFRGJBO0lBQ0UsMEJBQUE7RUNnQkY7QUFDRiIsImZpbGUiOiJzcmMvYXBwL29jcm1haW4vb2NybWFpbi5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIlxyXG4uYmctb2Nye1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImFzc2V0cy9pbWcvaG9tZWJnLmpwZ1wiKTtcclxuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjsgXHJcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgXHJcbiAgcG9zaXRpb246IGZpeGVkO1xyXG4gIHRvcDogMDtcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDEwMCU7IFxyXG59XHJcblxyXG4uY2VudHItY2FyZHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiA1MCU7XHJcbiAgbGVmdDogNTAlO1xyXG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxufVxyXG5cclxuLmFjdC1pY29uIHNwYW57XHJcbiAgY29sb3I6ICM3MzczYjQgIWltcG9ydGFudDtcclxuICBmb250LXNpemU6IDEycHg7XHJcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxufVxyXG4uYWN0LXRpdGxle1xyXG4gICAgY29sb3I6ICMxYjNiNzEhaW1wb3J0YW50O1xyXG4gICAgZm9udC1zaXplOiAxNXB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgIHBhZGRpbmctdG9wOiAzcHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgLy8gbWFyZ2luLXRvcDogMjFweDtcclxuXHJcbn1cclxuLm53LWNhcmR7XHJcbiAgICAvL2JvcmRlcjogMXB4IHNvbGlkICMxYjNiNzE7XHJcbiAgICBwYWRkaW5nOiAzNXB4IDM1cHg7XHJcbiAgICB3aWR0aDogOTAlO1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG59XHJcbi5ibC1oZWFkIGgze1xyXG4gICAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkIWltcG9ydGFudDtcclxuICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuLnN1Yi1wYXJhe1xyXG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTtcclxuICAgIHBhZGRpbmc6IDIwcHggMHB4O1xyXG4gICAgY29sb3I6IGdyYXk7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbn1cclxuLm9ye1xyXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCNkYmRiZGI7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBsZWZ0OiA1MCU7XHJcbn1cclxuLm9yIHNwYW57XHJcbiAgICBjb2xvcjogIzFiM2I3MTtcclxuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB6LWluZGV4OiAxMDtcclxuICAgIHRvcDogNDclO1xyXG4gICAgbGVmdDogNTAlO1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xyXG4gICAgaGVpZ2h0OiAyNXB4O1xyXG59XHJcbi5wLTB7XHJcbiAgcGFkZGluZzogMHB4IWltcG9ydGFudDtcclxufVxyXG4ucC0zNXtcclxuICBwYWRkaW5nOiAzNXB4IDM1cHg7XHJcbn1cclxuLmRvYy1sYWJsZXtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIG1hcmdpbjogMTBweCAwcHg7XHJcbn1cclxuLmNoLWxibGV7XHJcbiAgZm9udC1zaXplOiAxNXB4O1xyXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gIGNvbG9yOiAjMWYzZTdiO1xyXG4gIG1hcmdpbjogMHB4IDBweCAxNXB4IDBweCFpbXBvcnRhbnQ7XHJcbn1cclxuLmRvYy1sYWJsZSBoNHtcclxuICBtYXJnaW46IDBweCA1cHghaW1wb3J0YW50O1xyXG59XHJcbi5nZXQtYnRue1xyXG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTNlM2UzO1xyXG4gIHBhZGRpbmctdG9wOiAxZW07XHJcbn1cclxuXHJcblxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XHJcbiAgLm9yIHNwYW57XHJcbiAgICBoZWlnaHQ6IDIzcHg7XHJcbiAgICB3aWR0aDogMzVweDtcclxuICAgIG1hcmdpbi10b3A6IC0xMHB4O1xyXG4gIH1cclxuICAub3J7XHJcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RiZGJkYjtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgbGVmdDogMCU7XHJcbiAgICB0b3A6IDM3cHg7XHJcbiAgfVxyXG4gIC5nZXQtYnRue1xyXG4gICAgYm9yZGVyLXRvcDogMDtcclxuICAgIHBhZGRpbmctdG9wOiAxZW07XHJcbn1cclxuLmNlbnRyLWNhcmR7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogNjIlIWltcG9ydGFudDtcclxuICBsZWZ0OiA1MCU7XHJcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG59XHJcbi5jdXN0b21idG5jc3N7XHJcbiAgYm94LXNoYWRvdzogbm9uZSFpbXBvcnRhbnQ7XHJcbn1cclxufVxyXG5cclxuXHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDExcHgpIGFuZCAobWF4LXdpZHRoOiA3MzFweCkge1xyXG4gIC5jZW50ci1jYXJke1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiA1NSUhaW1wb3J0YW50O1xyXG4gICAgbGVmdDogNTAlO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgfVxyXG4gIC5jdXN0b21idG5jc3N7XHJcbiAgICBib3gtc2hhZG93OiBub25lIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLWRldmljZS13aWR0aDogMzc1cHgpIGFuZCAobWF4LWRldmljZS1oZWlnaHQ6IDgxMnB4KSBhbmQgKC13ZWJraXQtZGV2aWNlLXBpeGVsLXJhdGlvOiAzKSB7XHJcbiAgLmNlbnRyLWNhcmR7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDU1JSFpbXBvcnRhbnQ7XHJcbiAgICBsZWZ0OiA1MCU7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICB9XHJcbiAgLmN1c3RvbWJ0bmNzc3tcclxuICAgIGJveC1zaGFkb3c6IG5vbmUhaW1wb3J0YW50O1xyXG4gIH1cclxuIH1cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xyXG4gIC5jdXN0b21idG5jc3N7XHJcbiAgICBib3gtc2hhZG93OiBub25lIWltcG9ydGFudDtcclxuICB9XHJcbiAgLmNlbnRyLWNhcmQgLmNhcmQgLmNhcmQtaGVhZGVyIC5jYXJkLXRpdGxlIHtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICB9XHJcbiAgLmJnLW9jcntcclxuICAgIG92ZXJmbG93OiBzY3JvbGw7XHJcbiAgfVxyXG4gIC5ycy1zY3JlZW57XHJcbiAgICBoZWlnaHQ6IDEwMHB4O1xyXG4gICAgcGFkZGluZy10b3A6IDYwcHg7XHJcbiAgfVxyXG4gIC5kb2MtbGFibGUge1xyXG4gICAgbWFyZ2luOiA1cHggMHB4IWltcG9ydGFudDtcclxufVxyXG59XHJcblxyXG5cclxuXHJcblxyXG4iLCIuYmctb2NyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiYXNzZXRzL2ltZy9ob21lYmcuanBnXCIpO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4uY2VudHItY2FyZCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbn1cblxuLmFjdC1pY29uIHNwYW4ge1xuICBjb2xvcjogIzczNzNiNCAhaW1wb3J0YW50O1xuICBmb250LXNpemU6IDEycHg7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi5hY3QtdGl0bGUge1xuICBjb2xvcjogIzFiM2I3MSAhaW1wb3J0YW50O1xuICBmb250LXNpemU6IDE1cHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIHBhZGRpbmctdG9wOiAzcHg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5cbi5udy1jYXJkIHtcbiAgcGFkZGluZzogMzVweCAzNXB4O1xuICB3aWR0aDogOTAlO1xuICBtYXJnaW46IGF1dG87XG59XG5cbi5ibC1oZWFkIGgzIHtcbiAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQgIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uc3ViLXBhcmEge1xuICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xuICBwYWRkaW5nOiAyMHB4IDBweDtcbiAgY29sb3I6IGdyYXk7XG4gIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi5vciB7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2RiZGJkYjtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbn1cblxuLm9yIHNwYW4ge1xuICBjb2xvcjogIzFiM2I3MTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMDtcbiAgdG9wOiA0NyU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICB3aWR0aDogYXV0bztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIGJhY2tncm91bmQ6IHdoaXRlO1xuICBoZWlnaHQ6IDI1cHg7XG59XG5cbi5wLTAge1xuICBwYWRkaW5nOiAwcHggIWltcG9ydGFudDtcbn1cblxuLnAtMzUge1xuICBwYWRkaW5nOiAzNXB4IDM1cHg7XG59XG5cbi5kb2MtbGFibGUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW46IDEwcHggMHB4O1xufVxuXG4uY2gtbGJsZSB7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAjMWYzZTdiO1xuICBtYXJnaW46IDBweCAwcHggMTVweCAwcHggIWltcG9ydGFudDtcbn1cblxuLmRvYy1sYWJsZSBoNCB7XG4gIG1hcmdpbjogMHB4IDVweCAhaW1wb3J0YW50O1xufVxuXG4uZ2V0LWJ0biB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTNlM2UzO1xuICBwYWRkaW5nLXRvcDogMWVtO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5vciBzcGFuIHtcbiAgICBoZWlnaHQ6IDIzcHg7XG4gICAgd2lkdGg6IDM1cHg7XG4gICAgbWFyZ2luLXRvcDogLTEwcHg7XG4gIH1cblxuICAub3Ige1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGJkYmRiO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwJTtcbiAgICB0b3A6IDM3cHg7XG4gIH1cblxuICAuZ2V0LWJ0biB7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgICBwYWRkaW5nLXRvcDogMWVtO1xuICB9XG5cbiAgLmNlbnRyLWNhcmQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDYyJSAhaW1wb3J0YW50O1xuICAgIGxlZnQ6IDUwJTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIH1cblxuICAuY3VzdG9tYnRuY3NzIHtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDExcHgpIGFuZCAobWF4LXdpZHRoOiA3MzFweCkge1xuICAuY2VudHItY2FyZCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTUlICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogNTAlO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgfVxuXG4gIC5jdXN0b21idG5jc3Mge1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLWRldmljZS13aWR0aDogMzc1cHgpIGFuZCAobWF4LWRldmljZS1oZWlnaHQ6IDgxMnB4KSBhbmQgKC13ZWJraXQtZGV2aWNlLXBpeGVsLXJhdGlvOiAzKSB7XG4gIC5jZW50ci1jYXJkIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1NSUgIWltcG9ydGFudDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICB9XG5cbiAgLmN1c3RvbWJ0bmNzcyB7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gIC5jdXN0b21idG5jc3Mge1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5jZW50ci1jYXJkIC5jYXJkIC5jYXJkLWhlYWRlciAuY2FyZC10aXRsZSB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICB9XG5cbiAgLmJnLW9jciB7XG4gICAgb3ZlcmZsb3c6IHNjcm9sbDtcbiAgfVxuXG4gIC5ycy1zY3JlZW4ge1xuICAgIGhlaWdodDogMTAwcHg7XG4gICAgcGFkZGluZy10b3A6IDYwcHg7XG4gIH1cblxuICAuZG9jLWxhYmxlIHtcbiAgICBtYXJnaW46IDVweCAwcHggIWltcG9ydGFudDtcbiAgfVxufSJdfQ== */\"","import { Component, OnInit } from '@angular/core';\r\nimport { Router,ActivatedRoute } from '@angular/router';\r\n\r\n\r\n@Component({\r\n selector: 'app-ocrmain',\r\n templateUrl: './ocrmain.component.html',\r\n styleUrls: ['./ocrmain.component.scss']\r\n})\r\nexport class OcrmainComponent implements OnInit {\r\n\r\n constructor(public _route: Router,private route: ActivatedRoute) { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n\r\n withocr(){\r\n this._route.navigateByUrl('/MTOCR');\r\n }\r\n\r\n // withoutocr(){\r\n // this._route.navigateByUrl('/motorquote');\r\n // }\r\n\r\n\r\n\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { OcrmainRoutingModule } from './ocrmain-routing.module';\r\nimport { OcrmainComponent } from './ocrmain.component';\r\nimport { WithocrComponent } from './withocr/withocr.component';\r\nimport { WithoutocrComponent } from './withoutocr/withoutocr.component';\r\nimport {MaterialuiModule} from '../materialui/materialui.module';\r\nimport { MDBBootstrapModule } from 'angular-bootstrap-md';\r\n\r\nimport { NgxMatSelectSearchModule } from 'ngx-mat-select-search';\r\nimport { ComponentsModule } from 'app/components/components.module';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\n\r\n@NgModule({\r\n declarations: [OcrmainComponent, WithocrComponent, WithoutocrComponent],\r\n imports: [\r\n CommonModule,\r\n OcrmainRoutingModule,\r\n MaterialuiModule,\r\n MDBBootstrapModule,\r\n NgxMatSelectSearchModule,\r\n ComponentsModule,\r\n ReactiveFormsModule,\r\n ]\r\n})\r\nexport class OcrmainModule { }\r\n","export default \".maxauto60 {\\n width: 60%;\\n margin: auto;\\n}\\n\\n@media only screen and (max-width: 600px) {\\n .maxauto60 {\\n width: 100% !important;\\n margin: auto;\\n }\\n\\n .wrapper-policy .card .card-body {\\n padding: 0 !important;\\n }\\n\\n .restextleft {\\n text-align: left !important;\\n }\\n\\n .customresposition {\\n position: absolute;\\n margin-top: 45px;\\n left: 32px;\\n }\\n\\n .resposimat {\\n position: relative;\\n left: 20px;\\n width: 260px;\\n }\\n\\n .resticmat {\\n position: absolute;\\n top: 7px;\\n }\\n\\n .mar85res {\\n margin-top: 54px !important;\\n }\\n\\n .btnres .custombtncss {\\n width: 45%;\\n margin: 10px 0;\\n }\\n\\n .imgcss {\\n width: 35px;\\n margin-top: 5px;\\n margin-bottom: 10px;\\n }\\n\\n .imgsze {\\n width: 30px !important;\\n }\\n\\n .boxheader {\\n height: 35px !important;\\n background: #fff !important;\\n }\\n\\n .imgmobile {\\n position: absolute;\\n top: -35px;\\n left: 181px;\\n margin: 0px;\\n z-index: 1;\\n }\\n\\n .reupload .custom-file {\\n width: 135px !important;\\n }\\n\\n .res-wocr {\\n padding-top: 120px !important;\\n }\\n\\n .res-btn {\\n margin: 15px;\\n }\\n\\n .progressBarbg::before {\\n content: \\\"\\\";\\n background-image: url('clock.png');\\n background-size: contain;\\n position: absolute;\\n background-repeat: no-repeat;\\n top: 25%;\\n right: 22% !important;\\n bottom: 0px;\\n left: 22% !important;\\n opacity: 0.2;\\n }\\n}\\n\\n@media only screen and (device-width: 767px) {\\n .reupload .custom-file {\\n width: 90px !important;\\n }\\n\\n .imgcss {\\n width: 50px !important;\\n overflow: hidden;\\n }\\n}\\n\\n@media only screen and (min-device-width: 481px) and (max-device-width: 1024px) and (orientation: portrait) {\\n .reupload .custom-file {\\n width: 90px !important;\\n }\\n\\n .imgcss {\\n width: 50px !important;\\n overflow: hidden;\\n }\\n}\\n\\n@media only screen and (min-device-width: 481px) and (max-device-width: 1024px) and (orientation: landscape) {\\n .reupload .custom-file {\\n width: 90px !important;\\n }\\n\\n .imgcss {\\n width: 50px !important;\\n overflow: hidden;\\n }\\n}\\n\\n.custom-file-label::after {\\n display: none !important;\\n}\\n\\n.custom-file.customfilecss {\\n border-bottom: 1px solid #1f3e7b;\\n border-radius: 10px;\\n background-image: linear-gradient(45deg, #1f3e7b, #7373b4);\\n z-index: 0;\\n}\\n\\n.alldocimg .material-icons {\\n font-size: 12px;\\n position: absolute;\\n top: -3px;\\n left: 10px;\\n z-index: 99999999;\\n color: red;\\n background: #fff;\\n box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;\\n border-radius: 50%;\\n border: 1px solid;\\n text-align: center;\\n cursor: pointer;\\n}\\n\\n.reupload .custom-file {\\n width: 150px;\\n height: 30px;\\n text-align: center;\\n}\\n\\n.custom-file-input {\\n cursor: pointer;\\n}\\n\\n.custom-file-input {\\n position: relative;\\n z-index: 2;\\n width: 100%;\\n height: calc(1.5em + .875rem + 2px);\\n margin: 0;\\n opacity: 0;\\n}\\n\\n.custom-file-label {\\n color: #fff !important;\\n font-size: 12px;\\n z-index: 0 !important;\\n}\\n\\n.boxheader {\\n background: #f9f9f9;\\n color: #7373b4;\\n font-weight: bold;\\n font-size: 14px;\\n height: 60px;\\n}\\n\\n.v-align {\\n align-items: baseline !important;\\n}\\n\\n.p-10 {\\n padding: 10px;\\n}\\n\\n.icontimeline .material-icons {\\n font-size: 35px;\\n background: -webkit-linear-gradient(#1f3e7b, #686cac);\\n -webkit-text-fill-color: transparent;\\n}\\n\\n.removephotocss {\\n position: absolute;\\n top: 0px;\\n font-size: 5px;\\n border-radius: 50px;\\n padding: 5px;\\n box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;\\n cursor: pointer;\\n color: white;\\n z-index: 999999;\\n left: 3px;\\n background: red;\\n}\\n\\n.wrapper-accordian mat-expansion-panel-header {\\n background: #f9f9f9 !important;\\n color: #7373b4 !important;\\n height: 40px !important;\\n padding: 0 10px !important;\\n font-weight: 700;\\n}\\n\\n.mat-expansion-panel-header {\\n font-family: Roboto, \\\"Helvetica Neue\\\", sans-serif;\\n font-size: 15px;\\n}\\n\\n.customselfdeclare .customheader {\\n padding: 10px 15px 0 15px;\\n}\\n\\n.customselfdeclare p {\\n margin: 0 !important;\\n margin-left: 10px !important;\\n}\\n\\n.customselfdeclare h5 {\\n font-size: 14px !important;\\n font-weight: bold !important;\\n}\\n\\n.customselfdeclare .modal {\\n background: #0000003d;\\n}\\n\\n.customselfdeclare h6 {\\n color: #344b89 !important;\\n /* text-align: center; */\\n font-weight: bold !important;\\n text-transform: capitalize !important;\\n font-size: 14px !important;\\n}\\n\\n.modalbox {\\n position: absolute;\\n top: 25px;\\n right: 0;\\n cursor: all-scroll;\\n left: 0;\\n max-width: 450px;\\n margin: auto;\\n z-index: 9 !important;\\n}\\n\\n.boxmodalclose {\\n position: absolute;\\n top: -8px;\\n left: -5px;\\n border: 1px solid #f3f3f3;\\n border-radius: 50%;\\n background: #fdfdfd;\\n width: 30px;\\n padding: 3px 5px;\\n height: 30px;\\n cursor: pointer;\\n}\\n\\n.boxmodalclose span {\\n font-size: 32px;\\n color: red;\\n}\\n\\n.customselectposition {\\n position: absolute;\\n top: -17px;\\n left: 40px;\\n width: 50%;\\n}\\n\\n.boxmodalimage {\\n width: 370px;\\n height: 370px;\\n overflow: hidden;\\n margin-top: 35px;\\n}\\n\\n.margintop {\\n margin-top: 35px;\\n}\\n\\n.progressBar {\\n position: relative;\\n max-width: 100%;\\n margin: 0 0 0.4em;\\n padding: 0;\\n color: #595959;\\n font-size: 20px;\\n font-weight: 600;\\n text-align: center;\\n height: 230px;\\n display: flex;\\n align-items: center !important;\\n padding-left: 20px;\\n}\\n\\n.progressBarbg::before {\\n content: \\\"\\\";\\n background-image: url('clock.png');\\n background-size: contain;\\n position: absolute;\\n background-repeat: no-repeat;\\n top: 25%;\\n right: 35%;\\n bottom: 0px;\\n left: 35%;\\n opacity: 0.2;\\n}\\n\\n.progressBarPleaseWait {\\n text-align: center;\\n font-size: 20px;\\n border-radius: 5px 5px 0px 0px !important;\\n background-color: #1b3b71 !important;\\n padding: 20px;\\n}\\n\\n.modal-dialog .modal-content {\\n border-radius: 5px !important;\\n}\\n\\n.white {\\n color: #fff !important;\\n}\\n\\n.custom-modal-body {\\n padding: 0px !important;\\n}\\n\\n.progress-show {\\n height: 30px;\\n width: 90%;\\n margin: auto;\\n}\\n\\n.progress-show .mat-progress-bar {\\n display: block;\\n height: 8px !important;\\n overflow: hidden;\\n position: relative;\\n transition: opacity 250ms linear;\\n width: 100%;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvb2NybWFpbi93aXRob2NyL0M6XFxVc2Vyc1xcYW5qdS52aXN3YW5hdGhcXHNvdXJjZVxccmVwb3NcXEIyQ1BvcnRhbF9CcmFuY2hlc1xcUHJvZC9zcmNcXGFwcFxcb2NybWFpblxcd2l0aG9jclxcd2l0aG9jci5jb21wb25lbnQuc2NzcyIsInNyYy9hcHAvb2NybWFpbi93aXRob2NyL3dpdGhvY3IuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDSSxVQUFBO0VBQ0EsWUFBQTtBQ0NKOztBRENBO0VBQ0k7SUFDSSxzQkFBQTtJQUNBLFlBQUE7RUNFTjs7RURBRTtJQUNJLHFCQUFBO0VDR047O0VEREU7SUFDSSwyQkFBQTtFQ0lOOztFREZFO0lBQ0ksa0JBQUE7SUFDQSxnQkFBQTtJQUNBLFVBQUE7RUNLTjs7RURIRTtJQUNJLGtCQUFBO0lBQ0EsVUFBQTtJQUNBLFlBQUE7RUNNTjs7RURKRTtJQUNJLGtCQUFBO0lBQW1CLFFBQUE7RUNRekI7O0VETkU7SUFDSSwyQkFBQTtFQ1NOOztFRFBFO0lBQ0ksVUFBQTtJQUNBLGNBQUE7RUNVTjs7RURSRTtJQUNJLFdBQUE7SUFDQSxlQUFBO0lBQ0EsbUJBQUE7RUNXTjs7RURURTtJQUNJLHNCQUFBO0VDWU47O0VEVkU7SUFDSSx1QkFBQTtJQUNBLDJCQUFBO0VDYU47O0VEWEU7SUFDSSxrQkFBQTtJQUNBLFVBQUE7SUFDQSxXQUFBO0lBQ0EsV0FBQTtJQUNBLFVBQUE7RUNjTjs7RURaRTtJQUNJLHVCQUFBO0VDZU47O0VEYkU7SUFDSSw2QkFBQTtFQ2dCTjs7RURkRztJQUNFLFlBQUE7RUNpQkw7O0VEZkc7SUFDRyxXQUFBO0lBQ0Esa0NBQUE7SUFDQSx3QkFBQTtJQUNBLGtCQUFBO0lBQ0EsNEJBQUE7SUFDQSxRQUFBO0lBQ0EscUJBQUE7SUFDQSxXQUFBO0lBQ0Esb0JBQUE7SUFDQSxZQUFBO0VDa0JOO0FBQ0Y7O0FEZkE7RUFDSTtJQUNJLHNCQUFBO0VDaUJO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QUFBO0VBQ0EsZUFBQTtFQUNBLHlDQUFBO0VBQ0Esb0NBQUE7RUFDQSxhQUFBO0FDbUNKOztBRGpDQTtFQUNJLDZCQUFBO0FDb0NKOztBRGxDQTtFQUNJLHNCQUFBO0FDcUNKOztBRG5DQTtFQUNJLHVCQUFBO0FDc0NKOztBRHBDQTtFQUNJLFlBQUE7RUFDQSxVQUFBO0VBQ0EsWUFBQTtBQ3VDSjs7QURyQ0E7RUFDSSxjQUFBO0VBQ0Esc0JBQUE7RUFDQSxnQkFBQTtFQUNBLGtCQUFBO0VBQ0EsZ0NBQUE7RUFDQSxXQUFBO0FDd0NKIiwiZmlsZSI6InNyYy9hcHAvb2NybWFpbi93aXRob2NyL3dpdGhvY3IuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIubWF4YXV0bzYwIHtcclxuICAgIHdpZHRoOiA2MCU7XHJcbiAgICBtYXJnaW46IGF1dG87XHJcbn1cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xyXG4gICAgLm1heGF1dG82MCB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCUhaW1wb3J0YW50O1xyXG4gICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgIH1cclxuICAgIC53cmFwcGVyLXBvbGljeSAuY2FyZCAuY2FyZC1ib2R5IHtcclxuICAgICAgICBwYWRkaW5nOiAwIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgIC5yZXN0ZXh0bGVmdCB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdCFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAuY3VzdG9tcmVzcG9zaXRpb257XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDQ1cHg7XHJcbiAgICAgICAgbGVmdDogMzJweDtcclxuICAgIH1cclxuICAgIC5yZXNwb3NpbWF0e1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBsZWZ0OiAyMHB4O1xyXG4gICAgICAgIHdpZHRoOiAyNjBweDtcclxuICAgIH1cclxuICAgIC5yZXN0aWNtYXR7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO3RvcDogN3B4O1xyXG4gICAgfVxyXG4gICAgLm1hcjg1cmVze1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDU0cHghaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgLmJ0bnJlcyAuY3VzdG9tYnRuY3NzIHtcclxuICAgICAgICB3aWR0aDogNDUlO1xyXG4gICAgICAgIG1hcmdpbjogMTBweCAwO1xyXG4gICAgfVxyXG4gICAgLmltZ2NzcyB7XHJcbiAgICAgICAgd2lkdGg6IDM1cHg7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogNXB4O1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICB9XHJcbiAgICAuaW1nc3ple1xyXG4gICAgICAgIHdpZHRoOiAzMHB4IWltcG9ydGFudDtcclxuICAgIH1cclxuICAgIC5ib3hoZWFkZXIge1xyXG4gICAgICAgIGhlaWdodDogMzVweCFpbXBvcnRhbnQ7XHJcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZiFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAuaW1nbW9iaWxle1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IC0zNXB4O1xyXG4gICAgICAgIGxlZnQ6IDE4MXB4O1xyXG4gICAgICAgIG1hcmdpbjogMHB4O1xyXG4gICAgICAgIHotaW5kZXg6IDE7XHJcbiAgICB9XHJcbiAgICAucmV1cGxvYWQgLmN1c3RvbS1maWxle1xyXG4gICAgICAgIHdpZHRoOiAxMzVweCFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAucmVzLXdvY3J7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDEyMHB4IWltcG9ydGFudDtcclxuICAgICB9XHJcbiAgICAgLnJlcy1idG57XHJcbiAgICAgICBtYXJnaW46IDE1cHg7XHJcbiAgICAgfVxyXG4gICAgIC5wcm9ncmVzc0JhcmJnOjpiZWZvcmV7XHJcbiAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvaW1nL2Nsb2NrLnBuZ1wiKTtcclxuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAgICAgdG9wOiAyNSU7XHJcbiAgICAgICAgcmlnaHQ6IDIyJSFpbXBvcnRhbnQ7XHJcbiAgICAgICAgYm90dG9tOiAwcHg7XHJcbiAgICAgICAgbGVmdDogMjIlIWltcG9ydGFudDtcclxuICAgICAgICBvcGFjaXR5OiAwLjI7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKGRldmljZS13aWR0aDogNzY3cHgpIHtcclxuICAgIC5yZXVwbG9hZCAuY3VzdG9tLWZpbGUge1xyXG4gICAgICAgIHdpZHRoOiA5MHB4IWltcG9ydGFudDtcclxuICAgIH1cclxuICAgIC5pbWdjc3Mge1xyXG4gICAgICAgIHdpZHRoOiA1MHB4IWltcG9ydGFudDtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgfVxyXG4gICAgXHJcbn1cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLWRldmljZS13aWR0aDogNDgxcHgpIGFuZCAobWF4LWRldmljZS13aWR0aDogMTAyNHB4KSBhbmQgKG9yaWVudGF0aW9uOnBvcnRyYWl0KSB7XHJcbiAgICAucmV1cGxvYWQgLmN1c3RvbS1maWxlIHtcclxuICAgICAgICB3aWR0aDogOTBweCFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAuaW1nY3NzIHtcclxuICAgICAgICB3aWR0aDogNTBweCFpbXBvcnRhbnQ7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIH1cclxuICB9XHJcbiAgXHJcbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLWRldmljZS13aWR0aDogNDgxcHgpIGFuZCAobWF4LWRldmljZS13aWR0aDogMTAyNHB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSkge1xyXG4gICAgLnJldXBsb2FkIC5jdXN0b20tZmlsZSB7XHJcbiAgICAgICAgd2lkdGg6IDkwcHghaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgLmltZ2NzcyB7XHJcbiAgICAgICAgd2lkdGg6IDUwcHghaW1wb3J0YW50O1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcbi5jdXN0b20tZmlsZS1sYWJlbDo6YWZ0ZXIge1xyXG4gZGlzcGxheTogbm9uZSFpbXBvcnRhbnQ7XHJcbn1cclxuLmN1c3RvbS1maWxlLmN1c3RvbWZpbGVjc3Mge1xyXG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMWYzZTdiO1xyXG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCAjMWYzZTdiLCAjNzM3M2I0KTtcclxuICB6LWluZGV4OiAwO1xyXG59XHJcbi5hbGxkb2NpbWcgLm1hdGVyaWFsLWljb25zIHtcclxuICBmb250LXNpemU6IDEycHg7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogLTNweDtcclxuICBsZWZ0OiAxMHB4O1xyXG4gIHotaW5kZXg6IDk5OTk5OTk5O1xyXG4gIGNvbG9yOiByZWQ7XHJcbiAgYmFja2dyb3VuZDogI2ZmZjtcclxuICBib3gtc2hhZG93OiAwIDAuMTI1cmVtIDAuMjVyZW0gcmdiYSgwLCAwLCAwLCAwLjA3NSkgIWltcG9ydGFudDtcclxuICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgYm9yZGVyOiAxcHggc29saWQ7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG4ucmV1cGxvYWQgLmN1c3RvbS1maWxlIHtcclxuICB3aWR0aDogMTUwcHg7XHJcbiAgaGVpZ2h0OiAzMHB4O1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG4uY3VzdG9tLWZpbGUtaW5wdXQge1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcbi5jdXN0b20tZmlsZS1pbnB1dCB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB6LWluZGV4OiAyO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IGNhbGMoMS41ZW0gKyAuODc1cmVtICsgMnB4KTtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIG9wYWNpdHk6IDA7XHJcbn1cclxuLmN1c3RvbS1maWxlLWxhYmVsIHtcclxuICAgIGNvbG9yOiAjZmZmIWltcG9ydGFudDtcclxuICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgIHotaW5kZXg6IDAhaW1wb3J0YW50O1xyXG59XHJcbi5ib3hoZWFkZXIge1xyXG4gIGJhY2tncm91bmQ6ICNmOWY5Zjk7XHJcbiAgY29sb3I6ICM3MzczYjQ7XHJcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgZm9udC1zaXplOiAxNHB4O1xyXG4gIGhlaWdodDogNjBweDtcclxufVxyXG4udi1hbGlnbntcclxuIGFsaWduLWl0ZW1zOiBiYXNlbGluZSFpbXBvcnRhbnQ7XHJcbn1cclxuLnAtMTAge1xyXG4gIHBhZGRpbmc6IDEwcHg7XHJcbn1cclxuLmljb250aW1lbGluZSAubWF0ZXJpYWwtaWNvbnMge1xyXG4gIGZvbnQtc2l6ZTogMzVweDtcclxuICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgjMWYzZTdiLCAjNjg2Y2FjKTtcclxuLy8gICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDtcclxuICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbn1cclxuLnJlbW92ZXBob3RvY3NzIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiAwcHg7XHJcbiAgZm9udC1zaXplOiA1cHg7XHJcbiAgYm9yZGVyLXJhZGl1czogNTBweDtcclxuICBwYWRkaW5nOiA1cHg7XHJcbiAgYm94LXNoYWRvdzogMCAxcmVtIDNyZW0gcmdiYSgwLCAwLCAwLCAwLjE3NSkgIWltcG9ydGFudDtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgY29sb3I6IHdoaXRlO1xyXG4gIHotaW5kZXg6IDk5OTk5OTtcclxuICBsZWZ0OiAzcHg7XHJcbiAgYmFja2dyb3VuZDogcmVkO1xyXG59XHJcblxyXG4ud3JhcHBlci1hY2NvcmRpYW4gbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXJ7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZjlmOWY5IWltcG9ydGFudDtcclxuICAgIGNvbG9yOiAjNzM3M2I0IWltcG9ydGFudDtcclxuICAgIGhlaWdodDogNDBweCFpbXBvcnRhbnQ7XHJcbiAgICBwYWRkaW5nOiAwIDEwcHghaW1wb3J0YW50O1xyXG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcclxufVxyXG4ubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXIge1xyXG4gICAgZm9udC1mYW1pbHk6IFJvYm90byxcIkhlbHZldGljYSBOZXVlXCIsc2Fucy1zZXJpZjtcclxuICAgIGZvbnQtc2l6ZTogMTVweDtcclxufS5jdXN0b21zZWxmZGVjbGFyZSAuY3VzdG9taGVhZGVyIHtcclxuICAgIHBhZGRpbmc6IDEwcHggMTVweCAwIDE1cHg7XHJcbn1cclxuXHJcbi5jdXN0b21zZWxmZGVjbGFyZSBwIHtcclxuICAgIG1hcmdpbjogMCFpbXBvcnRhbnQ7XHJcbiAgICBtYXJnaW4tbGVmdDogMTBweCFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5jdXN0b21zZWxmZGVjbGFyZSBoNSB7XHJcbiAgICBmb250LXNpemU6IDE0cHghaW1wb3J0YW50O1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uY3VzdG9tc2VsZmRlY2xhcmUgLm1vZGFsIHtcclxuICAgIGJhY2tncm91bmQ6ICMwMDAwMDAzZDtcclxufVxyXG5cclxuLmN1c3RvbXNlbGZkZWNsYXJlIGg2IHtcclxuICAgIGNvbG9yOiAjMzQ0Yjg5IWltcG9ydGFudDtcclxuICAgIC8qIHRleHQtYWxpZ246IGNlbnRlcjsgKi9cclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkIWltcG9ydGFudDtcclxuICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplIWltcG9ydGFudDtcclxuICAgIGZvbnQtc2l6ZTogMTRweCFpbXBvcnRhbnQ7XHJcbn1cclxuLm1vZGFsYm94IHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgdG9wOiAyNXB4O1xyXG4gICAgICByaWdodDogMDtcclxuICAgICAgY3Vyc29yOiBhbGwtc2Nyb2xsO1xyXG4gICAgICBsZWZ0OiAwO1xyXG4gICAgICBtYXgtd2lkdGg6IDQ1MHB4O1xyXG4gICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgIHotaW5kZXg6IDkhaW1wb3J0YW50O1xyXG4gIH1cclxuICAuYm94bW9kYWxjbG9zZSB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IC04cHg7XHJcbiAgICBsZWZ0OiAtNXB4O1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2YzZjNmMztcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgIGJhY2tncm91bmQ6ICNmZGZkZmQ7XHJcbiAgICB3aWR0aDogMzBweDtcclxuICAgIHBhZGRpbmc6IDNweCA1cHg7XHJcbiAgICBoZWlnaHQ6IDMwcHg7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgfVxyXG4gIC5ib3htb2RhbGNsb3NlIHNwYW4ge1xyXG4gICAgZm9udC1zaXplOiAzMnB4O1xyXG4gICAgY29sb3I6IHJlZDtcclxuICB9XHJcbiAgLmN1c3RvbXNlbGVjdHBvc2l0aW9uIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogLTE3cHg7XHJcbiAgICBsZWZ0OiA0MHB4O1xyXG4gICAgd2lkdGg6IDUwJTtcclxufVxyXG4uYm94bW9kYWxpbWFnZXtcclxuICAgIHdpZHRoOiAzNzBweDtcclxuICAgIGhlaWdodDogMzcwcHg7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgbWFyZ2luLXRvcDogMzVweDtcclxufVxyXG4ubWFyZ2ludG9we1xyXG4gICAgbWFyZ2luLXRvcDogMzVweDtcclxufVxyXG4ucHJvZ3Jlc3NCYXJ7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICBtYXJnaW46IDAgMCAuNGVtO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIGNvbG9yOiAjNTk1OTU5O1xyXG4gICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGhlaWdodDogMjMwcHg7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50O1xyXG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xyXG4gICAgXHJcbn1cclxuXHJcbi5wcm9ncmVzc0JhcmJnOjpiZWZvcmV7XHJcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4vLi4vLi4vLi4vYXNzZXRzL2ltZy9jbG9jay5wbmdcIik7XHJcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgICB0b3A6IDI1JTtcclxuICAgICAgcmlnaHQ6IDM1JTtcclxuICAgICAgYm90dG9tOiAwcHg7XHJcbiAgICAgIGxlZnQ6IDM1JTtcclxuICAgICAgb3BhY2l0eTogMC4yO1xyXG4gICAgfVxyXG5cclxuLnByb2dyZXNzQmFyUGxlYXNlV2FpdHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDVweCA1cHggMHB4IDBweCFpbXBvcnRhbnQ7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWIzYjcxIWltcG9ydGFudDtcclxuICAgIHBhZGRpbmc6IDIwcHg7XHJcbn1cclxuLm1vZGFsLWRpYWxvZyAubW9kYWwtY29udGVudCB7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1cHghaW1wb3J0YW50O1xyXG59XHJcbi53aGl0ZXtcclxuICAgIGNvbG9yOiAjZmZmIWltcG9ydGFudDtcclxufVxyXG4uY3VzdG9tLW1vZGFsLWJvZHl7XHJcbiAgICBwYWRkaW5nOjBweCFpbXBvcnRhbnQ7XHJcbn1cclxuLnByb2dyZXNzLXNob3d7XHJcbiAgICBoZWlnaHQ6IDMwcHg7XHJcbiAgICB3aWR0aDogOTAlO1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG59XHJcbi5wcm9ncmVzcy1zaG93IC5tYXQtcHJvZ3Jlc3MtYmFye1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBoZWlnaHQ6IDhweCFpbXBvcnRhbnQ7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAyNTBtcyBsaW5lYXI7XHJcbiAgICB3aWR0aDogMTAwJTtcclxufSIsIi5tYXhhdXRvNjAge1xuICB3aWR0aDogNjAlO1xuICBtYXJnaW46IGF1dG87XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgLm1heGF1dG82MCB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICBtYXJnaW46IGF1dG87XG4gIH1cblxuICAud3JhcHBlci1wb2xpY3kgLmNhcmQgLmNhcmQtYm9keSB7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnJlc3RleHRsZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuY3VzdG9tcmVzcG9zaXRpb24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBtYXJnaW4tdG9wOiA0NXB4O1xuICAgIGxlZnQ6IDMycHg7XG4gIH1cblxuICAucmVzcG9zaW1hdCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDIwcHg7XG4gICAgd2lkdGg6IDI2MHB4O1xuICB9XG5cbiAgLnJlc3RpY21hdCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogN3B4O1xuICB9XG5cbiAgLm1hcjg1cmVzIHtcbiAgICBtYXJnaW4tdG9wOiA1NHB4ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuYnRucmVzIC5jdXN0b21idG5jc3Mge1xuICAgIHdpZHRoOiA0NSU7XG4gICAgbWFyZ2luOiAxMHB4IDA7XG4gIH1cblxuICAuaW1nY3NzIHtcbiAgICB3aWR0aDogMzVweDtcbiAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgfVxuXG4gIC5pbWdzemUge1xuICAgIHdpZHRoOiAzMHB4ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuYm94aGVhZGVyIHtcbiAgICBoZWlnaHQ6IDM1cHggIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuaW1nbW9iaWxlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtMzVweDtcbiAgICBsZWZ0OiAxODFweDtcbiAgICBtYXJnaW46IDBweDtcbiAgICB6LWluZGV4OiAxO1xuICB9XG5cbiAgLnJldXBsb2FkIC5jdXN0b20tZmlsZSB7XG4gICAgd2lkdGg6IDEzNXB4ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucmVzLXdvY3Ige1xuICAgIHBhZGRpbmctdG9wOiAxMjBweCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnJlcy1idG4ge1xuICAgIG1hcmdpbjogMTVweDtcbiAgfVxuXG4gIC5wcm9ncmVzc0JhcmJnOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ltZy9jbG9jay5wbmdcIik7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIHRvcDogMjUlO1xuICAgIHJpZ2h0OiAyMiUgIWltcG9ydGFudDtcbiAgICBib3R0b206IDBweDtcbiAgICBsZWZ0OiAyMiUgIWltcG9ydGFudDtcbiAgICBvcGFjaXR5OiAwLjI7XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKGRldmljZS13aWR0aDogNzY3cHgpIHtcbiAgLnJldXBsb2FkIC5jdXN0b20tZmlsZSB7XG4gICAgd2lkdGg6IDkwcHggIWltcG9ydGFudDtcbiAgfVxuXG4gIC5pbWdjc3Mge1xuICAgIHdpZHRoOiA1MHB4ICFpbXBvcnRhbnQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLWRldmljZS13aWR0aDogNDgxcHgpIGFuZCAobWF4LWRldmljZS13aWR0aDogMTAyNHB4KSBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuICAucmV1cGxvYWQgLmN1c3RvbS1maWxlIHtcbiAgICB3aWR0aDogOTBweCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmltZ2NzcyB7XG4gICAgd2lkdGg6IDUwcHggIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4tZGV2aWNlLXdpZHRoOiA0ODFweCkgYW5kIChtYXgtZGV2aWNlLXdpZHRoOiAxMDI0cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAucmV1cGxvYWQgLmN1c3RvbS1maWxlIHtcbiAgICB3aWR0aDogOTBweCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmltZ2NzcyB7XG4gICAgd2lkdGg6IDUwcHggIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG59XG4uY3VzdG9tLWZpbGUtbGFiZWw6OmFmdGVyIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4uY3VzdG9tLWZpbGUuY3VzdG9tZmlsZWNzcyB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMWYzZTdiO1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsICMxZjNlN2IsICM3MzczYjQpO1xuICB6LWluZGV4OiAwO1xufVxuXG4uYWxsZG9jaW1nIC5tYXRlcmlhbC1pY29ucyB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC0zcHg7XG4gIGxlZnQ6IDEwcHg7XG4gIHotaW5kZXg6IDk5OTk5OTk5O1xuICBjb2xvcjogcmVkO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3gtc2hhZG93OiAwIDAuMTI1cmVtIDAuMjVyZW0gcmdiYSgwLCAwLCAwLCAwLjA3NSkgIWltcG9ydGFudDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBib3JkZXI6IDFweCBzb2xpZDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5yZXVwbG9hZCAuY3VzdG9tLWZpbGUge1xuICB3aWR0aDogMTUwcHg7XG4gIGhlaWdodDogMzBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uY3VzdG9tLWZpbGUtaW5wdXQge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5jdXN0b20tZmlsZS1pbnB1dCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogY2FsYygxLjVlbSArIC44NzVyZW0gKyAycHgpO1xuICBtYXJnaW46IDA7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5jdXN0b20tZmlsZS1sYWJlbCB7XG4gIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgei1pbmRleDogMCAhaW1wb3J0YW50O1xufVxuXG4uYm94aGVhZGVyIHtcbiAgYmFja2dyb3VuZDogI2Y5ZjlmOTtcbiAgY29sb3I6ICM3MzczYjQ7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGhlaWdodDogNjBweDtcbn1cblxuLnYtYWxpZ24ge1xuICBhbGlnbi1pdGVtczogYmFzZWxpbmUgIWltcG9ydGFudDtcbn1cblxuLnAtMTAge1xuICBwYWRkaW5nOiAxMHB4O1xufVxuXG4uaWNvbnRpbWVsaW5lIC5tYXRlcmlhbC1pY29ucyB7XG4gIGZvbnQtc2l6ZTogMzVweDtcbiAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoIzFmM2U3YiwgIzY4NmNhYyk7XG4gIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLnJlbW92ZXBob3RvY3NzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDBweDtcbiAgZm9udC1zaXplOiA1cHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwcHg7XG4gIHBhZGRpbmc6IDVweDtcbiAgYm94LXNoYWRvdzogMCAxcmVtIDNyZW0gcmdiYSgwLCAwLCAwLCAwLjE3NSkgIWltcG9ydGFudDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogd2hpdGU7XG4gIHotaW5kZXg6IDk5OTk5OTtcbiAgbGVmdDogM3B4O1xuICBiYWNrZ3JvdW5kOiByZWQ7XG59XG5cbi53cmFwcGVyLWFjY29yZGlhbiBtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlciB7XG4gIGJhY2tncm91bmQ6ICNmOWY5ZjkgIWltcG9ydGFudDtcbiAgY29sb3I6ICM3MzczYjQgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiA0MHB4ICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDAgMTBweCAhaW1wb3J0YW50O1xuICBmb250LXdlaWdodDogNzAwO1xufVxuXG4ubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXIge1xuICBmb250LWZhbWlseTogUm9ib3RvLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTVweDtcbn1cblxuLmN1c3RvbXNlbGZkZWNsYXJlIC5jdXN0b21oZWFkZXIge1xuICBwYWRkaW5nOiAxMHB4IDE1cHggMCAxNXB4O1xufVxuXG4uY3VzdG9tc2VsZmRlY2xhcmUgcCB7XG4gIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICBtYXJnaW4tbGVmdDogMTBweCAhaW1wb3J0YW50O1xufVxuXG4uY3VzdG9tc2VsZmRlY2xhcmUgaDUge1xuICBmb250LXNpemU6IDE0cHggIWltcG9ydGFudDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQgIWltcG9ydGFudDtcbn1cblxuLmN1c3RvbXNlbGZkZWNsYXJlIC5tb2RhbCB7XG4gIGJhY2tncm91bmQ6ICMwMDAwMDAzZDtcbn1cblxuLmN1c3RvbXNlbGZkZWNsYXJlIGg2IHtcbiAgY29sb3I6ICMzNDRiODkgIWltcG9ydGFudDtcbiAgLyogdGV4dC1hbGlnbjogY2VudGVyOyAqL1xuICBmb250LXdlaWdodDogYm9sZCAhaW1wb3J0YW50O1xuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZSAhaW1wb3J0YW50O1xuICBmb250LXNpemU6IDE0cHggIWltcG9ydGFudDtcbn1cblxuLm1vZGFsYm94IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDI1cHg7XG4gIHJpZ2h0OiAwO1xuICBjdXJzb3I6IGFsbC1zY3JvbGw7XG4gIGxlZnQ6IDA7XG4gIG1heC13aWR0aDogNDUwcHg7XG4gIG1hcmdpbjogYXV0bztcbiAgei1pbmRleDogOSAhaW1wb3J0YW50O1xufVxuXG4uYm94bW9kYWxjbG9zZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtOHB4O1xuICBsZWZ0OiAtNXB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjZjNmM2YzO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJhY2tncm91bmQ6ICNmZGZkZmQ7XG4gIHdpZHRoOiAzMHB4O1xuICBwYWRkaW5nOiAzcHggNXB4O1xuICBoZWlnaHQ6IDMwcHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmJveG1vZGFsY2xvc2Ugc3BhbiB7XG4gIGZvbnQtc2l6ZTogMzJweDtcbiAgY29sb3I6IHJlZDtcbn1cblxuLmN1c3RvbXNlbGVjdHBvc2l0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC0xN3B4O1xuICBsZWZ0OiA0MHB4O1xuICB3aWR0aDogNTAlO1xufVxuXG4uYm94bW9kYWxpbWFnZSB7XG4gIHdpZHRoOiAzNzBweDtcbiAgaGVpZ2h0OiAzNzBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbWFyZ2luLXRvcDogMzVweDtcbn1cblxuLm1hcmdpbnRvcCB7XG4gIG1hcmdpbi10b3A6IDM1cHg7XG59XG5cbi5wcm9ncmVzc0JhciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDAgMCAwLjRlbTtcbiAgcGFkZGluZzogMDtcbiAgY29sb3I6ICM1OTU5NTk7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBoZWlnaHQ6IDIzMHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbn1cblxuLnByb2dyZXNzQmFyYmc6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4vLi4vLi4vLi4vYXNzZXRzL2ltZy9jbG9jay5wbmdcIik7XG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICB0b3A6IDI1JTtcbiAgcmlnaHQ6IDM1JTtcbiAgYm90dG9tOiAwcHg7XG4gIGxlZnQ6IDM1JTtcbiAgb3BhY2l0eTogMC4yO1xufVxuXG4ucHJvZ3Jlc3NCYXJQbGVhc2VXYWl0IHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IDIwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDVweCA1cHggMHB4IDBweCAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWIzYjcxICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDIwcHg7XG59XG5cbi5tb2RhbC1kaWFsb2cgLm1vZGFsLWNvbnRlbnQge1xuICBib3JkZXItcmFkaXVzOiA1cHggIWltcG9ydGFudDtcbn1cblxuLndoaXRlIHtcbiAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbn1cblxuLmN1c3RvbS1tb2RhbC1ib2R5IHtcbiAgcGFkZGluZzogMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5wcm9ncmVzcy1zaG93IHtcbiAgaGVpZ2h0OiAzMHB4O1xuICB3aWR0aDogOTAlO1xuICBtYXJnaW46IGF1dG87XG59XG5cbi5wcm9ncmVzcy1zaG93IC5tYXQtcHJvZ3Jlc3MtYmFyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogOHB4ICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAyNTBtcyBsaW5lYXI7XG4gIHdpZHRoOiAxMDAlO1xufSJdfQ== */\"","\r\nimport { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';\r\nimport { GlobalService } from '../../_service/global.service';\r\nimport { MotorquoteService } from '../../_service/motorquote.service';\r\nimport { DateAdapter, MatStepper, MAT_DATE_FORMATS, MAT_DATE_LOCALE } from '@angular/material';\r\nimport { MomentDateModule, MomentDateAdapter } from '@angular/material-moment-adapter';\r\nimport { UserauthService } from '../../_service/userauth.service';\r\nimport Swal from 'sweetalert2';\r\n// import { AppDateAdapter, APP_DATE_FORMATS } from '../../motorquote/date.adapter';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { config } from '../../config';\r\nimport { ReplaySubject, Subject } from 'rxjs';\r\nimport { MatSelect } from '@angular/material';\r\nimport { take, takeUntil } from 'rxjs/operators';\r\nimport { Observable, Subscription, fromEvent } from 'rxjs';\r\nimport { AppDateAdapter, APP_DATE_FORMATS } from '../../motorquote/date.adapter';\r\nimport { CompressImageService } from '../../_service/compressimage.service';\r\ninterface InsVehiBy {\r\n value: string;\r\n viewValue: string;\r\n code: string;\r\n}\r\ninterface Code {\r\n value: string;\r\n viewValue: string;\r\n}\r\n\r\ninterface DrivExp {\r\n value: string;\r\n viewValue: string;\r\n}\r\n\r\ninterface VehiTrim {\r\n value: string;\r\n viewValue: string;\r\n}\r\ninterface VehiModelYr {\r\n value: string;\r\n label: string;\r\n}\r\ninterface BrandNew {\r\n value: string;\r\n viewValue: string;\r\n}\r\ninterface VehiSeatCap {\r\n value: string;\r\n viewValue: string;\r\n}\r\ninterface VehiCylinder {\r\n value: string;\r\n viewValue: string;\r\n code: string;\r\n}\r\ninterface InsType {\r\n value: string;\r\n viewValue: string;\r\n WebProdCode: string;\r\n CoreProdCode: string;\r\n}\r\ninterface YesNo {\r\n value: string;\r\n viewValue: string;\r\n}\r\ninterface RepairType {\r\n value: string;\r\n viewValue: string;\r\n}\r\ninterface MotBankNam {\r\n value: string;\r\n viewValue: string;\r\n}\r\ninterface Gender {\r\n value: string;\r\n viewValue: string;\r\n}\r\ninterface ExpiryMonth {\r\n value: string;\r\n viewValue: string;\r\n}\r\n\r\ninterface Country {\r\n id: number;\r\n CountryName: string;\r\n Active: boolean;\r\n CountryCode: string;\r\n CurrencyCode: string;\r\n CRS_NATION_CODE: number;\r\n CRS_Country_Map_Code: number;\r\n}\r\n\r\ninterface Make {\r\n VehicleMakeId: number;\r\n VehicleMakeName: string;\r\n Active: boolean;\r\n IsReferral: number;\r\n CRS_VEH_CODE: number;\r\n}\r\n\r\ninterface Model {\r\n\r\n VehicleModelId: number;\r\n VehicleModelName: string;\r\n Active: boolean;\r\n SeatingCapacityExDriver: number;\r\n BodyTypeId: number;\r\n CRS_MODEL_CODE: number;\r\n EDATA_MODEL_CODE: string;\r\n}\r\n\r\ninterface PlateCategory {\r\n\r\n label: string;\r\n value: string;\r\n}\r\n\r\ninterface VichleColor {\r\n\r\n ColorId: number;\r\n ColorName: string;\r\n CRS_COLOR_CODE: string;\r\n}\r\n\r\ninterface MortageBank {\r\n\r\n Id: number;\r\n InstituteName: string;\r\n InstituteCode: string\r\n CRS_Bank_Map_Code: string;\r\n}\r\n\r\nexport const MY_FORMATS = {\r\n parse: {\r\n dateInput: 'LL'\r\n },\r\n display: {\r\n dateInput: 'DD/MM/YYYY',\r\n monthYearLabel: 'YYYY',\r\n dateA11yLabel: 'LL',\r\n monthYearA11yLabel: 'YYYY'\r\n }\r\n};\r\nimport {\r\n state,\r\n style,\r\n transition,\r\n animate,\r\n trigger,\r\n AUTO_STYLE\r\n} from \"@angular/animations\";\r\nimport { findIndex } from 'rxjs-compat/operator/findIndex';\r\n\r\n@Component({\r\n selector: 'app-withocr',\r\n templateUrl: './withocr.component.html',\r\n styleUrls: ['./withocr.component.scss'],\r\n providers: [\r\n // { provide: DateAdapter, useClass: MomentDateAdapter, deps: [MAT_DATE_LOCALE] },\r\n {\r\n provide: DateAdapter, useClass: AppDateAdapter\r\n },\r\n {\r\n provide: MAT_DATE_FORMATS, useValue: APP_DATE_FORMATS\r\n }\r\n // { provide: MAT_DATE_FORMATS, useValue: MY_FORMATS }\r\n ],\r\n animations: [\r\n trigger(\"slideInOut\", [\r\n state(\r\n \"in\",\r\n style({\r\n transform: \"translate3d(0, 0, 0)\"\r\n })\r\n ),\r\n state(\r\n \"out\",\r\n style({\r\n transform: \"translate3d(100%, 0, 0)\"\r\n })\r\n ),\r\n transition(\"in => out\", animate(\"400ms ease-in-out\")),\r\n transition(\"out => in\", animate(\"400ms ease-in-out\"))\r\n ]),\r\n trigger(\"slideOnOff\", [\r\n state(\r\n \"on\",\r\n style({\r\n transform: \"translate3d(0, 0, 0)\"\r\n })\r\n ),\r\n state(\r\n \"off\",\r\n style({\r\n transform: \"translate3d(100%, 0, 0)\"\r\n })\r\n ),\r\n transition(\"on => off\", animate(\"400ms ease-in-out\")),\r\n transition(\"off => on\", animate(\"400ms ease-in-out\"))\r\n ]),\r\n trigger(\"visibility\", [\r\n state(\r\n \"shown\",\r\n style({\r\n opacity: 1\r\n })\r\n ),\r\n state(\r\n \"hidden\",\r\n style({\r\n opacity: 0\r\n })\r\n ),\r\n transition(\"* => *\", animate(\".25s\"))\r\n ]),\r\n trigger(\"mobileMenuTop\", [\r\n state(\r\n \"no-block, void\",\r\n style({\r\n overflow: \"hidden\",\r\n height: \"0px\"\r\n })\r\n ),\r\n state(\r\n \"yes-block\",\r\n style({\r\n height: AUTO_STYLE\r\n })\r\n ),\r\n transition(\"no-block <=> yes-block\", [animate(\"400ms ease-in-out\")])\r\n ])\r\n ],\r\n})\r\n\r\n\r\n\r\nexport class WithocrComponent implements OnInit {\r\n\r\n\r\n /****************** selection search country ***********/\r\n\r\n\r\n\r\n /** control for the MatSelect filter keyword */\r\n public country1FilterCtrl: FormControl = new FormControl();\r\n public nationalFilterCtrl: FormControl = new FormControl();\r\n public makeFilterCtrl: FormControl = new FormControl();\r\n public modelFilterCtrl: FormControl = new FormControl();\r\n\r\n public yearFilterCtrl: FormControl = new FormControl();\r\n public plateFilterCtrl: FormControl = new FormControl();\r\n public vchColorFilterCtrl: FormControl = new FormControl();\r\n public mortageBankFilterCtrl: FormControl = new FormControl();\r\n public codeFilterCtrl: FormControl = new FormControl();\r\n\r\n\r\n\r\n\r\n\r\n\r\n /** list of banks filtered by search keyword */\r\n public filteredCountries: ReplaySubject = new ReplaySubject(1);\r\n public filteredNationCountries: ReplaySubject = new ReplaySubject(1);\r\n public filteredMakes: ReplaySubject = new ReplaySubject(1);\r\n public filteredModels: ReplaySubject = new ReplaySubject(1);\r\n public filteredYears: ReplaySubject = new ReplaySubject(1);\r\n public filteredPlateCat: ReplaySubject = new ReplaySubject(1);\r\n public filteredVchColor: ReplaySubject = new ReplaySubject(1);\r\n public filteredBank: ReplaySubject = new ReplaySubject(1);\r\n public filteredCode: ReplaySubject = new ReplaySubject(1);\r\n\r\n\r\n paymentMode =\"ONL\";\r\n\r\n\r\n @ViewChild('stepper', { static: true })stepper:MatStepper\r\n @ViewChild('singleSelect', { static: false }) singleSelect: MatSelect;\r\n /** Subject that emits when the component has been destroyed. */\r\n private _onDestroy = new Subject();\r\n \r\n document_data: any;\r\n docUploadForm: FormGroup;\r\n tempDocArray: any = [];\r\n vehicleData: any = [];\r\n nofDoors: any;\r\n fileUploadFlag: boolean;\r\n public chnageData = {\r\n rg_vhcl_make: ''\r\n }\r\n checkChassisValidation: boolean;\r\n GCC_Specification: any = '';\r\n expandedDetails: boolean =true;\r\n item: any = [\r\n {\r\n number: 1, \r\n open: true\r\n },];\r\n emailId: any;\r\n mobileNo: any;\r\n quotationumber: any;\r\n reg_card_front_flag: boolean =false;\r\n reg_card_back_flag: boolean =false;\r\n driving_Lic_Front_flag: boolean =false;\r\n driving_Lic_Back_flag: boolean =false;\r\n checkreg_Card_Front_image: boolean;\r\n checkreg_Card_Back_image: boolean;\r\n checkdriving_Lic_Front_image: boolean;\r\n checkdriving_Lic_Back_image: boolean;\r\n stepper1: any;\r\n ProgressModel: any;\r\n type: any;\r\n docProperty: string; // Added by Anju for OCR API Integration \r\n formatLabel(value: number) {\r\n if (value >= 1000) {\r\n return Math.round(value / 1000) + 'Y';\r\n }\r\n\r\n return value;\r\n }\r\n\r\n vehicleValueLimit = { isSet: false, startLimit: 0, mediumLimit: 0, endLimit: 0 }\r\n insvehibys: any = [\r\n { value: 'Individual', viewValue: 'Individual', code: '100' },\r\n { value: 'Corporate', viewValue: 'Corporate', code: '200' },\r\n ];\r\n codes: Code[] = [\r\n { value: '050', viewValue: '050' },\r\n { value: '052', viewValue: '052' },\r\n { value: '054', viewValue: '054' },\r\n { value: '055', viewValue: '055' },\r\n { value: '056', viewValue: '056' },\r\n { value: '057', viewValue: '057' },\r\n { value: '058', viewValue: '058' },\r\n ];\r\n\r\n drivexps: DrivExp[] = [\r\n { value: 'Yes', viewValue: 'Yes' },\r\n { value: 'No', viewValue: 'No' },\r\n ];\r\n\r\n vehimodelyrs: VehiModelYr[] = [\r\n { value: '2023', label: '2023' },\r\n { value: '2022', label: '2022' },\r\n { value: '2021', label: '2021' },\r\n { value: '2020', label: '2020' },\r\n { value: '2019', label: '2019' },\r\n { value: '2018', label: '2018' },\r\n { value: '2017', label: '2017' },\r\n { value: '2016', label: '2016' },\r\n { value: '2015', label: '2015' },\r\n { value: '2014', label: '2014' },\r\n { value: '2013', label: '2013' },\r\n { value: '2012', label: '2012' },\r\n { value: '2011', label: '2011' },\r\n { value: '2010', label: '2010' },\r\n { value: '2009', label: '2009' },\r\n { value: '2008', label: '2008' },\r\n { value: '2007', label: '2007' },\r\n { value: '2006', label: '2006' },\r\n { value: '2005', label: '2005' },\r\n { value: '2004', label: '2004' },\r\n { value: '2003', label: '2003' },\r\n { value: '2002', label: '2002' },\r\n { value: '2001', label: '2001' },\r\n { value: '2000', label: '2000' },\r\n ];\r\n brandnews: BrandNew[] = [\r\n { value: 'Yes', viewValue: 'Yes' },\r\n { value: 'No', viewValue: 'No' },\r\n ];\r\n vehiseatcaps: any = [\r\n { value: '1', viewValue: '1' },\r\n { value: '3', viewValue: '3' },\r\n { value: '4', viewValue: '4' },\r\n { value: '5', viewValue: '5' },\r\n { value: '6', viewValue: '6' },\r\n { value: '7', viewValue: '7' },\r\n { value: '8', viewValue: '8' },\r\n ];\r\n vehicylinders: VehiCylinder[] = [\r\n { value: '4', viewValue: '4 Cylinder', code: '1004' },\r\n { value: '6', viewValue: '6 Cylinder', code: '1006' },\r\n { value: '8', viewValue: '8 Cylinder', code: '1008' },\r\n { value: '10', viewValue: '10 Cylinder', code: '1010' },\r\n { value: '12', viewValue: '12 Cylinder', code: '1012' },\r\n ];\r\n instypes: InsType[] = [\r\n { value: '100', viewValue: 'Comprehensive', WebProdCode: 'MT00061', CoreProdCode: '4001_1' },\r\n { value: '200', viewValue: 'Third Party Liability', WebProdCode: 'MTTPL0065', CoreProdCode: '4021' },\r\n ];\r\n yesnos: YesNo[] = [\r\n { value: 'Yes', viewValue: 'Yes' },\r\n { value: 'No', viewValue: 'No' },\r\n ];\r\n\r\n repairtypes: RepairType[] = [\r\n { value: 'Agency', viewValue: 'Agency' },\r\n { value: 'Garage', viewValue: 'Garage' },\r\n ];\r\n\r\n motbanknams: MotBankNam[] = [\r\n { value: 'MBN', viewValue: 'ABC Bank' },\r\n { value: 'MBN', viewValue: 'DEF Bank' },\r\n { value: 'MBN', viewValue: 'GHI Bank' },\r\n ];\r\n genders: Gender[] = [\r\n { value: 'M', viewValue: 'Male' },\r\n { value: 'F', viewValue: 'Female' },\r\n ];\r\n expmonths: ExpiryMonth[] = [\r\n { value: 'EXPMON', viewValue: 'January' },\r\n { value: 'EXPMON', viewValue: 'February' },\r\n { value: 'EXPMON', viewValue: 'March' },\r\n { value: 'EXPMON', viewValue: 'April' },\r\n { value: 'EXPMON', viewValue: 'May' },\r\n { value: 'EXPMON', viewValue: 'June' },\r\n { value: 'EXPMON', viewValue: 'July' },\r\n { value: 'EXPMON', viewValue: 'August' },\r\n { value: 'EXPMON', viewValue: 'September' },\r\n { value: 'EXPMON', viewValue: 'October' },\r\n { value: 'EXPMON', viewValue: 'November' },\r\n { value: 'EXPMON', viewValue: 'December' },\r\n ];\r\n\r\n NCDArr = [\r\n { value: '0', label: '0' },\r\n { value: '1', label: '1' },\r\n { value: '2', label: '2' },\r\n { value: '3', label: '3' },\r\n { value: '4', label: '4' },\r\n { value: '5+', label: '5+' },\r\n\r\n ]\r\n\r\n activePolicyTypeArr = [\r\n { value: 'Yes', label: 'No Insurance' },\r\n { value: 'No', label: 'Comprehensive' },\r\n { value: 'Yes', label: 'Third Party Liability' }\r\n\r\n ];\r\n\r\n plateCatArray: PlateCategory[] = [\r\n { label: \"Private\", value: \"Private\" },\r\n { label: \"Police\", value: \"Police\" },\r\n { label: \"Public (Driving Learning)\", value: \"Public (Driving Learning)\" },\r\n { label: \"Protocol\", value: \"Protocol\" },\r\n { label: \"Public (Transport/Taxi)\", value: \"Public (Transport/Taxi)\" },\r\n { label: \"Trade Plate\", value: \"Trade Plate\" },\r\n { label: \"Export\", value: \"Export\" },\r\n { label: \"Diplomatic Association\", value: \"Diplomatic Association\" },\r\n { label: \"International Organization\", value: \"International Organization\" },\r\n { label: \"Delegate\", value: \"Delegate\" },\r\n { label: \"Classical\", value: \"Classical\" },\r\n { label: \"Others\", value: \"Others\" },\r\n ];\r\n\r\n transactionTypeArray = [\r\n {value: '0', label: 'New Vehicle'},\r\n {value: '1', label: 'Renewal'},\r\n {value: '2', label: 'Change in Ownership'},\r\n ]\r\n\r\n\r\n\r\n maxDate = new Date(new Date().setFullYear(new Date().getFullYear() - 18));\r\n minDate = new Date(new Date().setFullYear(new Date().getFullYear() - 71));\r\n UAELicMinDate = new Date(new Date().setFullYear(new Date().getFullYear() - 50));\r\n policyMinDate = new Date(Date.now());\r\n\r\n policyMaxDate = new Date(new Date().setDate(new Date().getDate() + 13));\r\n regMinDate = new Date(2000, 0, 1);\r\n regMaxDate = new Date(2023, 0, 1);// Updated regmax date to 2023 by Anju\r\n reg_exp_min_date = new Date(Date.now());\r\n reg_exp_max_date = new Date(new Date().setDate(new Date().getDate() + 30));\r\n prevInsMaxDate = new Date(new Date().setMonth(new Date().getMonth() + 2));\r\n\r\n\r\n //DECLARE FORMGROUPS\r\n personalDetailForm: FormGroup; vehicleDetailForm: FormGroup; coverDetailForm: FormGroup; additionalDetailForm: FormGroup; retrieveQuoteForm: FormGroup;\r\n quotationForm: FormGroup; policyRenewForm: FormGroup; public subscriptions: Subscription[] = [];\r\n\r\n //DECLARE ARRAYS\r\n vhclMakeArr: Make[]; countryArr: Country[]; vhclColorArr: VichleColor[]; cityArr: any = []; vhclModelArr: Model[]; vhclBodyTypeArr: any = []; vehitrims: any = []; tempRepairTypeArr: any = [];\r\n coverData: any = []; NCDData: any = []; benfPremIdArray: any = []; savePlanDetailArr: any = []; quoteDetailArr: any = []; bankDetail: MortageBank[]; quoteDetailDataForCUst: any = []; plateCodeArray: any = [];\r\n public termsAndCondition :any = []; repairs: any[]; tempTransactionTypeArr : any = []; industryTypeArr: any = []; retrieveData: any = []; tempBenefitData:any = []; selfDeclarartionArr :any = []; selfDeclQueArr:any = [];\r\n\r\n //DECLARE VARIABLES\r\n public policy_type: any; reg_type: any; vehicle_mk_id: any; language_code = 'ENG'; country = 'United Arab Emirates'; selectedCover: any; notSelectedCover: any; checkedOptCover: boolean; no_Of_Doors: any;\r\n checked: boolean; coverPremium: any; validChassisNum: boolean = false; webQuoteNumber: any = ''; quoteNumber: any; invalidEID: boolean = false; value: any = 0; plan_Name: any; plan_Id: any;\r\n paymentLoader: boolean = false; totalPremiumeithDisc: any; validtnMsg: boolean = true; docNameType: any; mulOption: any; quoteDetail: any; public policyFee: number; vehicleValue: any = '';\r\n licFrontLoader: boolean = false; licBackLoader: boolean = false; regFrontLoader: boolean = false; regBackLoader: boolean = false; eidFrontLoader: boolean = false; eidBackLoader: boolean = false;\r\n delQuoteLoader: boolean = false; otherDocLoader: boolean = false; selected = new FormControl(0); minTCF: any; maxTCF: any; blankChassis: boolean = false; age: any; UAELicAge: any;\r\n accept_terms: boolean = false; chassis_No_Details: any; check_chassis_No: boolean = false; selectedStepper = new FormControl(0); ret_quote_num: any = ''; VATAMT: any;\r\n Total_Primium: any; getVechileDetailData: any; tempTotalFixPremium: number; totalFixPremium: number = 0; totalVariablePremium: number = 0; multipleImg: any = ''; ImagedocumentType: any; showAllDocImg: any = 0;\r\n totalDiscount: number = 0; totalPreimum: number = 0; product_code = \"MT00061\"; public checkStepper: boolean = false; emailID: any; mobile_No: any; code: any; optionalBenefit: any; vhclModelYearVal:any = ''; retrieveFlag:boolean = false;\r\n vhcleValueFlag :boolean = false; retrieveVehcleMake:any; SchemeCode:any = 'ALL'; insuredDetailForm:FormGroup; retrieve_repair_type = ''; quoteStatus: any;\r\n floatingSelectedIndex: any; vehicle_age:any; selfDeclarationDiscount:any; tempTotalLoadFixPrem:any; public trans_ref:any; selfDeclLevel1 :any; selfDeclLevel2:any; specialDiscountAmt:any;\r\n accept_self_declaration_1:boolean = false; accept_self_declaration_2:boolean = false;accept_self_declaration_3:boolean = false;\r\n accept_self_declaration_4:boolean = false; accept_self_declaration_5:boolean = false;\r\n public showFloatingopenicon:boolean=true;\r\n public premiumopenicon:boolean=true;\r\n public showFloatingcloseicon:boolean=false;\r\n public premiumcloseicon:boolean=false;\r\n public showFloating :boolean=true;\r\n public showpremiumFloating :boolean=true;\r\n //DATES\r\n toDay = new Date(Date.now());\r\n minyear = new Date().getFullYear() - 1;\r\n maxYear = new Date().getFullYear() + 1;\r\n year = new Date().getFullYear();\r\n nextDate = new Date(Date.now() + 1);\r\n PrevDate = new Date(Date.now() - 2);\r\n\r\n public showLoader = {\r\n reg_card_front: false,\r\n reg_card_back: false,\r\n emirates_Id_front: false,\r\n emirates_Id_back: false,\r\n driving_Lic_front: false,\r\n driving_Lic_back: false,\r\n Quotation: false,\r\n VehicleValue: false,\r\n vhclMake: false,\r\n vhclModel: false,\r\n vhclTrim: false,\r\n vhclBodyType: false,\r\n retrieveQuote: false,\r\n multipleDoc: false,\r\n supporting_Document: false,\r\n chasisNoButton: false,\r\n additionalDoc: false,\r\n referal: false,\r\n trade_Licence : false,\r\n TRN_Certificate : false,\r\n }\r\n\r\n validtnMsg1 = {\r\n personalDetail: false,\r\n vehicleDetail: false,\r\n coverDetail: false,\r\n Quotation: false,\r\n additionalDetail: false,\r\n retrieveQuote: false,\r\n policyRenew: false\r\n\r\n }\r\n\r\n iSRetriveQuote: boolean;\r\n editableStep = { personalDetail: true, vehicleDetail: true, coverDetail: true, Quotation: true, additionalDetail: true }\r\n constructor(public _route: Router, public _activatedroute: ActivatedRoute, public formBuilder: FormBuilder, public globalService: GlobalService, public motorQuoteService: MotorquoteService, public userAuthService: UserauthService,private compressImage: CompressImageService) { }\r\n\r\npublic hideImages = {\r\n reg_card_front: false,\r\n reg_card_back: false,\r\n emirates_Id_front: false,\r\n emirates_Id_back: false,\r\n driving_Lic_front: false,\r\n driving_Lic_back: false,\r\n}\r\n\r\n ngOnInit() {\r\n \r\n this.licFrontLoader = this.globalService.spinnerHide();\r\n this.licBackLoader = this.globalService.spinnerHide();\r\n this.regFrontLoader = this.globalService.spinnerHide();\r\n this.regBackLoader = this.globalService.spinnerHide();\r\n this.eidFrontLoader = this.globalService.spinnerHide();\r\n this.eidBackLoader = this.globalService.spinnerHide();\r\n this.delQuoteLoader = this.globalService.spinnerHide();\r\n this.otherDocLoader = this.globalService.spinnerHide();\r\n\r\n this.iSRetriveQuote = false;\r\n this.tempTransactionTypeArr = this.transactionTypeArray;\r\n\r\n this.docUploadForm = this.formBuilder.group({\r\n docRegCardFront: [''],\r\n reg_Card_Front:[''],\r\n reg_Card_FrontFilePath: ['',[Validators.required]],\r\n reg_Card_FrontFileType: '',\r\n\r\n docRegCardBack: [''],\r\n reg_Card_Back: [''],\r\n reg_Card_BackFilePath: ['',[Validators.required]],\r\n reg_Card_BackFileType: '',\r\n\r\n docEmiratedIdFront: [''],\r\n emirated_ID_Front: [''],\r\n emirated_ID_FrontFilePath: '',\r\n emirated_ID_FrontFileType: '',\r\n\r\n docEmiratedIdBack: [''],\r\n emirated_ID_Back: [''],\r\n emirated_ID_BackFilePath: '',\r\n emirated_ID_BackFileType: '',\r\n\r\n docDrivingLicFront: [''],\r\n driving_Lic_Front: [''],\r\n driving_Lic_FrontFilePath: ['',[Validators.required]],\r\n driving_Lic_FrontFileType: '',\r\n\r\n docDrivingLicBack: [''],\r\n driving_Lic_Back: [''],\r\n driving_Lic_BackFilePath: ['',[Validators.required]],\r\n driving_Lic_BackFileType: '',\r\n\r\n \r\n });\r\n\r\n this.insuredDetailForm = this.formBuilder.group({\r\n\r\n // reg card front form fields\r\n rg_model_year: ['', [Validators.required]],\r\n rg_num_passenger: ['', [Validators.required]],\r\n rg_origin: [''],\r\n rg_vhcl_make: ['', [Validators.required]],\r\n rg_vhcl_model: ['', [Validators.required]],\r\n rg_gvm: [''],\r\n rg_engin_num: ['',[Validators.required]],\r\n rg_chassis_num: ['',[Validators.required]],\r\n // reg card back form fields\r\n rg_traffic_plate_num: [''],\r\n rg_place_issue: [ '', [Validators.required]],\r\n rg_TC_num: ['', [Validators.required]],\r\n rg_type: ['', [Validators.required]],\r\n rg_plateCode: [''],\r\n rg_expiry_date: ['', [Validators.required]],\r\n rg_reg_date: ['', [Validators.required]],\r\n rg_ins_exp: ['', [Validators.required]],\r\n rg_policy_num: [''],\r\n rg_mortgage: [''],\r\n // eid front form fields\r\n e_eid: [''],\r\n e_name: ['',[Validators.required]],\r\n e_nationality: [''],\r\n e_cardNumber: [''],\r\n e_expiryDate: [''],\r\n e_gender: ['',[Validators.required]],\r\n e_arabic_name: [''],\r\n // eid back form fields\r\n \r\n // driving lic front form fields\r\n d_driv_lic_num: [''],\r\n d_dob: [''],\r\n d_issue_date: [''],\r\n d_expiry_date: [''],\r\n d_place_issue: [''],\r\n d_TC_number: [''],\r\n d_lic_type: [''],\r\n\r\n // Additional detail fields /^((050|052|054|055|056|057|058|059){1}([0-9]{7}))$/ //'[050|052|054|055|056|057|058|059]{1}[0-9]{7}'\r\n adtnl_detail_email: ['',Validators.compose([Validators.required,Validators.pattern('[a-zA-Z0-9.-_-]{1,}@[a-zA-Z.-]{2,}[.]{1}[a-zA-Z]{2,}')])],\r\n // adtnl_detail_mbCode: ['', [Validators.required]],\r\n adtnl_detail_mobile: ['',Validators.compose([Validators.required,Validators.minLength(10), Validators.maxLength(10), Validators.pattern(/^((050|052|054|055|056|057|058|059){1}([0-9]{7}))$/)])],\r\n adtnl_detail_NCD: ['', [Validators.required]],\r\n adtnl_detail_repairTye: [''],\r\n adtnl_detail_vhclValue: [''],\r\n adtnl_detail_trim: ['', [Validators.required]],\r\n adtnl_detail_bodyType: ['', [Validators.required]],\r\n adtnl_detail_cylinder: ['', [Validators.required]],\r\n adtnl_detail_gccSpecified: ['', [Validators.required]],\r\n adtnl_detail_vhclModified: ['', [Validators.required]],\r\n adtnl_detail_brandNew: [''],\r\n adtnl_detail_area: [''],\r\n adtnl_detail_poBoxNum: [''],\r\n adtnl_detail_insType: ['', [Validators.required]],\r\n isChassisValidate: [''],\r\n adtnl_detail_vhclOwnBy: ['', [Validators.required]],\r\n polStartDate: [new Date(Date.now()), Validators.required],\r\n vhclTPLCoverage: ['', [Validators.required]],\r\n promoCode: [''],\r\n vhclColor: [''],\r\n eIDCheck:['', [Validators.required]],\r\n CC : [''],\r\n loading_capacity : [''],\r\n deductible : [''],\r\n\r\n //For Corporate : insured vehicle own by\r\n TRN_num : [''],\r\n trade_lic_num : [''],\r\n industry_type : [''],\r\n vat_register : ['No'],\r\n transaction_type : ['',[Validators.required]],\r\n\r\n // Added Partner And Branch\r\n\r\n partner:[''],\r\n branch:[''],\r\n\r\n });\r\n\r\n this.quotationForm = this.formBuilder.group({\r\n quoteStepValdtn: ['', Validators.required]\r\n\r\n });\r\n\r\n this.additionalDetailForm = this.formBuilder.group({\r\n chassisNum: [''],\r\n vhclColor: ['', Validators.required],\r\n vhclPlateCategory: [''],\r\n plateCode: ['', Validators.required],\r\n plateNumber: ['', Validators.required],\r\n engineNum: [''],\r\n motgagedBankName: [''],\r\n polStartDate: [new Date(Date.now()), Validators.required],\r\n gender: ['', Validators.required],\r\n emiratesID: ['', [Validators.required]],\r\n nationality: ['', Validators.required],\r\n address: ['', [Validators.required, Validators.pattern('.*[A-Za-z0-9 -,#.)(]{5,200}$')]],\r\n area: ['', [Validators.required, Validators.pattern('.*[A-Za-z0-9 -,#.)(]{5,100}$')]],\r\n poBoxNum: [''],\r\n drivingLicense: ['', [Validators.required]],\r\n TCFnum: [''],\r\n\r\n isChassisValidate: ['']\r\n\r\n // otherForm: ['',Validators.required]\r\n });\r\n\r\n this.retrieveQuoteForm = this.formBuilder.group({\r\n\r\n web_Quote_Num: ['', Validators.required],\r\n email: ['', Validators.compose([Validators.required, Validators.pattern('[a-zA-Z0-9.-_-]{1,}@[a-zA-Z.-]{2,}[.]{1}[a-zA-Z]{2,}')])],\r\n mob_Num: ['', Validators.required],\r\n //isRetriveValidate : ['',Validators.required]\r\n\r\n\r\n });\r\n\r\n this.policyRenewForm = this.formBuilder.group({\r\n policyNum: ['', [Validators.required, Validators.maxLength(15), Validators.pattern('^[a-zA-Z0-9 \\/\\']+')]],\r\n polExpDate: ['', Validators.required],\r\n email: ['', Validators.compose([Validators.required, Validators.pattern('[a-zA-Z0-9.-_-]{1,}@[a-zA-Z.-]{2,}[.]{1}[a-zA-Z]{2,}')])],\r\n code: ['', Validators.required],\r\n mobile: ['', Validators.required]\r\n\r\n });\r\n\r\n\r\n const statusModSub = this.globalService.connectionStatusChanged.subscribe(data => {\r\n\r\n if (data == 'online') {\r\n\r\n this.getTokenData();\r\n }\r\n else {\r\n }\r\n\r\n\r\n });\r\n\r\n this.subscriptions.push(statusModSub);\r\n\r\n this.getTokenData();\r\n\r\n if( this.SchemeCode == '106'){\r\n this.insuredDetailForm.get('adtnl_detail_insType').setValue( { value: '200', viewValue: 'Third Party Liability', WebProdCode: 'MTTPL0065', CoreProdCode: '4021' });\r\n }else {\r\n this.insuredDetailForm.get('adtnl_detail_insType').setValue( { value: '100', viewValue: 'Comprehensive', WebProdCode: 'MT00061', CoreProdCode: '4001_1' });\r\n }\r\n\r\n this.insuredDetailForm.get('adtnl_detail_brandNew').setValue('0');\r\n\r\n if (this.insuredDetailForm.value.adtnl_detail_brandNew == 1) {\r\n \r\n this.transactionTypeArray = [];\r\n this.transactionTypeArray.push(this.tempTransactionTypeArr[0]);\r\n this.insuredDetailForm.get('transaction_type').setValue(this.transactionTypeArray[0]);\r\n }else{\r\n this.transactionTypeArray = [];\r\n this.transactionTypeArray.push(this.tempTransactionTypeArr[1]);\r\n this.transactionTypeArray.push(this.tempTransactionTypeArr[2]);\r\n this.insuredDetailForm.get('transaction_type').setValue(this.transactionTypeArray[0]);\r\n }\r\n this.onChangeTransactionType(this.insuredDetailForm.value.transaction_type.label);\r\n\r\n const routeParam = this._activatedroute.snapshot.params;\r\n if (routeParam.Quote_No) {\r\n this.ret_quote_num = routeParam.Quote_No;\r\n // console.log(this.ret_quote_num)\r\n }\r\n\r\n const routeParam1 = this._activatedroute.snapshot.params;\r\n if (routeParam1.quoteNum !=null) {\r\n this.selected.setValue(1);\r\n\r\n this.quotationumber = routeParam1.quoteNum;\r\n this.emailId = routeParam1.emailId;\r\n this.mobileNo = routeParam1.mobileNo;\r\n this.retrieveQuoteForm.get('web_Quote_Num').setValue(this.quotationumber)\r\n this.retrieveQuoteForm.get('email').setValue(this.emailId)\r\n this.retrieveQuoteForm.get('mob_Num').setValue(this.mobileNo)\r\n // console.log(this.ret_quote_num)\r\n // console.log(this.emailId)\r\n // console.log(this.mobileNo)\r\n }\r\n\r\n\r\n this.paymentLoader = this.globalService.spinnerHide();\r\n\r\n this.tempRepairTypeArr = this.repairtypes;\r\n\r\n\r\n\r\n // listen for search field value changes\r\n this.country1FilterCtrl.valueChanges\r\n .pipe(takeUntil(this._onDestroy))\r\n .subscribe(() => {\r\n\r\n this.filterCountry();\r\n });\r\n\r\n\r\n // listen for search field value changes\r\n this.nationalFilterCtrl.valueChanges\r\n .pipe(takeUntil(this._onDestroy))\r\n .subscribe(() => {\r\n\r\n this.filterNationalCountry();\r\n });\r\n\r\n this.makeFilterCtrl.valueChanges\r\n .pipe(takeUntil(this._onDestroy))\r\n .subscribe(() => {\r\n\r\n this.filterMake();\r\n });\r\n\r\n this.modelFilterCtrl.valueChanges\r\n .pipe(takeUntil(this._onDestroy))\r\n .subscribe(() => {\r\n\r\n this.filterModel();\r\n });\r\n\r\n this.filteredYears.next(this.vehimodelyrs.slice());\r\n\r\n this.yearFilterCtrl.valueChanges\r\n .pipe(takeUntil(this._onDestroy))\r\n .subscribe(() => {\r\n\r\n this.filterYear();\r\n });\r\n\r\n\r\n\r\n this.filteredPlateCat.next(this.plateCatArray.slice());\r\n\r\n this.plateFilterCtrl.valueChanges\r\n .pipe(takeUntil(this._onDestroy))\r\n .subscribe(() => {\r\n\r\n this.filterPlateCat();\r\n });\r\n\r\n\r\n this.vchColorFilterCtrl.valueChanges\r\n .pipe(takeUntil(this._onDestroy))\r\n .subscribe(() => {\r\n\r\n this.filterVechColor();\r\n });\r\n\r\n this.mortageBankFilterCtrl.valueChanges\r\n .pipe(takeUntil(this._onDestroy))\r\n .subscribe(() => {\r\n\r\n this.filterMortageBank();\r\n });\r\n\r\n\r\n this.filteredCode.next(this.codes.slice());\r\n this.codeFilterCtrl.valueChanges\r\n .pipe(takeUntil(this._onDestroy))\r\n .subscribe(() => {\r\n\r\n this.filterCode();\r\n });\r\n if(localStorage.getItem(\"retriveOCR\")==\"OCR\"){\r\n setTimeout(() => {\r\n \r\n\r\n \r\n this.retrieveQuoteForm.get('web_Quote_Num').setValue(localStorage.getItem(\"retriveOCRQuote\"));\r\n this.retrieveQuoteForm.get('email').setValue(localStorage.getItem(\"retriveOCRemail\"));\r\n this.retrieveQuoteForm.get('mob_Num').setValue(localStorage.getItem(\"retriveOCRCode\")+localStorage.getItem(\"retriveOCRmob_Num\"));\r\n localStorage.setItem(\"retriveOCRQuote\",'');\r\n localStorage.setItem(\"retriveOCRemail\",'');\r\n localStorage.setItem(\"retriveOCRCode\",'');\r\n\r\n \r\n \r\n // this.retrieveQuoteForm.get('web_Quote_Num').setValue(localStorage.getItem(\"retriveOCRemail\"));\r\n\r\n // localStorage.getItem(\"retriveOCRCode\");\r\n // localStorage.getItem(\"retriveOCRmob_Num\");\r\n // localStorage.getItem(\"retriveOCRemail\");\r\n this.getRetrieveQuoteData();\r\n\r\n }, 5000);\r\n\r\n }\r\n const routeParam2 = this._activatedroute.snapshot.params;\r\n if (routeParam2.quotationNumber !=null) {\r\n // alert(1)\r\n this.quotationumber = routeParam2.quotationNumber;\r\n this.retrieveQuoteForm.get('web_Quote_Num').setValue(this.quotationumber)\r\n // this.retrieveQuoteForm.get('email').setValue(this.emailId)\r\n // this.retrieveQuoteForm.get('mob_Num').setValue(this.mobileNo)\r\n // this.retrieveQuoteForm.get('web_Quote_Num').setValue(localStorage.getItem(\"retriveOCRQuote\"));\r\n this.retrieveQuoteForm.get('email').setValue(localStorage.getItem(\"EmailAddress\"));\r\n this.retrieveQuoteForm.get('mob_Num').setValue(localStorage.getItem(\"MobileNumber\"));\r\n // console.log(localStorage.getItem(\"MobileNumber\"))\r\n this.getRetrieveQuoteData();\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n this._onDestroy.next();\r\n this._onDestroy.complete();\r\n }\r\n\r\n get f() { return this.insuredDetailForm.controls; }\r\n get P() { return this.personalDetailForm.controls; }\r\n get g() { return this.vehicleDetailForm.controls; }\r\n get h() { return this.coverDetailForm.controls; }\r\n get k() { return this.additionalDetailForm.controls; }\r\n get r() { return this.retrieveQuoteForm.controls; }\r\n get n() { return this.policyRenewForm.controls; }\r\n\r\n\r\n //-------------------------- GET TOKEN DATA -------------------------\r\n getTokenData() {\r\n\r\n // this.showLoader.personalDetail = true;\r\n this.userAuthService.getTokenData().subscribe(res => {\r\n let result = this.globalService.convertResponseInJson(res);\r\n // if (result.response_code == 1) {\r\n // this._route.navigate([\"/motorquote\"]);\r\n this.getAllFormData('');\r\n this.getVhclNCD();\r\n this.getIndustryTypes();\r\n // this.showLoader.personalDetail = false;\r\n\r\n // }\r\n },\r\n (error) => {\r\n // this.showLoader.personalDetail = false;\r\n console.error(error.status);\r\n \r\n });\r\n }\r\n\r\n insertQuote(stepper, type) {\r\n\r\n if (this.personalDetailForm.invalid) {\r\n this.validtnMsg1.personalDetail = true;\r\n return false;\r\n }\r\n\r\n if (this.age > 71 || this.age < 18) {\r\n return false;\r\n }\r\n\r\n this.validtnMsg1.personalDetail = false;\r\n\r\n if (type != 0)\r\n stepper.next();\r\n\r\n }\r\n //--------------------------------- GET ALL FORM DROPDOWN DATA -----------------------------\r\n getAllFormData(year) {\r\n this.motorQuoteService.getAllFormData('COMPREHENSIVE', 'INDIVIDUAL', '0', this.language_code, this.country,year).subscribe(res => {\r\n\r\n this.cityArr = res.cityData;\r\n this.vhclColorArr = res.vehicleColorsData;\r\n this.countryArr = res.countryData;\r\n \r\n\r\n this.filteredVchColor.next(this.vhclColorArr.slice());\r\n \r\n\r\n \r\n // this.personalDetailForm.get(\"licIssueContry\").setValue(this.countryArr[32]);\r\n this.filteredCountries.next(this.countryArr.slice());\r\n\r\n // this.additionalDetailForm.get(\"nationality\").setValue(this.countryArr[32]);\r\n this.filteredNationCountries.next(this.countryArr.slice());\r\n\r\n });\r\n\r\n this.motorQuoteService.getBankDetail().subscribe(res => {\r\n\r\n this.bankDetail = res.bankdetailsData;\r\n this.filteredBank.next(this.bankDetail.slice());\r\n\r\n });\r\n }\r\n\r\n//------------------------------ GET VEHICLE NCD ---------------------------------------------\r\n getVhclNCD() {\r\n this.motorQuoteService.getVehicleNcd(this.language_code, 'MOTOR').subscribe(res => {\r\n this.NCDData = res.vechileNCDData;\r\n \r\n });\r\n }\r\n\r\n//---------------------------------- GET INDUSTRY TYPE --------------------------------------------------------//\r\n getIndustryTypes(){\r\n this.motorQuoteService.getIndustryTypes('MT').subscribe(res => {\r\n this.industryTypeArr = res.industries;\r\n });\r\n}\r\n\r\n//------------------------------ GET VEHICLE MODEL -----------------------------------------\r\ngetVhclModel(vehclMkId, type, year) {\r\n\r\n // this.onVehiclAgeChange(year);\r\n\r\n this.showLoader.vhclModel = true;\r\n \r\n this.motorQuoteService.getVehicleModel('P', this.insuredDetailForm.value.rg_vhcl_make, this.language_code, null, year.value).subscribe(res => {\r\n\r\n this.vhclModelArr = res.vechileModelData;\r\n if (res.response_code == 1) {\r\n\r\n this.filteredModels.next(this.vhclModelArr.slice()); // FOr ng select search\r\n }\r\n\r\n if ((type == 2 || type == 1) && typeof (this.vhclModelArr) != undefined && typeof (this.vhclModelArr) != \"undefined\") {\r\n\r\n let trim = type == 2 ? this.vehicleData.General.Trim : this.quoteDetail.TrimCode;\r\n let model = type == 2 ? this.vehicleData.General.Model : this.quoteDetail.VehicleModel;\r\n let ModalName = (vehclMkId == 34 || vehclMkId == 7) ? trim : model;\r\n\r\n var indexModel = this.vhclModelArr.findIndex(function (obj, k) {\r\n\r\n return obj.VehicleModelName === ModalName;\r\n });\r\n let modelVal = this.vhclModelArr[indexModel];\r\n\r\n this.insuredDetailForm.get('rg_vhcl_model').setValue(modelVal);\r\n if (modelVal != null && modelVal != undefined) {\r\n if (type == 2)\r\n this.getMotorBodyType(modelVal.VehicleModelId, 2, year, modelVal.VehicleModelName);\r\n else\r\n this.getMotorBodyType(modelVal.VehicleModelId, 1, year, modelVal.VehicleModelName);\r\n }\r\n }\r\n if (type == 3 && typeof (this.vhclModelArr) != undefined && typeof (this.vhclModelArr) != \"undefined\") {\r\n\r\n let ModalName = (this.chassis_No_Details.General.Make == 34 || this.chassis_No_Details.General.Make == 7) ? this.chassis_No_Details.General.Trim : this.chassis_No_Details.General.Model;\r\n \r\n if(ModalName != '' && ModalName != null){\r\n var indexModel = this.vhclModelArr.findIndex(function (obj, k) {\r\n return obj.VehicleModelName === ModalName;\r\n });\r\n let modelVal = this.vhclModelArr[indexModel];\r\n this.insuredDetailForm.get('rg_vhcl_model').setValue(modelVal);\r\n if (modelVal != null && modelVal != undefined) {\r\n this.getMotorBodyType(modelVal.VehicleModelId, 3, year, modelVal.VehicleModelName);\r\n }\r\n }\r\n\r\n }\r\n this.showLoader.vhclModel = false;\r\n\r\n var d = new Date(this.insuredDetailForm.value.rg_reg_date);\r\n let firstRegYear: number = d.getFullYear();\r\n\r\n var p = new Date(this.insuredDetailForm.value.polStartDate);\r\n let policyStartDateYear: number = p.getFullYear();\r\n let vhclYear = this.insuredDetailForm.value.rg_model_year;\r\n\r\n let timeDiff = Math.abs(this.insuredDetailForm.value.rg_reg_date - this.insuredDetailForm.value.polStartDate);\r\n let days_difference = Math.floor(timeDiff / (1000 * 60 * 60 * 24));\r\n \r\n let D1 = Math.ceil(1 + (days_difference/397)); //this will give you years\r\n let D2 = (Number(policyStartDateYear) - Number(vhclYear.value)) + 1;\r\n let vehicle_age = Math.max(D2,D1);\r\n let D3 = Math.abs(D2 - D1);\r\n if(D3 == 1){\r\n vehicle_age = D1;\r\n }\r\n else{\r\n vehicle_age = Math.max(D2,D1);\r\n }\r\n\r\n if (vehicle_age >= 5) {\r\n if ((this.insuredDetailForm.value.rg_vhcl_make.VehicleMakeName == \"BMW\" || this.insuredDetailForm.value.rg_vhcl_make.VehicleMakeName == \"MINI\") && this.SchemeCode == '104') {\r\n \r\n } else {\r\n \r\n this.insuredDetailForm.get('adtnl_detail_repairTye').setValue(this.repairtypes[0]);\r\n\r\n }\r\n }\r\n this.getDeductibleValue();\r\n });\r\n \r\n }\r\n\r\n //------------------------------- GET MOTOR BODY TYPE AND VEHICLE SPECIFICATION------------------------------------------\r\n getMotorBodyType(vhclModelId, type, year, modelName) {\r\n\r\n if (typeof (vhclModelId) == \"undefined\" || typeof (vhclModelId) == undefined) return false;\r\n\r\n this.showLoader.vhclTrim = true;\r\n this.showLoader.vhclBodyType = true;\r\n\r\n this.motorQuoteService.getMotorBodyType(this.insuredDetailForm.value.adtnl_detail_insType.viewValue, this.insuredDetailForm.value.adtnl_detail_vhclOwnBy.viewValue, vhclModelId, this.language_code, year, modelName).subscribe(res => {\r\n\r\n this.vhclBodyTypeArr = res.vechileMotoBodyTypeData;\r\n this.vehitrims = res.vechilesSpecificationData;\r\n\r\n if (res.response_code == 1 || res.response_code == 2) {\r\n this.showLoader.vhclTrim = false;\r\n this.showLoader.vhclBodyType = false;\r\n }\r\n\r\n if ((type == 2 || type == 1) && typeof (this.vhclBodyTypeArr) != undefined && typeof (this.vhclBodyTypeArr) != \"undefined\") {\r\n\r\n //VEHICLE TRIM \r\n let trimName = type == 2 ? this.vehicleData.General.Trim + \" \" + \"-\" + \" \" + this.vehicleData.Technical.EngineDisplacementNominal.Value.trim() : this.quoteDetail.TrimName;\r\n let bodyType = type == 2 ? this.vehicleData.General.BodyType : this.quoteDetail.BodyType;\r\n\r\n var indexTrim = this.vehitrims.findIndex(function (obj, k) {\r\n return obj.VehicleSpecName === trimName;\r\n });\r\n\r\n let trimVal = this.vehitrims[indexTrim];\r\n this.insuredDetailForm.get('adtnl_detail_trim').setValue(trimVal);\r\n\r\n //BODY TYPE\r\n var indexbodyType = this.vhclBodyTypeArr.findIndex(function (obj, k) {\r\n return obj.BodyTypeName === bodyType;\r\n });\r\n let bdTyVal = this.vhclBodyTypeArr[indexbodyType];\r\n this.insuredDetailForm.get('adtnl_detail_bodyType').setValue(bdTyVal);\r\n\r\n }\r\n\r\n if (type == 3 && typeof (this.vhclBodyTypeArr) != undefined && typeof (this.vhclBodyTypeArr) != \"undefined\") {\r\n //VEHICLE TRIM ------- not given\r\n\r\n let trimName = this.chassis_No_Details.General.Trim + \" \" + \"-\" + \" \" + this.chassis_No_Details.Technical.EngineDisplacementNominal.Value.trim();\r\n let bodyType = this.chassis_No_Details.General.BodyType;\r\n\r\n var indexTrim = this.vehitrims.findIndex(function (obj, k) {\r\n return obj.VehicleSpecName === trimName;\r\n });\r\n\r\n let trimVal = this.vehitrims[indexTrim];\r\n this.insuredDetailForm.get('adtnl_detail_trim').setValue(trimVal);\r\n\r\n //BODY TYPE\r\n var indexbodyType = this.vhclBodyTypeArr.findIndex(function (obj, k) {\r\n return obj.BodyTypeName === bodyType;\r\n });\r\n let bdTyVal = this.vhclBodyTypeArr[indexbodyType];\r\n this.insuredDetailForm.get('adtnl_detail_bodyType').setValue(bdTyVal);\r\n }\r\n\r\n this.updateValuation();\r\n // this.getTonnage();\r\n });\r\n\r\n}\r\n\r\n\r\n calculateAge(dateOfBirth) {\r\n\r\n let timeDiff = Math.abs(Date.now() - dateOfBirth);\r\n return Math.floor((timeDiff / (1000 * 3600 * 24)) / 365.25);\r\n\r\n }\r\n//--------------------------------- ON MODEL YEAR CHANGE -------------------------------------//\r\nonVehiclAgeChange(vhclYear) {\r\n\r\n\r\n var d = new Date(this.insuredDetailForm.value.rg_reg_date);\r\n let firstRegYear: number = d.getFullYear();\r\n\r\n var p = new Date(this.insuredDetailForm.value.polStartDate);\r\n let policyStartDateYear: number = p.getFullYear();\r\n\r\n let vhclNextYear = Number(vhclYear.value) + 1;\r\n let vhclPrevYear = Number(vhclYear.value) - 1;\r\n\r\n let schemeYear = Number(firstRegYear) - Number(vhclYear.value);\r\n\r\n this.regMinDate = new Date(vhclPrevYear, 4, 1);\r\n //this.regMaxDate = new Date(vhclNextYear, 1, 28);\r\n this.regMaxDate = new Date();\r\n\r\n let vhclAge = this.year - vhclYear.value;\r\n\r\n\r\n let timeDiff = Math.abs(this.insuredDetailForm.value.rg_reg_date - this.insuredDetailForm.value.polStartDate);\r\n let days_difference = Math.floor(timeDiff / (1000 * 60 * 60 * 24));\r\n\r\n let D1 = Math.ceil(1 + (days_difference/397)); //this will give you years\r\n let D2 = (Number(policyStartDateYear) - Number(vhclYear.value)) + 1;\r\n this.vehicle_age = Math.max(D2,D1);\r\n let D3 = Math.abs(D2 - D1);\r\n if(D3 == 1){\r\n this.vehicle_age = D1;\r\n }\r\n else{\r\n this.vehicle_age = Math.max(D2,D1);\r\n }\r\n\r\n this.motorQuoteService.getMotorRequiredData('AgencyLogic',this.vehicle_age,Number(vhclYear.value),Number(policyStartDateYear),this.insuredDetailForm.value.rg_vhcl_make,this.SchemeCode,this.quoteStatus,this.webQuoteNumber).subscribe(res =>{\r\n \r\n let response = res;\r\n this.repairs = response.repair_type_data;\r\n this.repairtypes=this.repairs\r\n \r\n this.insuredDetailForm.get('adtnl_detail_repairTye').setValue(this.repairtypes[0]); \r\n \r\n if(this.retrieve_repair_type != ''){\r\n var indRepairType;\r\n this.repairtypes.forEach((item, index) => {\r\n if (item.value.toLowerCase() == this.quoteDetail.RepairType.toLowerCase()) {\r\n indRepairType = item;\r\n }\r\n });\r\n \r\n this.insuredDetailForm.get('adtnl_detail_repairTye').setValue(indRepairType);\r\n }\r\n\r\n });\r\n\r\n}\r\n\r\n\r\n checkBrandNew(){\r\n if(this.vehicleDetailForm.value.brandNw == 1){\r\n this.vehicleDetailForm.controls['regDate'].setValidators(null);\r\n }\r\n this.vehicleDetailForm.controls['regDate'].updateValueAndValidity();\r\n }\r\n //------------------------------- GET MOTOR Quoatation ------------------------------------------\r\n\r\npublic discount:any = 0;\r\n getQuotation(stepper, type, frame) {\r\n\r\n \r\n\r\n this.checkStepper = true;\r\n //frame.hide();\r\n\r\n\r\n this.showLoader.Quotation = true;\r\n if (type != 0){\r\n stepper.next();\r\n }\r\n \r\n let modifyValue = this.existVehiclevalue == 1 ? this.existVehiclevalue : null;\r\n // let dob = this.insuredDetailForm.value.adtnl_detail_vhclOwnBy.code == '100' ? this.convertDate(this.insuredDetailForm.value.d_dob) : '';\r\n let repairType = this.insuredDetailForm.value.adtnl_detail_insType.value == 100 ? this.insuredDetailForm.value.adtnl_detail_repairTye : { value: 'Garage', viewValue: 'Garage' };\r\n let vehicle_value = this.insuredDetailForm.value.adtnl_detail_insType.value == 100 ? this.insuredDetailForm.value.adtnl_detail_vhclValue : 0;\r\n let brand_new = (this.insuredDetailForm.value.rg_model_year.value != this.maxYear || this.insuredDetailForm.value.rg_model_year.value != this.year || this.insuredDetailForm.value.rg_model_year.value != this.minyear) ? { code: '0', value: 'N' } : { code: '1', value: 'Y' };\r\n let vehicleType = this.insuredDetailForm.value.adtnl_detail_vhclOwnBy.code == '100' ? { code: '1001', value: 'Private' } : { code: '1001', value: 'Private' };\r\n let policy_expire_date = this.insuredDetailForm.value.vhclTPLCoverage == 'No' ? this.nextDate : this.PrevDate;\r\n let emiratesId = this.insuredDetailForm.value.e_eid.replace(/-/gi, \"\");\r\n // console.log(this.calucateAge(this.insuredDetailForm.value.d_dob, 1));\r\n \r\n //let regDate = this.vehicleDetailForm.value.brandNw == 1 ? this.convertDate(this.toDay) : this.convertDate(this.vehicleDetailForm.value.regDate);\r\n\r\n let motorArrayQuote = {\r\n \r\n insured_type: this.insuredDetailForm.value.adtnl_detail_vhclOwnBy,\r\n insured_name: this.insuredDetailForm.value.e_name,\r\n gender: this.insuredDetailForm.value.e_gender,\r\n dob: this.convertDate(this.insuredDetailForm.value.d_dob),\r\n prospect_age: this.calucateAge(this.insuredDetailForm.value.d_dob, 1),\r\n nationality: this.insuredDetailForm.value.e_nationality,\r\n email: this.insuredDetailForm.value.adtnl_detail_email,\r\n mobile: this.insuredDetailForm.value.adtnl_detail_mobile,\r\n code: this.insuredDetailForm.value.adtnl_detail_mbCode,\r\n UAE_lic_age: this.convertDate(this.insuredDetailForm.value.d_issue_date),\r\n UAELicAge: this.calucateAge(this.insuredDetailForm.value.d_issue_date, 2),\r\n license_country: this.insuredDetailForm.value.e_nationality,\r\n NCD: this.insuredDetailForm.value.adtnl_detail_NCD,\r\n model_year: this.insuredDetailForm.value.rg_model_year,\r\n make: this.insuredDetailForm.value.rg_vhcl_make,\r\n model: this.insuredDetailForm.value.rg_vhcl_model,\r\n trim: this.insuredDetailForm.value.adtnl_detail_trim,\r\n body_type: this.insuredDetailForm.value.adtnl_detail_bodyType,\r\n cylinders: this.insuredDetailForm.value.adtnl_detail_cylinder,\r\n passenger: this.insuredDetailForm.value.rg_num_passenger,\r\n registered_date: this.convertDate(this.insuredDetailForm.value.rg_reg_date),\r\n GCCSpecified: this.insuredDetailForm.value.adtnl_detail_gccSpecified,\r\n vhclModified: this.insuredDetailForm.value.adtnl_detail_vhclModified,\r\n registered_place: this.insuredDetailForm.value.rg_place_issue,\r\n chassis_no: this.insuredDetailForm.value.rg_chassis_num,\r\n repair_type: repairType,\r\n sum_insured: vehicle_value,\r\n emirates_id: emiratesId,\r\n policy_type: this.insuredDetailForm.value.adtnl_detail_insType,\r\n ExistingCover: this.insuredDetailForm.value.vhclTPLCoverage,\r\n policy_expire_date: this.convertDate(policy_expire_date),\r\n brand_new: brand_new,\r\n customer_id: \"0\",\r\n lead_id: \"0\",\r\n NCD_docs: \"No\",\r\n registration_type: vehicleType,\r\n VEHENGINESIZE: '1',\r\n source: 'B2C',\r\n document_data: this.tempDocArray,\r\n // multiple_doc_data: this.tempMultipleDocData,\r\n GVM: this.insuredDetailForm.value.rg_gvm,\r\n origin: this.insuredDetailForm.value.rg_origin,\r\n policy_num: this.insuredDetailForm.value.rg_policy_num,\r\n eid_card_num: this.insuredDetailForm.value.e_cardNumber,\r\n reg_ins_exp_date: this.convertDate(this.insuredDetailForm.value.rg_ins_exp),\r\n reg_exp_date: this.convertDate(this.insuredDetailForm.value.rg_expiry_date),\r\n eid_exp_date: this.convertDate(this.insuredDetailForm.value.e_expiryDate),\r\n driv_lic_issue_date: this.convertDate(this.insuredDetailForm.value.d_issue_date),\r\n driv_lic_exp_date: this.convertDate(this.insuredDetailForm.value.d_expiry_date),\r\n driv_lic_issuePlace: this.insuredDetailForm.value.d_place_issue,\r\n name_in_arabic: this.insuredDetailForm.value.e_arabic_name,\r\n traffic_code: this.insuredDetailForm.value.rg_TC_num,\r\n license: this.insuredDetailForm.value.d_driv_lic_num,\r\n mortgage: this.insuredDetailForm.value.rg_mortgage,\r\n plate_number: this.insuredDetailForm.value.rg_traffic_plate_num,\r\n plate_code: this.insuredDetailForm.value.rg_plateCode,\r\n plate_category: this.insuredDetailForm.value.rg_type,\r\n driv_lic_TC_number: this.insuredDetailForm.value.d_TC_number,\r\n driv_lic_type: this.insuredDetailForm.value.d_lic_type,\r\n vehicleColor: this.insuredDetailForm.value.vhclColor,\r\n SchemeCode: this.SchemeCode,\r\n modifiedVhclValue: modifyValue,\r\n start_date: this.convertDate(this.insuredDetailForm.value.polStartDate), //Modified date conversion by Anju for B2C Stabilization\r\n policy_status : 'NEW',\r\n deductible_value : this.insuredDetailForm.value.deductible,\r\n TRN_number : this.insuredDetailForm.value.TRN_num,\r\n trade_Lic_number : this.insuredDetailForm.value.trade_lic_num,\r\n industry_type : this.insuredDetailForm.value.industry_type,\r\n transaction_type : this.insuredDetailForm.value.transaction_type.label,\r\n selfDecl : this.accept_self_declaration_1+\",\"+this.accept_self_declaration_2+\",\"+this.accept_self_declaration_3+\",\"+this.accept_self_declaration_4+\",\"+this.accept_self_declaration_5,\r\n motor_quote_type:'OCR'\r\n };\r\n\r\n\r\n this.quoteDetailArr = motorArrayQuote;\r\n var gender = \"\";\r\n if(this.insuredDetailForm.value.e_gender){\r\n gender = this.insuredDetailForm.value.e_gender.value;\r\n\r\n }\r\n\r\n let policyDetail = {\r\n \r\n quotation_number: this.webQuoteNumber,\r\n CRS_quotation_number: this.quoteNumber,\r\n traffic_code: this.insuredDetailForm.value.rg_TC_num,\r\n license: this.insuredDetailForm.value.d_driv_lic_num,\r\n emirates: this.insuredDetailForm.value.rg_place_issue,\r\n address: this.insuredDetailForm.value.adtnl_detail_address,\r\n PO_box: this.insuredDetailForm.value.adtnl_detail_poBoxNum,\r\n occupation: '',\r\n national_id: this.insuredDetailForm.value.e_eid,\r\n arabic_name: '',\r\n home_office_number: '',\r\n start_date: this.convertDate(this.insuredDetailForm.value.polStartDate),\r\n end_date: '22/12/2019',\r\n color: '',\r\n chassis_no: this.insuredDetailForm.value.rg_chassis_num,\r\n engine: this.insuredDetailForm.value.rg_engin_num,\r\n plate: '54687',\r\n mortgage: this.insuredDetailForm.value.rg_mortgage,\r\n payment_mode: 'ONLINE',\r\n named_driver: this.insuredDetailForm.value.e_name,\r\n additional_driver_under_age: '0',\r\n IP_address: '',\r\n mobile: this.insuredDetailForm.value.adtnl_detail_mobile,\r\n code: this.insuredDetailForm.value.adtnl_detail_mbCode,\r\n driving_License_Front: this.insuredDetailForm.value.driving_Lic_Front,\r\n driving_license_Back: '',\r\n Reg_Card_Front: this.insuredDetailForm.value.reg_Card_Front,\r\n Reg_Card_Back: this.insuredDetailForm.value.reg_Card_Back,\r\n EID_Front: this.insuredDetailForm.value.emirated_ID_Front,\r\n EID_Back: this.insuredDetailForm.value.emirated_ID_Backk,\r\n dealer_quote: '',\r\n vhclPlateCategory: this.insuredDetailForm.value.rg_type,\r\n plateCode: this.insuredDetailForm.value.rg_plateCode,\r\n plateNumber: this.insuredDetailForm.value.rg_traffic_plate_num,\r\n area: this.insuredDetailForm.value.adtnl_detail_area,\r\n noOfDoors: this.nofDoors,\r\n gender: gender,\r\n nationality: this.insuredDetailForm.value.e_nationality,\r\n source :'B2C'\r\n\r\n }\r\n localStorage.setItem('EmailAddress', this.insuredDetailForm.value.adtnl_detail_email);\r\n localStorage.setItem('MobileNumber',this.insuredDetailForm.value.adtnl_detail_mobile);\r\n this.motorQuoteService.getInsertQuote(motorArrayQuote,policyDetail).subscribe(res => {\r\n\r\n if (type != 0){\r\n stepper.next();\r\n }\r\n this.PlanDataJson.planBenefitData.benefit_data = [];\r\n\r\n \r\n if (res.response_code == 0) {\r\n this.showLoader.Quotation = false;\r\n this.showLoader.retrieveQuote = false;\r\n Swal.fire(\"Sorry! Plan not available.\", \" \", \"error\");\r\n\r\n stepper.previous();\r\n }\r\n\r\n else if (res.response_code == 4) {\r\n this.webQuoteNumber = res.web_quotation_number;\r\n this.showLoader.Quotation = false;\r\n this.showLoader.retrieveQuote = false;\r\n // this.savePolicyDetail(1);\r\n Swal.fire(\"Thank you for you request, based on your application details, the case needs to be referred for further review.\", \"An email will be sent to you shortly. If you need further assistance call us at 800-842\", \"error\");\r\n\r\n stepper.previous();\r\n }\r\n else if (res.response_code == 2) {\r\n this.webQuoteNumber = res.web_quotation_number;\r\n this.showLoader.Quotation = false;\r\n this.showLoader.retrieveQuote = false;\r\n // this.savePolicyDetail(1);\r\n Swal.fire(\"Thank you for you request, based on your application details, the case needs to be referred for further review.\", \"An email will be sent to you shortly. If you need further assistance call us at 800-842\", \"error\");\r\n\r\n stepper.previous();\r\n }\r\n\r\n else if (res.response_code_ == 400 || res.response_code == 5) {\r\n this.showLoader.Quotation = false;\r\n this.showLoader.retrieveQuote = false;\r\n this.webQuoteNumber = res.web_quotation_number;\r\n // this.savePolicyDetail(1);\r\n Swal.fire(\"Thank you for you request, based on your application details, the case needs to be referred for further review.\", \"An email will be sent to you shortly. If you need further assistance call us at 800-842\", \"error\");\r\n stepper.previous();\r\n }\r\n\r\n else if(res.response_code_r == 7){\r\n this.webQuoteNumber = res.web_quotation_number_r;\r\n this.showLoader.Quotation = false;\r\n this.showLoader.retrieveQuote = false;\r\n \r\n // this.savePolicyDetail(1);\r\n Swal.fire(\"Thank you for you request, based on your application details, the case needs to be referred for further review.\", \"An email will be sent to you shortly. If you need further assistance call us at 800-842\", \"error\");\r\n\r\n stepper.previous();\r\n }\r\n\r\n else {\r\n\r\n stepper.next();\r\n // this.policyFee = 1;\r\n this.policyFee = 1;\r\n this.totalVariablePremium = 0;\r\n this.PlanDataJson = res;\r\n this.totalFixPremium = 0;\r\n this.plan_Name = this.PlanDataJson.planBenefitData.data[0].PlanName;\r\n this.plan_Id = this.PlanDataJson.planBenefitData.data[0].PlanId;\r\n this.benfPremIdArray = this.PlanDataJson.planBenefitData.data;\r\n this.webQuoteNumber = this.PlanDataJson.webQuotationNumber;\r\n this.quoteNumber = this.PlanDataJson.quotationNumber;\r\n\r\n this.showLoader.Quotation = false;\r\n this.showLoader.retrieveQuote = false;\r\n\r\n if(this.webQuoteNumber == '' || this.webQuoteNumber == null){\r\n stepper.previous();\r\n }\r\n\r\n this.PlanDataJson.planBenefitData.data.forEach((item, index) => {\r\n\r\n if (item.PlanBenefitType == 'OPTIONAL' && item.MultiOptionFlag == 1) {\r\n this.mulOption = item.multipleOptionData[0];\r\n this.PlanDataJson.planBenefitData.data[index].benefitSelectedData = item.multipleOptionData[0];\r\n this.PlanDataJson.planBenefitData.data[index].multiOptID = item.multipleOptionData[0].BenefitId;\r\n this.PlanDataJson.planBenefitData.data[index].Price = item.multipleOptionData[0].Price;\r\n this.PlanDataJson.planBenefitData.data[index].checked = false;\r\n this.PlanDataJson.planBenefitData.data[index].offerChecked = false;\r\n\r\n }\r\n\r\n if (item.PlanBenefitType == 'OPTIONAL' && item.MultiOptionFlag != 1) {\r\n \r\n this.PlanDataJson.planBenefitData.data[index].checked = false;\r\n this.PlanDataJson.planBenefitData.data[index].offerChecked = false;\r\n\r\n }\r\n\r\n });\r\n\r\n\r\n // let discount = this.PlanDataJson.thirdPartyAPIData.NcdDiscount.NcdPerc/100;\r\n this.discount = this.PlanDataJson.thirdPartyAPIData.NcdDiscount.NcdAmnt;\r\n this.tempBenefitData = this.PlanDataJson.planBenefitData.benefit_data;\r\n this.PlanDataJson.planBenefitData.benefit_data.forEach((item, index) => {\r\n\r\n this.totalFixPremium = Number(this.totalFixPremium) + Number(item.premium);\r\n // this.PlanDataJson.planBenefitData.benefit_data[index].premium = (item.premium - item.premium * discount);\r\n });\r\n\r\n \r\n this.tempTotalFixPremium = this.totalFixPremium;\r\n \r\n // this.totalFixPremium = Math.round(this.tempTotalFixPremium - this.tempTotalFixPremium * discount);\r\n this.totalFixPremium = Math.round(this.tempTotalFixPremium - this.discount);\r\n\r\n this.totalFixPremium = Math.round(this.totalFixPremium + this.policyFee);\r\n this.tempTotalLoadFixPrem = this.totalFixPremium;\r\n this.VATAMT = Math.round((this.totalFixPremium + this.totalVariablePremium) * 0.05);\r\n this.Total_Primium = Math.round(this.totalFixPremium + this.totalVariablePremium + this.VATAMT);\r\n\r\n if(this.accept_self_declaration_1 || this.accept_self_declaration_2 || this.accept_self_declaration_3 || this.accept_self_declaration_4 || this.accept_self_declaration_5){\r\n this.getDiscountOnSelfDeclaration();\r\n }\r\n \r\n //this.savePolicyDetail(1);\r\n\r\n }\r\n\r\n });\r\n\r\n }\r\n\r\n\r\n//----------- CONVERT DATE INTO DD/MM/YYYY FORMAT ------------//\r\n convertDate(inputFormat) {\r\n function pad(s) { return (s < 10) ? '0' + s : s; }\r\n var d = new Date(inputFormat);\r\n //return ([ d.getFullYear(),pad(d.getMonth()+1),pad(d.getDate())].join('-'));\r\n return ([pad(d.getDate()), pad(d.getMonth() + 1), d.getFullYear()].join('-'));\r\n\r\n }\r\n \r\n convertStartDate(inputFormat){\r\n function pad(s) { return (s < 10) ? '0' + s : s; }\r\n var d = new Date(inputFormat);\r\n //return ([ d.getFullYear(),pad(d.getMonth()+1),pad(d.getDate())].join('-'));\r\n return ([pad(d.getDate()), pad(d.getMonth() + 1), d.getFullYear()].join('/'));\r\n\r\n }\r\n \r\n checkedCoverData() {\r\n \r\n }\r\n\r\n valueChange(data, item, $event) {\r\n //set the two-way binding here for the specific unit with the event\r\n data[item].checked = $event.checked;\r\n\r\n }\r\n\r\n PlanDataJson: any = {\r\n\r\n \"quotationNumber\": \"\",\r\n \"productCode\": \"\",\r\n\r\n \"planBenefitData\": {\r\n\r\n \"BenefitId\": 497,\r\n \"PlanBenefitId\": 1440,\r\n \"PlanName\": \"Elite\",\r\n \"BenefitName\": \"National Ambulance Service (per person)\",\r\n \"PlanId\": 52,\r\n \"PerSeat\": 0,\r\n \"Deductible\": null,\r\n \"MinContribution\": 0,\r\n \"Rate\": null,\r\n \"Price\": 0,\r\n \"IsIncluded\": 1,\r\n \"PlanBenefitType\": \"INCLUDED\",\r\n \"CRS_BENEFIT_CODE\": \"40013\",\r\n \"DisplayOrder\": 18,\r\n \"CoverType\": \"C\",\r\n \"SumCovered\": \"AED 6,770\",\r\n \"MultiOptionFlag\": null,\r\n \"MultiOptionFlagName\": null\r\n },\r\n \"data\": []\r\n\r\n\r\n };\r\n\r\n onMulOptionDataChange(eve, i, mulOption) {\r\n\r\n this.PlanDataJson.planBenefitData.data[i].benefitSelectedData = eve;\r\n this.PlanDataJson.planBenefitData.data[i].multiOptID = eve.BenefitId;\r\n this.PlanDataJson.planBenefitData.data[i].Price = eve.Price;\r\n this.PlanDataJson.planBenefitData.data[i].checked = false;\r\n this.addOptionalBenigits(1, 2);\r\n }\r\n \r\n\r\n callChangeStepper(event: any, stepper,frame) {\r\n\r\n // console.log(event);\r\n // console.log(event.previouslySelectedIndex)\r\n if(event.selectedIndex==2){ \r\n // console.log(\"-----------------\");\r\n event.selectedIndex = 1 ;\r\n frame.show();\r\n // stepper.previous();\r\n }\r\n\r\n return false ;\r\n this.floatingSelectedIndex = event.selectedIndex ;\r\n if (event.selectedIndex == 1) {\r\n\r\n //this.insertQuote(stepper, 0);\r\n }\r\n\r\n if (event.selectedIndex == 2) {\r\n \r\n if (this.checkStepper == false) {\r\n \r\n if (this.webQuoteNumber == '' ) { // && this.retrieveQuoteForm.value.web_Quote_Num == ''\r\n this.getQuotation(stepper, 0, '');\r\n \r\n }\r\n else{\r\n this.updateQuotation(stepper, 0, '');\r\n \r\n }\r\n \r\n }\r\n\r\n }\r\n\r\n if (event.selectedIndex == 3) {\r\n\r\n //this.getQuotePlan(stepper, 0);\r\n }\r\n\r\n }\r\n ckhBk: any = [];\r\n addOptionalBenigits(id, event) {\r\n\r\n this.totalVariablePremium = 0;\r\n this.optionalBenefit = \"\" ;\r\n this.PlanDataJson.planBenefitData.data.forEach((item, index) => {\r\n\r\n if (item.checked == true && item.PlanBenefitType == 'OPTIONAL' && item.MultiOptionFlag!=1) {\r\n this.optionalBenefit = this.optionalBenefit+\",\"+item.BenefitId;\r\n this.totalVariablePremium = Number(this.totalVariablePremium + item.Price);\r\n \r\n }\r\n\r\n if (item.checked == true && item.PlanBenefitType == 'OPTIONAL' && item.MultiOptionFlag==1) {\r\n this.optionalBenefit = this.optionalBenefit+\",\"+this.mulOption.BenefitId;\r\n this.totalVariablePremium = Number(this.totalVariablePremium + item.Price);\r\n \r\n }\r\n\r\n \r\n\r\n });\r\n\r\n \r\n }\r\n\r\n checkOptionalBenefit(benefitId) { \r\n\r\n\r\n if(typeof (benefitId) != undefined && typeof (benefitId) != \"undefined\" ){\r\n\r\n\r\n let benefitIdArray = benefitId.split(',');\r\n\r\n this.totalVariablePremium = 0;\r\n benefitIdArray.forEach((item1, index1) => {\r\n\r\n this.PlanDataJson.planBenefitData.data.forEach((item, index) => {\r\n if (item.BenefitId == item1) {\r\n this.PlanDataJson.planBenefitData.data[index].checked = true;\r\n this.totalVariablePremium = Number(this.totalVariablePremium + item.Price);\r\n }\r\n\r\n\r\n });\r\n\r\n this.PlanDataJson.planBenefitData.data.forEach((item, index) => {\r\n\r\n if (item.PlanBenefitType == 'OPTIONAL' && item.MultiOptionFlag == 1) {\r\n\r\n item.multipleOptionData.forEach((multiItem, multiIndex) => {\r\n if (multiItem.BenefitId == item1) {\r\n\r\n\r\n this.mulOption = item.multipleOptionData[multiIndex];\r\n this.PlanDataJson.planBenefitData.data[index].checked = true;\r\n this.PlanDataJson.planBenefitData.data[index].multiOptID = item.multipleOptionData[multiIndex].BenefitId;\r\n this.PlanDataJson.planBenefitData.data[index].Price = item.multipleOptionData[multiIndex].Price;\r\n\r\n }\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.addOptionalBenigits(1, 2);\r\n }\r\n\r\n public vatAMt:any; total_premium:any;\r\n getQuotePlan(frame) {\r\n\r\n if (frame != '') {\r\n if (this.accept_terms == false) {\r\n return;\r\n }\r\n\r\n frame.hide();\r\n }\r\n \r\n this.showLoader.Quotation = true;\r\n this.showLoader.referal = false;\r\n let vatAMt = Math.round(this.totalFixPremium + this.totalVariablePremium) * 0.05;\r\n this.vatAMt = vatAMt;\r\n let total_premium = this.totalFixPremium + this.totalVariablePremium + vatAMt\r\n this.total_premium = total_premium;\r\n \r\n // this.PlanDataJson.planBenefitData.benefit_data = this.tempBenefitData \r\n this.savePlanDetailArr = {\r\n quotation_number: this.webQuoteNumber,\r\n plan_id: this.plan_Id,\r\n total_premium: total_premium,\r\n base_premium: Math.round(this.totalFixPremium),\r\n optional_benefit_premiun: this.totalVariablePremium,\r\n admin_fees: this.policyFee,\r\n CRS_quote_number: this.quoteNumber,\r\n service_fees: 0,\r\n product_code: this.insuredDetailForm.value.adtnl_detail_insType,\r\n VAT: vatAMt,\r\n benefitPreId: this.benfPremIdArray,\r\n \r\n }\r\n\r\n this.motorQuoteService.insertPlanData(this.PlanDataJson.quotationNumber, this.PlanDataJson.PlanDataJson, Math.round(this.totalFixPremium),\r\n this.totalVariablePremium,\r\n this.policyFee,\r\n total_premium,\r\n this.PlanDataJson.planBenefitData.data,\r\n this.tempBenefitData,\r\n this.insuredDetailForm.value.adtnl_detail_repairTye,\r\n this.savePlanDetailArr,\r\n this.insuredDetailForm.value.adtnl_detail_insType.viewValue,\r\n 'B2C',\r\n this.SchemeCode\r\n \r\n ).subscribe(res => {\r\n\r\n this.saveAdditionalInfo();\r\n });\r\n\r\n }\r\n\r\n //------------------------------------- SAVE POLICY DETAIL ---------------------------------------------//\r\n savePolicyDetail() {\r\n\r\n let policyDetail = {\r\n quotation_number: this.webQuoteNumber,\r\n CRS_quotation_number: this.quoteNumber,\r\n traffic_code: this.insuredDetailForm.value.rg_TC_num,\r\n license: this.insuredDetailForm.value.d_driv_lic_num,\r\n emirates: this.insuredDetailForm.value.rg_place_issue,\r\n address: this.insuredDetailForm.value.adtnl_detail_address,\r\n PO_box: this.insuredDetailForm.value.adtnl_detail_poBoxNum,\r\n occupation: '',\r\n national_id: this.insuredDetailForm.value.e_eid,\r\n arabic_name: '',\r\n home_office_number: '',\r\n start_date: this.convertDate(this.insuredDetailForm.value.polStartDate),\r\n end_date: '22/12/2019',\r\n color: '',\r\n chassis_no: this.insuredDetailForm.value.rg_chassis_num,\r\n engine: this.insuredDetailForm.value.rg_engin_num,\r\n plate: '54687',\r\n mortgage: this.insuredDetailForm.value.rg_mortgage,\r\n payment_mode: 'ONLINE',\r\n named_driver: this.insuredDetailForm.value.e_name,\r\n additional_driver_under_age: '0',\r\n IP_address: '',\r\n mobile: this.insuredDetailForm.value.adtnl_detail_mobile,\r\n code: this.insuredDetailForm.value.adtnl_detail_mbCode,\r\n driving_License_Front: this.insuredDetailForm.value.driving_Lic_Front,\r\n driving_license_Back: '',\r\n Reg_Card_Front: this.insuredDetailForm.value.reg_Card_Front,\r\n Reg_Card_Back: this.insuredDetailForm.value.reg_Card_Back,\r\n EID_Front: this.insuredDetailForm.value.emirated_ID_Front,\r\n EID_Back: this.insuredDetailForm.value.emirated_ID_Backk,\r\n dealer_quote: '',\r\n vhclPlateCategory: this.insuredDetailForm.value.rg_type,\r\n plateCode: this.insuredDetailForm.value.rg_plateCode,\r\n plateNumber: this.insuredDetailForm.value.rg_traffic_plate_num,\r\n area: this.insuredDetailForm.value.adtnl_detail_area,\r\n noOfDoors: this.nofDoors,\r\n gender: this.insuredDetailForm.value.e_gender,\r\n nationality: this.insuredDetailForm.value.e_nationality,\r\n source :'B2C'\r\n\r\n }\r\n\r\n this.motorQuoteService.savePolicyDetail(policyDetail, this.quoteDetailArr).subscribe(res => {\r\n\r\n // FOR PAYMENT\r\n let return_url = \"http://k2key.in/motor_ins//dashboard\";\r\n let site_url = \"http://k2key.in/motor_ins/\" + this._route.url;\r\n\r\n this.showLoader.Quotation = true;\r\n\r\n //----------------------------- NEW PAYMENT GATEWAY -----------------------------------------//\r\n // console.log(1)\r\n //Modified by Anju for Payment gateway Revamp\r\n this.motorQuoteService.paymentAuthNew(this.webQuoteNumber, site_url, return_url, 'MT', '1', '', 'B2C', 'adv').subscribe(res => {\r\n let payRes = res;\r\n if (payRes.status == 'Failed') {\r\n Swal.fire(payRes.res_msg);\r\n // this.paymentLoader = this.globalService.spinnerHide();\r\n this.showLoader.Quotation = false;\r\n return false;\r\n }\r\n\r\n else if (payRes.status == 'Success') {\r\n // alert(payRes.result.p_id)\r\n //this.paymentLoader = this.globalService.spinnerHide();\r\n this.showLoader.Quotation = false;\r\n // localStorage.setItem('Payment_Order_ID',res.result.tran_ref);\r\n localStorage.setItem('Payment_Order_ID', payRes.data.tran_ref);\r\n localStorage.setItem('Payment_Order_Tokan', payRes.data.token);\r\n localStorage.setItem('Payment_Quotation_Number', this.webQuoteNumber);\r\n\r\n window.location.href = payRes.data.redirect_url;\r\n\r\n }\r\n });\r\n\r\n\r\n //------------------------ OLD PAYMENT GATEWAY ---------------------------------//\r\n // this.motorQuoteService.paymentAuth(this.webQuoteNumber, site_url, return_url, 'MT', '1', '', 'B2C').subscribe(res => {\r\n // let payRes = res;\r\n\r\n // if (payRes.res_code == 101) {\r\n // Swal.fire(payRes.res_msg);\r\n // this.showLoader.Quotation = false;\r\n // return false;\r\n // }\r\n\r\n // else if (payRes.result.response_code == 4012 && payRes.res_code == 1) {\r\n // this.showLoader.Quotation = false;\r\n // localStorage.setItem('Payment_Order_ID', payRes.result.p_id);\r\n // localStorage.setItem('Payment_Order_Tokan', payRes.result.token);\r\n // localStorage.setItem('Payment_Quotation_Number', this.webQuoteNumber);\r\n \r\n // window.location.href = payRes.result.payment_url;\r\n\r\n // }\r\n\r\n // });\r\n\r\n });\r\n\r\n }\r\n\r\n getQuotePlanEmail() {\r\n this.showLoader.Quotation = true;\r\n \r\n let vatAMt = (this.totalFixPremium + this.totalVariablePremium) * 0.05;\r\n let total_premium = this.totalFixPremium + this.totalVariablePremium + vatAMt;\r\n \r\n this.savePlanDetailArr = {\r\n quotation_number: this.webQuoteNumber,\r\n plan_id: this.plan_Id,\r\n total_premium: total_premium,\r\n base_premium: Math.round(this.totalFixPremium),\r\n optional_benefit_premiun: this.totalVariablePremium,\r\n admin_fees: this.policyFee,\r\n CRS_quote_number: this.quoteNumber,\r\n service_fees: 0,\r\n product_code: this.insuredDetailForm.value.adtnl_detail_insType,\r\n VAT: vatAMt,\r\n benefitPreId: this.benfPremIdArray,\r\n \r\n }\r\n\r\n this.motorQuoteService.insertPlanDataEmail(this.PlanDataJson.quotationNumber, this.PlanDataJson.PlanDataJson, this.totalFixPremium,\r\n this.totalVariablePremium,\r\n this.policyFee,\r\n total_premium,\r\n this.PlanDataJson.planBenefitData.data,\r\n this.tempBenefitData,\r\n this.insuredDetailForm.value.adtnl_detail_repairTye,\r\n this.savePlanDetailArr,\r\n this.insuredDetailForm.value.adtnl_detail_vhclOwnBy.viewValue,\r\n 'B2C',\r\n this.SchemeCode\r\n ).subscribe(res => {\r\n\r\n this.sendMail();\r\n this.showLoader.Quotation = false;\r\n // this.editableStep.Quotation = false ;\r\n\r\n Swal.fire(\"\", \"Thank you for choosing Fidelity United for insuring your car. We have sent an email to your registered email with all the quotation details. Your Quotation Reference# \" + this.webQuoteNumber, 'success');\r\n\r\n });\r\n }\r\n\r\n sendMail() {\r\n this.motorQuoteService.sendMail(this.webQuoteNumber,'B2C').subscribe(res => {\r\n\r\n });\r\n }\r\n\r\n //------------------------------------------ UPLOAD DRIVING LICENCE DOC (Third party API) -------------------------------------------------\r\n uploadDrivLicDoc(doc) {\r\n\r\n this.motorQuoteService.uploadDrivLicDoc(this.PlanDataJson.quotationNumber, doc).subscribe(res => {\r\n\r\n\r\n });\r\n }\r\n\r\n\r\n //----------------------------------- VIEW QUOTE PDF -------------------------------------------\r\n \r\n \r\n viewQuotePDF() {\r\n this.showLoader.Quotation = true;\r\n let vatAMt = (this.totalFixPremium + this.totalVariablePremium) * 0.05;\r\n let total_premium = this.totalFixPremium + this.totalVariablePremium + vatAMt;\r\n \r\n this.savePlanDetailArr = {\r\n quotation_number: this.webQuoteNumber,\r\n plan_id: this.plan_Id,\r\n total_premium: total_premium,\r\n base_premium: Math.round(this.totalFixPremium),\r\n optional_benefit_premiun: this.totalVariablePremium,\r\n admin_fees: this.policyFee,\r\n CRS_quote_number: this.quoteNumber,\r\n service_fees: 0,\r\n product_code: this.insuredDetailForm.value.adtnl_detail_insType,\r\n VAT: vatAMt,\r\n benefitPreId: this.benfPremIdArray,\r\n \r\n }\r\n \r\n this.motorQuoteService.insertPlanDataEmail(this.PlanDataJson.quotationNumber, this.PlanDataJson.PlanDataJson, Math.round(this.totalFixPremium),\r\n this.totalVariablePremium,\r\n this.policyFee,\r\n total_premium,\r\n this.PlanDataJson.planBenefitData.data,\r\n this.tempBenefitData,\r\n this.insuredDetailForm.value.adtnl_detail_repairTy,\r\n this.savePlanDetailArr,\r\n this.insuredDetailForm.value.adtnl_detail_vhclOwnBy.viewValue,\r\n 'B2C',\r\n this.SchemeCode\r\n ).subscribe(res => {\r\n\r\n \r\n this.motorQuoteService.getQuoteDetailPDF(this.webQuoteNumber,'B2C').subscribe(res => {\r\n\r\n \r\n this.showLoader.Quotation = false;\r\n setTimeout(\r\n function () {\r\n\r\n }.bind(this),\r\n 600\r\n );\r\n let viewPDF = res;\r\n if (viewPDF.response_code == 1) {\r\n window.open(viewPDF.pdfPath, \"_blank\");\r\n }\r\n });\r\n // this.editableStep.Quotation = false ;\r\n\r\n });\r\n\r\n }\r\n\r\n //------------------------------------- VALIDATE CHASSIS NUMBER ------------------------------------------------------------//\r\n validateChassisNum(chassisNo, stepper, type) {\r\n \r\n if (chassisNo == '') {\r\n\r\n return false;\r\n }\r\n\r\n \r\n this.showLoader.chasisNoButton = true;\r\n this.motorQuoteService.validateChassisNumber(chassisNo).subscribe(res => {\r\n let validateRes = res;\r\n\r\n if (validateRes.validateChassisNumber == '1') {\r\n Swal.fire(chassisNo + \" \" + \"This Chassis number is already available. Please contact Fidelity United at 800 842\", \"error\");\r\n this.showLoader.chasisNoButton = false;\r\n\r\n this.insuredDetailForm.get('isChassisValidate').setValue('');\r\n this.insuredDetailForm.get('rg_chassis_num').setValue('');\r\n return false;\r\n } else {\r\n\r\n this.motorQuoteService.getDetailsByVIN(chassisNo).subscribe(res => {\r\n this.showLoader.chasisNoButton = false;\r\n this.getVechileDetailData = res.vechileData;\r\n this.chassis_No_Details = this.getVechileDetailData.VehicleDetails;\r\n\r\n if (res.vechileData.StatusCode == 400 || res.vechileData.StatusCode == 422 || res.vechileData.ExpiresIn == 1200) {\r\n Swal.fire(\" \", \"Invalid Chassis No.\", \"error\");\r\n if (type == 1) {\r\n this.insuredDetailForm.get('isChassisValidate').setValue('');\r\n this.insuredDetailForm.get('rg_vhcl_make').setValue('');\r\n this.insuredDetailForm.get('rg_model_year').setValue('');\r\n this.insuredDetailForm.get('rg_num_passenger').setValue('');\r\n this.insuredDetailForm.get('adtnl_detail_gccSpecified').setValue('');\r\n this.insuredDetailForm.get('rg_vhcl_model').setValue('');\r\n this.insuredDetailForm.get('adtnl_detail_trim').setValue('');\r\n this.insuredDetailForm.get('adtnl_detail_bodyType').setValue('');\r\n this.insuredDetailForm.get('adtnl_detail_cylinder').setValue('');\r\n this.insuredDetailForm.get('adtnl_detail_vhclValue').setValue('');\r\n this.insuredDetailForm.get('rg_chassis_num').setValue('');\r\n\r\n }\r\n\r\n }\r\n\r\n else {\r\n\r\n if (this.insuredDetailForm.value.rg_chassis_num != '') {\r\n this.insuredDetailForm.get('isChassisValidate').setValue('1');\r\n\r\n\r\n //VEHICLE YEAR\r\n let yearVal;\r\n this.vehimodelyrs.forEach((item, index) => {\r\n\r\n if (item.label == this.getVechileDetailData.VehicleDetails.General.ModelYear) {\r\n yearVal = item;\r\n }\r\n });\r\n\r\n this.insuredDetailForm.get('rg_model_year').setValue(yearVal);\r\n this.getVhclMakeData(this.getVechileDetailData.VehicleDetails.General.Make, yearVal, 3)\r\n\r\n // //VEHICLE Make ----- filter\r\n // let makeVal\r\n // this.vhclMakeArr.forEach((item, index) => {\r\n\r\n // if (item.VehicleMakeName == this.getVechileDetailData.VehicleDetails.General.Make) {\r\n // makeVal = item;\r\n // }\r\n // });\r\n // this.insuredDetailForm.get('rg_vhcl_make').setValue(makeVal);\r\n\r\n //this.onVehiclAgeChange(yearVal);\r\n\r\n //Vehicle Cylinders\r\n let cylVal;\r\n this.vehicylinders.forEach((item, index) => {\r\n\r\n if (item.value == this.getVechileDetailData.VehicleDetails.Technical.EngineCylinders) {\r\n cylVal = item;\r\n }\r\n });\r\n this.insuredDetailForm.get('adtnl_detail_cylinder').setValue(cylVal);\r\n\r\n //Passenger Count\r\n let PasgerVal;\r\n \r\n this.vehiseatcaps.forEach((item, index) => {\r\n if (item.value == (this.getVechileDetailData.VehicleDetails.General.NoOfSeats - 1)) {\r\n PasgerVal = item;\r\n }\r\n });\r\n this.insuredDetailForm.get('rg_num_passenger').setValue(PasgerVal);\r\n\r\n this.GCC_Specification = this.getVechileDetailData.VehicleDetails.General.Region;\r\n if(this.getVechileDetailData.VehicleDetails.General.Region != '' && this.getVechileDetailData.VehicleDetails.General.Region != null){\r\n let gcc_specification = this.getVechileDetailData.VehicleDetails.General.Region == 'GCC' ? 'No' : 'Yes';\r\n this.insuredDetailForm.get('adtnl_detail_gccSpecified').setValue(gcc_specification);\r\n \r\n }else{\r\n this.insuredDetailForm.get('adtnl_detail_gccSpecified').setValue('');\r\n }\r\n \r\n\r\n //Vehicle Color \r\n if (this.getVechileDetailData.VehicleDetails.General.ColourEN != '') {\r\n let colorVal;\r\n this.vhclColorArr.forEach((item, index) => {\r\n if (item.ColorName == this.getVechileDetailData.VehicleDetails.General.ColourEN) {\r\n colorVal = item;\r\n }\r\n });\r\n\r\n this.insuredDetailForm.get('vhclColor').setValue(colorVal);\r\n }\r\n\r\n let enginNo = this.getVechileDetailData.VehicleDetails.General.EngineNo;\r\n this.insuredDetailForm.get('rg_engin_num').setValue(enginNo);\r\n\r\n this.nofDoors = this.getVechileDetailData.VehicleDetails.General.NoOfDoors;\r\n }\r\n\r\n\r\n }\r\n\r\n\r\n });\r\n\r\n }\r\n });\r\n}\r\n\r\n//------------------------------- VALIDATION FOR EMIRATES ID ----------------------------------------------//\r\n checkEID(value) {\r\n value = this.insuredDetailForm.value.e_eid;\r\n this.value = value;\r\n \r\n\r\n this.value = this.value.replace(/-/g, \"\");\r\n if (/[^0-9-]+/.test(this.value))\r\n this.invalidEID = true;\r\n\r\n\r\n // if (this.value.length != 15) {\r\n \r\n // this.invalidEID = true;\r\n // this.insuredDetailForm.get(\"eIDCheck\").setValue('');\r\n // return this.invalidEID;\r\n // }\r\n if (this.value == \"111111111111111\" || this.value == \"000000000000000\" || this.value == \"222222222222222\" || this.value == \"333333333333333\") {\r\n this.invalidEID = false;\r\n this.insuredDetailForm.get(\"eIDCheck\").setValue('1');\r\n \r\n return this.invalidEID;\r\n }\r\n\r\n else {\r\n //The Luhn Algorithm.\r\n var nCheck = 0, nDigit = 0, bEven = false;\r\n this.value = this.value.replace(/\\D/g, \"\");\r\n\r\n\r\n //784-1982-6961498-2\r\n\r\n for (let n = this.value.length - 1; n >= 0; n--) {\r\n\r\n var cDigit = this.value.charAt; nDigit = parseInt(this.value[n]);\r\n\r\n if (bEven) {\r\n if ((nDigit *= 2) > 9)\r\n nDigit -= 9;\r\n }\r\n\r\n nCheck += nDigit;\r\n bEven = !bEven;\r\n\r\n\r\n\r\n }\r\n\r\n if ((nCheck % 10) == 0) {\r\n //if valid, ok, check next\r\n this.invalidEID = false;\r\n this.insuredDetailForm.get(\"eIDCheck\").setValue(1);\r\n \r\n return this.invalidEID;\r\n\r\n }\r\n else {\r\n this.invalidEID = true;\r\n this.insuredDetailForm.get(\"eIDCheck\").setValue('');\r\n \r\n return this.invalidEID;\r\n //alert('Invalid Emirates ID. Please enter valid emirates Id including (-) dash/hypen.');\r\n }\r\n\r\n\r\n\r\n }\r\n\r\n}\r\n //--------- VALIDATION FOR NUMBERS & DECIMAL NUM ------------//\r\n checkValidInputData(event: any, type) {\r\n\r\n this.globalService.checkValidInputData(event, type);\r\n }\r\n preventAllEvents(event: any) {\r\n\r\n this.globalService.preventAllEvents(event);\r\n }\r\n\r\n public existVehiclevalue: any;\r\n //------------------------------------------ GET VEHICLE VALUE -------------------------------------------------//\r\n updateValuation() {\r\n\r\n if (this.vhcleValueFlag == false && this.insuredDetailForm.value.adtnl_detail_insType.CoreProdCode == '4001_1') {\r\n if (this.insuredDetailForm.value.rg_vhcl_make != '' && this.insuredDetailForm.value.rg_vhcl_model != '' && this.insuredDetailForm.value.adtnl_detail_trim != '' && this.insuredDetailForm.value.adtnl_detail_bodyType != '') {\r\n\r\n this.showLoader.VehicleValue = true;\r\n\r\n\r\n let vehicleDetailArray = {\r\n chassisNum: this.insuredDetailForm.value.rg_chassis_num,\r\n insType: this.insuredDetailForm.value.adtnl_detail_insType,\r\n repairType: this.insuredDetailForm.value.rg_vhcl_make,\r\n vhclBodyType: this.insuredDetailForm.value.adtnl_detail_bodyType,\r\n vhclCylinder: this.insuredDetailForm.value.adtnl_detail_cylinder,\r\n vhclGCCSpecifird: this.insuredDetailForm.value.adtnl_detail_gccSpecified,\r\n vhclMake: this.insuredDetailForm.value.rg_vhcl_make,\r\n vhclModel: this.insuredDetailForm.value.rg_vhcl_model,\r\n vhclModelYr: this.insuredDetailForm.value.rg_model_year,\r\n vhclSeatCapcity: this.insuredDetailForm.value.rg_num_passenger,\r\n vhclTrim: this.insuredDetailForm.value.adtnl_detail_trim,\r\n }\r\n\r\n this.motorQuoteService.getMotorValuation(vehicleDetailArray).subscribe(res => {\r\n\r\n\r\n if (res.StatusCode == 200) {\r\n this.existVehiclevalue = 0;\r\n this.vehicleValueLimit.isSet = true;\r\n \r\n this.vehicleValueLimit.startLimit = res.Valuation.Low;\r\n this.vehicleValueLimit.endLimit = res.Valuation.High;\r\n \r\n this.insuredDetailForm.controls['adtnl_detail_vhclValue'].setValidators([Validators.required, Validators.min(res.Valuation.Low), Validators.max(res.Valuation.High)]);\r\n this.insuredDetailForm.controls['adtnl_detail_vhclValue'].updateValueAndValidity();\r\n this.insuredDetailForm.get('adtnl_detail_vhclValue').setValue(res.Valuation.Medium);\r\n this.getDeductibleValue();\r\n \r\n\r\n\r\n } else {\r\n\r\n this.existVehiclevalue = 1;\r\n this.vehicleValueLimit.startLimit = 0;\r\n this.vehicleValueLimit.endLimit = 300000;\r\n this.insuredDetailForm.controls['adtnl_detail_vhclValue'].setValidators([Validators.required]);\r\n this.insuredDetailForm.controls['adtnl_detail_vhclValue'].updateValueAndValidity();\r\n this.insuredDetailForm.get('adtnl_detail_vhclValue').setValue('');\r\n this.vehicleValueLimit.isSet = false;\r\n\r\n }\r\n\r\n this.showLoader.VehicleValue = false;\r\n\r\n });\r\n }\r\n } else {\r\n this.vhcleValueFlag = false;\r\n }\r\n\r\n\r\n }\r\n\r\n changeChasisValidation(type) {\r\n\r\n // commented for timing\r\n if (this.checkChassisValidation == false) {\r\n this.insuredDetailForm.get('isChassisValidate').setValue('');\r\n if (type == 1) {\r\n this.insuredDetailForm.get('rg_model_year').setValue('');\r\n this.insuredDetailForm.get('rg_vhcl_make').setValue('');\r\n this.insuredDetailForm.get('rg_vhcl_model').setValue('');\r\n this.insuredDetailForm.get('adtnl_detail_trim').setValue('');\r\n this.insuredDetailForm.get('adtnl_detail_bodyType').setValue('');\r\n this.insuredDetailForm.get('adtnl_detail_cylinder').setValue('');\r\n this.insuredDetailForm.get('rg_num_passenger').setValue('');\r\n this.insuredDetailForm.get('adtnl_detail_brandNew').setValue('0');\r\n this.insuredDetailForm.get('rg_plateCode').setValue('');\r\n \r\n }\r\n } else {\r\n this.checkChassisValidation = false;\r\n }\r\n\r\n }\r\n\r\n\r\n /************** Country Filter */\r\n\r\n private filterCountry() {\r\n if (!this.countryArr) {\r\n return;\r\n }\r\n // get the search keyword\r\n let search = this.country1FilterCtrl.value;\r\n if (!search) {\r\n this.filteredCountries.next(this.countryArr.slice());\r\n return;\r\n } else {\r\n search = search.toLowerCase();\r\n }\r\n // filter the banks\r\n this.filteredCountries.next(\r\n this.countryArr.filter(bank => bank.CountryName.toLowerCase().indexOf(search) > -1)\r\n );\r\n }\r\n\r\n\r\n private filterNationalCountry() {\r\n if (!this.countryArr) {\r\n return;\r\n }\r\n // get the search keyword\r\n let search = this.nationalFilterCtrl.value;\r\n if (!search) {\r\n this.filteredNationCountries.next(this.countryArr.slice());\r\n return;\r\n } else {\r\n search = search.toLowerCase();\r\n }\r\n // filter the banks\r\n this.filteredNationCountries.next(\r\n this.countryArr.filter(bank => bank.CountryName.toLowerCase().indexOf(search) > -1)\r\n );\r\n }\r\n\r\n\r\n\r\n\r\n private filterMortageBank() {\r\n if (!this.bankDetail) {\r\n return;\r\n }\r\n\r\n // get the search keyword\r\n let search = this.mortageBankFilterCtrl.value;\r\n\r\n if (!search) {\r\n this.filteredBank.next(this.bankDetail.slice());\r\n return;\r\n } else {\r\n search = search.toLowerCase();\r\n }\r\n\r\n\r\n // filter the banks\r\n this.filteredBank.next(\r\n this.bankDetail.filter(bank => bank.InstituteName.toLowerCase().indexOf(search) > -1)\r\n );\r\n }\r\n\r\n private filterVechColor() {\r\n if (!this.vhclColorArr) {\r\n return;\r\n }\r\n\r\n // get the search keyword\r\n let search = this.vchColorFilterCtrl.value;\r\n if (!search) {\r\n this.filteredVchColor.next(this.vhclColorArr.slice());\r\n return;\r\n } else {\r\n search = search.toLowerCase();\r\n }\r\n\r\n\r\n // filter the banks\r\n this.filteredVchColor.next(\r\n this.vhclColorArr.filter(bank => bank.ColorName.toLowerCase().indexOf(search) > -1)\r\n );\r\n }\r\n\r\n private filterPlateCat() {\r\n if (!this.plateCatArray) {\r\n return;\r\n }\r\n\r\n // get the search keyword\r\n let search = this.plateFilterCtrl.value;\r\n if (!search) {\r\n this.filteredPlateCat.next(this.plateCatArray.slice());\r\n return;\r\n } else {\r\n search = search.toLowerCase();\r\n }\r\n\r\n\r\n // filter the banks\r\n this.filteredPlateCat.next(\r\n this.plateCatArray.filter(bank => bank.label.toLowerCase().indexOf(search) > -1)\r\n );\r\n }\r\n\r\n private filterCode() {\r\n if (!this.codes) {\r\n return;\r\n }\r\n\r\n // get the search keyword\r\n let search = this.codeFilterCtrl.value;\r\n if (!search) {\r\n this.filteredCode.next(this.codes.slice());\r\n return;\r\n } else {\r\n search = search.toLowerCase();\r\n }\r\n\r\n\r\n // filter the banks\r\n this.filteredCode.next(\r\n this.codes.filter(bank => bank.viewValue.toLowerCase().indexOf(search) > -1)\r\n );\r\n }\r\n\r\n private filterYear() {\r\n if (!this.vehimodelyrs) {\r\n return;\r\n }\r\n\r\n // get the search keyword\r\n let search = this.yearFilterCtrl.value;\r\n if (!search) {\r\n this.filteredYears.next(this.vehimodelyrs.slice());\r\n return;\r\n } else {\r\n search = search.toLowerCase();\r\n }\r\n\r\n\r\n // filter the banks\r\n this.filteredYears.next(\r\n this.vehimodelyrs.filter(bank => bank.label.toLowerCase().indexOf(search) > -1)\r\n );\r\n }\r\n\r\n private filterMake() {\r\n if (!this.vhclMakeArr) {\r\n return;\r\n }\r\n // get the search keyword\r\n let search = this.makeFilterCtrl.value;\r\n if (!search) {\r\n this.filteredMakes.next(this.vhclMakeArr.slice());\r\n return;\r\n } else {\r\n search = search.toLowerCase();\r\n }\r\n // filter the banks\r\n this.filteredMakes.next(\r\n this.vhclMakeArr.filter(bank => bank.VehicleMakeName.toLowerCase().indexOf(search) > -1)\r\n );\r\n }\r\n\r\n private filterModel() {\r\n if (!this.vhclModelArr) {\r\n return;\r\n }\r\n // get the search keyword\r\n let search = this.modelFilterCtrl.value;\r\n if (!search) {\r\n this.filteredModels.next(this.vhclModelArr.slice());\r\n return;\r\n } else {\r\n search = search.toLowerCase();\r\n }\r\n // filter the banks\r\n this.filteredModels.next(\r\n this.vhclModelArr.filter(bank => bank.VehicleModelName.toLowerCase().indexOf(search) > -1)\r\n );\r\n }\r\n\r\n updateQuotation(stepper, type, frame) {\r\n this.checkStepper = true;\r\n //frame.hide();\r\n \r\n // this.showLoader.vehicleDetail = true;\r\n this.showLoader.Quotation = true;\r\n if (type != 0){\r\n stepper.next();\r\n }\r\n \r\n \r\n let modifyValue = this.existVehiclevalue == 1 ? this.existVehiclevalue : null;\r\n // let dob = this.insuredDetailForm.value.adtnl_detail_vhclOwnBy.code == '100' ? this.convertDate(this.insuredDetailForm.value.d_dob) : '';\r\n let repairType = this.insuredDetailForm.value.adtnl_detail_insType.value == 100 ? this.insuredDetailForm.value.adtnl_detail_repairTye : { value: 'Garage', viewValue: 'Garage' };\r\n let vehicle_value = this.insuredDetailForm.value.adtnl_detail_insType.value == 100 ? this.insuredDetailForm.value.adtnl_detail_vhclValue : 0;\r\n let brand_new = (this.insuredDetailForm.value.rg_model_year.value != this.maxYear || this.insuredDetailForm.value.rg_model_year.value != this.year || this.insuredDetailForm.value.rg_model_year.value != this.minyear) ? { code: '0', value: 'N' } : { code: '1', value: 'Y' };\r\n let vehicleType = this.insuredDetailForm.value.adtnl_detail_vhclOwnBy.code == '100' ? { code: '1001', value: 'Private' } : { code: '1001', value: 'Private' };\r\n let policy_expire_date = this.insuredDetailForm.value.vhclTPLCoverage == 'No' ? this.nextDate : this.PrevDate;\r\n let emiratesId = this.insuredDetailForm.value.e_eid.replace(/-/gi, \"\");\r\n\r\n let motorArrayQuote = {\r\n \r\n quotation_number: this.quoteNumber,\r\n web_quote_number: this.webQuoteNumber,\r\n insured_type: this.insuredDetailForm.value.adtnl_detail_vhclOwnBy,\r\n insured_name: this.insuredDetailForm.value.e_name,\r\n gender: this.insuredDetailForm.value.e_gender,\r\n dob: this.convertDate(this.insuredDetailForm.value.d_dob),\r\n prospect_age: this.calucateAge(this.insuredDetailForm.value.d_dob, 1),\r\n nationality: this.insuredDetailForm.value.e_nationality,\r\n email: this.insuredDetailForm.value.adtnl_detail_email,\r\n mobile: this.insuredDetailForm.value.adtnl_detail_mobile,\r\n code: this.insuredDetailForm.value.adtnl_detail_mbCode,\r\n UAE_lic_age: this.convertDate(this.insuredDetailForm.value.d_issue_date),\r\n UAELicAge: this.calucateAge(this.insuredDetailForm.value.d_issue_date, 2),\r\n license_country: this.insuredDetailForm.value.e_nationality,\r\n NCD: this.insuredDetailForm.value.adtnl_detail_NCD,\r\n model_year: this.insuredDetailForm.value.rg_model_year,\r\n make: this.insuredDetailForm.value.rg_vhcl_make,\r\n model: this.insuredDetailForm.value.rg_vhcl_model,\r\n trim: this.insuredDetailForm.value.adtnl_detail_trim,\r\n body_type: this.insuredDetailForm.value.adtnl_detail_bodyType,\r\n cylinders: this.insuredDetailForm.value.adtnl_detail_cylinder,\r\n passenger: this.insuredDetailForm.value.rg_num_passenger,\r\n registered_date: this.convertDate(this.insuredDetailForm.value.rg_reg_date),\r\n GCCSpecified: this.insuredDetailForm.value.adtnl_detail_gccSpecified,\r\n vhclModified: this.insuredDetailForm.value.adtnl_detail_vhclModified,\r\n registered_place: this.insuredDetailForm.value.rg_place_issue,\r\n chassis_no: this.insuredDetailForm.value.rg_chassis_num,\r\n repair_type: repairType,\r\n sum_insured: vehicle_value,\r\n emirates_id: emiratesId,\r\n policy_type: this.insuredDetailForm.value.adtnl_detail_insType,\r\n ExistingCover: this.insuredDetailForm.value.vhclTPLCoverage,\r\n policy_expire_date: this.convertDate(policy_expire_date),\r\n brand_new: brand_new,\r\n customer_id: \"0\",\r\n lead_id: \"0\",\r\n NCD_docs: \"No\",\r\n registration_type: vehicleType,\r\n VEHENGINESIZE: '1',\r\n source: 'B2C',\r\n document_data: this.tempDocArray,\r\n // multiple_doc_data: this.tempMultipleDocData,\r\n GVM: this.insuredDetailForm.value.rg_gvm,\r\n origin: this.insuredDetailForm.value.rg_origin,\r\n policy_num: this.insuredDetailForm.value.rg_policy_num,\r\n eid_card_num: this.insuredDetailForm.value.e_cardNumber,\r\n reg_ins_exp_date: this.convertDate(this.insuredDetailForm.value.rg_ins_exp),\r\n reg_exp_date: this.convertDate(this.insuredDetailForm.value.rg_expiry_date),\r\n eid_exp_date: this.convertDate(this.insuredDetailForm.value.e_expiryDate),\r\n driv_lic_issue_date: this.convertDate(this.insuredDetailForm.value.d_issue_date),\r\n driv_lic_exp_date: this.convertDate(this.insuredDetailForm.value.d_expiry_date),\r\n driv_lic_issuePlace: this.insuredDetailForm.value.d_place_issue,\r\n name_in_arabic: this.insuredDetailForm.value.e_arabic_name,\r\n traffic_code: this.insuredDetailForm.value.rg_TC_num,\r\n license: this.insuredDetailForm.value.d_driv_lic_num,\r\n mortgage: this.insuredDetailForm.value.rg_mortgage,\r\n plate_number: this.insuredDetailForm.value.rg_traffic_plate_num,\r\n plate_code: this.insuredDetailForm.value.rg_plateCode,\r\n plate_category: this.insuredDetailForm.value.rg_type,\r\n driv_lic_TC_number: this.insuredDetailForm.value.d_TC_number,\r\n driv_lic_type: this.insuredDetailForm.value.d_lic_type,\r\n vehicleColor: this.insuredDetailForm.value.vhclColor,\r\n SchemeCode: this.SchemeCode,\r\n start_date: this.convertDate(this.insuredDetailForm.value.polStartDate),\r\n modifiedVhclValue: modifyValue,\r\n policy_status : 'NEW',\r\n deductible_value : this.insuredDetailForm.value.deductible,\r\n TRN_number : this.insuredDetailForm.value.TRN_num,\r\n trade_Lic_number : this.insuredDetailForm.value.trade_lic_num,\r\n industry_type : this.insuredDetailForm.value.industry_type,\r\n transaction_type : this.insuredDetailForm.value.transaction_type.label,\r\n selfDecl : this.accept_self_declaration_1+\",\"+this.accept_self_declaration_2+\",\"+this.accept_self_declaration_3+\",\"+this.accept_self_declaration_4+\",\"+this.accept_self_declaration_5,\r\n motor_quote_type:'OCR'\r\n };\r\n \r\n\r\n this.quoteDetailArr = motorArrayQuote;\r\n\r\n var gender = \"\";\r\n if(this.insuredDetailForm.value.e_gender){\r\n gender = this.insuredDetailForm.value.e_gender.value;\r\n\r\n }\r\n \r\n let policyDetail = {\r\n quotation_number: this.webQuoteNumber,\r\n CRS_quotation_number: this.quoteNumber,\r\n traffic_code: this.insuredDetailForm.value.rg_TC_num,\r\n license: this.insuredDetailForm.value.d_driv_lic_num,\r\n emirates: this.insuredDetailForm.value.rg_place_issue,\r\n address: this.insuredDetailForm.value.adtnl_detail_address,\r\n PO_box: this.insuredDetailForm.value.adtnl_detail_poBoxNum,\r\n occupation: '',\r\n national_id: this.insuredDetailForm.value.e_eid,\r\n arabic_name: '',\r\n home_office_number: '',\r\n start_date: this.convertDate(this.insuredDetailForm.value.polStartDate),\r\n end_date: '22/12/2019',\r\n color: '',\r\n chassis_no: this.insuredDetailForm.value.rg_chassis_num,\r\n engine: this.insuredDetailForm.value.rg_engin_num,\r\n plate: '54687',\r\n mortgage: this.insuredDetailForm.value.rg_mortgage,\r\n payment_mode: 'ONLINE',\r\n named_driver: this.insuredDetailForm.value.e_name,\r\n additional_driver_under_age: '0',\r\n IP_address: '',\r\n mobile: this.insuredDetailForm.value.adtnl_detail_mobile,\r\n code: this.insuredDetailForm.value.adtnl_detail_mbCode,\r\n driving_License_Front: this.insuredDetailForm.value.driving_Lic_Front,\r\n driving_license_Back: '',\r\n Reg_Card_Front: this.insuredDetailForm.value.reg_Card_Front,\r\n Reg_Card_Back: this.insuredDetailForm.value.reg_Card_Back,\r\n EID_Front: this.insuredDetailForm.value.emirated_ID_Front,\r\n EID_Back: this.insuredDetailForm.value.emirated_ID_Backk,\r\n dealer_quote: '',\r\n vhclPlateCategory: this.insuredDetailForm.value.rg_type,\r\n plateCode: this.insuredDetailForm.value.rg_plateCode,\r\n plateNumber: this.insuredDetailForm.value.rg_traffic_plate_num,\r\n area: this.insuredDetailForm.value.adtnl_detail_area,\r\n noOfDoors: this.nofDoors,\r\n gender: gender,\r\n nationality: this.insuredDetailForm.value.e_nationality,\r\n source :'B2C',\r\n \r\n\r\n }\r\n\r\n\r\n this.motorQuoteService.updateQuotation(motorArrayQuote,policyDetail).subscribe(res => {\r\n\r\n if (type != 0){\r\n stepper.next();\r\n }\r\n\r\n this.PlanDataJson.planBenefitData.benefit_data = [];\r\n this.showLoader.retrieveQuote = false;\r\n if (res.thirdPartyAPIData != null && res.thirdPartyAPIData != undefined) {\r\n let thirdPartyAPIResponse = res.thirdPartyAPIData.Status.Description.split((\"no tariff available\").toLowerCase());\r\n }\r\n\r\n if (res.response_code == 0) {\r\n this.showLoader.Quotation = false;\r\n this.showLoader.retrieveQuote = false;\r\n Swal.fire(\"Sorry! Plan not available.\", \" \", \"error\");\r\n\r\n stepper.previous();\r\n }\r\n\r\n else if (res.response_code == 4) {\r\n this.webQuoteNumber = res.web_quotation_number;\r\n this.showLoader.Quotation = false;\r\n this.showLoader.retrieveQuote = false;\r\n // this.savePolicyDetail(1);\r\n Swal.fire(\"Thank you for you request, based on your application details, the case needs to be referred for further review.\", \"An email will be sent to you shortly. If you need further assistance call us at 800-842\", \"error\");\r\n \r\n stepper.previous();\r\n }\r\n\r\n else if (res.response_code_ == 400 || res.response_code == 5) {\r\n this.showLoader.Quotation = false;\r\n this.showLoader.retrieveQuote = false;\r\n Swal.fire(\"Thank you for you request, based on your application details, the case needs to be referred for further review.\", \"An email will be sent to you shortly. If you need further assistance call us at 800-842\", \"error\");\r\n stepper.previous();\r\n }\r\n\r\n else if(res.response_code_r == 7){\r\n \r\n this.showLoader.Quotation = false;\r\n this.showLoader.retrieveQuote = false;\r\n \r\n Swal.fire(\"\", res.thirdPartyAPIData.Status.Description, \"error\");\r\n\r\n stepper.previous();\r\n }\r\n\r\n else {\r\n\r\n this.policyFee = 1;\r\n this.totalVariablePremium = 0;\r\n this.PlanDataJson = res;\r\n this.totalFixPremium = 0;\r\n this.plan_Name = this.PlanDataJson.planBenefitData.data[0].PlanName;\r\n this.plan_Id = this.PlanDataJson.planBenefitData.data[0].PlanId;\r\n this.benfPremIdArray = this.PlanDataJson.planBenefitData.data;\r\n this.webQuoteNumber = this.PlanDataJson.webQuotationNumber;\r\n this.quoteNumber = this.PlanDataJson.quotationNumber;\r\n this.showLoader.Quotation = false;\r\n this.showLoader.retrieveQuote = false;\r\n\r\n if(this.webQuoteNumber == '' || this.webQuoteNumber == null){\r\n stepper.previous();\r\n }\r\n this.PlanDataJson.planBenefitData.data.forEach((item, index) => {\r\n\r\n if (item.PlanBenefitType == 'OPTIONAL' && item.MultiOptionFlag == 1) {\r\n this.mulOption = item.multipleOptionData[0];\r\n this.PlanDataJson.planBenefitData.data[index].benefitSelectedData = item.multipleOptionData[0];\r\n this.PlanDataJson.planBenefitData.data[index].multiOptID = item.multipleOptionData[0].BenefitId;\r\n this.PlanDataJson.planBenefitData.data[index].Price = item.multipleOptionData[0].Price;\r\n this.PlanDataJson.planBenefitData.data[index].checked = false;\r\n this.PlanDataJson.planBenefitData.data[index].offerChecked = false;\r\n\r\n }\r\n\r\n if (item.PlanBenefitType == 'OPTIONAL' && item.MultiOptionFlag != 1) {\r\n \r\n this.PlanDataJson.planBenefitData.data[index].checked = false;\r\n this.PlanDataJson.planBenefitData.data[index].offerChecked = false;\r\n\r\n }\r\n\r\n });\r\n \r\n this.checkOptionalBenefit(this.optionalBenefit);\r\n \r\n let discount = this.PlanDataJson.thirdPartyAPIData.NcdDiscount.NcdPerc / 100;\r\n this.discount = this.PlanDataJson.thirdPartyAPIData.NcdDiscount.NcdAmnt;\r\n this.tempBenefitData = this.PlanDataJson.planBenefitData.benefit_data;\r\n this.PlanDataJson.planBenefitData.benefit_data.forEach((item, index) => {\r\n\r\n this.totalFixPremium = Number(this.totalFixPremium) + Number(item.premium);\r\n \r\n });\r\n\r\n \r\n this.tempTotalFixPremium = this.totalFixPremium;\r\n\r\n // this.totalFixPremium = Math.round(this.tempTotalFixPremium - this.tempTotalFixPremium * discount);\r\n this.totalFixPremium = Math.round(this.tempTotalFixPremium - this.discount);\r\n this.totalFixPremium = Math.round(this.totalFixPremium + this.policyFee);\r\n this.tempTotalLoadFixPrem = this.totalFixPremium;\r\n this.VATAMT = ((this.totalFixPremium + this.totalVariablePremium) * 0.05);\r\n this.Total_Primium = (this.totalFixPremium + this.totalVariablePremium + this.VATAMT);\r\n\r\n\r\n if (this.tempTotalFixPremium<=500) {\r\n stepper.previous();\r\n }\r\n\r\n\r\n if(this.accept_self_declaration_1 || this.accept_self_declaration_2 || this.accept_self_declaration_3 || this.accept_self_declaration_4 || this.accept_self_declaration_5){\r\n this.getDiscountOnSelfDeclaration();\r\n } \r\n \r\n }\r\n\r\n });\r\n\r\n }\r\n\r\n public editQuoteDocs: any; fileType: any;\r\n //---------------------------- GET DOCUMENTS DATA FOR RETRIEVE -----------------------------------------------------------//\r\n getDataForEditQuoteDocs(quoteNumber) {\r\n this.motorQuoteService.getDataForEditQuoteDoc(quoteNumber).subscribe(res => {\r\n\r\n this.editQuoteDocs = res.getDataForEditQuoteDoc;\r\n \r\n if(res.response_message!=\"Failed\"){\r\n\r\n this.editQuoteDocs.forEach((item, index) => {\r\n var sDoc= false ;\r\n this.fileType = item.DocFileName.split(\".\");\r\n this.fileType = this.fileType[this.fileType.length - 1];\r\n this.fileType = this.fileType == \"pdf\" ? \"PDF\" : \"IMG\";\r\n \r\n if (item.DocumentType == \"reg_Card_Front\" && item.DocFilePath != '') {\r\n sDoc= true ;\r\n this.showLoader.reg_card_front = false;\r\n this.hideImages.reg_card_front = true;\r\n this.docUploadForm.get('reg_Card_FrontFilePath').setValue(this.editQuoteDocs[index].DocFilePath);\r\n this.docUploadForm.get('reg_Card_FrontFileType').setValue(this.fileType);\r\n this.reg_card_front_flag=true;\r\n }\r\n\r\n if (item.DocumentType == \"reg_Card_Back\" && item.DocFilePath != '') {\r\n sDoc= true ;\r\n \r\n this.showLoader.reg_card_back = false;\r\n this.hideImages.reg_card_back = true;\r\n this.docUploadForm.get('reg_Card_BackFilePath').setValue(this.editQuoteDocs[index].DocFilePath);\r\n this.docUploadForm.get('reg_Card_BackFileType').setValue(this.fileType);\r\n this.reg_card_back_flag=true;\r\n }\r\n\r\n if (item.DocumentType == \"emirated_ID_Front\" && item.DocFilePath != '') {\r\n sDoc= true ;\r\n this.showLoader.emirates_Id_front = false;\r\n this.hideImages.emirates_Id_front = true;\r\n this.docUploadForm.get('emirated_ID_FrontFilePath').setValue(this.editQuoteDocs[index].DocFilePath);\r\n this.docUploadForm.get('emirated_ID_FrontFileType').setValue(this.fileType);\r\n }\r\n\r\n if (item.DocumentType == \"emirated_ID_Back\" && item.DocFilePath != '') {\r\n sDoc= true ;\r\n this.showLoader.emirates_Id_back = false;\r\n this.hideImages.emirates_Id_back = true;\r\n this.docUploadForm.get('emirated_ID_BackFilePath').setValue(this.editQuoteDocs[index].DocFilePath);\r\n this.docUploadForm.get('emirated_ID_BackFileType').setValue(this.fileType);\r\n }\r\n\r\n if (item.DocumentType == \"driving_Lic_Front\" && item.DocFilePath != '') {\r\n sDoc= true ;\r\n this.showLoader.driving_Lic_front = false;\r\n this.hideImages.driving_Lic_front = true;\r\n this.docUploadForm.get('driving_Lic_FrontFilePath').setValue(this.editQuoteDocs[index].DocFilePath);\r\n this.docUploadForm.get('driving_Lic_FrontFileType').setValue(this.fileType);\r\n this.driving_Lic_Front_flag=true;\r\n }\r\n\r\n if (item.DocumentType == \"driving_Lic_Back\" && item.DocFilePath != '') {\r\n sDoc= true ;\r\n this.showLoader.driving_Lic_back = false;\r\n this.hideImages.driving_Lic_back = true;\r\n this.docUploadForm.get('driving_Lic_BackFilePath').setValue(this.editQuoteDocs[index].DocFilePath);\r\n this.docUploadForm.get('driving_Lic_BackFileType').setValue(this.fileType);\r\n this.driving_Lic_Back_flag=true;\r\n }\r\n\r\n\r\n });\r\n\r\n }\r\n });\r\n }\r\n //----------------------------------------VALIDATION FOR AGE ------------------------------------------------//\r\n calucateAge(inputData, type) {\r\n if(inputData!=''){\r\n let timeDiff = Math.abs(Date.now() - inputData);\r\n if (type == 1) {\r\n return Math.floor((timeDiff / (1000 * 3600 * 24)) / 365.25);\r\n }\r\n\r\n if (type == 2) {\r\n return Math.floor((timeDiff / (1000 * 3600 * 24)) / 365.25);\r\n }\r\n \r\n }else{\r\n return '' ;\r\n }\r\n\r\n }\r\n\r\n renewPolicyData() {\r\n\r\n if (this.policyRenewForm.invalid) {\r\n this.validtnMsg1.policyRenew = true;\r\n return false;\r\n }\r\n\r\n //this.showLoader.policyRenew = true;\r\n\r\n\r\n }\r\n\r\n getPlateCode(regPlaceId, type) {\r\n\r\n let plateSource = this.retrieveQuoteForm.value.web_Quote_Num == '' ? regPlaceId : this.quoteDetail.regplace;\r\n\r\n if(typeof (plateSource) != undefined && typeof (plateSource) != \"undefined\" ){\r\n this.motorQuoteService.getPlateCode(this.language_code, plateSource).subscribe(res => {\r\n\r\n this.plateCodeArray = res.plateCodeData;\r\n\r\n if (type == 2 && typeof (this.plateCodeArray) != undefined && typeof (this.plateCodeArray) != \"undefined\") {\r\n //Plate COde\r\n\r\n console.log(this.quoteDetail);\r\n let plateCode = this.quoteDetail.PlateCode;\r\n// console.log(this.quoteDetail.plateCode);\r\n var indexPlCode = this.plateCodeArray.findIndex(function (obj, k) {\r\n // console.log(obj.PlateCode +\"========================\"+ plateCode);\r\n return obj.PlateCode === plateCode;\r\n });\r\n let plCodeVal = this.plateCodeArray[indexPlCode];\r\n this.insuredDetailForm.get('rg_plateCode').setValue(plCodeVal);\r\n }\r\n });\r\n\r\n }\r\n\r\n\r\n }\r\n\r\n\r\n checkTermsCond(stepper) {\r\n this.accept_terms = !this.accept_terms;\r\n\r\n }\r\n\r\n\r\n checkChassisNo() {\r\n\r\n this.check_chassis_No = !this.check_chassis_No;\r\n\r\n if (this.check_chassis_No == true) {\r\n\r\n this.vehicleDetailForm.controls['chassisNum'].setValidators([Validators.required]);\r\n this.vehicleDetailForm.controls['isChassisValidate'].setValidators([Validators.required]);\r\n }\r\n else {\r\n this.vehicleDetailForm.get('chassisNum').setValue('');\r\n this.vehicleDetailForm.controls['chassisNum'].setValidators(null);\r\n this.vehicleDetailForm.controls['isChassisValidate'].setValidators(null);\r\n }\r\n\r\n this.vehicleDetailForm.controls['chassisNum'].updateValueAndValidity();\r\n this.vehicleDetailForm.controls['isChassisValidate'].updateValueAndValidity();\r\n }\r\n nonEditableFields(type) {\r\n //this.vehicleDetailForm.value.chassisNum != null && this.vehicleDetailForm.value.vhclGCCSpecifird != null && this.vehicleDetailForm.value.vhclTrim != undefined && this.vehicleDetailForm.value.vhclBodyType != null && this.vehicleDetailForm.value.vhclCylinder != null && this.vehicleDetailForm.value.vhclSeatCapcity != null\r\n // alert(1)\r\n if (this.insuredDetailForm.value.rg_chassis_num != '' && this.insuredDetailForm.value.isChassisValidate == 1) {\r\n // alert(2)\r\n let vhclMake = localStorage.getItem(\"vehcl_make\");\r\n let vhclModel = localStorage.getItem(\"vehcl_model\");\r\n let vhclModelYear = localStorage.getItem(\"vehcl_model_year\");\r\n let vhclTrim = localStorage.getItem(\"vehcl_trim\");\r\n let vhclTrimVal = localStorage.getItem(\"vehcl_trim_val\");\r\n let vhclBody = localStorage.getItem(\"vehcl_body\");\r\n let gccSpecification = localStorage.getItem(\"GCC_Specification\");\r\n \r\n \r\n if ((vhclMake != '' || vhclMake != null) && type == 1) {\r\n \r\n return true;\r\n }\r\n \r\n else if ((vhclModel != '' || vhclModel != null) && type == 2) {\r\n \r\n return true;\r\n }\r\n \r\n else if ((vhclModelYear != '' || vhclModelYear != null) && type == 3) {\r\n \r\n return true;\r\n }\r\n \r\n else if ((vhclTrim != '' || vhclTrim != null) && (vhclTrimVal == '' || vhclTrimVal == null) && type == 4) {\r\n \r\n return true;\r\n }\r\n \r\n else if ((vhclBody != '' || vhclBody != null) && type == 5) {\r\n \r\n return true;\r\n }\r\n \r\n else if ((gccSpecification != '' || gccSpecification != null) && type == 6) {\r\n // alert(3)\r\n return true;\r\n }\r\n \r\n else\r\n false;\r\n \r\n }\r\n \r\n // if(type == 1 && this.vehicleDetailForm.value.chassisNum != '' && this.vehicleDetailForm.value.vhclGCCSpecifird != '' && this.vehicleDetailForm.value.vhclTrim != undefined && this.vehicleDetailForm.value.vhclBodyType != '' && this.vehicleDetailForm.value.vhclCylinder != '' && this.vehicleDetailForm.value.vhclSeatCapcity != ''){\r\n // return true;\r\n // }\r\n \r\n // else{\r\n // return false;\r\n // }\r\n }\r\n callSteps(stepper, e) { \r\n \r\n // console.log(e);\r\n this.item=[{number: 1, open: true}];\r\n if (e == 1) {\r\n // console.log(stepper.selectedIndex)\r\n stepper.selectedIndex = 0;\r\n }\r\n }\r\n\r\n public showTerms :boolean = false;\r\n getTermsConditions(){\r\n\r\n this.showTerms = true;\r\n this.motorQuoteService.getTermsConditions('B2C').subscribe(res =>{\r\n if(res.response_code == 1){\r\n this.showTerms = false;\r\n this.termsAndCondition = res.termsAndCondition;\r\n }\r\n \r\n });\r\n }\r\n\r\n togglefloating(){\r\n this.showFloating=!this.showFloating;\r\n this.showFloatingcloseicon=!this.showFloatingcloseicon;\r\n this.showFloatingopenicon=!this.showFloatingopenicon;\r\n }\r\n togglepremiumfloating(){\r\n this.showpremiumFloating=!this.showpremiumFloating;\r\n this.premiumcloseicon=!this.premiumcloseicon;\r\n this.premiumopenicon=!this.premiumopenicon;\r\n}\r\n\r\n\r\n//////------------------------------------------ document upload with ocr --- hk -------------------/////\r\n\r\ngetIssuePlace(place) {\r\n \r\n}\r\n\r\ngetRegCardData(type, docData) {\r\n if (type == 1) {\r\n this.document_data.Data = docData.Data != '' ? docData.Data : this.document_data.Data;\r\n\r\n if (this.document_data.Data['Chassis No.'] == \"Not Found\" || this.vehicleData.StatusCode == 422) {\r\n this.insuredDetailForm.get('rg_chassis_num').setValue('');\r\n this.insuredDetailForm.get('isChassisValidate').setValue('');\r\n\r\n\r\n } else {\r\n this.checkChassisValidation = true;\r\n this.insuredDetailForm.get('rg_chassis_num').setValue(this.document_data.Data['Chassis No.']);\r\n this.insuredDetailForm.get('isChassisValidate').setValue('1');\r\n\r\n }\r\n\r\n //GCC\r\n this.GCC_Specification = this.vehicleData.General.Region;\r\n if(this.vehicleData.General.Region != null && this.vehicleData.General.Region != ''){\r\n let gcc_specification = this.vehicleData.General.Region == 'GCC' ? 'No' : 'Yes';\r\n this.insuredDetailForm.get('adtnl_detail_gccSpecified').setValue(gcc_specification);\r\n this.nonEditableFields(6);\r\n }else{\r\n this.insuredDetailForm.get('adtnl_detail_gccSpecified').setValue('');\r\n }\r\n\r\n if (this.document_data.Data['G. V. W.'] == \"Not Found\") {\r\n this.insuredDetailForm.get('rg_gvm').setValue('');\r\n } else {\r\n this.insuredDetailForm.get('rg_gvm').setValue(this.document_data.Data['G. V. W.']);\r\n }\r\n\r\n let enginNumber = this.document_data.Data['Eng. No.'];\r\n this.insuredDetailForm.get('rg_engin_num').setValue(enginNumber.trim());\r\n \r\n this.nofDoors = this.vehicleData.General.NoOfDoors;\r\n //this.insuredDetailForm.get('rg_vhcl_model').setValue(this.document_data.Data['Expiry Date']);\r\n\r\n this.fileUploadFlag = true;\r\n //Model year\r\n let modelYear = this.vehicleData.General.ModelYear;\r\n var indexMYear = this.vehimodelyrs.findIndex(function (obj, k) {\r\n return obj.label === modelYear;\r\n });\r\n let yearVal = this.vehimodelyrs[indexMYear];\r\n this.insuredDetailForm.get('rg_model_year').setValue(yearVal);\r\n\r\n this.chnageData.rg_vhcl_make = this.vehicleData.General.Make;\r\n\r\n this.getVhclMakeData(this.vehicleData.General.Make, yearVal, 2);\r\n\r\n \r\n\r\n //NO OF PAASENGER\r\n let numOfPass = this.vehicleData.General.NoOfSeats;\r\n var iPassenger = this.vehiseatcaps.findIndex(function (obj, k) {\r\n return obj.viewValue == (numOfPass - 1);\r\n });\r\n \r\n let passengerVal = this.vehiseatcaps[iPassenger];\r\n this.insuredDetailForm.get('rg_num_passenger').setValue(passengerVal);\r\n\r\n //ORIGIN\r\n let origin = this.document_data.Data['Origin'];\r\n var indexOrin = this.countryArr.findIndex(function (obj, k) {\r\n return obj.CountryName === origin;\r\n });\r\n let originVal = this.countryArr[indexOrin];\r\n this.insuredDetailForm.get('rg_origin').setValue(originVal);\r\n\r\n //cylinders\r\n\r\n let cylVal;\r\n this.vehicylinders.forEach((item, index) => {\r\n\r\n if (item.value == this.vehicleData.Technical.EngineCylinders) {\r\n cylVal = item;\r\n }\r\n });\r\n\r\n this.insuredDetailForm.get('adtnl_detail_cylinder').setValue(cylVal);\r\n\r\n\r\n }\r\n\r\n\r\n if (type == 2) {\r\n\r\n this.document_data.Data = docData.Data != '' ? docData.Data : this.document_data.Data;\r\n\r\n let dateExp: string = this.document_data.Data['Exp. Date'];\r\n dateExp = dateExp.replace(/-/gi, \"/\");\r\n let dateReg: string = this.document_data.Data['Reg. Date'];\r\n dateReg = dateReg.replace(/-/gi, \"/\");\r\n let dateInsp: string = this.document_data.Data['Ins. Exp.'];\r\n dateInsp = dateInsp.replace(/-/gi, \"/\");\r\n let strTCNum: string = this.document_data.Data['T. C. No.'];\r\n\r\n if (this.document_data.Data['Exp. Date'] != \"Not Found\")\r\n this.insuredDetailForm.get('rg_expiry_date').setValue(this.dateConvert(dateExp));\r\n else {\r\n this.insuredDetailForm.get('rg_expiry_date').setValue('');\r\n }\r\n\r\n if (this.document_data.Data['Ins. Exp.'] != \"Not Found\")\r\n this.insuredDetailForm.get('rg_ins_exp').setValue(this.dateConvert(dateInsp));\r\n else {\r\n this.insuredDetailForm.get('rg_ins_exp').setValue('');\r\n }\r\n\r\n if (this.document_data.Data['Reg. Date'] != \"Not Found\")\r\n this.insuredDetailForm.get('rg_reg_date').setValue(this.dateConvert(dateReg));\r\n else {\r\n this.insuredDetailForm.get('rg_reg_date').setValue('');\r\n }\r\n\r\n this.insuredDetailForm.get('rg_policy_num').setValue(this.document_data.Data['Policy No.']);\r\n\r\n this.insuredDetailForm.get('rg_TC_num').setValue(this.document_data.Data['T. C. No.']);\r\n this.insuredDetailForm.get('rg_traffic_plate_num').setValue(this.document_data.Data['Traffic Plate No.']);\r\n\r\n if (this.insuredDetailForm.value.d_TC_number == '') {\r\n this.insuredDetailForm.get('d_TC_number').setValue(this.insuredDetailForm.value.rg_TC_num);\r\n }\r\n\r\n let plate_code_array = this.document_data.Data['Traffic Plate No.'].split('/');\r\n\r\n //Mortgage Bank\r\n if (this.document_data.Data['Mortgage By'] == \"Not Found\") {\r\n this.insuredDetailForm.get('rg_mortgage').setValue('');\r\n\r\n } else {\r\n let mBank = this.document_data.Data['Mortgage By'];\r\n var indexBank = this.bankDetail.findIndex(function (obj, k) {\r\n return obj.InstituteName.toLowerCase() === mBank.toLowerCase();\r\n });\r\n let bankVal = this.bankDetail[indexBank];\r\n this.insuredDetailForm.get('rg_mortgage').setValue(bankVal);\r\n }\r\n //REG PLACE\r\n let regPlace = this.document_data.Data['Place of Issue'];\r\n // this.plate_code = this.document_data.Data['Plate_code'] != \"\" ? this.document_data.Data['Plate_code'] : plate_code_array[0];\r\n\r\n if (strTCNum.length == 8) {\r\n var indexRegPlace = this.cityArr.findIndex(function (obj, k) {\r\n return obj.CityName === 'Dubai';\r\n });\r\n let placelVal = this.cityArr[indexRegPlace];\r\n this.insuredDetailForm.get('rg_place_issue').setValue(placelVal);\r\n this.getPlateCode(placelVal.CityName, 3);\r\n } else if (this.document_data.Data['Place of Issue'] != 'Not Found' && strTCNum.length != 8) {\r\n var indexRegPlace = this.cityArr.findIndex(function (obj, k) {\r\n return obj.CityName.toLowerCase() === regPlace.toLowerCase();\r\n });\r\n let placelVal = this.cityArr[indexRegPlace];\r\n this.insuredDetailForm.get('rg_place_issue').setValue(placelVal);\r\n this.getPlateCode(placelVal.CityName, 3);\r\n } else {\r\n this.insuredDetailForm.get('rg_place_issue').setValue('');\r\n }\r\n\r\n //REG TyPE == PLATE CATEGORY\r\n if (this.document_data.Data['Registration Type'] == \"Not Found\" || this.document_data.Data['Registration Type'] == null || this.document_data.Data['Registration Type'] == '') {\r\n this.insuredDetailForm.get('rg_type').setValue('');\r\n\r\n } else {\r\n let regType = this.document_data.Data['Registration Type'];\r\n var indexRegType = this.plateCatArray.findIndex(function (obj, k) {\r\n return obj.value.toLowerCase() === regType.toLowerCase();\r\n });\r\n let typelVal = this.plateCatArray[indexRegType];\r\n this.insuredDetailForm.get('rg_type').setValue(typelVal.value);\r\n\r\n }\r\n \r\n\r\n }\r\n // let yearVal = this.vehimodelyrs[indexMYear];\r\n // this.insuredDetailForm.get('rg_model_year').setValue(yearVal);\r\n\r\n // this.chnageData.rg_vhcl_make = this.vehicleData.General.Make;\r\n\r\n // this.getVhclMakeData(this.vehicleData.General.Make, yearVal, 2);\r\n\r\n}\r\n\r\ngetDrivingLicData(type, docData) {\r\n if (type == 1) {\r\n\r\n this.document_data.Data = docData.Data != '' ? docData.Data : this.document_data.Data;\r\n\r\n let dateDob: string = this.document_data.Data['Date of Birth'];\r\n dateDob = dateDob.replace(/-/gi, \"/\");\r\n let dateIssue: string = this.document_data.Data['Issue Date'];\r\n dateIssue = dateIssue.replace(/-/gi, \"/\");\r\n let dateExp: string = this.document_data.Data['Expiry Date'];\r\n dateExp = dateExp.replace(/-/gi, \"/\");\r\n\r\n if (this.document_data.Data['License No.'] != 'Not Found') {\r\n this.insuredDetailForm.get('d_driv_lic_num').setValue(this.document_data.Data['License No.']);\r\n } else {\r\n this.insuredDetailForm.get('d_driv_lic_num').setValue('');\r\n }\r\n\r\n \r\n // else {\r\n // this.insuredDetailForm.get('d_dob').setValue('');\r\n // }\r\n\r\n\r\n\r\n if (this.document_data.Data['Issue Date'] != \"Not Found\")\r\n this.insuredDetailForm.get('d_issue_date').setValue(this.dateConvert(dateIssue));\r\n else {\r\n this.insuredDetailForm.get('d_issue_date').setValue('');\r\n }\r\n\r\n\r\n if (this.document_data.Data['Expiry Date'] != \"Not Found\")\r\n this.insuredDetailForm.get('d_expiry_date').setValue(this.dateConvert(dateExp));\r\n else {\r\n this.insuredDetailForm.get('d_expiry_date').setValue('');\r\n }\r\n\r\n\r\n // Driving Reg. Place\r\n let regPlace = this.document_data.Data['Place of Issue'];\r\n if(regPlace != 'Not Found' && regPlace !='' && regPlace != null){\r\n var indexRegPlace = this.cityArr.findIndex(function (obj, k) {\r\n return obj.CityName.toLowerCase() === regPlace.toLowerCase();\r\n });\r\n let placelVal = this.cityArr[indexRegPlace];\r\n this.insuredDetailForm.get('d_place_issue').setValue(placelVal);\r\n if (placelVal != null && placelVal != undefined) {\r\n this.getIssuePlace(placelVal.CityName);\r\n }\r\n }\r\n \r\n\r\n // 11 - 02 -2021 : If emirates id file not uploaded then name should be taken from driving lic file\r\n if(this.insuredDetailForm.value.e_name == ''){\r\n if(this.document_data.Data['Name'] == \"Not Found\" ){\r\n this.insuredDetailForm.get('e_name').setValue('');\r\n }else{\r\n this.insuredDetailForm.get('e_name').setValue(this.document_data.Data['Name']);\r\n }\r\n } \r\n if(this.insuredDetailForm.value.e_nationality == ''){\r\n // Nationality\r\n let nationality = this.document_data.Data['Nationality'];\r\n var indexNationality = this.countryArr.findIndex(function (obj, k) {\r\n return obj.CountryName === nationality;\r\n });\r\n let nationalVal = this.countryArr[indexNationality];\r\n this.insuredDetailForm.get('e_nationality').setValue(nationalVal);\r\n \r\n }\r\n if(this.insuredDetailForm.value.d_dob == ''){\r\n if(this.document_data.Data['Date of Birth'] != \"Not Found\" && this.insuredDetailForm.value.d_dob == '')\r\n this.insuredDetailForm.get('d_dob').setValue(this.dateConvert(dateDob));\r\n }\r\n\r\n \r\n\r\n }\r\n if (type == 2) {\r\n this.document_data.Data = docData.Data != '' ? docData.Data : this.document_data.Data;\r\n if (this.document_data.Data['Permitted Vehicles'] != null && this.document_data.Data['Permitted Vehicles'].Count > 0) {\r\n let licType = this.document_data.Data['Permitted Vehicles'][0].Type;\r\n\r\n\r\n\r\n this.insuredDetailForm.get('d_lic_type').setValue(licType);\r\n }\r\n\r\n if (this.document_data.Data['Traffic Code No.'] != 'Not Found') {\r\n this.insuredDetailForm.get('d_TC_number').setValue(this.document_data.Data['Traffic Code No.'].trim());\r\n } else {\r\n this.insuredDetailForm.get('d_TC_number').setValue('');\r\n }\r\n\r\n }\r\n\r\n\r\n}\r\n\r\n\r\ngetEmiratesIdData(type, docData) {\r\n\r\n if (type == 1) {\r\n// console.log('eid');\r\n this.document_data.Data = docData.Data != '' ? docData.Data : this.document_data.Data;\r\n\r\n // if(this.document_data.Data['ID Number']==\"Not Found\" && this.document_data.Data['ID-NumberInArabic']!=''){ alert(1);\r\n // this.motorQuoteService.translateInEnglish(this.document_data.Data['ID-NumberInArabic']).subscribe(res => {\r\n\r\n // });\r\n // }\r\n\r\n this.insuredDetailForm.get('e_arabic_name').setValue(this.document_data.Data['NameInArabic']);\r\n\r\n if (this.document_data.Data['ID Number'] == \"Not Found\") {\r\n this.insuredDetailForm.get('e_eid').setValue('');\r\n } else{\r\n this.insuredDetailForm.get('e_eid').setValue(this.document_data.Data['ID Number']);\r\n // console.log(this.insuredDetailForm.value.e_eid);\r\n }\r\n\r\n if(this.document_data.Data['Name'] == \"Not Found\" ){\r\n\r\n this.insuredDetailForm.get('e_name').setValue('');\r\n\r\n } else{ this.insuredDetailForm.get('e_name').setValue(this.document_data.Data['Name']); }\r\n \r\n\r\n // Nationality\r\n let nationality = this.document_data.Data['Nationality'];\r\n var indexNationality = this.countryArr.findIndex(function (obj, k) {\r\n \r\n return obj.CountryName === nationality;\r\n });\r\n let nationalVal = this.countryArr[indexNationality];\r\n this.insuredDetailForm.get('e_nationality').setValue(nationalVal);\r\n \r\n }\r\n\r\n if (type == 2) {\r\n this.document_data.Data = docData.Data != '' ? docData.Data : this.document_data.Data;\r\n\r\n let dateDob: string = this.document_data.Data['Date of Birth'];\r\n dateDob = dateDob.replace(/-/gi, \"/\");\r\n\r\n let dateExp: string = this.document_data.Data['Expiry Date'];\r\n dateExp = dateExp.replace(/-/gi, \"/\");\r\n\r\n this.insuredDetailForm.get('e_cardNumber').setValue(this.document_data.Data['Card Number']);\r\n this.insuredDetailForm.get('e_expiryDate').setValue(this.dateConvert(dateExp));\r\n\r\n let gender = this.document_data.Data['Sex']\r\n //Gender\r\n var indexGender = this.genders.findIndex(function (obj, k) {\r\n return obj.value === gender;\r\n });\r\n let gnderVal = this.genders[indexGender];\r\n this.insuredDetailForm.get('e_gender').setValue(gnderVal);\r\n\r\n if (this.document_data.Data['Date of Birth'] != \"Not Found\" && this.document_data.Data['Date of Birth'] != \"\")\r\n this.insuredDetailForm.get('d_dob').setValue(this.dateConvert(dateDob));\r\n\r\n }\r\n\r\n\r\n\r\n}\r\n\r\ndateConvert(inputFormat) {\r\n\r\n let vDOEntryArray = inputFormat.split('/');\r\n let DOEntry = new Date();\r\n DOEntry.setDate(vDOEntryArray[0]);\r\n DOEntry.setMonth(vDOEntryArray[1] - 1);\r\n DOEntry.setFullYear(vDOEntryArray[2]);\r\n\r\n return DOEntry;\r\n\r\n}\r\n\r\n\r\n\r\n\r\nonFileChange(event, docName, FiledName, files: FileList) {\r\n this.docNameType = FiledName;\r\n // console.log(event)\r\n // console.log(docName)\r\n // console.log(this.docNameType)\r\n this.docProperty = this.docNameType.split('_', 3)[2]; //Added By Anju for OCR Changes\r\n\r\n if (this.docNameType == 'reg_Card_Front') {\r\n this.reg_card_front_flag =true;\r\n this.showLoader.reg_card_front = true;\r\n this.checkreg_Card_Front_image=false;\r\n }\r\n\r\n if (this.docNameType == 'reg_Card_Back') {\r\n this.reg_card_back_flag =true;\r\n this.showLoader.reg_card_back = true;\r\n this.checkreg_Card_Back_image=false;\r\n }\r\n\r\n if (this.docNameType == 'emirated_ID_Front') {\r\n this.showLoader.emirates_Id_front = true;\r\n }\r\n\r\n if (this.docNameType == 'emirated_ID_Back') {\r\n this.showLoader.emirates_Id_back = true;\r\n }\r\n\r\n if (this.docNameType == 'driving_Lic_Front') {\r\n this.driving_Lic_Front_flag =true;\r\n this.showLoader.driving_Lic_front = true;\r\n this.checkdriving_Lic_Front_image=false;\r\n }\r\n\r\n if (this.docNameType == 'driving_Lic_Back') {\r\n this.driving_Lic_Back_flag =true;\r\n this.showLoader.driving_Lic_back = true;\r\n this.checkdriving_Lic_Back_image=false;\r\n }\r\n\r\n//this.showTempFile(event.target.files[0],this.docNameType);\r\nsetTimeout(() => {\r\n this.showTempFile(event.target.files[0],this.docNameType);\r\n }, 2000);\r\n\r\nvar imageData = '';\r\n// console.log(event.target.files[0].type);\r\nif(event.target.files[0].type==\"image/png\" || \"image/jpeg\"==event.target.files[0].type){ \r\n // console.log(`Image size before compressed: ${event.target.files[0].size} bytes.`);\r\n // alert(`Image size before compressed: ${event.target.files[0].size} bytes.`);\r\n this.compressImage.compress(event.target.files[0])\r\n .pipe(take(1))\r\n .subscribe(compressedImage => {\r\n\r\n \r\n // console.log(`Image size after compressed: ${compressedImage.size} bytes.`);\r\n // alert(`Image size after compressed: ${compressedImage.size} bytes.`);\r\n\r\n\r\n\r\n const formData = new FormData();\r\n formData.append('file', compressedImage);//Modified by Anju for OCR Changes\r\n formData.append('docName', docName);\r\n formData.append('source', 'B2C');\r\n formData.append('stage', 'QUOTE');\r\n formData.append('quoteType', 'std');\r\n formData.append('schemeCode', this.SchemeCode);\r\n formData.append('docProperty', this.docProperty);//Added by Anju for OCR Changes\r\n \r\n // Array.from(files).forEach(f => formData.append('file', f))\r\n\r\n // this.updateDocTemp(formData,FiledName);\r\n\r\n this.motorQuoteService.uploadDocuments(formData).subscribe(res => {\r\n let updateMemResponse = res;\r\n this.document_data = updateMemResponse.Document_data.Document_data;\r\n\r\n if (updateMemResponse.res_code == 1) {\r\n\r\n // this.showLoader.reg_card_front = false;\r\n // this.showLoader.reg_card_back = false;\r\n // this.showLoader.emirates_Id_front = false;\r\n // this.showLoader.emirates_Id_back = false;\r\n // this.showLoader.driving_Lic_front = false;\r\n // this.showLoader.driving_Lic_back = false;\r\n\r\n\r\n let fileType = updateMemResponse.File.split(\".\");\r\n fileType = fileType[fileType.length - 1];\r\n fileType = fileType == \"pdf\" ? \"PDF\" : \"IMG\";\r\n // alert(\"filetype: \"+ fileType)\r\n let formArrayValue: any = this.docUploadForm.value;\r\n\r\n formArrayValue[FiledName] = updateMemResponse.File;\r\n formArrayValue[FiledName + \"FilePath\"] = updateMemResponse.FileDir;\r\n let tempDocumentArray = {\r\n file_name: FiledName,\r\n file_dir: updateMemResponse.FileDir,\r\n docName: updateMemResponse.File,\r\n }\r\n\r\n if (fileType == \"pdf\") {\r\n formArrayValue[FiledName + \"FileType\"] = \"PDF\";\r\n } else {\r\n formArrayValue[FiledName + \"FileType\"] = \"IMG\";\r\n }\r\n \r\n // console.log(FiledName)\r\n if (FiledName == 'reg_Card_Front') {\r\n // alert(1)\r\n this.hideImages.reg_card_front = true;\r\n \r\n this.docUploadForm.get('reg_Card_FrontFilePath').setValue(updateMemResponse.FileDir);\r\n this.docUploadForm.get('reg_Card_Front').setValue(updateMemResponse.File);\r\n this.docUploadForm.get('reg_Card_FrontFileType').setValue(fileType);\r\n this.tempDocArray[0] = tempDocumentArray;\r\n this.showLoader.reg_card_front = false;\r\n this.checkreg_Card_Front_image=true;\r\n document.getElementById('myElementID').click();\r\n \r\n }\r\n if (FiledName == 'reg_Card_Back') {\r\n this.hideImages.reg_card_back = true;\r\n this.docUploadForm.get('reg_Card_BackFilePath').setValue(updateMemResponse.FileDir);\r\n this.docUploadForm.get('reg_Card_BackFileType').setValue(fileType);\r\n this.tempDocArray[1] = tempDocumentArray;\r\n this.showLoader.reg_card_back = false;\r\n this.checkreg_Card_Back_image=true;\r\n document.getElementById('myElementID').click();\r\n } \r\n if (FiledName == 'emirated_ID_Front') {\r\n this.hideImages.emirates_Id_front = true;\r\n \r\n this.docUploadForm.get('emirated_ID_FrontFilePath').setValue(updateMemResponse.FileDir);\r\n this.docUploadForm.get('emirated_ID_FrontFileType').setValue(fileType);\r\n this.tempDocArray[2] = tempDocumentArray;\r\n this.showLoader.emirates_Id_front = false;\r\n }\r\n if (FiledName == 'emirated_ID_Back') {\r\n this.hideImages.emirates_Id_back = true;\r\n this.docUploadForm.get('emirated_ID_BackFilePath').setValue(updateMemResponse.FileDir);\r\n this.docUploadForm.get('emirated_ID_BackFileType').setValue(fileType);\r\n this.tempDocArray[3] = tempDocumentArray;\r\n this.showLoader.emirates_Id_back = false;\r\n \r\n }\r\n if (FiledName == 'driving_Lic_Front') {\r\n this.hideImages.driving_Lic_front = true;\r\n \r\n // let dateDob: string = this.document_data.Data['Date of Birth'];\r\n // dateDob = dateDob.replace(/-/gi, \"/\");\r\n // this.motorOcrForm.get('date_of_birth').setValue(dateDob);\r\n\r\n // this.motorOcrForm.get('insured_name').setValue(this.document_data.Data.Name);\r\n // this.motorOcrForm.get('drive_Lic_no').setValue(this.document_data.Data['License No']);\r\n this.docUploadForm.get('driving_Lic_FrontFilePath').setValue(updateMemResponse.FileDir);\r\n this.docUploadForm.get('driving_Lic_FrontFileType').setValue(fileType);\r\n this.tempDocArray[4] = tempDocumentArray;\r\n this.showLoader.driving_Lic_front = false;\r\n this.checkdriving_Lic_Front_image=true;\r\n document.getElementById('myElementID').click();\r\n }\r\n if (FiledName == 'driving_Lic_Back') {\r\n this.hideImages.driving_Lic_back = true;\r\n this.docUploadForm.get('driving_Lic_BackFilePath').setValue(updateMemResponse.FileDir);\r\n this.docUploadForm.get('driving_Lic_BackFileType').setValue(fileType);\r\n this.tempDocArray[5] = tempDocumentArray;\r\n this.showLoader.driving_Lic_back = false;\r\n this.checkdriving_Lic_Back_image=true;\r\n document.getElementById('myElementID').click();\r\n }\r\n\r\n \r\nconsole.log(FiledName)\r\n formArrayValue[\"docRegCardFront\"] = \"\";\r\n formArrayValue['docRegCardBack'] = \"\";\r\n formArrayValue[\"docEmiratedIdFront\"] = \"\";\r\n formArrayValue['docEmiratedIdBack'] = \"\";\r\n formArrayValue[\"docDrivingLicFront\"] = \"\";\r\n formArrayValue[\"docDrivingLicBack\"] = \"\";\r\n\r\n if (this.document_data.Errocode == 106) {\r\n // alert(1)\r\n if (FiledName == 'reg_Card_Front') {\r\n // alert(1)\r\n this.hideImages.reg_card_front = false;\r\n this.docUploadForm.get('reg_Card_FrontFilePath').setValue('');\r\n }\r\n if (FiledName == 'reg_Card_Back') {\r\n this.hideImages.reg_card_back = false;\r\n this.docUploadForm.get('reg_Card_BackFilePath').setValue('');\r\n }\r\n if (FiledName == 'emirated_ID_Front') {\r\n this.hideImages.emirates_Id_front = false;\r\n this.docUploadForm.get('emirated_ID_FrontFilePath').setValue('');\r\n }\r\n if (FiledName == 'emirated_ID_Back') {\r\n this.hideImages.emirates_Id_back = false;\r\n this.docUploadForm.get('emirated_ID_BackFilePath').setValue('');\r\n }\r\n if (FiledName == 'driving_Lic_Front') {\r\n this.hideImages.driving_Lic_front = false;\r\n this.docUploadForm.get('driving_Lic_FrontFilePath').setValue('');\r\n }\r\n if (FiledName == 'driving_Lic_Back') {\r\n // alert(111)\r\n this.hideImages.driving_Lic_back = false;\r\n this.docUploadForm.get('driving_Lic_BackFilePath').setValue('');\r\n }\r\n \r\n Swal.fire(\"Invalid document type selected or the document resolution is very low to read the data.\",\r\n \"Please upload another clean copy and try. Sorry for the inconvenience.\", \"error\");\r\n return false;\r\n }\r\n\r\n if (this.document_data.DocumentType == 'Emirates-Id' && this.document_data.DocumentSubType == 'Front') {\r\n\r\n this.getEmiratesIdData(1, this.document_data);\r\n }\r\n else if (this.document_data.DocumentType == 'Emirates-Id' && this.document_data.DocumentSubType == 'Back') {\r\n\r\n this.getEmiratesIdData(2, this.document_data);\r\n }\r\n else if (this.document_data.DocumentType == 'Driving License' && this.document_data.DocumentSubType == 'Front') {\r\n\r\n this.getDrivingLicData(1, this.document_data);\r\n }\r\n else if (this.document_data.DocumentType == 'Driving License' && this.document_data.DocumentSubType == 'Back') {\r\n\r\n this.getDrivingLicData(2, this.document_data);\r\n }\r\n else if (this.document_data.DocumentType == 'Vehicle License' && this.document_data.DocumentSubType == 'Back') {\r\n\r\n // this.insuredDetailForm.get('rg_vhcl_make').setValue('');\r\n // this.insuredDetailForm.get('rg_vhcl_model').setValue('');\r\n // this.insuredDetailForm.get('adtnl_detail_trim').setValue('');\r\n // this.insuredDetailForm.get('adtnl_detail_bodyType').setValue('');\r\n\r\n this.vehicleData = updateMemResponse.vechile_data.VehicleDetails;\r\n \r\n this.getRegCardData(1, this.document_data);\r\n }\r\n else if (this.document_data.DocumentType == 'Vehicle License' && this.document_data.DocumentSubType == 'Front') {\r\n\r\n this.getRegCardData(2, this.document_data);\r\n }\r\n\r\n else if (this.document_data.DocumentType == 'Vehicle License' && this.document_data.DocumentSubType == 'Both') {\r\n\r\n this.vehicleData = updateMemResponse.vechile_data.VehicleDetails;\r\n this.getRegCardData(1, this.document_data);\r\n this.getRegCardData(2, this.document_data);\r\n }\r\n\r\n else if (this.document_data.DocumentType == 'Driving License' && this.document_data.DocumentSubType == 'Both') {\r\n\r\n this.getDrivingLicData(1, this.document_data);\r\n this.getDrivingLicData(2, this.document_data);\r\n }\r\n\r\n else if (this.document_data.DocumentType == 'Emirates-Id' && this.document_data.DocumentSubType == 'Both') {\r\n \r\n this.getEmiratesIdData(1, this.document_data);\r\n this.getEmiratesIdData(2, this.document_data);\r\n }\r\n\r\n else if(this.document_data.DocumentType == 'Other-Document'){\r\n this.vehicleData = updateMemResponse.vechile_data.VehicleDetails;\r\n this.getRegCardData(1, this.document_data);\r\n }\r\n\r\n }\r\n \r\n if (updateMemResponse.response_code == 5) {\r\n this.showLoader.reg_card_front = false;\r\n this.showLoader.reg_card_back = false;\r\n this.showLoader.emirates_Id_front = false;\r\n this.showLoader.emirates_Id_back = false;\r\n this.showLoader.driving_Lic_front = false;\r\n this.showLoader.driving_Lic_back = false;\r\n Swal.fire(\"Please select valid file format.\", \"only .pdf, .jpg, .png and .jpeg file formats allowed.\", 'error');\r\n }\r\n\r\n if (updateMemResponse.response_code == 6) {\r\n this.showLoader.reg_card_front = false;\r\n this.showLoader.reg_card_back = false;\r\n this.showLoader.emirates_Id_front = false;\r\n this.showLoader.emirates_Id_back = false;\r\n this.showLoader.driving_Lic_front = false;\r\n this.showLoader.driving_Lic_back = false;\r\n Swal.fire(updateMemResponse.response_status);\r\n }\r\n\r\n })\r\n})\r\n}\r\nelse{\r\n const formData = new FormData();\r\n formData.append('file', event.target.files[0]);\r\n formData.append('docName', docName);\r\n formData.append('source', 'B2C');\r\n formData.append('stage', 'QUOTE');\r\n formData.append('quoteType', 'std');\r\n formData.append('schemeCode', this.SchemeCode);\r\n formData.append('docProperty', this.docProperty);//Added by Anju for OCR Changes\r\n this.motorQuoteService.uploadDocuments(formData).subscribe(res => {\r\n let updateMemResponse = res;\r\n this.document_data = updateMemResponse.Document_data.Document_data;//Added by Anju for OCR Changes\r\n\r\n if (updateMemResponse.res_code == 1) {\r\n\r\n // this.showLoader.reg_card_front = false;\r\n // this.showLoader.reg_card_back = false;\r\n // this.showLoader.emirates_Id_front = false;\r\n // this.showLoader.emirates_Id_back = false;\r\n // this.showLoader.driving_Lic_front = false;\r\n // this.showLoader.driving_Lic_back = false;\r\n\r\n\r\n let fileType = updateMemResponse.File.split(\".\");\r\n fileType = fileType[fileType.length - 1];\r\n fileType = fileType == \"pdf\" ? \"PDF\" : \"IMG\";\r\n // alert(\"filetype: \"+ fileType)\r\n let formArrayValue: any = this.docUploadForm.value;\r\n\r\n formArrayValue[FiledName] = updateMemResponse.File;\r\n formArrayValue[FiledName + \"FilePath\"] = updateMemResponse.FileDir;\r\n let tempDocumentArray = {\r\n file_name: FiledName,\r\n file_dir: updateMemResponse.FileDir,\r\n docName: updateMemResponse.File,\r\n }\r\n\r\n if (fileType == \"pdf\") {\r\n formArrayValue[FiledName + \"FileType\"] = \"PDF\";\r\n } else {\r\n formArrayValue[FiledName + \"FileType\"] = \"IMG\";\r\n }\r\n \r\n \r\n if (FiledName == 'reg_Card_Front') {\r\n this.hideImages.reg_card_front = true;\r\n // console.log(updateMemResponse.FileDir)\r\n // console.log(updateMemResponse.File)\r\n // console.log(fileType)\r\n this.docUploadForm.get('reg_Card_FrontFilePath').setValue(updateMemResponse.FileDir);\r\n this.docUploadForm.get('reg_Card_Front').setValue(updateMemResponse.File);\r\n this.docUploadForm.get('reg_Card_FrontFileType').setValue(fileType);\r\n this.tempDocArray[0] = tempDocumentArray;\r\n this.checkreg_Card_Front_image=true;\r\n document.getElementById('myElementID').click();\r\n }\r\n if (FiledName == 'reg_Card_Back') {\r\n this.hideImages.reg_card_back = true;\r\n this.docUploadForm.get('reg_Card_BackFilePath').setValue(updateMemResponse.FileDir);\r\n this.docUploadForm.get('reg_Card_BackFileType').setValue(fileType);\r\n this.tempDocArray[1] = tempDocumentArray;\r\n this.checkreg_Card_Back_image=true;\r\n document.getElementById('myElementID').click();\r\n } \r\n if (FiledName == 'emirated_ID_Front') {\r\n this.hideImages.emirates_Id_front = true;\r\n \r\n this.docUploadForm.get('emirated_ID_FrontFilePath').setValue(updateMemResponse.FileDir);\r\n this.docUploadForm.get('emirated_ID_FrontFileType').setValue(fileType);\r\n this.tempDocArray[2] = tempDocumentArray;\r\n }\r\n if (FiledName == 'emirated_ID_Back') {\r\n this.hideImages.emirates_Id_back = true;\r\n this.docUploadForm.get('emirated_ID_BackFilePath').setValue(updateMemResponse.FileDir);\r\n this.docUploadForm.get('emirated_ID_BackFileType').setValue(fileType);\r\n this.tempDocArray[3] = tempDocumentArray;\r\n }\r\n if (FiledName == 'driving_Lic_Front') {\r\n this.hideImages.driving_Lic_front = true;\r\n \r\n let dateDob: string = this.document_data.Data['Date of Birth'];\r\n dateDob = dateDob.replace(/-/gi, \"/\");\r\n // this.motorOcrForm.get('date_of_birth').setValue(dateDob);\r\n\r\n // this.motorOcrForm.get('insured_name').setValue(this.document_data.Data.Name);\r\n // this.motorOcrForm.get('drive_Lic_no').setValue(this.document_data.Data['License No']);\r\n this.docUploadForm.get('driving_Lic_FrontFilePath').setValue(updateMemResponse.FileDir);\r\n this.docUploadForm.get('driving_Lic_FrontFileType').setValue(fileType);\r\n this.tempDocArray[4] = tempDocumentArray;\r\n this.checkdriving_Lic_Front_image=true;\r\n document.getElementById('myElementID').click();\r\n }\r\n if (FiledName == 'driving_Lic_Back') {\r\n this.hideImages.driving_Lic_back = true;\r\n this.docUploadForm.get('driving_Lic_BackFilePath').setValue(updateMemResponse.FileDir);\r\n this.docUploadForm.get('driving_Lic_BackFileType').setValue(fileType);\r\n this.tempDocArray[5] = tempDocumentArray;\r\n this.checkdriving_Lic_Back_image=true;\r\n document.getElementById('myElementID').click();\r\n }\r\n\r\n \r\n\r\n formArrayValue[\"docRegCardFront\"] = \"\";\r\n formArrayValue['docRegCardBack'] = \"\";\r\n formArrayValue[\"docEmiratedIdFront\"] = \"\";\r\n formArrayValue['docEmiratedIdBack'] = \"\";\r\n formArrayValue[\"docDrivingLicFront\"] = \"\";\r\n formArrayValue[\"docDrivingLicBack\"] = \"\";\r\n\r\n if (this.document_data.Errocode == 106) {\r\n if (FiledName == 'reg_Card_Front') {\r\n this.hideImages.reg_card_front = false;\r\n this.docUploadForm.get('reg_Card_FrontFilePath').setValue('');\r\n }\r\n if (FiledName == 'reg_Card_Back') {\r\n this.hideImages.reg_card_back = false;\r\n this.docUploadForm.get('reg_Card_BackFilePath').setValue('');\r\n }\r\n if (FiledName == 'emirated_ID_Front') {\r\n this.hideImages.emirates_Id_front = false;\r\n this.docUploadForm.get('emirated_ID_FrontFilePath').setValue('');\r\n }\r\n if (FiledName == 'emirated_ID_Back') {\r\n this.hideImages.emirates_Id_back = false;\r\n this.docUploadForm.get('emirated_ID_BackFilePath').setValue('');\r\n }\r\n if (FiledName == 'driving_Lic_Front') {\r\n this.hideImages.driving_Lic_front = false;\r\n this.docUploadForm.get('driving_Lic_FrontFilePath').setValue('');\r\n }\r\n if (FiledName == 'driving_Lic_back') {\r\n this.hideImages.driving_Lic_back = false;\r\n this.docUploadForm.get('driving_Lic_BackFilePath').setValue('');\r\n }\r\n \r\n Swal.fire(\"Invalid document type selected or the document resolution is very low to read the data.\",\r\n \"Please upload another clean copy and try. Sorry for the inconvenience.\", \"error\");\r\n return false;\r\n }\r\n\r\n if (this.document_data.DocumentType == 'Emirates-Id' && this.document_data.DocumentSubType == 'Front') {\r\n // console.log('sdfhsfsjffsfs');\r\n this.getEmiratesIdData(1, this.document_data);\r\n }\r\n else if (this.document_data.DocumentType == 'Emirates-Id' && this.document_data.DocumentSubType == 'Back') {\r\n\r\n this.getEmiratesIdData(2, this.document_data);\r\n }\r\n else if (this.document_data.DocumentType == 'Driving License' && this.document_data.DocumentSubType == 'Front') {\r\n\r\n this.getDrivingLicData(1, this.document_data);\r\n }\r\n else if (this.document_data.DocumentType == 'Driving License' && this.document_data.DocumentSubType == 'Back') {\r\n\r\n this.getDrivingLicData(2, this.document_data);\r\n }\r\n else if (this.document_data.DocumentType == 'Vehicle License' && this.document_data.DocumentSubType == 'Back') {\r\n\r\n // this.insuredDetailForm.get('rg_vhcl_make').setValue('');\r\n // this.insuredDetailForm.get('rg_vhcl_model').setValue('');\r\n // this.insuredDetailForm.get('adtnl_detail_trim').setValue('');\r\n // this.insuredDetailForm.get('adtnl_detail_bodyType').setValue('');\r\n\r\n this.vehicleData = updateMemResponse.vechile_data.VehicleDetails;\r\n \r\n this.getRegCardData(1, this.document_data);\r\n }\r\n else if (this.document_data.DocumentType == 'Vehicle License' && this.document_data.DocumentSubType == 'Front') {\r\n\r\n this.getRegCardData(2, this.document_data);\r\n }\r\n\r\n else if (this.document_data.DocumentType == 'Vehicle License' && this.document_data.DocumentSubType == 'Both') {\r\n\r\n this.vehicleData = updateMemResponse.vechile_data.VehicleDetails;\r\n this.getRegCardData(1, this.document_data);\r\n this.getRegCardData(2, this.document_data);\r\n }\r\n\r\n else if (this.document_data.DocumentType == 'Driving License' && this.document_data.DocumentSubType == 'Both') {\r\n\r\n this.getDrivingLicData(1, this.document_data);\r\n this.getDrivingLicData(2, this.document_data);\r\n }\r\n\r\n else if (this.document_data.DocumentType == 'Emirates-Id' && this.document_data.DocumentSubType == 'Both') {\r\n \r\n this.getEmiratesIdData(1, this.document_data);\r\n this.getEmiratesIdData(2, this.document_data);\r\n }\r\n\r\n else if(this.document_data.DocumentType == 'Other-Document'){\r\n this.vehicleData = updateMemResponse.vechile_data.VehicleDetails;\r\n this.getRegCardData(1, this.document_data);\r\n }\r\n\r\n }\r\n \r\n if (updateMemResponse.response_code == 5) {\r\n this.showLoader.reg_card_front = false;\r\n this.showLoader.reg_card_back = false;\r\n this.showLoader.emirates_Id_front = false;\r\n this.showLoader.emirates_Id_back = false;\r\n this.showLoader.driving_Lic_front = false;\r\n this.showLoader.driving_Lic_back = false;\r\n Swal.fire(\"Please select valid file format.\", \"only .pdf, .jpg, .png and .jpeg file formats allowed.\", 'error');\r\n }\r\n\r\n if (updateMemResponse.response_code == 6) {\r\n this.showLoader.reg_card_front = false;\r\n this.showLoader.reg_card_back = false;\r\n this.showLoader.emirates_Id_front = false;\r\n this.showLoader.emirates_Id_back = false;\r\n this.showLoader.driving_Lic_front = false;\r\n this.showLoader.driving_Lic_back = false;\r\n Swal.fire(updateMemResponse.response_status);\r\n }\r\n\r\n })\r\n}\r\n\r\n\r\n\r\n}\r\n\r\nshowTempFile(tempFile,FiledName){\r\n\r\n // console.log(tempFile);\r\n // console.log(FiledName);\r\n // console.log(this.docNameType);\r\n\r\n\r\n var reader = new FileReader();\r\n\t\treader.readAsDataURL(tempFile);\r\n\t\tvar mimeType = tempFile.type;\r\n let fileType = '';\r\n if (mimeType.match(/image\\/*/) == null) {\r\n fileType = \"PDF\";\r\n }else{\r\n\r\n fileType = \"IMG\";\r\n\r\n }\r\n\t\treader.onload = (_event) => {\r\n\t\t\r\n if (this.docNameType == 'reg_Card_Front') {\r\n // alert(1)\r\n this.showLoader.reg_card_front = false;\r\n }\r\n \r\n if (this.docNameType == 'reg_Card_Back') {\r\n this.showLoader.reg_card_back = false;\r\n }\r\n \r\n if (this.docNameType == 'emirated_ID_Front') {\r\n this.showLoader.emirates_Id_front = false;\r\n }\r\n \r\n if (this.docNameType == 'emirated_ID_Back') {\r\n this.showLoader.emirates_Id_back = false;\r\n }\r\n \r\n if (this.docNameType == 'driving_Lic_Front') {\r\n this.showLoader.driving_Lic_front = false;\r\n }\r\n \r\n if (this.docNameType == 'driving_Lic_Back') {\r\n this.showLoader.driving_Lic_back = false;\r\n }\r\n // this.docUploadForm.get('reg_Card_FrontFilePath').setValue(reader.result);\r\n\t\t// console.log(FiledName)\r\n\r\n if (FiledName == 'reg_Card_Front') {\r\n // console.log(reader)\r\n // this.hideImages.reg_card_front = true;\r\n this.docUploadForm.get('reg_Card_FrontFilePath').setValue(reader.result);\r\n // this.docUploadForm.get('reg_Card_Front').setValue(updateMemResponse.File);\r\n this.docUploadForm.get('reg_Card_FrontFileType').setValue(fileType);\r\n // this.tempDocArray[0] = tempDocumentArray;\r\n }\r\n if (FiledName == 'reg_Card_Back') {\r\n // this.hideImages.reg_card_back = true;\r\n this.docUploadForm.get('reg_Card_BackFilePath').setValue(reader.result);\r\n this.docUploadForm.get('reg_Card_BackFileType').setValue(fileType);\r\n // this.tempDocArray[1] = tempDocumentArray;\r\n } \r\n if (FiledName == 'emirated_ID_Front') {\r\n // this.hideImages.emirates_Id_front = true;\r\n \r\n this.docUploadForm.get('emirated_ID_FrontFilePath').setValue(reader.result);\r\n this.docUploadForm.get('emirated_ID_FrontFileType').setValue(fileType);\r\n // this.tempDocArray[2] = tempDocumentArray;\r\n }\r\n if (FiledName == 'emirated_ID_Back') {\r\n this.hideImages.emirates_Id_back = true;\r\n this.docUploadForm.get('emirated_ID_BackFilePath').setValue(reader.result);\r\n this.docUploadForm.get('emirated_ID_BackFileType').setValue(fileType);\r\n // this.tempDocArray[3] = tempDocumentArray;\r\n }\r\n if (FiledName == 'driving_Lic_Front') {\r\n // this.hideImages.driving_Lic_front = true;\r\n \r\n this.docUploadForm.get('driving_Lic_FrontFilePath').setValue(reader.result);\r\n this.docUploadForm.get('driving_Lic_FrontFileType').setValue(fileType);\r\n // this.tempDocArray[4] = tempDocumentArray;\r\n }\r\n if (FiledName == 'driving_Lic_Back') {\r\n // this.hideImages.driving_Lic_back = true;\r\n this.docUploadForm.get('driving_Lic_BackFilePath').setValue(reader.result);\r\n this.docUploadForm.get('driving_Lic_BackFileType').setValue(fileType);\r\n // this.tempDocArray[5] = tempDocumentArray;\r\n }\r\n \r\n }\r\n\r\n}\r\n\r\nupdateDocTemp(formData,FiledName){\r\n this.motorQuoteService.uploadDocumentsTemp(formData).subscribe(res =>{\r\n let formArrayValue: any = this.docUploadForm.value;\r\n \r\n let fileType = res.image_url.split(\".\");\r\n fileType = fileType[fileType.length - 1];\r\n fileType = fileType == \"pdf\" ? \"PDF\" : \"IMG\";\r\n\r\n if (fileType == \"pdf\") {\r\n formArrayValue[FiledName + \"FileType\"] = \"PDF\";\r\n } else {\r\n formArrayValue[FiledName + \"FileType\"] = \"IMG\";\r\n }\r\n \r\n if (FiledName == 'reg_Card_Front') {\r\n this.hideImages.reg_card_front = true;\r\n this.showLoader.reg_card_front = false;\r\n\r\n this.docUploadForm.get('reg_Card_FrontFilePath').setValue(res.image_url);\r\n }\r\n if (FiledName == 'reg_Card_Back') {\r\n \r\n this.docUploadForm.get('reg_Card_BackFilePath').setValue(res.image_url);\r\n \r\n } \r\n if (FiledName == 'emirated_ID_Front') {\r\n this.hideImages.emirates_Id_front = true;\r\n this.showLoader.emirates_Id_front = false;\r\n this.docUploadForm.get('emirated_ID_FrontFilePath').setValue(res.image_url);\r\n // console.log(\"1\");\r\n \r\n }\r\n if (FiledName == 'emirated_ID_Back') {\r\n \r\n this.docUploadForm.get('emirated_ID_BackFilePath').setValue(res.image_url);\r\n \r\n }\r\n if (FiledName == 'driving_Lic_Front') {\r\n \r\n this.docUploadForm.get('driving_Lic_FrontFilePath').setValue(res.image_url);\r\n }\r\n if (FiledName == 'driving_Lic_Back') {\r\n \r\n this.docUploadForm.get('driving_Lic_BackFilePath').setValue(res.image_url);\r\n }\r\n \r\n });\r\n}\r\n\r\n\r\nshowMultipleDoc(fileName, documentType) {\r\n this.multipleImg = fileName;\r\n this.showAllDocImg = 1;\r\n this.ImagedocumentType = documentType;\r\n}\r\nmodalboxclose() {\r\n this.showAllDocImg = 0;\r\n}\r\n\r\npublic deductCnt = 0 ;\r\ngetDeductibleValue(){\r\n\r\n if( this.insuredDetailForm.value.adtnl_detail_insType.CoreProdCode == '4001_1'){\r\n \r\n let deductibleArray = {\r\n lob_code : 'MT',\r\n policy_type : this.insuredDetailForm.value.adtnl_detail_insType,\r\n model_year : this.insuredDetailForm.value.rg_model_year,\r\n vechile_make : this.insuredDetailForm.value.rg_vhcl_make,\r\n vechile_model : this.insuredDetailForm.value.rg_vhcl_model,\r\n body_type : this.insuredDetailForm.value.adtnl_detail_bodyType,\r\n number_of_seat : this.insuredDetailForm.value.rg_num_passenger,\r\n sum_insured : this.insuredDetailForm.value.adtnl_detail_vhclValue,\r\n brand_new : this.insuredDetailForm.value.adtnl_detail_brandNew,\r\n scheme_code : this.SchemeCode\r\n }\r\n\r\n this.motorQuoteService.getDeductible(deductibleArray).subscribe(res =>{\r\n \r\n if(res.getDeductibleData[0].ExcessAmt==null && this.deductCnt<=4){\r\n\r\n setTimeout(()=>{ //<<<---using ()=> syntax\r\n this.getDeductibleValue();\r\n }, 3000);\r\n this.deductCnt++;\r\n \r\n }\r\n this.insuredDetailForm.get('deductible').setValue(res.getDeductibleData[0].ExcessAmt);\r\n \r\n });\r\n\r\n }\r\n}\r\n\r\ninsuredVechOwnedBy(){\r\n\r\n if (this.insuredDetailForm.value.adtnl_detail_vhclOwnBy.viewValue == 'Corporate') {\r\n\r\n this.insuredDetailForm.controls['industry_type'].setValidators([Validators.required]);\r\n this.insuredDetailForm.controls['vat_register'].setValidators([Validators.required]);\r\n this.insuredDetailForm.controls['e_eid'].setValidators(null);\r\n this.insuredDetailForm.controls['d_dob'].setValidators(null);\r\n this.insuredDetailForm.controls['e_nationality'].setValidators(null);\r\n this.insuredDetailForm.controls['d_driv_lic_num'].setValidators(null);\r\n this.insuredDetailForm.controls['d_place_issue'].setValidators(null);\r\n this.insuredDetailForm.controls['d_issue_date'].setValidators(null);\r\n this.insuredDetailForm.controls['d_expiry_date'].setValidators(null);\r\n this.insuredDetailForm.controls['d_TC_number'].setValidators(null);\r\n this.insuredDetailForm.controls['e_gender'].setValidators(null);\r\n this.insuredDetailForm.controls['trade_lic_num'].setValidators([Validators.required]);\r\n this.insuredDetailForm.controls['vat_register'].valueChanges.subscribe(obj => {\r\n \r\n if (obj == 'Yes') {\r\n \r\n this.insuredDetailForm.controls['TRN_num'].setValidators([Validators.required]);\r\n }\r\n else {\r\n \r\n this.insuredDetailForm.controls['TRN_num'].setValidators(null);\r\n \r\n }\r\n this.insuredDetailForm.controls['TRN_num'].updateValueAndValidity();\r\n \r\n });\r\n\r\n }\r\n else {\r\n \r\n this.insuredDetailForm.controls['industry_type'].setValidators(null);\r\n this.insuredDetailForm.controls['vat_register'].setValidators(null);\r\n this.insuredDetailForm.controls['d_dob'].setValidators([Validators.required]);\r\n this.insuredDetailForm.controls['e_nationality'].setValidators([Validators.required]);\r\n this.insuredDetailForm.controls['e_eid'].setValidators([Validators.required]);\r\n this.insuredDetailForm.controls['d_driv_lic_num'].setValidators([Validators.required]);\r\n this.insuredDetailForm.controls['d_place_issue'].setValidators([Validators.required]);\r\n this.insuredDetailForm.controls['d_issue_date'].setValidators([Validators.required]);\r\n this.insuredDetailForm.controls['d_expiry_date'].setValidators([Validators.required]);\r\n this.insuredDetailForm.controls['d_TC_number'].setValidators([Validators.required]);\r\n this.insuredDetailForm.controls['e_gender'].setValidators([Validators.required]);\r\n this.insuredDetailForm.controls['trade_lic_num'].setValidators(null);\r\n }\r\n\r\n this.insuredDetailForm.controls['industry_type'].updateValueAndValidity();\r\n this.insuredDetailForm.controls['vat_register'].updateValueAndValidity();\r\n this.insuredDetailForm.controls['d_dob'].updateValueAndValidity();\r\n this.insuredDetailForm.controls['e_nationality'].updateValueAndValidity(); \r\n this.insuredDetailForm.controls['e_eid'].updateValueAndValidity();\r\n this.insuredDetailForm.controls['d_driv_lic_num'].updateValueAndValidity();\r\n this.insuredDetailForm.controls['d_place_issue'].updateValueAndValidity();\r\n this.insuredDetailForm.controls['d_issue_date'].updateValueAndValidity();\r\n this.insuredDetailForm.controls['d_expiry_date'].updateValueAndValidity();\r\n this.insuredDetailForm.controls['d_TC_number'].updateValueAndValidity();\r\n this.insuredDetailForm.controls['e_gender'].updateValueAndValidity();\r\n this.insuredDetailForm.controls['trade_lic_num'].updateValueAndValidity();\r\n}\r\n\r\n //------------------------------ GET VEHICLE MAKE DATA ---------------------------------//\r\n getVhclMakeData(vhcleMake, year, type) {\r\n // alert(1)\r\n this.showLoader.vhclMake = true;\r\n \r\n this.motorQuoteService.getVhclMake(this.insuredDetailForm.value.adtnl_detail_insType.viewValue, this.insuredDetailForm.value.adtnl_detail_vhclOwnBy.viewValue, '0', this.language_code, this.country, year, this.SchemeCode).subscribe(res => {\r\n this.vhclMakeArr = res.vechileMakeValuesData;\r\n let makeVal;\r\n this.showLoader.vhclMake = false;\r\n if ((type == 2 || type == 1) && typeof (this.vhclMakeArr) != undefined && typeof (this.vhclMakeArr) != \"undefined\") {\r\n //VEHICLE Make ----- filter\r\n \r\n\r\n // console.log(\"-------------------------\");\r\n // console.log(vhcleMake);\r\n this.vhclMakeArr.forEach((item, index) => {\r\n if (item.VehicleMakeName == vhcleMake) {\r\n makeVal = item;\r\n // console.log(makeVal);\r\n }\r\n });\r\n this.insuredDetailForm.get('rg_vhcl_make').setValue(makeVal);\r\n // this.vehicleData.General.Make = makeVal.VehicleMakeId;\r\n if (makeVal != null && makeVal != undefined) {\r\n if (type == 2)\r\n this.getVhclModel(makeVal.VehicleMakeId, 2, year);\r\n else\r\n this.getVhclModel(makeVal.VehicleMakeId, 1, year);\r\n }\r\n }\r\n\r\n if (type == 3 && typeof (this.vhclMakeArr) != undefined && typeof (this.vhclMakeArr) != \"undefined\") {\r\n //VEHICLE Make ----- filter\r\n let makeVal;\r\n this.vhclMakeArr.forEach((item, index) => {\r\n if (item.VehicleMakeName == vhcleMake) {\r\n makeVal = item;\r\n }\r\n });\r\n\r\n this.insuredDetailForm.get('rg_vhcl_make').setValue(makeVal);\r\n if (makeVal != null && makeVal != undefined) {\r\n this.chassis_No_Details.General.Make = makeVal.VehicleMakeId;\r\n this.getVhclModel(makeVal.VehicleMakeId, 3, year);\r\n }\r\n }\r\n\r\n if (res.response_code == 1) {\r\n // this.onVehiclAgeChange(year);\r\n this.filteredMakes.next(this.vhclMakeArr.slice());\r\n }\r\n this.showLoader.vhclMake = false;\r\n this.onVehiclAgeChange(this.insuredDetailForm.value.rg_model_year);\r\n });\r\n \r\n }\r\n\r\nonChangeTransactionType(transaction_type){\r\n\r\n if ( transaction_type == 'Renewal') {\r\n \r\n this.insuredDetailForm.controls['rg_plateCode'].setValidators([Validators.required]);\r\n this.insuredDetailForm.controls['rg_traffic_plate_num'].setValidators([Validators.required]);\r\n this.insuredDetailForm.controls['vhclColor'].setValidators([Validators.required]);\r\n\r\n }\r\n else {\r\n \r\n this.insuredDetailForm.controls['rg_plateCode'].setValidators(null);\r\n this.insuredDetailForm.controls['rg_traffic_plate_num'].setValidators(null);\r\n this.insuredDetailForm.controls['vhclColor'].setValidators(null);\r\n\r\n }\r\n \r\n this.insuredDetailForm.controls['rg_plateCode'].updateValueAndValidity();\r\n this.insuredDetailForm.controls['rg_traffic_plate_num'].updateValueAndValidity();\r\n this.insuredDetailForm.controls['vhclColor'].updateValueAndValidity();\r\n}\r\n\r\nonPrevPolChange(prevPolDate){\r\n\r\n if(this.toDay < prevPolDate && prevPolDate < new Date(new Date().setDate(new Date().getDate() + 13))){\r\n this.policyMinDate = new Date(Date.now());\r\n this.policyMaxDate = new Date(new Date(prevPolDate).setDate(prevPolDate.getDate() + 1));\r\n this.insuredDetailForm.get('polStartDate').setValue(this.policyMinDate);\r\n }else{\r\n this.policyMinDate = new Date(Date.now());\r\n this.policyMaxDate = new Date(new Date().setDate(new Date().getDate() + 13));\r\n this.insuredDetailForm.get('polStartDate').setValue(this.toDay);\r\n }\r\n}\r\n\r\ntermsAndConditions(frame, type) {\r\n this.type=type;\r\n frame.show();\r\n this.getTermsConditions();\r\n}\r\n\r\n\r\ngetRetrieveQuoteData() {\r\n\r\n if (this.retrieveQuoteForm.invalid) {\r\n this.validtnMsg = true;\r\n return false;\r\n }\r\n\r\n \r\n this.showLoader.retrieveQuote = true;\r\n this.motorQuoteService.getRetrieveQuote(this.retrieveQuoteForm.value.web_Quote_Num,'',this.retrieveQuoteForm.value.mob_Num,this.retrieveQuoteForm.value.email, 'BTCPORTAL','adv').subscribe(res => {\r\n\r\n if (res.response_code == 1) {\r\n \r\n if(res.quotationDetailsDataForCustomer[0].QuoteType!=\"OCR\"){\r\n localStorage.setItem(\"retriveOCR\",'NONOCR');\r\n localStorage.setItem(\"retriveOCRQuote\",this.retrieveQuoteForm.value.web_Quote_Num);\r\n localStorage.setItem(\"retriveOCRCode\",'');\r\n localStorage.setItem(\"retriveOCRmob_Num\",this.retrieveQuoteForm.value.mob_Num);\r\n localStorage.setItem(\"retriveOCRemail\",this.retrieveQuoteForm.value.email);\r\n this._route.navigate([\"/MT_Quote\"]);\r\n return false ;\r\n }\r\n\r\n\r\n // console.log(\"----------------------\");\r\n this.selected.setValue(0);\r\n this.webQuoteNumber = this.retrieveQuoteForm.value.web_Quote_Num;\r\n this.retrieveData = res.quotationDetailsDataForCustomer;\r\n let resData = this.retrieveData[0];\r\n this.quoteDetail = this.retrieveData[0];\r\n this.quoteDetail.plateCode = resData.PlateCode;\r\n this.vhcleValueFlag = true;\r\n this.quoteStatus = resData.StatusDesc;\r\n this.optionalBenefit = this.quoteDetail.SelectedBenefits;\r\n \r\n //IN CASE OF B2C - DOCUMENTS ARE NOT GETTING BECAUSE OF WE DON'T SAVE THEM BEFORE INSERT/UPDATE QUOTE\r\n this.getDataForEditQuoteDocs(this.retrieveQuoteForm.value.web_Quote_Num); \r\n \r\n \r\n this.insuredDetailForm.get('e_name').setValue(resData.InsuredName);\r\n this.insuredDetailForm.get('adtnl_detail_email').setValue(resData.InsuredEmail);\r\n this.insuredDetailForm.get('adtnl_detail_mobile').setValue(resData.InsuredMobile);\r\n this.insuredDetailForm.get('rg_chassis_num').setValue(resData.ChassisNumber);\r\n this.checkChassisValidation = true;\r\n this.insuredDetailForm.get('isChassisValidate').setValue('1');\r\n this.insuredDetailForm.get('adtnl_detail_gccSpecified').setValue(resData.HasGCCSpecification);\r\n this.insuredDetailForm.get('adtnl_detail_vhclModified').setValue(resData.IsModified);\r\n this.insuredDetailForm.get('e_eid').setValue(resData.EmiratesIdNumber);\r\n this.insuredDetailForm.get('rg_engin_num').setValue(resData.EngineNumber);\r\n this.insuredDetailForm.get('adtnl_detail_poBoxNum').setValue(resData.POBox);\r\n this.insuredDetailForm.get('rg_TC_num').setValue(resData.TrafficFileNo);\r\n this.insuredDetailForm.get('d_driv_lic_num').setValue(resData.LicenceNumber);\r\n console.log(this.dateConvert(resData.InsuredDOB));\r\n this.insuredDetailForm.get('d_dob').setValue(this.dateConvert(resData.InsuredDOB));\r\n //this.insuredDetailForm.get('d_dob').setValue(new Date(resData.InsuredDOB));// Commented by Anju for B2C Stabilization\r\n this.insuredDetailForm.get('adtnl_detail_vhclValue').setValue(resData.SumInsured);\r\n \r\n this.insuredDetailForm.get('rg_reg_date').setValue(this.dateConvert(resData.FirstRegistrationDate));\r\n this.insuredDetailForm.get('adtnl_detail_brandNew').setValue(resData.IsBrandNew);\r\n this.insuredDetailForm.get('rg_gvm').setValue(resData.VehGVM);\r\n this.insuredDetailForm.get('rg_policy_num').setValue(resData.PrvInsPolNo);\r\n this.insuredDetailForm.get('e_cardNumber').setValue(resData.NationalIdCardNo);\r\n\r\n // this.insuredDetailForm.get('e_arabic_name').setValue(resData.ArabicName); FOR NAME IN ARABIC\r\n this.insuredDetailForm.get('d_TC_number').setValue(resData.DLTCNo);\r\n this.insuredDetailForm.get('trade_lic_num').setValue(resData.TradeLicNumber);\r\n this.insuredDetailForm.get('TRN_num').setValue(resData.TaxRegNumber);\r\n \r\n if(resData.RegistrationNumber !== '' && resData.RegistrationNumber != null){\r\n this.insuredDetailForm.get('rg_traffic_plate_num').setValue(resData.RegistrationNumber);\r\n }\r\n\r\n // if(this.quoteStatus == 'REFERRED' && (this.businessSource == 'DIRECT' && this.partnerId == 1 && this.userType == 'POS' && this.userRole == 'TELEMARKETING')){\r\n // let mediumValue = resData.ValuationMedium;\r\n // let updatedValue = Math.round((mediumValue * (20/ 100)));\r\n // this.vehicleValueLimit.startLimit = Number(mediumValue) - Number(updatedValue);\r\n // this.vehicleValueLimit.endLimit = Number(mediumValue) + Number(updatedValue);\r\n\r\n // }else{\r\n // this.vehicleValueLimit.startLimit = resData.ValuationLow;\r\n // this.vehicleValueLimit.endLimit = resData.ValuationHigh;\r\n // }\r\n\r\n this.vehicleValueLimit.startLimit = resData.ValuationLow;\r\n this.vehicleValueLimit.endLimit = resData.ValuationHigh;\r\n this.vehicleValueLimit.isSet = true;\r\n\r\n\r\n if(resData.InsuranceExpiryDate == null || resData.InsuranceExpiryDate == '1900-01-01 00:00:00.000'){\r\n this.insuredDetailForm.get('rg_ins_exp').setValue(null);\r\n }else{\r\n this.insuredDetailForm.get('rg_ins_exp').setValue(new Date(resData.InsuranceExpiryDate));\r\n }\r\n \r\n if(resData.DrivingLicExpDate == null || resData.DrivingLicExpDate == '1900-01-01 00:00:00.000'){\r\n this.insuredDetailForm.get('d_expiry_date').setValue(null);\r\n }else{\r\n this.insuredDetailForm.get('d_expiry_date').setValue(new Date(resData.DrivingLicExpDate));\r\n }\r\n \r\n if(resData.DrivingLicIssueDate == null || resData.DrivingLicIssueDate == '1900-01-01 00:00:00.000'){\r\n this.insuredDetailForm.get('d_issue_date').setValue(null);\r\n }else{\r\n this.insuredDetailForm.get('d_issue_date').setValue(new Date(resData.DrivingLicIssueDate));\r\n }\r\n \r\n if(resData.NationalIdExpDate == null || resData.NationalIdExpDate == '1900-01-01 00:00:00.000'){\r\n this.insuredDetailForm.get('e_expiryDate').setValue(null);\r\n }else{\r\n this.insuredDetailForm.get('e_expiryDate').setValue(new Date(resData.NationalIdExpDate));\r\n }\r\n \r\n if(resData.RegistrationExpiryDate == null || resData.RegistrationExpiryDate == '1900-01-01 00:00:00.000'){\r\n this.insuredDetailForm.get('rg_expiry_date').setValue(null);\r\n }else{\r\n this.insuredDetailForm.get('rg_expiry_date').setValue(new Date(resData.RegistrationExpiryDate));\r\n }\r\n\r\n \r\n if(resData.InsuredType==\"Corporate\"){\r\n this.insuredDetailForm.get('vat_register').setValue(resData.IsTaxReg);\r\n }\r\n //Vehicle own by \r\n var indexOwnBy = this.insvehibys.findIndex(function (obj, k) {\r\n return obj.value === resData.InsuredType;\r\n });\r\n let ownByVal = this.insvehibys[indexOwnBy];\r\n this.insuredDetailForm.get('adtnl_detail_vhclOwnBy').setValue(ownByVal);\r\n\r\n //Policy Type\r\n var indexInsType = this.instypes.findIndex(function (obj, k) {\r\n return obj.viewValue.toLowerCase() === resData.PolicyType.toLowerCase();\r\n });\r\n let insVal = this.instypes[indexInsType];\r\n this.insuredDetailForm.get('adtnl_detail_insType').setValue(insVal);\r\n\r\n //Mobile Code\r\n var indexCode = this.codes.findIndex(function (obj, k) {\r\n return obj.viewValue === resData.MobileCode;\r\n });\r\n // let codeVal = this.codes[indexCode];\r\n // this.insuredDetailForm.get('adtnl_detail_mbCode').setValue(codeVal);\r\n\r\n //NCD\r\n var indexNCD = this.NCDData.findIndex(function (obj, k) {\r\n return obj.NCDDescription === resData.NCD;\r\n });\r\n let NCDVal = this.NCDData[indexNCD];\r\n this.insuredDetailForm.get('adtnl_detail_NCD').setValue(NCDVal);\r\n\r\n //VEHICLE YEAR\r\n let yearVal;\r\n this.vehimodelyrs.forEach((item, index) => {\r\n if (item.label == resData.VehicleModelYear) {\r\n yearVal = item;\r\n }\r\n });\r\n this.insuredDetailForm.get('rg_model_year').setValue(yearVal);\r\n\r\n //Business Type \r\n let businessTypeVal;\r\n if(resData.BusinessCategory != null && resData.BusinessCategory != ''){\r\n this.industryTypeArr.forEach((item, index) => {\r\n if (item.IndustryName.toLowerCase() == resData.BusinessCategory.toLowerCase()) {\r\n businessTypeVal = item;\r\n }\r\n });\r\n this.insuredDetailForm.get('industry_type').setValue(businessTypeVal);\r\n }\r\n\r\n // Transaction Type\r\n var transType;\r\n this.transactionTypeArray.forEach((item, index) => {\r\n if (item.label.toLowerCase() == resData.TransType.toLowerCase()) {\r\n transType = item;\r\n }\r\n });\r\n this.insuredDetailForm.get('transaction_type').setValue(transType);\r\n this.onChangeTransactionType(this.insuredDetailForm.value.transaction_type.label);\r\n\r\n this.quoteDetail.VehicleMake = resData.VehicleMake;\r\n this.quoteDetail.VehicleModel = resData.VehicleModel;\r\n this.quoteDetail.TrimCode = resData.TrimCode;\r\n this.quoteDetail.TrimName = resData.TrimName;\r\n this.quoteDetail.BodyType = resData.BodyType;\r\n this.retrieve_repair_type = resData.RepairType;\r\n this.quoteDetail.RepairType = resData.RepairType;\r\n \r\n this.getVhclMakeData(this.quoteDetail.VehicleMake, yearVal, 1);\r\n\r\n //Gender\r\n var indexGender = this.genders.findIndex(function (obj, k) {\r\n return obj.value === resData.InsuredGender;\r\n });\r\n let gnderVal = this.genders[indexGender];\r\n this.insuredDetailForm.get('e_gender').setValue(gnderVal);\r\n\r\n //Vehicle Cylinders\r\n var indexCylinder = this.vehicylinders.findIndex(function (obj, k) {\r\n return obj.value === resData.VehicleCylinders;\r\n });\r\n let cylVal = this.vehicylinders[indexCylinder];\r\n this.insuredDetailForm.get('adtnl_detail_cylinder').setValue(cylVal);\r\n\r\n //Passenger Count\r\n var indexPasger = this.vehiseatcaps.findIndex(function (obj, k) {\r\n return obj.value == resData.PassengersCount;\r\n });\r\n let PasgerVal = this.vehiseatcaps[indexPasger];\r\n this.insuredDetailForm.get('rg_num_passenger').setValue(PasgerVal);\r\n\r\n // Nationality\r\n var indexNationality;\r\n console.log(this.countryArr)\r\n this.countryArr.forEach((item, index) => {\r\n if (item.CountryName == resData.InsuredNationality) {\r\n indexNationality = item;\r\n }\r\n });\r\n this.insuredDetailForm.get('e_nationality').setValue(indexNationality);\r\n\r\n //Mortagage bank\r\n if (resData.Mortgage != '' || resData.Mortgage != null) {\r\n var indexBank = this.bankDetail.findIndex(function (obj, k) {\r\n return obj.InstituteName === resData.Mortgage;\r\n });\r\n let bankVal = this.bankDetail[indexBank];\r\n if (resData.Mortgage == \"Not Mortgaged\")\r\n this.insuredDetailForm.get('rg_mortgage').setValue(this.bankDetail[0]);\r\n else\r\n this.insuredDetailForm.get('rg_mortgage').setValue(bankVal);\r\n }\r\n else {\r\n this.insuredDetailForm.get('rg_mortgage').setValue('');\r\n }\r\n\r\n \r\n\r\n \r\n //REG PLACE\r\n if(resData.RegistrationPlace != '' && resData.RegistrationPlace != null && resData.RegistrationPlace != undefined ){\r\n\r\n var indexPlace = this.cityArr.findIndex(function (obj, k) {\r\n return obj.CityName === resData.RegistrationPlace;\r\n });\r\n let placeal = this.cityArr[indexPlace];\r\n this.insuredDetailForm.get('rg_place_issue').setValue(placeal);\r\n this.quoteDetail.regplace = placeal.CityName;\r\n this.getPlateCode(this.quoteDetail.regplace, 2);\r\n }\r\n\r\n //plateCode\r\n console.log(this.plateCodeArray)\r\n var indexPlateCode = this.plateCodeArray.findIndex(function (obj, k) {\r\n return obj.PlateCode == resData.PlateCode;\r\n });\r\n let PlateCode = this.plateCodeArray[indexPlateCode];\r\n console.log(PlateCode)\r\n this.insuredDetailForm.get('rg_plateCode').setValue(PlateCode);\r\n\r\n //Plate category\r\n if( resData.PlateCategory != null){\r\n var indexPlCat = this.plateCatArray.findIndex(function (obj, k) {\r\n return obj.label.toLowerCase() === resData.PlateCategory.toLowerCase();\r\n });\r\n let plCatVal = this.plateCatArray[indexPlCat];\r\n if(typeof (plCatVal) !=\"undefined\")\r\n this.insuredDetailForm.get('rg_type').setValue(plCatVal.value);\r\n }else{\r\n this.insuredDetailForm.get('rg_type').setValue('');\r\n }\r\n \r\n\r\n //Vehicle Color\r\n if (resData.VehicleColor == null || resData.VehicleColor == '') {\r\n this.insuredDetailForm.get('vhclColor').setValue('');\r\n } else {\r\n var indexColor = this.vhclColorArr.findIndex(function (obj, k) {\r\n return obj.ColorName === resData.VehicleColor;\r\n });\r\n let clrVal = this.vhclColorArr[indexColor];\r\n this.insuredDetailForm.get('vhclColor').setValue(clrVal);\r\n }\r\n\r\n\r\n //Active policy type \r\n if (this.insuredDetailForm.value.adtnl_detail_brandNew == 1) {\r\n this.insuredDetailForm.get('vhclTPLCoverage').setValue(this.activePolicyTypeArr[1]);\r\n }\r\n // if (this.insuredDetailForm.value.adtnl_detail_brandNew != 1) {\r\n // this.insuredDetailForm.get('vhclTPLCoverage').setValue(this.activePolicyTypeArr[1]);\r\n // }\r\n else {\r\n if (resData.CurrentInsurance == \"Yes\") {\r\n this.insuredDetailForm.get('vhclTPLCoverage').setValue(this.activePolicyTypeArr[2]);\r\n } else {\r\n this.insuredDetailForm.get('vhclTPLCoverage').setValue(this.activePolicyTypeArr[1]);\r\n\r\n }\r\n }\r\n\r\n //Origin\r\n var indexNationality;\r\n if (resData.Origin != '') {\r\n this.countryArr.forEach((item, index) => {\r\n if (item.CountryName == resData.Origin) {\r\n indexNationality = item;\r\n }\r\n });\r\n this.insuredDetailForm.get('rg_origin').setValue(indexNationality);\r\n } else {\r\n this.insuredDetailForm.get('rg_origin').setValue('');\r\n }\r\n\r\n //Driving Lic. issue place\r\n if (resData.DrivingLicIssuePlace != '') {\r\n var indexPlace = this.cityArr.findIndex(function (obj, k) {\r\n return obj.CityName === resData.IssuePlace;\r\n });\r\n let drivLicPlace = this.cityArr[indexPlace];\r\n\r\n if(typeof (drivLicPlace) !=\"undefined\" && drivLicPlace!=\"undefined\"){\r\n this.insuredDetailForm.get('d_place_issue').setValue(drivLicPlace);\r\n this.getIssuePlace(drivLicPlace.CityName);\r\n }\r\n } else {\r\n this.insuredDetailForm.get('d_place_issue').setValue('');\r\n }\r\n\r\n this.showLoader.retrieveQuote = false;\r\n \r\n Swal.fire(\"Your quotation has been successfully retrieved.\", \"Kindly note the premium may change based on the company pricing policy\", \"success\");\r\n this.selected.setValue(0);\r\n this.expandedDetails=true;\r\n // console.log(this.expandedDetails)\r\n this.item=[{number: 1, open: true}];\r\n this.getDeductibleValue();\r\n \r\n }\r\n\r\n });\r\n\r\n \r\n}\r\n\r\n getDiscountOnSelfDeclaration(){\r\n\r\n this.motorQuoteService.getDiscountOnSelfDeclaration(this.webQuoteNumber,\"MT\").subscribe(res =>{\r\n this.selfDeclarationDiscount = res.PromoDiscount;\r\n \r\n const copy = JSON.parse(JSON.stringify(this.tempBenefitData));\r\n let base_Primium = copy;\r\n let discountAmt = 0;\r\n this.PlanDataJson.planBenefitData.benefit_data = this.tempBenefitData;\r\n this.totalFixPremium = this.tempTotalLoadFixPrem;\r\n let discount:number = Number(this.PlanDataJson.thirdPartyAPIData.NcdDiscount.NcdAmnt);\r\n let policyFee:number = 0 ;\r\n\r\n this.tempBenefitData.forEach((item, index) => {\r\n if (this.insuredDetailForm.value.adtnl_detail_insType.value == 200 && item.Code == '40099') {\r\n //get policy fee\r\n policyFee = item.premium ;\r\n }\r\n });\r\n \r\n this.tempBenefitData.forEach((item, index) => {\r\n \r\n // FOR COMPRENSIVE\r\n if (this.insuredDetailForm.value.adtnl_detail_insType.value == 100 && item.Code == '40001') {\r\n \r\n let newBasePremium = this.totalFixPremium;\r\n \r\n // console.log('newBasePremium : '+newBasePremium );\r\n discountAmt = Math.round(((this.selfDeclarationDiscount * Number(newBasePremium)) / 100)); //FOR BY PERCENT\r\n // console.log('discount amount : ',discountAmt);\r\n \r\n let totalPrem:number = 0 ;\r\n totalPrem += newBasePremium;\r\n totalPrem += discount ;\r\n totalPrem -= discountAmt;\r\n \r\n // console.log('Total Pre : ', totalPrem);\r\n \r\n if(Number(base_Primium[1].premium) > Number(base_Primium[0].premium)){ \r\n totalPrem -= parseInt(base_Primium[0].premium); \r\n }else{\r\n totalPrem -= parseInt(base_Primium[1].premium);\r\n }\r\n \r\n this.PlanDataJson.planBenefitData.benefit_data[index].premium = totalPrem;\r\n \r\n }\r\n \r\n // FOR TPL\r\n if (this.insuredDetailForm.value.adtnl_detail_insType.value == 200 && item.Code == '40002') {\r\n \r\n let newBasePremium = this.totalFixPremium;\r\n \r\n \r\n discountAmt = Math.round(((this.selfDeclarationDiscount * Number(newBasePremium)) / 100)); //FOR BY PERCENT\r\n \r\n let totalPrem:number = 0 ;\r\n \r\n if(this.PlanDataJson.planBenefitData.benefit_data[index].Code == 40002){\r\n totalPrem = parseInt(base_Primium[index].premium) - discountAmt; \r\n }\r\n \r\n this.PlanDataJson.planBenefitData.benefit_data[index].premium = totalPrem;\r\n \r\n \r\n }\r\n \r\n });\r\n \r\n this.totalFixPremium = Math.round(Number(this.totalFixPremium) - Number(discountAmt));\r\n // console.log('Base Premium : ', this.totalFixPremium);\r\n this.VATAMT = (this.totalFixPremium + this.totalVariablePremium) * 0.05;\r\n // console.log('VAT AMOUNT : ',this.VATAMT);\r\n this.Total_Primium = Number(this.totalFixPremium) + Number(this.totalVariablePremium) + Number(this.VATAMT);\r\n // console.log('Total Premium : ',this.Total_Primium);\r\n this.specialDiscount();\r\n this.tempBenefitData = copy ;\r\n });\r\n }\r\n\r\n \r\ngetSelfDeclarartionData(){\r\n this.motorQuoteService.getSelfDeclarartionData().subscribe(res =>{\r\n if(res.response_code == 1){\r\n this.selfDeclarartionArr = res.self_declaration;\r\n this.selfDeclQueArr = res.self_declaration_question;\r\n this.selfDeclLevel1 = res.self_declaration_level1;\r\n this.selfDeclLevel2 = res.self_declaration_level2;\r\n \r\n \r\n }\r\n });\r\n}\r\n\r\ncheckSelfDeclarationCondition(type,event){\r\n\r\n // console.log(event);\r\n if(type == 1){\r\n this.accept_self_declaration_1 = event.checked;\r\n }\r\n\r\n if(type == 2){\r\n this.accept_self_declaration_2 = event.checked;\r\n }\r\n\r\n if(type == 3){\r\n this.accept_self_declaration_3 = event.checked;\r\n } \r\n\r\n if(type == 4){\r\n this.accept_self_declaration_4 = event.checked;\r\n } \r\n\r\n if(type == 5){\r\n this.accept_self_declaration_5 = event.checked;\r\n }\r\n \r\n }\r\n\r\n //Added by Anju for Get Quote flow without decalaration\r\n continueOnCreateQuotation(stepper){\r\n if (this.webQuoteNumber == '') {\r\n this.getQuotation(stepper, 1, '');\r\n } else {\r\n this.updateQuotation(stepper, 1, '');\r\n }\r\n }\r\n\r\n continueOnSelfDeclarion(stepper,type, frame){\r\n if(this.webQuoteNumber == ''){\r\n this.getQuotation(stepper,1, frame);\r\n }else{\r\n this.updateQuotation(stepper,1, frame);\r\n }\r\n }\r\n\r\n //openSelfDeclartnModal(frame){\r\n\r\n // // console.log(this.insuredDetailForm);\r\n // if(this.insuredDetailForm.invalid){\r\n // // console.log(\"enter\");\r\n\r\n // return false ;\r\n // }else{\r\n\r\n // frame.show();\r\n // }\r\n\r\n\r\n \r\n //}\r\n showMultiQuotationImg = 0 ;\r\n quotationmultimg = 0;\r\n closeQuotationImg(){\r\n\r\n }\r\n\r\n\r\n specialDiscount(){\r\n this.motorQuoteService.getSpecialDiscount().subscribe(res =>{\r\n if(res.response_code == 1){\r\n this.specialDiscountAmt = res.special_discount;\r\n\r\n this.totalFixPremium = Math.round(Number(this.totalFixPremium) - Number(this.specialDiscountAmt));\r\n // console.log('Base Premium 1 : ', this.totalFixPremium);\r\n this.VATAMT = (this.totalFixPremium + this.totalVariablePremium) * 0.05;\r\n // console.log('VAT AMOUNT 1 : ',this.VATAMT);\r\n this.Total_Primium = Number(this.totalFixPremium) + Number(this.totalVariablePremium) + Number(this.VATAMT);\r\n // console.log('Total Premium 1 : ',this.Total_Primium);\r\n }\r\n });\r\n }\r\n\r\n getTORewiewPage(stepper,ProgressModel,type){\r\n\r\n this.stepper1=stepper;\r\nthis.ProgressModel=ProgressModel;\r\n // console.log(1)\r\n if(this.reg_card_front_flag == false){\r\n Swal.fire(\"\", \"Please upload the vehicle registration front copy\", 'error'); \r\n return false;\r\n }\r\n \r\n else if(this.reg_card_back_flag == false){\r\n Swal.fire(\"\", \"Please upload the vehicle registration back copy\", 'error'); \r\n return false;\r\n }\r\n\r\n else if(this.driving_Lic_Front_flag == false){\r\n Swal.fire(\"\", \"Please upload driving license front copy\", 'error'); \r\n return false;\r\n } else if(this.driving_Lic_Back_flag == false){\r\n Swal.fire(\"\", \"Please upload driving license back copy\", 'error'); \r\n return false;\r\n }else if(this.checkreg_Card_Front_image == false || this.checkreg_Card_Back_image == false || this.checkdriving_Lic_Front_image == false || this.checkdriving_Lic_Back_image == false){\r\n // alert(1)\r\n ProgressModel.show();\r\n // this.getTORewiewPage(stepper,ProgressModel,2);\r\n }else{\r\n ProgressModel.hide();\r\n stepper.next();\r\n\r\n }\r\n \r\n \r\n \r\n \r\n \r\n // if(this.checkreg_Card_Front_image == true && this.checkreg_Card_Back_image == true && this.checkdriving_Lic_Front_image == true && this.checkdriving_Lic_Back_image == true){\r\n // ProgressModel.hide();\r\n // stepper.next();\r\n // }else{\r\n // this.getTORewiewPage(stepper,ProgressModel,2);\r\n // }\r\n \r\n\r\n \r\n // else{\r\n // ProgressModel.hide();\r\n // stepper.next();\r\n\r\n // }\r\n \r\n \r\n }\r\n\r\n demo(){\r\n // console.log(2)\r\n if(this.checkreg_Card_Front_image == true && this.checkreg_Card_Back_image == true && this.checkdriving_Lic_Front_image == true && this.checkdriving_Lic_Back_image == true){\r\n this.ProgressModel.hide();\r\n this.stepper1.next();\r\n }\r\n\r\n \r\n }\r\n\r\n //----------------------------------------- SAVE ADDITIONAL INFO (THIRD PARTY API)--------------------------------------------------------\r\n saveAdditionalInfo() {\r\n\r\n \r\n\r\n \r\n \r\n \r\n // let name = this.insuredDetailForm.value.adtnl_detail_vhclOwnBy.code == '100' ? this.insuredDetailForm.value.name : this.insuredDetailForm.value.companyName;\r\n\r\n \r\n\r\n this.motorQuoteService.saveAdditionalInfo(this.quoteNumber, this.webQuoteNumber, this.insuredDetailForm.value.rg_mortgage, 'N', '', this.insuredDetailForm.value.adtnl_detail_insType, this.insuredDetailForm.value.rg_engin_num, this.insuredDetailForm.value.e_gender.value,'B2C',this.paymentMode).subscribe(res => {\r\n \r\n // this.additionalDetailForm.get('docDriving_license_Back').setValue('');\r\n // this.additionalDetailForm.get('docDriving_License_Front').setValue('');\r\n // this.additionalDetailForm.get('docReg_Card_Front').setValue('');\r\n // this.additionalDetailForm.get('docReg_Card_Back').setValue('');\r\n // this.additionalDetailForm.get('docEID_Front').setValue('');\r\n // this.additionalDetailForm.get('docEID_Back').setValue('');\r\n // this.additionalDetailForm.get('docDealerQuote').setValue('');\r\n // this.additionalDetailForm.get('docOther').setValue('')\r\n \r\n if (res.response_code == 1) {\r\n\r\n if(this.type == 1){\r\n this.savePolicyDetail();\r\n }\r\n if(this.type == 2){\r\n this.sendPaymentLink();\r\n }\r\n \r\n \r\n\r\n\r\n \r\n }\r\n\r\n });\r\n \r\n\r\n //stepper.next();\r\n\r\n }\r\n\r\n // ------------------------------------------FUNCTION FOR SEND PAYMENT LINK---------------------------------------------------\r\nsendPaymentLink()\r\n{\r\n this.motorQuoteService.sendPaymentLink(this.webQuoteNumber,'MT','B2C',this.insuredDetailForm.value.adtnl_detail_email).subscribe(res =>{\r\n this._route.navigate([\"/motorquote\"]);\r\n Swal.fire(\"\", \"Thank you for choosing Fidelity United for insuring your car. We have sent an email to your registered email with a payment link\", 'success');\r\n\r\n });\r\n}\r\n\r\n}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL29jcm1haW4vd2l0aG91dG9jci93aXRob3V0b2NyLmNvbXBvbmVudC5zY3NzIn0= */\"","import { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-withoutocr',\r\n templateUrl: './withoutocr.component.html',\r\n styleUrls: ['./withoutocr.component.scss']\r\n})\r\nexport class WithoutocrComponent implements OnInit {\r\n\r\n constructor(public _route: Router) { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","export default \".wrapper-form {\\n margin: auto;\\n max-width: 500px;\\n border: 1px solid lightgray;\\n border-top: 8px solid #1f3e7b;\\n padding: 15px;\\n box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;\\n background: #fff !important;\\n}\\n\\n.wrapper-policy {\\n /* margin-top: 8em; */\\n padding-top: 8em;\\n}\\n\\n@media (max-width: 600px) {\\n .scrollcss {\\n height: 450px;\\n overflow-y: scroll;\\n }\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvdGhhbmt5b3UvQzpcXFVzZXJzXFxhbmp1LnZpc3dhbmF0aFxcc291cmNlXFxyZXBvc1xcQjJDUG9ydGFsX0JyYW5jaGVzXFxQcm9kL3NyY1xcYXBwXFx0aGFua3lvdVxcdGhhbmt5b3UuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL3RoYW5reW91L3RoYW5reW91LmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0ksWUFBQTtFQUNBLGdCQUFBO0VBQ0EsMkJBQUE7RUFDQSw2QkFBQTtFQUNBLGFBQUE7RUFDQSx3REFBQTtFQUNBLDJCQUFBO0FDQ0o7O0FEQ0E7RUFDSSxxQkFBQTtFQUNBLGdCQUFBO0FDRUo7O0FEQUE7RUFDSTtJQUNJLGFBQUE7SUFDQSxrQkFBQTtFQ0dOO0FBQ0YiLCJmaWxlIjoic3JjL2FwcC90aGFua3lvdS90aGFua3lvdS5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi53cmFwcGVyLWZvcm0ge1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgbWF4LXdpZHRoOiA1MDBweDtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkIGxpZ2h0Z3JheTtcclxuICAgIGJvcmRlci10b3A6IDhweCBzb2xpZCAjMWYzZTdiO1xyXG4gICAgcGFkZGluZzogMTVweDtcclxuICAgIGJveC1zaGFkb3c6IDAgMC41cmVtIDFyZW0gcmdiYSgwLCAwLCAwLCAwLjE1KSAhaW1wb3J0YW50O1xyXG4gICAgYmFja2dyb3VuZDogI2ZmZiAhaW1wb3J0YW50O1xyXG59XHJcbi53cmFwcGVyLXBvbGljeSB7XHJcbiAgICAvKiBtYXJnaW4tdG9wOiA4ZW07ICovXHJcbiAgICBwYWRkaW5nLXRvcDogOGVtO1xyXG59XHJcbkBtZWRpYSAobWF4LXdpZHRoOjYwMHB4KXtcclxuICAgIC5zY3JvbGxjc3Mge1xyXG4gICAgICAgIGhlaWdodDogNDUwcHg7XHJcbiAgICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xyXG4gICAgfVxyXG4gIH1cclxuIiwiLndyYXBwZXItZm9ybSB7XG4gIG1hcmdpbjogYXV0bztcbiAgbWF4LXdpZHRoOiA1MDBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgbGlnaHRncmF5O1xuICBib3JkZXItdG9wOiA4cHggc29saWQgIzFmM2U3YjtcbiAgcGFkZGluZzogMTVweDtcbiAgYm94LXNoYWRvdzogMCAwLjVyZW0gMXJlbSByZ2JhKDAsIDAsIDAsIDAuMTUpICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQ6ICNmZmYgIWltcG9ydGFudDtcbn1cblxuLndyYXBwZXItcG9saWN5IHtcbiAgLyogbWFyZ2luLXRvcDogOGVtOyAqL1xuICBwYWRkaW5nLXRvcDogOGVtO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgLnNjcm9sbGNzcyB7XG4gICAgaGVpZ2h0OiA0NTBweDtcbiAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gIH1cbn0iXX0= */\"","import { Component, OnInit } from '@angular/core';\r\nimport { Router,ActivatedRoute } from '@angular/router';\r\nimport { MotorquoteService } from '../_service/motorquote.service';\r\nimport { GlobalService } from '../_service/global.service';\r\n\r\n@Component({\r\n selector: 'app-thankyou',\r\n templateUrl: './thankyou.component.html',\r\n styleUrls: ['./thankyou.component.scss']\r\n})\r\nexport class ThankyouComponent implements OnInit {\r\n\r\n quoteNum = 0; loader:boolean = false; \r\n token = 0; orderNumber:any; orderToken:any; quoteNumber:any; payment_transaction_ID_status:any; payment_Transaction_ID:any;\r\n totalPremium :any; quoteDetail:any = []; showHideLoader:boolean = true; show_cancel_msg:boolean = false; trans_ref:any; payment_status:any;\r\n Token: string;\r\n payPolicyNum: any;\r\n policyNumber: string;\r\n\r\n constructor(public _route: Router,public _activatedroute: ActivatedRoute,public motorQuoteService:MotorquoteService,public globalService:GlobalService) { }\r\n\r\n ngOnInit() {\r\n\r\n\r\n this.showHideLoader = true;\r\n this.orderNumber = localStorage.getItem(\"Payment_Order_ID\");\r\n this.orderToken = localStorage.getItem(\"Payment_Order_Tokan\");\r\n this.quoteNumber = localStorage.getItem('Payment_Quotation_Number');\r\n this.trans_ref = localStorage.getItem('Trans_Ref');\r\n this.Token = localStorage.getItem('TokenId');\r\n this.policyNumber = localStorage.getItem('Policy_Number');\r\n\r\n // if( this.orderNumber == null ){\r\n // this.showHideLoader = false;\r\n // this._route.navigateByUrl('/ocrmain');\r\n // }\r\n\r\n // this.showHideLoader = false;\r\n const routeParam = this._activatedroute.snapshot.params;\r\n if(routeParam){\r\n \r\n this.token = routeParam.Token;\r\n \r\n }\r\n this.verifyQuatationPayment();\r\n\r\n }\r\n saveQuotationPayment(){\r\n this.motorQuoteService.saveQuotationPayment(this.orderToken,this.payment_transaction_ID_status,this.quoteNumber,this.response_msg,this.payment_Transaction_ID,'MT','B2C').subscribe(res =>{\r\n \r\n // setTimeout(() => {\r\n this.showHideLoader =false;\r\n // },5000); \r\n\r\n if(res.res_code == 1){\r\n // this.payPolicyNum = res.result.pt_invoice_id;statement_reference\r\n localStorage.removeItem(\"Payment_Order_ID\");\r\n localStorage.removeItem(\"Payment_Order_Tokan\");\r\n localStorage.removeItem('Payment_Quotation_Number');\r\n localStorage.removeItem('Insured_Email');\r\n localStorage.removeItem('Insured_Mobile');\r\n localStorage.removeItem('Insured_Code');\r\n this.trans_ref = localStorage.getItem('Trans_Ref');\r\n this.motorQuoteService.sendPolicySuccessMail(this.quoteNumber).subscribe(response => {\r\n console.log(response);\r\n });\r\n\r\n\r\n }\r\n },\r\n (error) => {\r\n this.showHideLoader =false;\r\n console.error(error.status);\r\n \r\n });\r\n \r\n \r\n\r\n}\r\nresponse_msg:any ='';\r\nverifyQuatationPayment(){\r\n\r\n\r\n // this.motorQuoteService.verifyQuatationPayment(this.trans_ref).subscribe(res =>{\r\n // this.payment_status = res.result;\r\n\r\n // console.log(\"---------------------\");\r\n \r\n // if(typeof res.result.payment_result != undefined){\r\n\r\n // this.quoteNumber = this.payment_status.cart_id;\r\n // console.log(this.quoteNumber)\r\n // // this.quoteNumber = this.payment_status.cart_id.replace('\"','');\r\n // // console.log(1);\r\n // if(res.result.payment_result.response_status != 'A'){\r\n // this.payment_transaction_ID_status = \"CANCELLED\";\r\n // }\r\n // if(res.result.payment_result.response_status == 'A'){\r\n // this.payment_transaction_ID_status = \"ISSUED\";\r\n // // }\r\n // }\r\n // }else{\r\n // this.payment_transaction_ID_status = \"CANCELLED\";\r\n // // console.log(111);\r\n \r\n // }\r\n\r\n // this.saveQuotationPayment();\r\n\r\n // });\r\n\r\n this.motorQuoteService.verifyPayment(this.orderNumber).subscribe(res => {\r\n let response = res;\r\n this.response_msg = response.result.payment_result.response_code;\r\n this.quoteNumber = response.result.cart_id;\r\n this.payment_Transaction_ID = response.result.tran_ref;\r\n //this.payPolicyNum=response.result.statement_reference;\r\n\r\n if (res.res_code == 2 || response.result.tran_ref == null) {\r\n\r\n this.payment_transaction_ID_status = \"CANCELLED\";\r\n this.show_cancel_msg = true;\r\n this._route.navigateByUrl(\"/cancelpayment/\" + this.response_msg);\r\n }\r\n else {\r\n if (res.result.tran_ref != null) {\r\n this.payment_transaction_ID_status = \"ISSUED\";\r\n this.saveQuotationPayment();\r\n }\r\n }\r\n });\r\n\r\n console.log('Quotation number : ' + this.quoteNumber);\r\n\r\n}\r\n\r\ndonePayment(){\r\n this._route.navigateByUrl('/ocrmain');\r\n }\r\n goToURL(){\r\n this.motorQuoteService.webSiteLink().subscribe(res =>{\r\n\r\n location.href = res.fedility_website ;\r\n\r\n\r\n });\r\n\r\n }\r\n\r\n}\r\n","export default \".agentbox {\\n border: 1px solid whitesmoke;\\n box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;\\n margin: 1.5em 0;\\n border-radius: 5px;\\n}\\n\\n.p-10 {\\n padding: 10px;\\n}\\n\\n.boxheader {\\n background: #f9f9f9;\\n color: #7373b4;\\n font-weight: bold;\\n font-size: 12px;\\n}\\n\\n.removephotocss {\\n position: absolute;\\n top: 0px;\\n font-size: 5px;\\n border-radius: 50px;\\n padding: 5px;\\n box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;\\n cursor: pointer;\\n color: white;\\n z-index: 999999;\\n left: 3px;\\n background: red;\\n}\\n\\n.customdisplaymodal {\\n max-width: 330px !important;\\n margin: auto !important;\\n}\\n\\n.wrapper-form {\\n margin: auto;\\n max-width: 500px;\\n border: 1px solid lightgray;\\n border-top: 8px solid #1f3e7b;\\n padding: 25px 50px 50px 50px;\\n box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;\\n background: #fff !important;\\n}\\n\\n.wrapper-section {\\n padding: 20px;\\n}\\n\\n.wrapper-form a {\\n color: #3f51b5 !important;\\n}\\n\\n.reupload .custom-file {\\n width: 90px;\\n height: 30px;\\n text-align: center;\\n}\\n\\n.iconupload .material-icons {\\n font-size: 40px;\\n border: 1px solid;\\n border-radius: 50px;\\n padding: 10px;\\n color: #7373b4;\\n margin-bottom: 0.5em;\\n}\\n\\n.orcss {\\n position: absolute;\\n left: 41.5%;\\n /* right: 0; */\\n background: #fff;\\n z-index: 999999;\\n top: 50%;\\n color: red;\\n}\\n\\n.alldocimg img {\\n width: 25px;\\n height: 25px;\\n margin-right: 5px;\\n}\\n\\n.alldocimg .material-icons {\\n font-size: 12px;\\n position: absolute;\\n top: -3px;\\n left: 10px;\\n z-index: 99999999;\\n color: red;\\n background: #fff;\\n box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;\\n border-radius: 50%;\\n border: 1px solid;\\n text-align: center;\\n cursor: pointer;\\n}\\n\\n.custom-file.customfilecss {\\n border-bottom: 1px solid #1f3e7b;\\n border-radius: 10px;\\n background-image: linear-gradient(45deg, #1f3e7b, #7373b4);\\n z-index: 0;\\n}\\n\\n.dynamicimgmodal {\\n width: 500px;\\n margin: auto;\\n height: 300px;\\n}\\n\\n.modalbox {\\n position: absolute;\\n top: 25px;\\n right: 0;\\n cursor: all-scroll;\\n left: 0;\\n max-width: 200px;\\n margin: auto;\\n z-index: 9 !important;\\n}\\n\\n.boxmodalclose {\\n position: absolute;\\n top: -8px;\\n left: -5px;\\n border: 1px solid #f3f3f3;\\n border-radius: 50%;\\n background: #fdfdfd;\\n width: 30px;\\n padding: 3px 5px;\\n height: 30px;\\n cursor: pointer;\\n}\\n\\n.boxmodalclose span {\\n font-size: 32px;\\n color: red;\\n}\\n\\n.dynamicimgmodal img {\\n border: 5px solid whitesmoke;\\n}\\n\\n.iconmodal {\\n position: absolute;\\n right: 10px;\\n}\\n\\n.iconmodal .material-icons {\\n font-size: 30px;\\n color: #7373b4;\\n cursor: pointer;\\n}\\n\\n.reuploadquotation .customfilecss .custom-file-label::after {\\n display: none;\\n}\\n\\n.reuploadquotation .custom-file.customfilecss {\\n text-align: center;\\n}\\n\\n.reuploadquotation label.custom-file-label {\\n color: #fff;\\n cursor: pointer;\\n}\\n\\n.benefitselecticon {\\n position: absolute;\\n margin-left: 30px;\\n width: 88%;\\n top: -13px;\\n}\\n\\n.benefitname {\\n width: 60%;\\n position: relative;\\n}\\n\\n.benefitprice {\\n width: 20%;\\n}\\n\\n.freeoffer {\\n width: 20%;\\n}\\n\\n.loderimg .wrapper-loader img {\\n width: 40px !important;\\n margin-left: 20px;\\n}\\n\\n.imgcssadddoc {\\n width: 25px;\\n height: 25px;\\n overflow: hidden;\\n}\\n\\n@media (max-width: 600px) {\\n .d-flex {\\n display: block !important;\\n }\\n\\n .benefitname {\\n width: 100%;\\n }\\n\\n .benefitprice {\\n width: 100%;\\n }\\n\\n .freeoffer {\\n width: 100%;\\n }\\n\\n .benefitselecticon {\\n width: 100%;\\n }\\n\\n .res100 button {\\n width: 100%;\\n margin-top: 1em;\\n }\\n\\n .main-panel .main-content {\\n padding: 30px 0 !important;\\n }\\n\\n .card .card-body {\\n padding: 0 !important;\\n }\\n\\n .wrapper-form {\\n padding: 10px !important;\\n }\\n\\n .wrapper-section {\\n padding: 0px !important;\\n }\\n\\n .mat-horizontal-content-container {\\n padding: 7px 5px 7px 5px !important;\\n }\\n}\\n\\n.custompaddingpanel {\\n padding: 10px 0;\\n}\\n\\n.icontimeline .material-icons {\\n font-size: 35px;\\n background: -webkit-linear-gradient(#1f3e7b, #686cac);\\n -webkit-background-clip: text;\\n -webkit-text-fill-color: transparent;\\n}\\n\\n.timelinecard {\\n border: 1px solid #f3f3f3;\\n border-radius: 0px 5px 5px 0;\\n margin-left: 15px;\\n border-left: 5px solid #3d518f;\\n}\\n\\n.timelineheader {\\n padding: 5px 10px;\\n background: #f9f9f9;\\n}\\n\\n.timelinebody {\\n padding: 10px 10px 15px 10px;\\n text-align: justify;\\n}\\n\\n.datedaycss {\\n color: #1f3e7b;\\n font-weight: 500;\\n /* border: 1px solid; */\\n /* padding: 4px; */\\n}\\n\\n.scrollcsstimeline {\\n height: 200px;\\n overflow-y: auto;\\n}\\n\\n.timelineheader h5 {\\n margin: 0;\\n color: #3d518f;\\n font-weight: 400;\\n}\\n\\n.uppercase {\\n text-transform: uppercase;\\n}\\n\\n.customfilecss .custom-file-label::after {\\n display: none;\\n}\\n\\n.custom-file-label {\\n color: #fff !important;\\n}\\n\\n.customul li {\\n text-transform: capitalize;\\n color: #1f3e7b;\\n}\\n\\n.header {\\n background: #1f3e7b;\\n padding: 10px 10px 0 10px;\\n}\\n\\n.header img {\\n width: 160px;\\n}\\n\\n.modal-content {\\n width: 80% !important;\\n margin: auto !important;\\n}\\n\\n.modal-header {\\n text-align: center !important;\\n display: flex;\\n align-items: flex-start;\\n justify-content: space-between;\\n padding: 1rem 1rem;\\n color: #000000 !important;\\n border-bottom: 1px solid #dee2e6;\\n border-top-left-radius: 0.3rem;\\n border-top-right-radius: 0.3rem;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvdXNlcnJlZ2lzdHJhdGlvbi9DOlxcVXNlcnNcXGFuanUudmlzd2FuYXRoXFxzb3VyY2VcXHJlcG9zXFxCMkNQb3J0YWxfQnJhbmNoZXNcXFByb2Qvc3JjXFxhcHBcXHVzZXJyZWdpc3RyYXRpb25cXHVzZXJyZWdpc3RyYXRpb24uY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL3VzZXJyZWdpc3RyYXRpb24vdXNlcnJlZ2lzdHJhdGlvbi5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNJLDRCQUFBO0VBQ0EsOERBQUE7RUFDQSxlQUFBO0VBQ0Esa0JBQUE7QUNDSjs7QURFQTtFQUNJLGFBQUE7QUNDSjs7QURFQTtFQUNJLG1CQUFBO0VBQ0EsY0FBQTtFQUNBLGlCQUFBO0VBQ0EsZUFBQTtBQ0NKOztBREVBO0VBQ0ksa0JBQUE7RUFDQSxRQUFBO0VBQ0EsY0FBQTtFQUNBLG1CQUFBO0VBQ0EsWUFBQTtFQUNBLHVEQUFBO0VBQ0EsZUFBQTtFQUNBLFlBQUE7RUFDQSxlQUFBO0VBQ0EsU0FBQTtFQUNBLGVBQUE7QUNDSjs7QURFQTtFQUNJLDJCQUFBO0VBQ0EsdUJBQUE7QUNDSjs7QURFQTtFQUNJLFlBQUE7RUFDQSxnQkFBQTtFQUNBLDJCQUFBO0VBQ0EsNkJBQUE7RUFDQSw0QkFBQTtFQUNBLHdEQUFBO0VBQ0EsMkJBQUE7QUNDSjs7QURFQTtFQUNJLGFBQUE7QUNDSjs7QURFQTtFQUNJLHlCQUFBO0FDQ0o7O0FERUE7RUFDSSxXQUFBO0VBQ0EsWUFBQTtFQUNBLGtCQUFBO0FDQ0o7O0FEV0E7RUFDSSxlQUFBO0VBQ0EsaUJBQUE7RUFDQSxtQkFBQTtFQUNBLGFBQUE7RUFDQSxjQUFBO0VBQ0Esb0JBQUE7QUNSSjs7QURXQTtFQUNJLGtCQUFBO0VBQ0EsV0FBQTtFQUNBLGNBQUE7RUFDQSxnQkFBQTtFQUNBLGVBQUE7RUFDQSxRQUFBO0VBQ0EsVUFBQTtBQ1JKOztBRFdBO0VBQ0ksV0FBQTtFQUNBLFlBQUE7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cyIsInNvdXJjZXNDb250ZW50IjpbIi5hZ2VudGJveCB7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCB3aGl0ZXNtb2tlO1xyXG4gICAgYm94LXNoYWRvdzogMCAwLjEyNXJlbSAwLjI1cmVtIHJnYmEoMCwgMCwgMCwgMC4wNzUpICFpbXBvcnRhbnQ7XHJcbiAgICBtYXJnaW46IDEuNWVtIDA7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbn1cclxuXHJcbi5wLTEwIHtcclxuICAgIHBhZGRpbmc6IDEwcHg7XHJcbn1cclxuXHJcbi5ib3hoZWFkZXIge1xyXG4gICAgYmFja2dyb3VuZDogI2Y5ZjlmOTtcclxuICAgIGNvbG9yOiAjNzM3M2I0O1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICBmb250LXNpemU6IDEycHg7XHJcbn1cclxuXHJcbi5yZW1vdmVwaG90b2NzcyB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDBweDtcclxuICAgIGZvbnQtc2l6ZTogNXB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogNTBweDtcclxuICAgIHBhZGRpbmc6IDVweDtcclxuICAgIGJveC1zaGFkb3c6IDAgMXJlbSAzcmVtIHJnYmEoMCwgMCwgMCwgMC4xNzUpICFpbXBvcnRhbnQ7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBjb2xvcjogd2hpdGU7XHJcbiAgICB6LWluZGV4OiA5OTk5OTk7XHJcbiAgICBsZWZ0OiAzcHg7XHJcbiAgICBiYWNrZ3JvdW5kOiByZWQ7XHJcbn1cclxuXHJcbi5jdXN0b21kaXNwbGF5bW9kYWwge1xyXG4gICAgbWF4LXdpZHRoOiAzMzBweCAhaW1wb3J0YW50O1xyXG4gICAgbWFyZ2luOiBhdXRvICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi53cmFwcGVyLWZvcm0ge1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgbWF4LXdpZHRoOiA1MDBweDtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkIGxpZ2h0Z3JheTtcclxuICAgIGJvcmRlci10b3A6IDhweCBzb2xpZCAjMWYzZTdiO1xyXG4gICAgcGFkZGluZzogMjVweCA1MHB4IDUwcHggNTBweDtcclxuICAgIGJveC1zaGFkb3c6IDAgMC41cmVtIDFyZW0gcmdiYSgwLCAwLCAwLCAwLjE1KSAhaW1wb3J0YW50O1xyXG4gICAgYmFja2dyb3VuZDogI2ZmZiAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ud3JhcHBlci1zZWN0aW9uIHtcclxuICAgIHBhZGRpbmc6IDIwcHg7XHJcbn1cclxuXHJcbi53cmFwcGVyLWZvcm0gYSB7XHJcbiAgICBjb2xvcjogIzNmNTFiNSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ucmV1cGxvYWQgLmN1c3RvbS1maWxlIHtcclxuICAgIHdpZHRoOiA5MHB4O1xyXG4gICAgaGVpZ2h0OiAzMHB4O1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG4vLyAucmV1cGxvYWQge1xyXG4vLyAgIG1heC13aWR0aDogNDAwcHg7XHJcbi8vICAgbWFyZ2luOiBhdXRvO1xyXG4vLyAgIHBhZGRpbmc6IDIwcHg7XHJcbi8vICAgYm9yZGVyOiAxcHggc29saWQgd2hpdGVzbW9rZTtcclxuLy8gICBib3gtc2hhZG93OiAwIDAuMTI1cmVtIDAuMjVyZW0gcmdiYSgwLCAwLCAwLCAwLjA3NSkgIWltcG9ydGFudDtcclxuLy8gICBtYXJnaW4tYm90dG9tOiAxZW07XHJcbi8vICAgYm9yZGVyLXRvcDogNXB4IHNvbGlkICM3MzczYjQ7XHJcbi8vIH1cclxuLmljb251cGxvYWQgLm1hdGVyaWFsLWljb25zIHtcclxuICAgIGZvbnQtc2l6ZTogNDBweDtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNTBweDtcclxuICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICBjb2xvcjogIzczNzNiNDtcclxuICAgIG1hcmdpbi1ib3R0b206IDAuNWVtO1xyXG59XHJcblxyXG4ub3Jjc3Mge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgbGVmdDogNDEuNSU7XHJcbiAgICAvKiByaWdodDogMDsgKi9cclxuICAgIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgICB6LWluZGV4OiA5OTk5OTk7XHJcbiAgICB0b3A6IDUwJTtcclxuICAgIGNvbG9yOiByZWQ7XHJcbn1cclxuXHJcbi5hbGxkb2NpbWcgaW1nIHtcclxuICAgIHdpZHRoOiAyNXB4O1xyXG4gICAgaGVpZ2h0OiAyNXB4O1xyXG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XHJcbn1cclxuXHJcbi5hbGxkb2NpbWcgLm1hdGVyaWFsLWljb25zIHtcclxuICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogLTNweDtcclxuICAgIGxlZnQ6IDEwcHg7XHJcbiAgICB6LWluZGV4OiA5OTk5OTk5OTtcclxuICAgIGNvbG9yOiByZWQ7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gICAgYm94LXNoYWRvdzogMCAwLjEyNXJlbSAwLjI1cmVtIHJnYmEoMCwgMCwgMCwgMC4wNzUpICFpbXBvcnRhbnQ7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuLmN1c3RvbS1maWxlLmN1c3RvbWZpbGVjc3Mge1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMxZjNlN2I7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCAjMWYzZTdiLCAjNzM3M2I0KTtcclxuICAgIHotaW5kZXg6IDA7XHJcbn1cclxuXHJcbi5keW5hbWljaW1nbW9kYWwge1xyXG4gICAgd2lkdGg6IDUwMHB4O1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgaGVpZ2h0OiAzMDBweDtcclxufVxyXG5cclxuLm1vZGFsYm94IHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMjVweDtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgY3Vyc29yOiBhbGwtc2Nyb2xsO1xyXG4gICAgbGVmdDogMDtcclxuICAgIG1heC13aWR0aDogMjAwcHg7XHJcbiAgICBtYXJnaW46IGF1dG87XHJcbiAgICB6LWluZGV4OiA5IWltcG9ydGFudDtcclxufVxyXG5cclxuLmJveG1vZGFsY2xvc2Uge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAtOHB4O1xyXG4gICAgbGVmdDogLTVweDtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNmM2YzZjM7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZmRmZGZkO1xyXG4gICAgd2lkdGg6IDMwcHg7XHJcbiAgICBwYWRkaW5nOiAzcHggNXB4O1xyXG4gICAgaGVpZ2h0OiAzMHB4O1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4uYm94bW9kYWxjbG9zZSBzcGFuIHtcclxuICAgIGZvbnQtc2l6ZTogMzJweDtcclxuICAgIGNvbG9yOiByZWQ7XHJcbn1cclxuXHJcbi5keW5hbWljaW1nbW9kYWwgaW1nIHtcclxuICAgIGJvcmRlcjogNXB4IHNvbGlkIHdoaXRlc21va2U7XHJcbn1cclxuXHJcbi5pY29ubW9kYWwge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgcmlnaHQ6IDEwcHg7XHJcbn1cclxuXHJcbi5pY29ubW9kYWwgLm1hdGVyaWFsLWljb25zIHtcclxuICAgIGZvbnQtc2l6ZTogMzBweDtcclxuICAgIGNvbG9yOiAjNzM3M2I0O1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4ucmV1cGxvYWRxdW90YXRpb24gLmN1c3RvbWZpbGVjc3MgLmN1c3RvbS1maWxlLWxhYmVsOjphZnRlciB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4ucmV1cGxvYWRxdW90YXRpb24gLmN1c3RvbS1maWxlLmN1c3RvbWZpbGVjc3Mge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG4ucmV1cGxvYWRxdW90YXRpb24gbGFiZWwuY3VzdG9tLWZpbGUtbGFiZWwge1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi5iZW5lZml0c2VsZWN0aWNvbiB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBtYXJnaW4tbGVmdDogMzBweDtcclxuICAgIHdpZHRoOiA4OCU7XHJcbiAgICB0b3A6IC0xM3B4O1xyXG59XHJcblxyXG4uYmVuZWZpdG5hbWUge1xyXG4gICAgd2lkdGg6IDYwJTtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLmJlbmVmaXRwcmljZSB7XHJcbiAgICB3aWR0aDogMjAlO1xyXG59XHJcblxyXG4uZnJlZW9mZmVyIHtcclxuICAgIHdpZHRoOiAyMCU7XHJcbn1cclxuXHJcbi5sb2RlcmltZyAud3JhcHBlci1sb2FkZXIgaW1nIHtcclxuICAgIHdpZHRoOiA0MHB4ICFpbXBvcnRhbnQ7XHJcbiAgICBtYXJnaW4tbGVmdDogMjBweDtcclxufVxyXG5cclxuLmltZ2Nzc2FkZGRvYyB7XHJcbiAgICB3aWR0aDogMjVweDtcclxuICAgIGhlaWdodDogMjVweDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbkBtZWRpYSAobWF4LXdpZHRoOiA2MDBweCkge1xyXG4gICAgLmQtZmxleCB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2shaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgLmJlbmVmaXRuYW1lIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuICAgIC5iZW5lZml0cHJpY2Uge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG4gICAgLmZyZWVvZmZlciB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbiAgICAuYmVuZWZpdHNlbGVjdGljb24ge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG4gICAgLnJlczEwMCBidXR0b24ge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDFlbTtcclxuICAgIH1cclxuICAgIC5tYWluLXBhbmVsIC5tYWluLWNvbnRlbnQge1xyXG4gICAgICAgIHBhZGRpbmc6IDMwcHggMCFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAuY2FyZCAuY2FyZC1ib2R5IHtcclxuICAgICAgICBwYWRkaW5nOiAwIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgIC53cmFwcGVyLWZvcm0ge1xyXG4gICAgICAgIHBhZGRpbmc6IDEwcHghaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgLndyYXBwZXItc2VjdGlvbiB7XHJcbiAgICAgICAgcGFkZGluZzogMHB4IWltcG9ydGFudDtcclxuICAgIH1cclxuICAgIC5tYXQtaG9yaXpvbnRhbC1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgcGFkZGluZzogN3B4IDVweCA3cHggNXB4IWltcG9ydGFudDtcclxuICAgIH1cclxufVxyXG5cclxuLmN1c3RvbXBhZGRpbmdwYW5lbCB7XHJcbiAgICBwYWRkaW5nOiAxMHB4IDA7XHJcbn1cclxuXHJcbi5pY29udGltZWxpbmUgLm1hdGVyaWFsLWljb25zIHtcclxuICAgIGZvbnQtc2l6ZTogMzVweDtcclxuICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KCMxZjNlN2IsICM2ODZjYWMpO1xyXG4gICAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XHJcbiAgICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbn1cclxuXHJcbi8vIC5ib3JkZXJ2ZXJ0aWNhbCB7XHJcbi8vICAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCAjNjg2Y2FjO1xyXG4vLyAgIGhlaWdodDogMTAwcHg7XHJcbi8vICAgbWFyZ2luLWxlZnQ6IDE1cHg7XHJcbi8vIH1cclxuLnRpbWVsaW5lY2FyZCB7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZjNmM2YzO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMHB4IDVweCA1cHggMDtcclxuICAgIC8vIGJveC1zaGFkb3c6IDAgLjEyNXJlbSAuMjVyZW0gcmdiYSgwLDAsMCwuMDc1KSFpbXBvcnRhbnQ7XHJcbiAgICBtYXJnaW4tbGVmdDogMTVweDtcclxuICAgIGJvcmRlci1sZWZ0OiA1cHggc29saWQgIzNkNTE4ZjtcclxufVxyXG5cclxuLnRpbWVsaW5laGVhZGVyIHtcclxuICAgIHBhZGRpbmc6IDVweCAxMHB4O1xyXG4gICAgYmFja2dyb3VuZDogI2Y5ZjlmOTtcclxufVxyXG5cclxuLnRpbWVsaW5lYm9keSB7XHJcbiAgICBwYWRkaW5nOiAxMHB4IDEwcHggMTVweCAxMHB4O1xyXG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTtcclxufVxyXG5cclxuLmRhdGVkYXljc3Mge1xyXG4gICAgY29sb3I6ICMxZjNlN2I7XHJcbiAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgLyogYm9yZGVyOiAxcHggc29saWQ7ICovXHJcbiAgICAvKiBwYWRkaW5nOiA0cHg7ICovXHJcbn1cclxuXHJcbi5zY3JvbGxjc3N0aW1lbGluZSB7XHJcbiAgICBoZWlnaHQ6IDIwMHB4O1xyXG4gICAgb3ZlcmZsb3cteTogYXV0bztcclxufVxyXG5cclxuLnRpbWVsaW5laGVhZGVyIGg1IHtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIGNvbG9yOiAjM2Q1MThmO1xyXG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcclxufVxyXG5cclxuLnVwcGVyY2FzZSB7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG59XHJcblxyXG4uY3VzdG9tZmlsZWNzcyAuY3VzdG9tLWZpbGUtbGFiZWw6OmFmdGVyIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi5jdXN0b20tZmlsZS1sYWJlbCB7XHJcbiAgICBjb2xvcjogI2ZmZiFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5jdXN0b211bCBsaSB7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcclxuICAgIGNvbG9yOiAjMWYzZTdiO1xyXG59XHJcblxyXG4uaGVhZGVyIHtcclxuICAgIGJhY2tncm91bmQ6ICMxZjNlN2I7XHJcbiAgICBwYWRkaW5nOiAxMHB4IDEwcHggMCAxMHB4O1xyXG59XHJcblxyXG4uaGVhZGVyIGltZyB7XHJcbiAgICB3aWR0aDogMTYwcHg7XHJcbn1cclxuXHJcbi5tb2RhbC1jb250ZW50IHtcclxuICBcclxuICAgIHdpZHRoOiA4MCUhaW1wb3J0YW50O1xyXG4gICAgbWFyZ2luOiBhdXRvIWltcG9ydGFudDtcclxuICAgXHJcbn1cclxuLm1vZGFsLWhlYWRlciB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXIhaW1wb3J0YW50O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgcGFkZGluZzogMXJlbSAxcmVtO1xyXG4gICAgY29sb3I6ICMwMDAwMDAhaW1wb3J0YW50O1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkZWUyZTY7XHJcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwLjNyZW07XHJcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMC4zcmVtO1xyXG59IiwiLmFnZW50Ym94IHtcbiAgYm9yZGVyOiAxcHggc29saWQgd2hpdGVzbW9rZTtcbiAgYm94LXNoYWRvdzogMCAwLjEyNXJlbSAwLjI1cmVtIHJnYmEoMCwgMCwgMCwgMC4wNzUpICFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogMS41ZW0gMDtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xufVxuXG4ucC0xMCB7XG4gIHBhZGRpbmc6IDEwcHg7XG59XG5cbi5ib3hoZWFkZXIge1xuICBiYWNrZ3JvdW5kOiAjZjlmOWY5O1xuICBjb2xvcjogIzczNzNiNDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc2l6ZTogMTJweDtcbn1cblxuLnJlbW92ZXBob3RvY3NzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDBweDtcbiAgZm9udC1zaXplOiA1cHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwcHg7XG4gIHBhZGRpbmc6IDVweDtcbiAgYm94LXNoYWRvdzogMCAxcmVtIDNyZW0gcmdiYSgwLCAwLCAwLCAwLjE3NSkgIWltcG9ydGFudDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogd2hpdGU7XG4gIHotaW5kZXg6IDk5OTk5OTtcbiAgbGVmdDogM3B4O1xuICBiYWNrZ3JvdW5kOiByZWQ7XG59XG5cbi5jdXN0b21kaXNwbGF5bW9kYWwge1xuICBtYXgtd2lkdGg6IDMzMHB4ICFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogYXV0byAhaW1wb3J0YW50O1xufVxuXG4ud3JhcHBlci1mb3JtIHtcbiAgbWFyZ2luOiBhdXRvO1xuICBtYXgtd2lkdGg6IDUwMHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCBsaWdodGdyYXk7XG4gIGJvcmRlci10b3A6IDhweCBzb2xpZCAjMWYzZTdiO1xuICBwYWRkaW5nOiAyNXB4IDUwcHggNTBweCA1MHB4O1xuICBib3gtc2hhZG93OiAwIDAuNXJlbSAxcmVtIHJnYmEoMCwgMCwgMCwgMC4xNSkgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZDogI2ZmZiAhaW1wb3J0YW50O1xufVxuXG4ud3JhcHBlci1zZWN0aW9uIHtcbiAgcGFkZGluZzogMjBweDtcbn1cblxuLndyYXBwZXItZm9ybSBhIHtcbiAgY29sb3I6ICMzZjUxYjUgIWltcG9ydGFudDtcbn1cblxuLnJldXBsb2FkIC5jdXN0b20tZmlsZSB7XG4gIHdpZHRoOiA5MHB4O1xuICBoZWlnaHQ6IDMwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmljb251cGxvYWQgLm1hdGVyaWFsLWljb25zIHtcbiAgZm9udC1zaXplOiA0MHB4O1xuICBib3JkZXI6IDFweCBzb2xpZDtcbiAgYm9yZGVyLXJhZGl1czogNTBweDtcbiAgcGFkZGluZzogMTBweDtcbiAgY29sb3I6ICM3MzczYjQ7XG4gIG1hcmdpbi1ib3R0b206IDAuNWVtO1xufVxuXG4ub3Jjc3Mge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDQxLjUlO1xuICAvKiByaWdodDogMDsgKi9cbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgei1pbmRleDogOTk5OTk5O1xuICB0b3A6IDUwJTtcbiAgY29sb3I6IHJlZDtcbn1cblxuLmFsbGRvY2ltZyBpbWcge1xuICB3aWR0aDogMjVweDtcbiAgaGVpZ2h0OiAyNXB4O1xuICBtYXJnaW4tcmlnaHQ6IDVweDtcbn1cblxuLmFsbGRvY2ltZyAubWF0ZXJpYWwtaWNvbnMge1xuICBmb250LXNpemU6IDEycHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtM3B4O1xuICBsZWZ0OiAxMHB4O1xuICB6LWluZGV4OiA5OTk5OTk5OTtcbiAgY29sb3I6IHJlZDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm94LXNoYWRvdzogMCAwLjEyNXJlbSAwLjI1cmVtIHJnYmEoMCwgMCwgMCwgMC4wNzUpICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYm9yZGVyOiAxcHggc29saWQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uY3VzdG9tLWZpbGUuY3VzdG9tZmlsZWNzcyB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMWYzZTdiO1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsICMxZjNlN2IsICM3MzczYjQpO1xuICB6LWluZGV4OiAwO1xufVxuXG4uZHluYW1pY2ltZ21vZGFsIHtcbiAgd2lkdGg6IDUwMHB4O1xuICBtYXJnaW46IGF1dG87XG4gIGhlaWdodDogMzAwcHg7XG59XG5cbi5tb2RhbGJveCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAyNXB4O1xuICByaWdodDogMDtcbiAgY3Vyc29yOiBhbGwtc2Nyb2xsO1xuICBsZWZ0OiAwO1xuICBtYXgtd2lkdGg6IDIwMHB4O1xuICBtYXJnaW46IGF1dG87XG4gIHotaW5kZXg6IDkgIWltcG9ydGFudDtcbn1cblxuLmJveG1vZGFsY2xvc2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLThweDtcbiAgbGVmdDogLTVweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2YzZjNmMztcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBiYWNrZ3JvdW5kOiAjZmRmZGZkO1xuICB3aWR0aDogMzBweDtcbiAgcGFkZGluZzogM3B4IDVweDtcbiAgaGVpZ2h0OiAzMHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5ib3htb2RhbGNsb3NlIHNwYW4ge1xuICBmb250LXNpemU6IDMycHg7XG4gIGNvbG9yOiByZWQ7XG59XG5cbi5keW5hbWljaW1nbW9kYWwgaW1nIHtcbiAgYm9yZGVyOiA1cHggc29saWQgd2hpdGVzbW9rZTtcbn1cblxuLmljb25tb2RhbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDEwcHg7XG59XG5cbi5pY29ubW9kYWwgLm1hdGVyaWFsLWljb25zIHtcbiAgZm9udC1zaXplOiAzMHB4O1xuICBjb2xvcjogIzczNzNiNDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4ucmV1cGxvYWRxdW90YXRpb24gLmN1c3RvbWZpbGVjc3MgLmN1c3RvbS1maWxlLWxhYmVsOjphZnRlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5yZXVwbG9hZHF1b3RhdGlvbiAuY3VzdG9tLWZpbGUuY3VzdG9tZmlsZWNzcyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnJldXBsb2FkcXVvdGF0aW9uIGxhYmVsLmN1c3RvbS1maWxlLWxhYmVsIHtcbiAgY29sb3I6ICNmZmY7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmJlbmVmaXRzZWxlY3RpY29uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW4tbGVmdDogMzBweDtcbiAgd2lkdGg6IDg4JTtcbiAgdG9wOiAtMTNweDtcbn1cblxuLmJlbmVmaXRuYW1lIHtcbiAgd2lkdGg6IDYwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uYmVuZWZpdHByaWNlIHtcbiAgd2lkdGg6IDIwJTtcbn1cblxuLmZyZWVvZmZlciB7XG4gIHdpZHRoOiAyMCU7XG59XG5cbi5sb2RlcmltZyAud3JhcHBlci1sb2FkZXIgaW1nIHtcbiAgd2lkdGg6IDQwcHggIWltcG9ydGFudDtcbiAgbWFyZ2luLWxlZnQ6IDIwcHg7XG59XG5cbi5pbWdjc3NhZGRkb2Mge1xuICB3aWR0aDogMjVweDtcbiAgaGVpZ2h0OiAyNXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgLmQtZmxleCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5iZW5lZml0bmFtZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAuYmVuZWZpdHByaWNlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5mcmVlb2ZmZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLmJlbmVmaXRzZWxlY3RpY29uIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5yZXMxMDAgYnV0dG9uIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAxZW07XG4gIH1cblxuICAubWFpbi1wYW5lbCAubWFpbi1jb250ZW50IHtcbiAgICBwYWRkaW5nOiAzMHB4IDAgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5jYXJkIC5jYXJkLWJvZHkge1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgfVxuXG4gIC53cmFwcGVyLWZvcm0ge1xuICAgIHBhZGRpbmc6IDEwcHggIWltcG9ydGFudDtcbiAgfVxuXG4gIC53cmFwcGVyLXNlY3Rpb24ge1xuICAgIHBhZGRpbmc6IDBweCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1hdC1ob3Jpem9udGFsLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiA3cHggNXB4IDdweCA1cHggIWltcG9ydGFudDtcbiAgfVxufVxuLmN1c3RvbXBhZGRpbmdwYW5lbCB7XG4gIHBhZGRpbmc6IDEwcHggMDtcbn1cblxuLmljb250aW1lbGluZSAubWF0ZXJpYWwtaWNvbnMge1xuICBmb250LXNpemU6IDM1cHg7XG4gIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KCMxZjNlN2IsICM2ODZjYWMpO1xuICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDtcbiAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4udGltZWxpbmVjYXJkIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2YzZjNmMztcbiAgYm9yZGVyLXJhZGl1czogMHB4IDVweCA1cHggMDtcbiAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gIGJvcmRlci1sZWZ0OiA1cHggc29saWQgIzNkNTE4Zjtcbn1cblxuLnRpbWVsaW5laGVhZGVyIHtcbiAgcGFkZGluZzogNXB4IDEwcHg7XG4gIGJhY2tncm91bmQ6ICNmOWY5Zjk7XG59XG5cbi50aW1lbGluZWJvZHkge1xuICBwYWRkaW5nOiAxMHB4IDEwcHggMTVweCAxMHB4O1xuICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xufVxuXG4uZGF0ZWRheWNzcyB7XG4gIGNvbG9yOiAjMWYzZTdiO1xuICBmb250LXdlaWdodDogNTAwO1xuICAvKiBib3JkZXI6IDFweCBzb2xpZDsgKi9cbiAgLyogcGFkZGluZzogNHB4OyAqL1xufVxuXG4uc2Nyb2xsY3NzdGltZWxpbmUge1xuICBoZWlnaHQ6IDIwMHB4O1xuICBvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4udGltZWxpbmVoZWFkZXIgaDUge1xuICBtYXJnaW46IDA7XG4gIGNvbG9yOiAjM2Q1MThmO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4udXBwZXJjYXNlIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLmN1c3RvbWZpbGVjc3MgLmN1c3RvbS1maWxlLWxhYmVsOjphZnRlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5jdXN0b20tZmlsZS1sYWJlbCB7XG4gIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG59XG5cbi5jdXN0b211bCBsaSB7XG4gIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICBjb2xvcjogIzFmM2U3Yjtcbn1cblxuLmhlYWRlciB7XG4gIGJhY2tncm91bmQ6ICMxZjNlN2I7XG4gIHBhZGRpbmc6IDEwcHggMTBweCAwIDEwcHg7XG59XG5cbi5oZWFkZXIgaW1nIHtcbiAgd2lkdGg6IDE2MHB4O1xufVxuXG4ubW9kYWwtY29udGVudCB7XG4gIHdpZHRoOiA4MCUgIWltcG9ydGFudDtcbiAgbWFyZ2luOiBhdXRvICFpbXBvcnRhbnQ7XG59XG5cbi5tb2RhbC1oZWFkZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMXJlbSAxcmVtO1xuICBjb2xvcjogIzAwMDAwMCAhaW1wb3J0YW50O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RlZTJlNjtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMC4zcmVtO1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMC4zcmVtO1xufSJdfQ== */\"","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';\r\nimport { MatStepper } from '@angular/material';\r\nimport { ModalDirective } from 'angular-bootstrap-md';\r\nimport { CompressImageService } from 'app/_service/compressimage.service';\r\nimport { MotorquoteService } from 'app/_service/motorquote.service';\r\nimport { take, takeUntil } from 'rxjs/operators';\r\nimport Swal from 'sweetalert2';\r\nexport interface Product {\r\n value: string;\r\n viewValue: string;\r\n}\r\nexport interface ModelYr{\r\n value: string;\r\n viewValue: string;\r\n}\r\nexport interface VehiMakes{\r\n value: string;\r\n viewValue: string;\r\n}\r\nexport interface VehiModel{\r\n value: string;\r\n viewValue: string;\r\n}\r\ninterface Gender {\r\n value: string;\r\n viewValue: string;\r\n}\r\n@Component({\r\n selector: 'app-userregistration',\r\n templateUrl: './userregistration.component.html',\r\n styleUrls: ['./userregistration.component.scss']\r\n})\r\n\r\nexport class UserregistrationComponent implements OnInit {\r\n @ViewChild('stepper', { static: true })stepper:MatStepper;\r\n @ViewChild('ProgressModel', { static: true }) ProgressModel: ModalDirective;\r\n public emirateseModal:any = 0;\r\n motorSelectHide: boolean =false;\r\n genders: Gender[] = [\r\n { value: 'M', viewValue: 'Male' },\r\n { value: 'F', viewValue: 'Female' },\r\n ];\r\n insuredIndividualHide: boolean=false;\r\n docNameType: any;\r\n reg_card_front_flag: boolean;\r\n language_code = 'ENG';\r\n public showLoader = {\r\n reg_card_front: false,\r\n reg_card_back: false,\r\n emirates_Id_front: false,\r\n emirates_Id_back: false,\r\n driving_Lic_front: false,\r\n driving_Lic_back: false,\r\n Quotation: false,\r\n VehicleValue: false,\r\n vhclMake: false,\r\n vhclModel: false,\r\n vhclTrim: false,\r\n vhclBodyType: false,\r\n retrieveQuote: false,\r\n multipleDoc: false,\r\n supporting_Document: false,\r\n chasisNoButton: false,\r\n additionalDoc: false,\r\n referal: false,\r\n trade_Licence : false,\r\n TRN_Certificate : false,\r\n }\r\n checkreg_Card_Front_image: boolean;\r\n reg_card_back_flag: boolean;\r\n checkreg_Card_Back_image: boolean;\r\n SchemeCode: string | Blob;\r\n document_data: any;\r\n value: any;\r\n docUploadForm: any;\r\n public hideImages = {\r\n reg_card_front: false,\r\n reg_card_back: false,\r\n emirates_Id_front: false,\r\n emirates_Id_back: false,\r\n driving_Lic_front: false,\r\n driving_Lic_back: false,\r\n }\r\n tempDocArray: any = [];\r\n invalidEID: boolean;\r\n insuredDetailForm: FormGroup;\r\n countryArr: any;\r\n country = 'United Arab Emirates';\r\n \r\n cityArr: any;\r\n vhclColorArr: any;\r\n otp: any;\r\n progressModel: any;\r\n verifyotploader: boolean =false;\r\n verifyotploader1: boolean =false;\r\n wrongotp: boolean =false;\r\n linkedDetails: FormGroup;\r\n datalinked: any;\r\n datalinkedloader: boolean =true;\r\n \r\n \r\n\r\n constructor(private compressImage: CompressImageService,public motorQuoteService: MotorquoteService,public formBuilder: FormBuilder,) { }\r\n\r\n ngOnInit() {\r\n this.getAllFormData('');\r\n this.docUploadForm = this.formBuilder.group({\r\n \r\n docEmiratedIdFront: [''],\r\n emirated_ID_Front: ['',Validators.required],\r\n emirated_ID_FrontFilePath: '',\r\n emirated_ID_FrontFileType: '',\r\n\r\n docEmiratedIdBack: [''],\r\n emirated_ID_Back: ['' ,Validators.required],\r\n emirated_ID_BackFilePath: '',\r\n emirated_ID_BackFileType: '',\r\n\r\n \r\n\r\n \r\n });\r\n\r\n this.insuredDetailForm = this.formBuilder.group({\r\n\r\n \r\n // eid front form fields\r\n \r\n e_name: ['',Validators.required],\r\n e_nationality: ['',Validators.required],\r\n e_eid:['',Validators.required],\r\n e_expiryDate: ['',Validators.required],\r\n e_gender: ['',Validators.required],\r\n \r\n\r\n // Additional detail fields /^((050|052|054|055|056|057|058|059){1}([0-9]{7}))$/ //'[050|052|054|055|056|057|058|059]{1}[0-9]{7}'\r\n adtnl_detail_email: ['',Validators.compose([Validators.required,Validators.pattern('[a-zA-Z0-9.-_-]{1,}@[a-zA-Z.-]{2,}[.]{1}[a-zA-Z]{2,}')])],\r\n // adtnl_detail_mbCode: ['', [Validators.required]],\r\n adtnl_detail_mobile: ['',Validators.compose([Validators.required,Validators.minLength(10), Validators.maxLength(10), Validators.pattern(/^((050|052|054|055|056|057|058|059){1}([0-9]{7}))$/)])],\r\n \r\n\r\n });\r\n this.linkedDetails = this.formBuilder.group({\r\n\r\n \r\n // eid front form fields\r\n \r\n insuredname: ['',Validators.required],\r\n product: ['',Validators.required],\r\n policy_number: ['',Validators.required],\r\n policy_exp_date: ['',Validators.required],\r\n \r\n\r\n });\r\n }\r\n products: Product[] = [\r\n {value: 'motor', viewValue: 'Motor'},\r\n {value: 'home', viewValue: 'Home'},\r\n {value: 'travel', viewValue: 'Travel'}\r\n ];\r\n modelyrs: ModelYr[] = [\r\n {value: '2021', viewValue: '2021'},\r\n {value: '2020', viewValue: '2020'},\r\n {value: '1990', viewValue: '1990'},\r\n {value: '2000', viewValue: '2000'},\r\n ];\r\n vehimakes: VehiMakes[] = [\r\n {value: 'audi', viewValue: 'Audi'},\r\n {value: 'bmw', viewValue: 'BMW'},\r\n \r\n ];\r\n vehimodels: VehiModel[] = [\r\n {value: 'a1', viewValue: 'A1'},\r\n {value: 'a6', viewValue: 'A6'},\r\n \r\n ];\r\n openEmiratesUpload(){\r\n this.emirateseModal= 1;\r\n }\r\n emiratesModalClose(){\r\n this.emirateseModal= 0;\r\n }\r\n\r\n productHide(motorshow)\r\n {\r\n if(motorshow.value==\"motor\")\r\n {\r\n this.motorSelectHide = true;\r\n }\r\n else{\r\n // alert(1)\r\n this.motorSelectHide = false;\r\n }\r\n \r\n }\r\n showTempFile(tempFile,FiledName){\r\n\r\n // console.log(tempFile);\r\n // console.log(FiledName);\r\n // console.log(this.docNameType);\r\n \r\n \r\n var reader = new FileReader();\r\n reader.readAsDataURL(tempFile);\r\n var mimeType = tempFile.type;\r\n let fileType = '';\r\n if (mimeType.match(/image\\/*/) == null) {\r\n fileType = \"PDF\";\r\n }else{\r\n \r\n fileType = \"IMG\";\r\n \r\n }\r\n reader.onload = (_event) => {\r\n \r\n if (this.docNameType == 'reg_Card_Front') {\r\n // alert(1)\r\n this.showLoader.reg_card_front = false;\r\n }\r\n \r\n if (this.docNameType == 'reg_Card_Back') {\r\n this.showLoader.reg_card_back = false;\r\n }\r\n \r\n if (this.docNameType == 'emirated_ID_Front') {\r\n this.showLoader.emirates_Id_front = false;\r\n }\r\n \r\n if (this.docNameType == 'emirated_ID_Back') {\r\n this.showLoader.emirates_Id_back = false;\r\n }\r\n \r\n if (this.docNameType == 'driving_Lic_Front') {\r\n this.showLoader.driving_Lic_front = false;\r\n }\r\n \r\n if (this.docNameType == 'driving_Lic_Back') {\r\n this.showLoader.driving_Lic_back = false;\r\n }\r\n // this.docUploadForm.get('reg_Card_FrontFilePath').setValue(reader.result);\r\n // console.log(FiledName)\r\n \r\n \r\n if (FiledName == 'emirated_ID_Front') {\r\n // this.hideImages.emirates_Id_front = true;\r\n \r\n this.docUploadForm.get('emirated_ID_FrontFilePath').setValue(reader.result);\r\n this.docUploadForm.get('emirated_ID_FrontFileType').setValue(fileType);\r\n // this.tempDocArray[2] = tempDocumentArray;\r\n }\r\n if (FiledName == 'emirated_ID_Back') {\r\n this.hideImages.emirates_Id_back = true;\r\n this.docUploadForm.get('emirated_ID_BackFilePath').setValue(reader.result);\r\n this.docUploadForm.get('emirated_ID_BackFileType').setValue(fileType);\r\n // this.tempDocArray[3] = tempDocumentArray;\r\n }\r\n \r\n \r\n }\r\n \r\n }\r\n onFileChange(event, docName, FiledName, files: FileList) {\r\n this.docNameType = FiledName;\r\n // console.log(event)\r\n // console.log(docName)\r\n // console.log(this.docNameType)\r\n \r\n \r\n \r\n if (this.docNameType == 'emirated_ID_Front') {\r\n this.showLoader.emirates_Id_front = true;\r\n this.docUploadForm.get('emirated_ID_Front').setValue('true')\r\n }\r\n \r\n if (this.docNameType == 'emirated_ID_Back') {\r\n this.showLoader.emirates_Id_back = true;\r\n this.docUploadForm.get('emirated_ID_Back').setValue('true')\r\n }\r\n \r\n \r\n //this.showTempFile(event.target.files[0],this.docNameType);\r\n setTimeout(() => {\r\n this.showTempFile(event.target.files[0],this.docNameType);\r\n }, 2000);\r\n \r\n var imageData = '';\r\n // console.log(event.target.files[0].type);\r\n if(event.target.files[0].type==\"image/png\" || \"image/jpeg\"==event.target.files[0].type){ \r\n // console.log(`Image size before compressed: ${event.target.files[0].size} bytes.`);\r\n // alert(`Image size before compressed: ${event.target.files[0].size} bytes.`);\r\n this.compressImage.compress(event.target.files[0])\r\n .pipe(take(1))\r\n .subscribe(compressedImage => {\r\n \r\n \r\n // console.log(`Image size after compressed: ${compressedImage.size} bytes.`);\r\n // alert(`Image size after compressed: ${compressedImage.size} bytes.`);\r\n \r\n \r\n \r\n const formData = new FormData();\r\n formData.append('file', compressedImage);\r\n formData.append('docName', docName);\r\n formData.append('source', 'B2C');\r\n formData.append('stage', 'QUOTE');\r\n formData.append('quoteType', 'std');\r\n formData.append('schemeCode', this.SchemeCode);\r\n \r\n // Array.from(files).forEach(f => formData.append('file', f))\r\n \r\n // this.updateDocTemp(formData,FiledName);\r\n \r\n this.motorQuoteService.uploadDocuments(formData).subscribe(res => {\r\n let updateMemResponse = res;\r\n this.document_data = updateMemResponse.Document_data;\r\n \r\n if (updateMemResponse.res_code == 1) {\r\n \r\n // this.showLoader.reg_card_front = false;\r\n // this.showLoader.reg_card_back = false;\r\n // this.showLoader.emirates_Id_front = false;\r\n // this.showLoader.emirates_Id_back = false;\r\n // this.showLoader.driving_Lic_front = false;\r\n // this.showLoader.driving_Lic_back = false;\r\n \r\n \r\n let fileType = updateMemResponse.File.split(\".\");\r\n fileType = fileType[fileType.length - 1];\r\n fileType = fileType == \"pdf\" ? \"PDF\" : \"IMG\";\r\n // alert(\"filetype: \"+ fileType)\r\n let formArrayValue: any = this.docUploadForm.value;\r\n \r\n formArrayValue[FiledName] = updateMemResponse.File;\r\n formArrayValue[FiledName + \"FilePath\"] = updateMemResponse.FileDir;\r\n let tempDocumentArray = {\r\n file_name: FiledName,\r\n file_dir: updateMemResponse.FileDir,\r\n docName: updateMemResponse.File,\r\n }\r\n \r\n if (fileType == \"pdf\") {\r\n formArrayValue[FiledName + \"FileType\"] = \"PDF\";\r\n } else {\r\n formArrayValue[FiledName + \"FileType\"] = \"IMG\";\r\n }\r\n \r\n // console.log(FiledName)\r\n \r\n if (FiledName == 'emirated_ID_Front') {\r\n this.hideImages.emirates_Id_front = true;\r\n \r\n this.docUploadForm.get('emirated_ID_FrontFilePath').setValue(updateMemResponse.FileDir);\r\n this.docUploadForm.get('emirated_ID_FrontFileType').setValue(fileType);\r\n this.tempDocArray[2] = tempDocumentArray;\r\n this.showLoader.emirates_Id_front = false;\r\n }\r\n if (FiledName == 'emirated_ID_Back') {\r\n this.hideImages.emirates_Id_back = true;\r\n this.docUploadForm.get('emirated_ID_BackFilePath').setValue(updateMemResponse.FileDir);\r\n this.docUploadForm.get('emirated_ID_BackFileType').setValue(fileType);\r\n this.tempDocArray[3] = tempDocumentArray;\r\n this.showLoader.emirates_Id_back = false;\r\n \r\n }\r\n \r\n \r\n \r\n console.log(FiledName)\r\n formArrayValue[\"docRegCardFront\"] = \"\";\r\n formArrayValue['docRegCardBack'] = \"\";\r\n formArrayValue[\"docEmiratedIdFront\"] = \"\";\r\n formArrayValue['docEmiratedIdBack'] = \"\";\r\n formArrayValue[\"docDrivingLicFront\"] = \"\";\r\n formArrayValue[\"docDrivingLicBack\"] = \"\";\r\n \r\n if (this.document_data.Errocode == 106) {\r\n // alert(1)\r\n \r\n if (FiledName == 'emirated_ID_Front') {\r\n this.hideImages.emirates_Id_front = false;\r\n this.docUploadForm.get('emirated_ID_FrontFilePath').setValue('');\r\n }\r\n if (FiledName == 'emirated_ID_Back') {\r\n this.hideImages.emirates_Id_back = false;\r\n this.docUploadForm.get('emirated_ID_BackFilePath').setValue('');\r\n }\r\n \r\n \r\n Swal.fire(\"Invalid document type selected or the document resolution is very low to read the data.\",\r\n \"Please upload another clean copy and try. Sorry for the inconvenience.\", \"error\");\r\n return false;\r\n }\r\n \r\n if (this.document_data.DocumentType == 'Emirates-Id' && this.document_data.DocumentSubType == 'Front') {\r\n \r\n this.getEmiratesIdData(1, this.document_data);\r\n }\r\n else if (this.document_data.DocumentType == 'Emirates-Id' && this.document_data.DocumentSubType == 'Back') {\r\n \r\n this.getEmiratesIdData(2, this.document_data);\r\n }\r\n \r\n \r\n \r\n \r\n \r\n else if (this.document_data.DocumentType == 'Emirates-Id' && this.document_data.DocumentSubType == 'Both') {\r\n \r\n this.getEmiratesIdData(1, this.document_data);\r\n this.getEmiratesIdData(2, this.document_data);\r\n }\r\n \r\n \r\n \r\n }\r\n \r\n if (updateMemResponse.response_code == 5) {\r\n this.showLoader.reg_card_front = false;\r\n this.showLoader.reg_card_back = false;\r\n this.showLoader.emirates_Id_front = false;\r\n this.showLoader.emirates_Id_back = false;\r\n this.showLoader.driving_Lic_front = false;\r\n this.showLoader.driving_Lic_back = false;\r\n Swal.fire(\"Please select valid file format.\", \"only .pdf, .jpg, .png and .jpeg file formats allowed.\", 'error');\r\n }\r\n \r\n if (updateMemResponse.response_code == 6) {\r\n this.showLoader.reg_card_front = false;\r\n this.showLoader.reg_card_back = false;\r\n this.showLoader.emirates_Id_front = false;\r\n this.showLoader.emirates_Id_back = false;\r\n this.showLoader.driving_Lic_front = false;\r\n this.showLoader.driving_Lic_back = false;\r\n Swal.fire(updateMemResponse.response_status);\r\n }\r\n \r\n })\r\n })\r\n }\r\n else{\r\n const formData = new FormData();\r\n formData.append('file', event.target.files[0]);\r\n formData.append('docName', docName);\r\n formData.append('source', 'B2C');\r\n formData.append('stage', 'QUOTE');\r\n formData.append('quoteType', 'std');\r\n formData.append('schemeCode', this.SchemeCode);\r\n this.motorQuoteService.uploadDocuments(formData).subscribe(res => {\r\n let updateMemResponse = res;\r\n this.document_data = updateMemResponse.Document_data;\r\n \r\n if (updateMemResponse.res_code == 1) {\r\n \r\n // this.showLoader.reg_card_front = false;\r\n // this.showLoader.reg_card_back = false;\r\n // this.showLoader.emirates_Id_front = false;\r\n // this.showLoader.emirates_Id_back = false;\r\n // this.showLoader.driving_Lic_front = false;\r\n // this.showLoader.driving_Lic_back = false;\r\n \r\n \r\n let fileType = updateMemResponse.File.split(\".\");\r\n fileType = fileType[fileType.length - 1];\r\n fileType = fileType == \"pdf\" ? \"PDF\" : \"IMG\";\r\n // alert(\"filetype: \"+ fileType)\r\n let formArrayValue: any = this.docUploadForm.value;\r\n \r\n formArrayValue[FiledName] = updateMemResponse.File;\r\n formArrayValue[FiledName + \"FilePath\"] = updateMemResponse.FileDir;\r\n let tempDocumentArray = {\r\n file_name: FiledName,\r\n file_dir: updateMemResponse.FileDir,\r\n docName: updateMemResponse.File,\r\n }\r\n \r\n if (fileType == \"pdf\") {\r\n formArrayValue[FiledName + \"FileType\"] = \"PDF\";\r\n } else {\r\n formArrayValue[FiledName + \"FileType\"] = \"IMG\";\r\n }\r\n \r\n \r\n if (FiledName == 'emirated_ID_Front') {\r\n this.hideImages.emirates_Id_front = true;\r\n \r\n this.docUploadForm.get('emirated_ID_FrontFilePath').setValue(updateMemResponse.FileDir);\r\n this.docUploadForm.get('emirated_ID_FrontFileType').setValue(fileType);\r\n this.tempDocArray[2] = tempDocumentArray;\r\n }\r\n if (FiledName == 'emirated_ID_Back') {\r\n this.hideImages.emirates_Id_back = true;\r\n this.docUploadForm.get('emirated_ID_BackFilePath').setValue(updateMemResponse.FileDir);\r\n this.docUploadForm.get('emirated_ID_BackFileType').setValue(fileType);\r\n this.tempDocArray[3] = tempDocumentArray;\r\n }\r\n \r\n \r\n \r\n \r\n \r\n formArrayValue[\"docRegCardFront\"] = \"\";\r\n formArrayValue['docRegCardBack'] = \"\";\r\n formArrayValue[\"docEmiratedIdFront\"] = \"\";\r\n formArrayValue['docEmiratedIdBack'] = \"\";\r\n formArrayValue[\"docDrivingLicFront\"] = \"\";\r\n formArrayValue[\"docDrivingLicBack\"] = \"\";\r\n \r\n if (this.document_data.Errocode == 106) {\r\n \r\n if (FiledName == 'emirated_ID_Front') {\r\n this.hideImages.emirates_Id_front = false;\r\n this.docUploadForm.get('emirated_ID_FrontFilePath').setValue('');\r\n }\r\n if (FiledName == 'emirated_ID_Back') {\r\n this.hideImages.emirates_Id_back = false;\r\n this.docUploadForm.get('emirated_ID_BackFilePath').setValue('');\r\n }\r\n \r\n \r\n Swal.fire(\"Invalid document type selected or the document resolution is very low to read the data.\",\r\n \"Please upload another clean copy and try. Sorry for the inconvenience.\", \"error\");\r\n return false;\r\n }\r\n \r\n if (this.document_data.DocumentType == 'Emirates-Id' && this.document_data.DocumentSubType == 'Front') {\r\n // console.log('sdfhsfsjffsfs');\r\n this.getEmiratesIdData(1, this.document_data);\r\n }\r\n else if (this.document_data.DocumentType == 'Emirates-Id' && this.document_data.DocumentSubType == 'Back') {\r\n \r\n this.getEmiratesIdData(2, this.document_data);\r\n }\r\n \r\n \r\n \r\n \r\n else if (this.document_data.DocumentType == 'Emirates-Id' && this.document_data.DocumentSubType == 'Both') {\r\n \r\n this.getEmiratesIdData(1, this.document_data);\r\n this.getEmiratesIdData(2, this.document_data);\r\n }\r\n \r\n \r\n }\r\n \r\n if (updateMemResponse.response_code == 5) {\r\n this.showLoader.reg_card_front = false;\r\n this.showLoader.reg_card_back = false;\r\n this.showLoader.emirates_Id_front = false;\r\n this.showLoader.emirates_Id_back = false;\r\n this.showLoader.driving_Lic_front = false;\r\n this.showLoader.driving_Lic_back = false;\r\n Swal.fire(\"Please select valid file format.\", \"only .pdf, .jpg, .png and .jpeg file formats allowed.\", 'error');\r\n }\r\n \r\n if (updateMemResponse.response_code == 6) {\r\n this.showLoader.reg_card_front = false;\r\n this.showLoader.reg_card_back = false;\r\n this.showLoader.emirates_Id_front = false;\r\n this.showLoader.emirates_Id_back = false;\r\n this.showLoader.driving_Lic_front = false;\r\n this.showLoader.driving_Lic_back = false;\r\n Swal.fire(updateMemResponse.response_status);\r\n }\r\n \r\n })\r\n }\r\n \r\n \r\n \r\n } \r\n getEmiratesIdData(type, docData) {\r\n\r\n if (type == 1) {\r\n // console.log('eid');\r\n this.document_data.Data = docData.Data != '' ? docData.Data : this.document_data.Data;\r\n \r\n // if(this.document_data.Data['ID Number']==\"Not Found\" && this.document_data.Data['ID-NumberInArabic']!=''){ alert(1);\r\n // this.motorQuoteService.translateInEnglish(this.document_data.Data['ID-NumberInArabic']).subscribe(res => {\r\n \r\n // });\r\n // }\r\n \r\n \r\n \r\n if (this.document_data.Data['ID Number'] == \"Not Found\") {\r\n this.insuredDetailForm.get('e_eid').setValue('');\r\n } else{\r\n this.insuredDetailForm.get('e_eid').setValue(this.document_data.Data['ID Number']);\r\n this.checkEID(this.document_data.Data['ID Number'])\r\n // console.log(this.insuredDetailForm.value.e_eid);\r\n }\r\n \r\n if(this.document_data.Data['Name'] == \"Not Found\" ){\r\n \r\n this.insuredDetailForm.get('e_name').setValue('');\r\n \r\n } else{ \r\n this.insuredDetailForm.get('e_name').setValue(this.document_data.Data['Name']); \r\n this.linkedDetails.get('insuredname').setValue(this.document_data.Data['Name']); \r\n }\r\n \r\n \r\n // Nationality\r\n let nationality = this.document_data.Data['Nationality'];\r\n console.log(nationality)\r\n var indexNationality = this.countryArr.findIndex(function (obj, k) {\r\n \r\n return obj.CountryName === nationality;\r\n });\r\n console.log(indexNationality)\r\n let nationalVal = this.countryArr[indexNationality];\r\n this.insuredDetailForm.get('e_nationality').setValue(nationalVal);\r\n \r\n }\r\n \r\n if (type == 2) {\r\n this.document_data.Data = docData.Data != '' ? docData.Data : this.document_data.Data;\r\n \r\n let dateDob: string = this.document_data.Data['Date of Birth'];\r\n dateDob = dateDob.replace(/-/gi, \"/\");\r\n \r\n let dateExp: string = this.document_data.Data['Expiry Date'];\r\n dateExp = dateExp.replace(/-/gi, \"/\");\r\n \r\n //this.insuredDetailForm.get('e_cardNumber').setValue(this.document_data.Data['Card Number']);\r\n this.insuredDetailForm.get('e_expiryDate').setValue(this.dateConvert(dateExp));\r\n \r\n let gender = this.document_data.Data['Sex']\r\n //Gender\r\n var indexGender = this.genders.findIndex(function (obj, k) {\r\n return obj.value === gender;\r\n });\r\n let gnderVal = this.genders[indexGender];\r\n this.insuredDetailForm.get('e_gender').setValue(gnderVal);\r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n }\r\n\r\n dateConvert(inputFormat) {\r\n\r\n let vDOEntryArray = inputFormat.split('/');\r\n let DOEntry = new Date();\r\n DOEntry.setDate(vDOEntryArray[0]);\r\n DOEntry.setMonth(vDOEntryArray[1] - 1);\r\n DOEntry.setFullYear(vDOEntryArray[2]);\r\n \r\n return DOEntry;\r\n \r\n }\r\n \r\n\r\n //------------------------------- VALIDATION FOR EMIRATES ID ----------------------------------------------//\r\n checkEID(value) {\r\n value = this.insuredDetailForm.value.e_eid;\r\n this.value = value;\r\n \r\n\r\n this.value = this.value.replace(/-/g, \"\");\r\n if (/[^0-9-]+/.test(this.value))\r\n this.invalidEID = true;\r\n\r\n\r\n if (this.value.length != 15) {\r\n \r\n this.invalidEID = true;\r\n // this.insuredDetailForm.get(\"eIDCheck\").setValue('');\r\n return this.invalidEID;\r\n }\r\n if (this.value == \"111111111111111\" || this.value == \"000000000000000\" || this.value == \"222222222222222\" || this.value == \"333333333333333\") {\r\n this.invalidEID = false;\r\n this.insuredDetailForm.get(\"eIDCheck\").setValue('1');\r\n \r\n return this.invalidEID;\r\n }\r\n\r\n else {\r\n //The Luhn Algorithm.\r\n var nCheck = 0, nDigit = 0, bEven = false;\r\n this.value = this.value.replace(/\\D/g, \"\");\r\n\r\n\r\n //784-1982-6961498-2\r\n\r\n for (let n = this.value.length - 1; n >= 0; n--) {\r\n\r\n var cDigit = this.value.charAt; nDigit = parseInt(this.value[n]);\r\n\r\n if (bEven) {\r\n if ((nDigit *= 2) > 9)\r\n nDigit -= 9;\r\n }\r\n\r\n nCheck += nDigit;\r\n bEven = !bEven;\r\n\r\n\r\n\r\n }\r\n\r\n if ((nCheck % 10) == 0) {\r\n //if valid, ok, check next\r\n this.invalidEID = false;\r\n // this.insuredDetailForm.get(\"eIDCheck\").setValue(1);\r\n \r\n return this.invalidEID;\r\n\r\n }\r\n else {\r\n this.invalidEID = true;\r\n // this.insuredDetailForm.get(\"eIDCheck\").setValue('');\r\n \r\n return this.invalidEID;\r\n //alert('Invalid Emirates ID. Please enter valid emirates Id including (-) dash/hypen.');\r\n }\r\n\r\n\r\n\r\n }\r\n\r\n}\r\n //--------------------------------- GET ALL FORM DROPDOWN DATA -----------------------------\r\n getAllFormData(year) {\r\n this.motorQuoteService.getAllFormData('COMPREHENSIVE', 'INDIVIDUAL', '0', this.language_code, this.country,year).subscribe(res => {\r\n\r\n this.cityArr = res.cityData;\r\n this.vhclColorArr = res.vehicleColorsData;\r\n this.countryArr = res.countryData;\r\n \r\n\r\n\r\n \r\n\r\n \r\n // this.personalDetailForm.get(\"licIssueContry\").setValue(this.countryArr[32]);\r\n\r\n\r\n // this.additionalDetailForm.get(\"nationality\").setValue(this.countryArr[32]);\r\n \r\n\r\n });\r\n\r\n this.motorQuoteService.getBankDetail().subscribe(res => {\r\n\r\n // this.bankDetail = res.bankdetailsData;\r\n // this.filteredBank.next(this.bankDetail.slice());\r\n\r\n });\r\n}\r\nVerifyKYC(ProgressModel){\r\n this.verifyotploader = true;\r\n if(this.insuredDetailForm.invalid){\r\n this.insuredDetailForm.markAllAsTouched();\r\n this.verifyotploader = false;\r\n return false\r\n }\r\n this.progressModel = ProgressModel;\r\n this.motorQuoteService.sendotp(this.insuredDetailForm.value.adtnl_detail_email).subscribe(result=>{\r\n if(result.response_code == 1){\r\n this.verifyotploader = false;\r\n ProgressModel.show();\r\n }\r\n \r\n })\r\n \r\n}\r\n\r\n// ----------------------------------Verify Otp------------------------------\r\nverifyOtp(){\r\n this.verifyotploader1 = true;\r\n this.motorQuoteService.verifyOtp(this.insuredDetailForm.value.adtnl_detail_email,this.otp).subscribe(result=>{\r\n if(result.response_code == 1){\r\n this.stepper.next();\r\n this.ProgressModel.hide();\r\n this.verifyotploader1 = false;\r\n }else{\r\n this.wrongotp = true;\r\n this.verifyotploader1 = false;\r\n }\r\n\r\n })\r\n}\r\n\r\nprocessDocument(stepper){\r\n console.log(stepper)\r\n if(this.docUploadForm.invalid){\r\n Swal.fire(\"\", \"Please upload the Documents\", 'error'); \r\n\r\n }else{\r\n\r\n\r\n stepper.next();\r\n}\r\n}\r\n\r\nlinked(){\r\n this.motorQuoteService.linkedpolicy(this.linkedDetails.value.insuredname,this.linkedDetails.value.policy_number,this.convertDate(this.linkedDetails.value.policy_exp_date)).subscribe(result=>{\r\n if(result.response_code == 1){\r\n Swal.fire(\"\", \"Policy Linked Successfully\", \"success\");\r\n this.datalinked = result.response_data;\r\n this.datalinkedloader =false;\r\n\r\n }else{\r\n this.datalinkedloader =true;\r\n Swal.fire(\"\", \"Invalid credentials. Please contact Fidelity United at 800 842\", \"error\");\r\n }\r\n\r\n })\r\n}\r\n//----------- CONVERT DATE INTO DD/MM/YYYY FORMAT ------------//\r\nconvertDate(inputFormat) {\r\n function pad(s) { return (s < 10) ? '0' + s : s; }\r\n var d = new Date(inputFormat);\r\n //return ([ d.getFullYear(),pad(d.getMonth()+1),pad(d.getDate())].join('-'));\r\n return ([pad(d.getDate()), pad(d.getMonth() + 1), d.getFullYear()].join('-'));\r\n\r\n}\r\n\r\n}\r\n","export default \".bg-winner {\\n background-image: url('nisancar-3.png');\\n background-size: cover;\\n background-position: center;\\n background-repeat: no-repeat;\\n position: fixed;\\n top: 0;\\n width: 100%;\\n height: 100%;\\n}\\n\\n.centr-card {\\n position: absolute;\\n top: 25%;\\n left: 25%;\\n transform: translate(-50%, -50%);\\n}\\n\\n.card-loadder {\\n position: absolute;\\n top: 45%;\\n left: 25%;\\n transform: translate(-50%, -50%);\\n}\\n\\n.act-icon span {\\n color: #7373b4 !important;\\n font-size: 12px;\\n vertical-align: middle;\\n}\\n\\n.act-title {\\n color: #1b3b71 !important;\\n font-size: 15px;\\n font-weight: 500;\\n padding-top: 3px;\\n margin-bottom: 10px;\\n}\\n\\n.nw-card {\\n padding: 35px 35px;\\n width: 90%;\\n margin: auto;\\n}\\n\\n.bl-head h3 {\\n color: #fff !important;\\n font-weight: bold !important;\\n margin-bottom: 25px;\\n text-align: center;\\n}\\n\\n.sub-para {\\n text-align: justify;\\n padding: 20px 0px;\\n color: gray;\\n text-transform: capitalize;\\n font-size: 14px;\\n font-weight: 500;\\n}\\n\\n.or {\\n border-left: 1px solid #dbdbdb;\\n height: 100%;\\n position: absolute;\\n left: 50%;\\n}\\n\\n.or span {\\n color: #1b3b71;\\n font-weight: 500;\\n position: absolute;\\n z-index: 10;\\n top: 47%;\\n left: 50%;\\n margin: 0;\\n padding: 0;\\n width: auto;\\n text-align: center;\\n text-transform: uppercase;\\n transform: translateX(-50%);\\n background: white;\\n height: 25px;\\n}\\n\\n.p-0 {\\n padding: 0px !important;\\n}\\n\\n.p-35 {\\n padding: 35px 35px;\\n}\\n\\n.doc-lable {\\n display: flex;\\n margin: 10px 0px;\\n}\\n\\n.ch-lble {\\n font-size: 15px;\\n font-weight: bold;\\n color: #1f3e7b;\\n margin: 0px 0px 15px 0px !important;\\n}\\n\\n.doc-lable h4 {\\n margin: 0px 5px !important;\\n}\\n\\n.get-btn {\\n border-top: 1px solid #e3e3e3;\\n padding-top: 1em;\\n}\\n\\n@media only screen and (max-width: 767px) {\\n .or span {\\n height: 23px;\\n width: 35px;\\n margin-top: -10px;\\n }\\n\\n .or {\\n border-bottom: 1px solid #dbdbdb;\\n width: 100%;\\n position: absolute;\\n left: 0%;\\n top: 37px;\\n }\\n\\n .get-btn {\\n border-top: 0;\\n padding-top: 1em;\\n }\\n\\n .centr-card {\\n position: absolute;\\n top: 62% !important;\\n left: 50%;\\n transform: translate(-50%, -50%);\\n }\\n\\n .custombtncss {\\n box-shadow: none !important;\\n }\\n}\\n\\n@media only screen and (min-width: 411px) and (max-width: 731px) {\\n .centr-card {\\n position: absolute;\\n top: 55% !important;\\n left: 50%;\\n transform: translate(-50%, -50%);\\n }\\n\\n .custombtncss {\\n box-shadow: none !important;\\n }\\n}\\n\\n@media only screen and (min-device-width: 375px) and (max-device-height: 812px) and (-webkit-device-pixel-ratio: 3) {\\n .centr-card {\\n position: absolute;\\n top: 55% !important;\\n left: 50%;\\n transform: translate(-50%, -50%);\\n }\\n\\n .custombtncss {\\n box-shadow: none !important;\\n }\\n}\\n\\n@media only screen and (max-width: 600px) {\\n .custombtncss {\\n box-shadow: none !important;\\n }\\n\\n .centr-card .card .card-header .card-title {\\n font-size: 14px;\\n }\\n\\n .bg-ocr {\\n overflow: scroll;\\n }\\n\\n .rs-screen {\\n height: 100px;\\n padding-top: 60px;\\n }\\n\\n .doc-lable {\\n margin: 5px 0px !important;\\n }\\n}\\n\\n.ml4 {\\n position: relative;\\n font-weight: 900;\\n font-size: 4.5em;\\n}\\n\\n.ml4 .letters {\\n position: absolute;\\n margin: auto;\\n left: 0;\\n top: 0.3em;\\n right: 0;\\n opacity: 0;\\n}\\n\\n.checkmark-circle {\\n width: 150px;\\n height: 150px;\\n position: relative;\\n display: inline-block;\\n vertical-align: top;\\n margin-left: auto;\\n margin-right: auto;\\n}\\n\\n.checkmark-circle .background {\\n width: 150px;\\n height: 150px;\\n border-radius: 50%;\\n background: #00C09D;\\n position: absolute;\\n}\\n\\n.checkmark-circle .checkmark {\\n border-radius: 5px;\\n}\\n\\n.checkmark-circle .checkmark.draw:after {\\n -webkit-animation-delay: 100ms;\\n animation-delay: 100ms;\\n -webkit-animation-duration: 3s;\\n animation-duration: 3s;\\n -webkit-animation-timing-function: ease;\\n animation-timing-function: ease;\\n -webkit-animation-name: checkmark;\\n animation-name: checkmark;\\n transform: scaleX(-1) rotate(135deg);\\n -webkit-animation-fill-mode: forwards;\\n animation-fill-mode: forwards;\\n}\\n\\n.checkmark-circle .checkmark:after {\\n opacity: 1;\\n height: 91px;\\n width: 50.5px;\\n transform-origin: left top;\\n border-right: 15px solid white;\\n border-top: 15px solid white;\\n border-radius: 2.5px !important;\\n content: \\\"\\\";\\n left: 25px;\\n top: 75px;\\n position: absolute;\\n}\\n\\n@-webkit-keyframes confetti-slow {\\n 0% {\\n transform: translate3d(0, 0, 0) rotateX(0) rotateY(0);\\n }\\n 100% {\\n transform: translate3d(25px, 105vh, 0) rotateX(360deg) rotateY(180deg);\\n }\\n}\\n\\n@keyframes confetti-slow {\\n 0% {\\n transform: translate3d(0, 0, 0) rotateX(0) rotateY(0);\\n }\\n 100% {\\n transform: translate3d(25px, 105vh, 0) rotateX(360deg) rotateY(180deg);\\n }\\n}\\n\\n@-webkit-keyframes confetti-medium {\\n 0% {\\n transform: translate3d(0, 0, 0) rotateX(0) rotateY(0);\\n }\\n 100% {\\n transform: translate3d(100px, 105vh, 0) rotateX(100deg) rotateY(360deg);\\n }\\n}\\n\\n@keyframes confetti-medium {\\n 0% {\\n transform: translate3d(0, 0, 0) rotateX(0) rotateY(0);\\n }\\n 100% {\\n transform: translate3d(100px, 105vh, 0) rotateX(100deg) rotateY(360deg);\\n }\\n}\\n\\n@-webkit-keyframes confetti-fast {\\n 0% {\\n transform: translate3d(0, 0, 0) rotateX(0) rotateY(0);\\n }\\n 100% {\\n transform: translate3d(-50px, 105vh, 0) rotateX(10deg) rotateY(250deg);\\n }\\n}\\n\\n@keyframes confetti-fast {\\n 0% {\\n transform: translate3d(0, 0, 0) rotateX(0) rotateY(0);\\n }\\n 100% {\\n transform: translate3d(-50px, 105vh, 0) rotateX(10deg) rotateY(250deg);\\n }\\n}\\n\\n.container {\\n width: 100vw;\\n height: 100vh;\\n background: #ffffff;\\n border: 1px solid white;\\n display: fixed;\\n top: 0px;\\n}\\n\\n.confetti-container {\\n perspective: 700px;\\n position: absolute;\\n overflow: hidden;\\n top: 0;\\n right: 0;\\n bottom: 0;\\n left: 0;\\n}\\n\\n.confetti {\\n position: absolute;\\n z-index: 1;\\n top: -10px;\\n border-radius: 0%;\\n}\\n\\n.confetti--animation-slow {\\n -webkit-animation: confetti-slow 2.25s linear 1 forwards;\\n animation: confetti-slow 2.25s linear 1 forwards;\\n}\\n\\n.confetti--animation-medium {\\n -webkit-animation: confetti-medium 1.75s linear 1 forwards;\\n animation: confetti-medium 1.75s linear 1 forwards;\\n}\\n\\n.confetti--animation-fast {\\n -webkit-animation: confetti-fast 1.25s linear 1 forwards;\\n animation: confetti-fast 1.25s linear 1 forwards;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvd2lubmVyL0M6XFxVc2Vyc1xcYW5qdS52aXN3YW5hdGhcXHNvdXJjZVxccmVwb3NcXEIyQ1BvcnRhbF9CcmFuY2hlc1xcUHJvZC9zcmNcXGFwcFxcd2lubmVyXFx3aW5uZXIuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL3dpbm5lci93aW5uZXIuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDSSx1Q0FBQTtFQUNBLHNCQUFBO0VBQ0EsMkJBQUE7RUFDQSw0QkFBQTtFQUNBLGVBQUE7RUFDQSxNQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7QUNDSjs7QURJRTtFQUNFLGtCQUFBO0VBQ0EsUUFBQTtFQUNBLFNBQUE7RUFFQSxnQ0FBQTtBQ0RKOztBREdFO0VBQ0Usa0JBQUE7RUFDQSxRQUFBO0VBQ0EsU0FBQTtFQUVBLGdDQUFBO0FDQUo7O0FER0U7RUFDRSx5QkFBQTtFQUNBLGVBQUE7RUFDQSxzQkFBQTtBQ0FKOztBREVFO0VBQ0kseUJBQUE7RUFDQSxlQUFBO0VBQ0EsZ0JBQUE7RUFDQSxnQkFBQTtFQUNBLG1CQUFBO0FDQ047O0FER0U7RUFFSSxrQkFBQTtFQUNBLFVBQUE7RUFDQSxZQUFBO0FDRE47O0FER0U7RUFDSSxzQkFBQTtFQUNBLDRCQUFBO0VBQ0EsbUJBQUE7RUFDQSxrQkFBQTtBQ0FOOztBREVFO0VBQ0ksbUJBQUE7RUFDQSxpQkFBQTtFQUNBLFdBQUE7RUFDQSwwQkFBQTtFQUNBLGVBQUE7RUFDQSxnQkFBQTtBQ0NOOztBRENFO0VBQ0ksOEJBQUE7RUFDQSxZQUFBO0VBQ0Esa0JBQUE7RUFDQSxTQUFBO0FDRU47O0FEQUU7RUFDSSxjQUFBO0VBQ0EsZ0JBQUE7RUFDQSxrQkFBQTtFQUNBLFdBQUE7RUFDQSxRQUFBO0VBQ0EsU0FBQTtFQUNBLFNBQUE7RUFDQSxVQUFBO0VBQ0EsV0FBQTtFQUNBLGtCQUFBO0VBQ0EseUJBQUE7RUFDQSwyQkFBQTtFQUNBLGlCQUFBO0VBQ0EsWUFBQTtBQ0dO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VUFBQTtFQUNBLGlCQUFBO0FDMEJKOztBRHhCSTtFQUNFLHdEQUFBO1VBQUEsZ0RBQUE7QUMwQk47O0FEdkJJO0VBQ0UsMERBQUE7VUFBQSxrREFBQTtBQ3lCTjs7QUR0Qkk7RUFDRSx3REFBQTtVQUFBLGdEQUFBO0FDd0JOIiwiZmlsZSI6InNyYy9hcHAvd2lubmVyL3dpbm5lci5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5iZy13aW5uZXJ7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJhc3NldHMvaW1nL25pc2FuY2FyLTMucG5nXCIpO1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjsgXHJcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyBcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHRvcDogMDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlOyBcclxuICB9XHJcbiAgXHJcblxyXG4gIFxyXG4gIC5jZW50ci1jYXJke1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAyNSU7XHJcbiAgICBsZWZ0OjI1JTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gIH1cclxuICAuY2FyZC1sb2FkZGVye1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiA0NSU7XHJcbiAgICBsZWZ0OjI1JTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gIH1cclxuICBcclxuICAuYWN0LWljb24gc3BhbntcclxuICAgIGNvbG9yOiAjNzM3M2I0ICFpbXBvcnRhbnQ7XHJcbiAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gIH1cclxuICAuYWN0LXRpdGxle1xyXG4gICAgICBjb2xvcjogIzFiM2I3MSFpbXBvcnRhbnQ7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTVweDtcclxuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgICAgcGFkZGluZy10b3A6IDNweDtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgLy8gbWFyZ2luLXRvcDogMjFweDtcclxuICBcclxuICB9XHJcbiAgLm53LWNhcmR7XHJcbiAgICAgIC8vYm9yZGVyOiAxcHggc29saWQgIzFiM2I3MTtcclxuICAgICAgcGFkZGluZzogMzVweCAzNXB4O1xyXG4gICAgICB3aWR0aDogOTAlO1xyXG4gICAgICBtYXJnaW46IGF1dG87XHJcbiAgfVxyXG4gIC5ibC1oZWFkIGgze1xyXG4gICAgICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xyXG4gICAgICBmb250LXdlaWdodDogYm9sZCFpbXBvcnRhbnQ7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICB9XHJcbiAgLnN1Yi1wYXJhe1xyXG4gICAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xyXG4gICAgICBwYWRkaW5nOiAyMHB4IDBweDtcclxuICAgICAgY29sb3I6IGdyYXk7XHJcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xyXG4gICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgfVxyXG4gIC5vcntcclxuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCNkYmRiZGI7XHJcbiAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICBsZWZ0OiA1MCU7XHJcbiAgfVxyXG4gIC5vciBzcGFue1xyXG4gICAgICBjb2xvcjogIzFiM2I3MTtcclxuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB6LWluZGV4OiAxMDtcclxuICAgICAgdG9wOiA0NyU7XHJcbiAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICB3aWR0aDogYXV0bztcclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xyXG4gICAgICBoZWlnaHQ6IDI1cHg7XHJcbiAgfVxyXG4gIC5wLTB7XHJcbiAgICBwYWRkaW5nOiAwcHghaW1wb3J0YW50O1xyXG4gIH1cclxuICAucC0zNXtcclxuICAgIHBhZGRpbmc6IDM1cHggMzVweDtcclxuICB9XHJcbiAgLmRvYy1sYWJsZXtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBtYXJnaW46IDEwcHggMHB4O1xyXG4gIH1cclxuICAuY2gtbGJsZXtcclxuICAgIGZvbnQtc2l6ZTogMTVweDtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgY29sb3I6ICMxZjNlN2I7XHJcbiAgICBtYXJnaW46IDBweCAwcHggMTVweCAwcHghaW1wb3J0YW50O1xyXG4gIH1cclxuICAuZG9jLWxhYmxlIGg0e1xyXG4gICAgbWFyZ2luOiAwcHggNXB4IWltcG9ydGFudDtcclxuICB9XHJcbiAgLmdldC1idG57XHJcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2UzZTNlMztcclxuICAgIHBhZGRpbmctdG9wOiAxZW07XHJcbiAgfVxyXG4gIFxyXG4gIFxyXG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcclxuICAgIC5vciBzcGFue1xyXG4gICAgICBoZWlnaHQ6IDIzcHg7XHJcbiAgICAgIHdpZHRoOiAzNXB4O1xyXG4gICAgICBtYXJnaW4tdG9wOiAtMTBweDtcclxuICAgIH1cclxuICAgIC5vcntcclxuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkYmRiZGI7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIGxlZnQ6IDAlO1xyXG4gICAgICB0b3A6IDM3cHg7XHJcbiAgICB9XHJcbiAgICAuZ2V0LWJ0bntcclxuICAgICAgYm9yZGVyLXRvcDogMDtcclxuICAgICAgcGFkZGluZy10b3A6IDFlbTtcclxuICB9XHJcbiAgLmNlbnRyLWNhcmR7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDYyJSFpbXBvcnRhbnQ7XHJcbiAgICBsZWZ0OiA1MCU7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICB9XHJcbiAgLmN1c3RvbWJ0bmNzc3tcclxuICAgIGJveC1zaGFkb3c6IG5vbmUhaW1wb3J0YW50O1xyXG4gIH1cclxuICB9XHJcbiAgXHJcbiAgXHJcbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MTFweCkgYW5kIChtYXgtd2lkdGg6IDczMXB4KSB7XHJcbiAgICAuY2VudHItY2FyZHtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB0b3A6IDU1JSFpbXBvcnRhbnQ7XHJcbiAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgIH1cclxuICAgIC5jdXN0b21idG5jc3N7XHJcbiAgICAgIGJveC1zaGFkb3c6IG5vbmUhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4tZGV2aWNlLXdpZHRoOiAzNzVweCkgYW5kIChtYXgtZGV2aWNlLWhlaWdodDogODEycHgpIGFuZCAoLXdlYmtpdC1kZXZpY2UtcGl4ZWwtcmF0aW86IDMpIHtcclxuICAgIC5jZW50ci1jYXJke1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHRvcDogNTUlIWltcG9ydGFudDtcclxuICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgfVxyXG4gICAgLmN1c3RvbWJ0bmNzc3tcclxuICAgICAgYm94LXNoYWRvdzogbm9uZSFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgIH1cclxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XHJcbiAgICAuY3VzdG9tYnRuY3Nze1xyXG4gICAgICBib3gtc2hhZG93OiBub25lIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgIC5jZW50ci1jYXJkIC5jYXJkIC5jYXJkLWhlYWRlciAuY2FyZC10aXRsZSB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIH1cclxuICAgIC5iZy1vY3J7XHJcbiAgICAgIG92ZXJmbG93OiBzY3JvbGw7XHJcbiAgICB9XHJcbiAgICAucnMtc2NyZWVue1xyXG4gICAgICBoZWlnaHQ6IDEwMHB4O1xyXG4gICAgICBwYWRkaW5nLXRvcDogNjBweDtcclxuICAgIH1cclxuICAgIC5kb2MtbGFibGUge1xyXG4gICAgICBtYXJnaW46IDVweCAwcHghaW1wb3J0YW50O1xyXG4gIH1cclxuICB9XHJcblxyXG4gIC5tbDQge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgZm9udC13ZWlnaHQ6IDkwMDtcclxuICAgIGZvbnQtc2l6ZTogNC41ZW07XHJcbiAgfVxyXG4gIC5tbDQgLmxldHRlcnMge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHRvcDogMC4zZW07XHJcbiAgICByaWdodDogMDtcclxuICAgIG9wYWNpdHk6IDA7IFxyXG4gIH1cclxuXHJcbiAgLmNoZWNrbWFyay1jaXJjbGUge1xyXG4gICAgd2lkdGg6IDE1MHB4O1xyXG4gICAgaGVpZ2h0OiAxNTBweDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgIG1hcmdpbi1yaWdodDogYXV0bztcclxuICB9XHJcbiAgLmNoZWNrbWFyay1jaXJjbGUgLmJhY2tncm91bmQge1xyXG4gICAgd2lkdGg6IDE1MHB4O1xyXG4gICAgaGVpZ2h0OiAxNTBweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgIGJhY2tncm91bmQ6ICMwMEMwOUQ7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgfVxyXG4gIC5jaGVja21hcmstY2lyY2xlIC5jaGVja21hcmsge1xyXG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xyXG4gIH1cclxuICAuY2hlY2ttYXJrLWNpcmNsZSAuY2hlY2ttYXJrLmRyYXc6YWZ0ZXIge1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IDEwMG1zO1xyXG4gICAgLW1vei1hbmltYXRpb24tZGVsYXk6IDEwMG1zO1xyXG4gICAgYW5pbWF0aW9uLWRlbGF5OiAxMDBtcztcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAzcztcclxuICAgIC1tb3otYW5pbWF0aW9uLWR1cmF0aW9uOiAzcztcclxuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogM3M7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2U7XHJcbiAgICAtbW96LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2U7XHJcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogY2hlY2ttYXJrO1xyXG4gICAgLW1vei1hbmltYXRpb24tbmFtZTogY2hlY2ttYXJrO1xyXG4gICAgYW5pbWF0aW9uLW5hbWU6IGNoZWNrbWFyaztcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVgoLTEpIHJvdGF0ZSgxMzVkZWcpO1xyXG4gICAgLW1vei10cmFuc2Zvcm06IHNjYWxlWCgtMSkgcm90YXRlKDEzNWRlZyk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZVgoLTEpIHJvdGF0ZSgxMzVkZWcpO1xyXG4gICAgLW8tdHJhbnNmb3JtOiBzY2FsZVgoLTEpIHJvdGF0ZSgxMzVkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZVgoLTEpIHJvdGF0ZSgxMzVkZWcpO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcclxuICAgIC1tb3otYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XHJcbiAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcclxuICB9XHJcbiAgLmNoZWNrbWFyay1jaXJjbGUgLmNoZWNrbWFyazphZnRlciB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgaGVpZ2h0OiA5MXB4O1xyXG4gICAgd2lkdGg6IDUwLjVweDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCB0b3A7XHJcbiAgICAtbW96LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgdG9wO1xyXG4gICAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgdG9wO1xyXG4gICAgLW8tdHJhbnNmb3JtLW9yaWdpbjogbGVmdCB0b3A7XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IHRvcDtcclxuICAgIGJvcmRlci1yaWdodDogMTVweCBzb2xpZCB3aGl0ZTtcclxuICAgIGJvcmRlci10b3A6IDE1cHggc29saWQgd2hpdGU7XHJcbiAgICBib3JkZXItcmFkaXVzOiAyLjVweCAhaW1wb3J0YW50O1xyXG4gICAgY29udGVudDogJyc7XHJcbiAgICBsZWZ0OiAyNXB4O1xyXG4gICAgdG9wOiA3NXB4O1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIH1cclxuXHJcbiAgQGtleWZyYW1lcyBjb25mZXR0aS1zbG93IHtcclxuICAgIDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKSByb3RhdGVYKDApIHJvdGF0ZVkoMCk7IH1cclxuICAgIFxyXG4gICAgMTAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjVweCwgMTA1dmgsIDApIHJvdGF0ZVgoMzYwZGVnKSByb3RhdGVZKDE4MGRlZyk7IH1cclxuICB9XHJcbiAgXHJcbiAgQGtleWZyYW1lcyBjb25mZXR0aS1tZWRpdW0ge1xyXG4gICAgMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApIHJvdGF0ZVgoMCkgcm90YXRlWSgwKTsgfVxyXG4gICAgXHJcbiAgICAxMDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDBweCwgMTA1dmgsIDApIHJvdGF0ZVgoMTAwZGVnKSByb3RhdGVZKDM2MGRlZyk7IH1cclxuICB9XHJcbiAgXHJcbiAgQGtleWZyYW1lcyBjb25mZXR0aS1mYXN0IHtcclxuICAgIDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKSByb3RhdGVYKDApIHJvdGF0ZVkoMCk7IH1cclxuICAgIFxyXG4gICAgMTAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwcHgsIDEwNXZoLCAwKSByb3RhdGVYKDEwZGVnKSByb3RhdGVZKDI1MGRlZyk7IH1cclxuICB9XHJcbiAgXHJcbiAgLmNvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogMTAwdnc7XHJcbiAgICBoZWlnaHQ6IDEwMHZoO1xyXG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcclxuICAgIGJvcmRlcjoxcHggc29saWQgd2hpdGU7XHJcbiAgICBkaXNwbGF5OmZpeGVkO1xyXG4gICAgdG9wOjBweDtcclxuICB9XHJcbiAgXHJcbiAgLmNvbmZldHRpLWNvbnRhaW5lciB7XHJcbiAgICBwZXJzcGVjdGl2ZTogNzAwcHg7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gIH1cclxuICBcclxuICAuY29uZmV0dGkge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgei1pbmRleDogMTtcclxuICAgIHRvcDogLTEwcHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiAwJTtcclxuICBcclxuICAgICYtLWFuaW1hdGlvbi1zbG93IHtcclxuICAgICAgYW5pbWF0aW9uOiBjb25mZXR0aS1zbG93IDIuMjVzIGxpbmVhciAxIGZvcndhcmRzO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICAmLS1hbmltYXRpb24tbWVkaXVtIHtcclxuICAgICAgYW5pbWF0aW9uOiBjb25mZXR0aS1tZWRpdW0gMS43NXMgbGluZWFyIDEgZm9yd2FyZHM7XHJcbiAgICB9XHJcbiAgICBcclxuICAgICYtLWFuaW1hdGlvbi1mYXN0IHtcclxuICAgICAgYW5pbWF0aW9uOiBjb25mZXR0aS1mYXN0IDEuMjVzIGxpbmVhciAxIGZvcndhcmRzO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgXHJcbiAgXHJcbiAgXHJcbiAgXHJcbiAgXHJcbiAgIiwiLmJnLXdpbm5lciB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImFzc2V0cy9pbWcvbmlzYW5jYXItMy5wbmdcIik7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5jZW50ci1jYXJkIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDI1JTtcbiAgbGVmdDogMjUlO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xufVxuXG4uY2FyZC1sb2FkZGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDQ1JTtcbiAgbGVmdDogMjUlO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xufVxuXG4uYWN0LWljb24gc3BhbiB7XG4gIGNvbG9yOiAjNzM3M2I0ICFpbXBvcnRhbnQ7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLmFjdC10aXRsZSB7XG4gIGNvbG9yOiAjMWIzYjcxICFpbXBvcnRhbnQ7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgcGFkZGluZy10b3A6IDNweDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cblxuLm53LWNhcmQge1xuICBwYWRkaW5nOiAzNXB4IDM1cHg7XG4gIHdpZHRoOiA5MCU7XG4gIG1hcmdpbjogYXV0bztcbn1cblxuLmJsLWhlYWQgaDMge1xuICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xuICBmb250LXdlaWdodDogYm9sZCAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5zdWItcGFyYSB7XG4gIHRleHQtYWxpZ246IGp1c3RpZnk7XG4gIHBhZGRpbmc6IDIwcHggMHB4O1xuICBjb2xvcjogZ3JheTtcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLm9yIHtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZGJkYmRiO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogNTAlO1xufVxuXG4ub3Igc3BhbiB7XG4gIGNvbG9yOiAjMWIzYjcxO1xuICBmb250LXdlaWdodDogNTAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEwO1xuICB0b3A6IDQ3JTtcbiAgbGVmdDogNTAlO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIHdpZHRoOiBhdXRvO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG4gIGhlaWdodDogMjVweDtcbn1cblxuLnAtMCB7XG4gIHBhZGRpbmc6IDBweCAhaW1wb3J0YW50O1xufVxuXG4ucC0zNSB7XG4gIHBhZGRpbmc6IDM1cHggMzVweDtcbn1cblxuLmRvYy1sYWJsZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbjogMTBweCAwcHg7XG59XG5cbi5jaC1sYmxlIHtcbiAgZm9udC1zaXplOiAxNXB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICMxZjNlN2I7XG4gIG1hcmdpbjogMHB4IDBweCAxNXB4IDBweCAhaW1wb3J0YW50O1xufVxuXG4uZG9jLWxhYmxlIGg0IHtcbiAgbWFyZ2luOiAwcHggNXB4ICFpbXBvcnRhbnQ7XG59XG5cbi5nZXQtYnRuIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlM2UzZTM7XG4gIHBhZGRpbmctdG9wOiAxZW07XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLm9yIHNwYW4ge1xuICAgIGhlaWdodDogMjNweDtcbiAgICB3aWR0aDogMzVweDtcbiAgICBtYXJnaW4tdG9wOiAtMTBweDtcbiAgfVxuXG4gIC5vciB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkYmRiZGI7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDAlO1xuICAgIHRvcDogMzdweDtcbiAgfVxuXG4gIC5nZXQtYnRuIHtcbiAgICBib3JkZXItdG9wOiAwO1xuICAgIHBhZGRpbmctdG9wOiAxZW07XG4gIH1cblxuICAuY2VudHItY2FyZCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNjIlICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogNTAlO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgfVxuXG4gIC5jdXN0b21idG5jc3Mge1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MTFweCkgYW5kIChtYXgtd2lkdGg6IDczMXB4KSB7XG4gIC5jZW50ci1jYXJkIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1NSUgIWltcG9ydGFudDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICB9XG5cbiAgLmN1c3RvbWJ0bmNzcyB7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4tZGV2aWNlLXdpZHRoOiAzNzVweCkgYW5kIChtYXgtZGV2aWNlLWhlaWdodDogODEycHgpIGFuZCAoLXdlYmtpdC1kZXZpY2UtcGl4ZWwtcmF0aW86IDMpIHtcbiAgLmNlbnRyLWNhcmQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDU1JSAhaW1wb3J0YW50O1xuICAgIGxlZnQ6IDUwJTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIH1cblxuICAuY3VzdG9tYnRuY3NzIHtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgLmN1c3RvbWJ0bmNzcyB7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmNlbnRyLWNhcmQgLmNhcmQgLmNhcmQtaGVhZGVyIC5jYXJkLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gIH1cblxuICAuYmctb2NyIHtcbiAgICBvdmVyZmxvdzogc2Nyb2xsO1xuICB9XG5cbiAgLnJzLXNjcmVlbiB7XG4gICAgaGVpZ2h0OiAxMDBweDtcbiAgICBwYWRkaW5nLXRvcDogNjBweDtcbiAgfVxuXG4gIC5kb2MtbGFibGUge1xuICAgIG1hcmdpbjogNXB4IDBweCAhaW1wb3J0YW50O1xuICB9XG59XG4ubWw0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmb250LXdlaWdodDogOTAwO1xuICBmb250LXNpemU6IDQuNWVtO1xufVxuXG4ubWw0IC5sZXR0ZXJzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW46IGF1dG87XG4gIGxlZnQ6IDA7XG4gIHRvcDogMC4zZW07XG4gIHJpZ2h0OiAwO1xuICBvcGFjaXR5OiAwO1xufVxuXG4uY2hlY2ttYXJrLWNpcmNsZSB7XG4gIHdpZHRoOiAxNTBweDtcbiAgaGVpZ2h0OiAxNTBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi5jaGVja21hcmstY2lyY2xlIC5iYWNrZ3JvdW5kIHtcbiAgd2lkdGg6IDE1MHB4O1xuICBoZWlnaHQ6IDE1MHB4O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJhY2tncm91bmQ6ICMwMEMwOUQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cblxuLmNoZWNrbWFyay1jaXJjbGUgLmNoZWNrbWFyayB7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbn1cblxuLmNoZWNrbWFyay1jaXJjbGUgLmNoZWNrbWFyay5kcmF3OmFmdGVyIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IDEwMG1zO1xuICAtbW96LWFuaW1hdGlvbi1kZWxheTogMTAwbXM7XG4gIGFuaW1hdGlvbi1kZWxheTogMTAwbXM7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAzcztcbiAgLW1vei1hbmltYXRpb24tZHVyYXRpb246IDNzO1xuICBhbmltYXRpb24tZHVyYXRpb246IDNzO1xuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2U7XG4gIC1tb3otYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZTtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZTtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogY2hlY2ttYXJrO1xuICAtbW96LWFuaW1hdGlvbi1uYW1lOiBjaGVja21hcms7XG4gIGFuaW1hdGlvbi1uYW1lOiBjaGVja21hcms7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVgoLTEpIHJvdGF0ZSgxMzVkZWcpO1xuICAtbW96LXRyYW5zZm9ybTogc2NhbGVYKC0xKSByb3RhdGUoMTM1ZGVnKTtcbiAgLW1zLXRyYW5zZm9ybTogc2NhbGVYKC0xKSByb3RhdGUoMTM1ZGVnKTtcbiAgLW8tdHJhbnNmb3JtOiBzY2FsZVgoLTEpIHJvdGF0ZSgxMzVkZWcpO1xuICB0cmFuc2Zvcm06IHNjYWxlWCgtMSkgcm90YXRlKDEzNWRlZyk7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XG4gIC1tb3otYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xufVxuXG4uY2hlY2ttYXJrLWNpcmNsZSAuY2hlY2ttYXJrOmFmdGVyIHtcbiAgb3BhY2l0eTogMTtcbiAgaGVpZ2h0OiA5MXB4O1xuICB3aWR0aDogNTAuNXB4O1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgdG9wO1xuICAtbW96LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgdG9wO1xuICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCB0b3A7XG4gIC1vLXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgdG9wO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IHRvcDtcbiAgYm9yZGVyLXJpZ2h0OiAxNXB4IHNvbGlkIHdoaXRlO1xuICBib3JkZXItdG9wOiAxNXB4IHNvbGlkIHdoaXRlO1xuICBib3JkZXItcmFkaXVzOiAyLjVweCAhaW1wb3J0YW50O1xuICBjb250ZW50OiBcIlwiO1xuICBsZWZ0OiAyNXB4O1xuICB0b3A6IDc1cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cblxuQGtleWZyYW1lcyBjb25mZXR0aS1zbG93IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCkgcm90YXRlWCgwKSByb3RhdGVZKDApO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjVweCwgMTA1dmgsIDApIHJvdGF0ZVgoMzYwZGVnKSByb3RhdGVZKDE4MGRlZyk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgY29uZmV0dGktbWVkaXVtIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCkgcm90YXRlWCgwKSByb3RhdGVZKDApO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwcHgsIDEwNXZoLCAwKSByb3RhdGVYKDEwMGRlZykgcm90YXRlWSgzNjBkZWcpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGNvbmZldHRpLWZhc3Qge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKSByb3RhdGVYKDApIHJvdGF0ZVkoMCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTBweCwgMTA1dmgsIDApIHJvdGF0ZVgoMTBkZWcpIHJvdGF0ZVkoMjUwZGVnKTtcbiAgfVxufVxuLmNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDB2dztcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgd2hpdGU7XG4gIGRpc3BsYXk6IGZpeGVkO1xuICB0b3A6IDBweDtcbn1cblxuLmNvbmZldHRpLWNvbnRhaW5lciB7XG4gIHBlcnNwZWN0aXZlOiA3MDBweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG59XG5cbi5jb25mZXR0aSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAtMTBweDtcbiAgYm9yZGVyLXJhZGl1czogMCU7XG59XG4uY29uZmV0dGktLWFuaW1hdGlvbi1zbG93IHtcbiAgYW5pbWF0aW9uOiBjb25mZXR0aS1zbG93IDIuMjVzIGxpbmVhciAxIGZvcndhcmRzO1xufVxuLmNvbmZldHRpLS1hbmltYXRpb24tbWVkaXVtIHtcbiAgYW5pbWF0aW9uOiBjb25mZXR0aS1tZWRpdW0gMS43NXMgbGluZWFyIDEgZm9yd2FyZHM7XG59XG4uY29uZmV0dGktLWFuaW1hdGlvbi1mYXN0IHtcbiAgYW5pbWF0aW9uOiBjb25mZXR0aS1mYXN0IDEuMjVzIGxpbmVhciAxIGZvcndhcmRzO1xufSJdfQ== */\"","import { Component, OnInit } from '@angular/core';\r\nimport { MotorquoteService } from 'app/_service/motorquote.service';\r\nimport {Observable} from 'rxjs/Rx';\r\n@Component({\r\n selector: 'app-winner',\r\n templateUrl: './winner.component.html',\r\n styleUrls: ['./winner.component.scss']\r\n})\r\nexport class WinnerComponent implements OnInit {\r\n winnername: any;\r\n winnervochureno: any;\r\n message: number;\r\n value: any =5;\r\n hidelodaer: boolean =false;\r\n \r\n constructor(public motorquoteservice:MotorquoteService) { \r\n Observable.interval(1000)\r\n \r\n .map((x) => x-1)\r\n \r\n .subscribe((x) => {\r\n this.message = x;\r\n });\r\n\r\n }\r\n\r\n ngOnInit() {\r\n // $('#count-example').jQuerySimpleCounter({\r\n // start: 100,\r\n // end: 0,\r\n // });\r\n }\r\n\r\n getWinnerDetails(){\r\n // console.log(modal)\r\n this.hidelodaer =true;\r\n this.motorquoteservice.getWinnerDetails().subscribe(result=>{\r\n this.winnername =result.winnername;\r\n this.winnervochureno=result.winnervochureno;\r\n \r\n \r\n\r\n })\r\n setTimeout(() => {\r\n this.hidelodaer=false;\r\n},9000);\r\nconsole.log(this.hidelodaer)\r\n\r\n }\r\n\r\n}\r\n","// The file contents for the current environment will overwrite these during build.\r\n// The build system defaults to the dev environment which uses `environment.ts`, but if you do\r\n// `ng build --env=prod` then `environment.prod.ts` will be used instead.\r\n// The list of which env maps to which file can be found in `.angular-cli.json`.\r\n\r\nexport const environment = {\r\n production: false,\r\n apiUrl: 'https://apitest.fidelityunited.ae/index.php/', // FOR SERVER\r\n apiUrl2: 'https://apitest.fidelityunited.ae/index.php/',\r\n encKey: \"202019$#@$^@1fed\",\r\n server_name: \"https://apitest.fidelityunited.ae/index.php/\",\r\n logOutURL: 'https://onlinetest.fidelityunited.ae:8090/testportal/logout.aspx',\r\n motor_hire_purchase_clause : \"https://10.168.10.14:78/DocumentPrint/GID035.aspx?pEndtSrlNo=0&pUserLang=ENG&pLogo=Y&pOutType=pdf&pPolUid=\"\r\n};\r\n","/*!\r\n\r\n=========================================================\r\n* Material Dashboard Angular - v2.3.0\r\n=========================================================\r\n\r\n* Product Page: https://www.creative-tim.com/product/material-dashboard-angular2\r\n* Copyright 2019 Creative Tim (https://www.creative-tim.com)\r\n* Licensed under MIT (https://github.com/creativetimofficial/material-dashboard-angular2/blob/master/LICENSE.md)\r\n\r\n* Coded by Creative Tim\r\n\r\n=========================================================\r\n\r\n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\r\n\r\n*/\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\nimport 'hammerjs';\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule);\r\n"],"sourceRoot":"webpack:///"}