{"version":3,"sources":["./$_lazy_route_resource lazy namespace object","./node_modules/moment/locale sync ^\\.\\/.*$","./src/app/@core/core.module.ts","./src/app/@core/data/country-order.ts","./src/app/@core/data/earning.ts","./src/app/@core/data/electricity.ts","./src/app/@core/data/orders-chart.ts","./src/app/@core/data/orders-profit-chart.ts","./src/app/@core/data/profit-bar-animation-chart.ts","./src/app/@core/data/profit-chart.ts","./src/app/@core/data/security-cameras.ts","./src/app/@core/data/smart-table.ts","./src/app/@core/data/solar.ts","./src/app/@core/data/stats-bar.ts","./src/app/@core/data/stats-progress-bar.ts","./src/app/@core/data/temperature-humidity.ts","./src/app/@core/data/traffic-bar.ts","./src/app/@core/data/traffic-chart.ts","./src/app/@core/data/traffic-list.ts","./src/app/@core/data/user-activity.ts","./src/app/@core/data/users.ts","./src/app/@core/data/visitors-analytics.ts","./src/app/@core/mock/country-order.service.ts","./src/app/@core/mock/earning.service.ts","./src/app/@core/mock/electricity.service.ts","./src/app/@core/mock/mock-data.module.ts","./src/app/@core/mock/orders-chart.service.ts","./src/app/@core/mock/orders-profit-chart.service.ts","./src/app/@core/mock/periods.service.ts","./src/app/@core/mock/profit-bar-animation-chart.service.ts","./src/app/@core/mock/profit-chart.service.ts","./src/app/@core/mock/security-cameras.service.ts","./src/app/@core/mock/smart-table.service.ts","./src/app/@core/mock/solar.service.ts","./src/app/@core/mock/stats-bar.service.ts","./src/app/@core/mock/stats-progress-bar.service.ts","./src/app/@core/mock/temperature-humidity.service.ts","./src/app/@core/mock/traffic-bar.service.ts","./src/app/@core/mock/traffic-chart.service.ts","./src/app/@core/mock/traffic-list.service.ts","./src/app/@core/mock/user-activity.service.ts","./src/app/@core/mock/users.service.ts","./src/app/@core/mock/visitors-analytics.service.ts","./src/app/@core/module-import-guard.ts","./src/app/@core/utils/analytics.service.ts","./src/app/@core/utils/index.ts","./src/app/@core/utils/layout.service.ts","./src/app/@core/utils/player.service.ts","./src/app/@core/utils/ripple.service.ts","./src/app/@core/utils/seo.service.ts","./src/app/@core/utils/state.service.ts","./src/app/@theme/components/footer/footer.component.ts","./src/app/@theme/components/header/header.component.ts","./src/app/@theme/components/header/header.component.html","./src/app/@theme/components/index.ts","./src/app/@theme/components/layout-direction-switcher/layout-direction-switcher.component.ts","./src/app/@theme/components/switcher/switcher.component.ts","./src/app/@theme/layouts/index.ts","./src/app/@theme/layouts/one-column/one-column.layout.ts","./src/app/@theme/layouts/three-columns/three-columns.layout.ts","./src/app/@theme/layouts/two-columns/two-columns.layout.ts","./src/app/@theme/pipes/capitalize.pipe.ts","./src/app/@theme/pipes/index.ts","./src/app/@theme/pipes/number-with-commas.pipe.ts","./src/app/@theme/pipes/plural.pipe.ts","./src/app/@theme/pipes/round.pipe.ts","./src/app/@theme/pipes/timing.pipe.ts","./src/app/@theme/styles/material/theme.material-dark.ts","./src/app/@theme/styles/material/theme.material-light.ts","./src/app/@theme/styles/theme.corporate.ts","./src/app/@theme/styles/theme.cosmic.ts","./src/app/@theme/styles/theme.dark.ts","./src/app/@theme/styles/theme.default.ts","./src/app/@theme/theme.module.ts","./src/app/AccountMaster/account-link-master/account-link-master.component.ts","./src/app/AccountMaster/account-link-master/account-link-master.component.html","./src/app/AccountMaster/accountlink/accountlink.component.ts","./src/app/AccountMaster/accountlink/accountlink.component.html","./src/app/AccountMaster/add-account/add-account.component.ts","./src/app/AccountMaster/add-account/add-account.component.html","./src/app/AccountMaster/manage-account/manage-account.component.ts","./src/app/AccountMaster/manage-account/manage-account.component.html","./src/app/AccountMaster/sweep-execution/sweep-execution.component.ts","./src/app/AccountMaster/sweep-execution/sweep-execution.component.html","./src/app/Common/LoginDetail.ts","./src/app/Common/constant.ts","./src/app/Common/must-match.directive.ts","./src/app/Common/must-match.validator.ts","./src/app/CustomDirectives/numbers-only.directive.ts","./src/app/Home/error-page/error-page.component.ts","./src/app/Home/error-page/error-page.component.html","./src/app/Home/index/index.component.ts","./src/app/Home/index/index.component.html","./src/app/Home/login/login-page.component.ts","./src/app/Home/login/login-page.component.html","./src/app/Home/reset-password/reset-password.component.ts","./src/app/Home/reset-password/reset-password.component.html","./src/app/Home/sign-up/sign-up.component.ts","./src/app/Home/sign-up/sign-up.component.html","./src/app/Home/site-configuration/site-configuration.component.ts","./src/app/Home/site-configuration/site-configuration.component.html","./src/app/ManageMaster/branch-master/branch-master.component.ts","./src/app/ManageMaster/branch-master/branch-master.component.html","./src/app/ManageMaster/customer-mapping/customer-mapping.component.ts","./src/app/ManageMaster/customer-mapping/customer-mapping.component.html","./src/app/ManageMaster/customer-master/customer-master.component.ts","./src/app/ManageMaster/customer-master/customer-master.component.html","./src/app/ManageMaster/edit-branch-master/edit-branch-master.component.ts","./src/app/ManageMaster/edit-branch-master/edit-branch-master.component.html","./src/app/ManageMaster/holiday-master-setup/holiday-master-setup.component.ts","./src/app/ManageMaster/holiday-master-setup/holiday-master-setup.component.html","./src/app/ManageMaster/holiday-master/holiday-master.component.ts","./src/app/ManageMaster/holiday-master/holiday-master.component.html","./src/app/ManageMaster/manage-access/manage-access.component.ts","./src/app/ManageMaster/manage-access/manage-access.component.html","./src/app/ManageMaster/manage-branch-master/manage-branch-master.component.ts","./src/app/ManageMaster/manage-branch-master/manage-branch-master.component.html","./src/app/ManageMaster/manage-customer-master/manage-customer-master.component.ts","./src/app/ManageMaster/manage-customer-master/manage-customer-master.component.html","./src/app/ManageMaster/manage-role-master/manage-role-master.component.ts","./src/app/ManageMaster/manage-role-master/manage-role-master.component.html","./src/app/ManageMaster/manage-user-master/manage-user-master.component.ts","./src/app/ManageMaster/manage-user-master/manage-user-master.component.html","./src/app/ManageMaster/role-master/role-master.component.ts","./src/app/ManageMaster/role-master/role-master.component.html","./src/app/ManageMaster/sweep-charges-master/sweep-charges-master.component.ts","./src/app/ManageMaster/sweep-charges-master/sweep-charges-master.component.html","./src/app/ManageMaster/user-master/user-master.component.ts","./src/app/ManageMaster/user-master/user-master.component.html","./src/app/ManageMaster/view-branch-master/view-branch-master.component.ts","./src/app/ManageMaster/view-branch-master/view-branch-master.component.html","./src/app/MasterService/AccountLinkMaster.ts","./src/app/MasterService/Biz-RuleMaster.service.ts","./src/app/MasterService/Holiday.service.ts","./src/app/MasterService/Login.service.ts","./src/app/MasterService/Login.ts","./src/app/MasterService/SiteConfiguration.Service.ts","./src/app/MasterService/account-link-master.service.ts","./src/app/MasterService/account-master.service.ts","./src/app/MasterService/all-master-api.service.ts","./src/app/MasterService/auto-logout.service.ts","./src/app/MasterService/branch.service.ts","./src/app/MasterService/charges-sweep.service.ts","./src/app/MasterService/customer.service.ts","./src/app/MasterService/customvalidation.service.ts","./src/app/MasterService/encryptdecrypt.service.ts","./src/app/MasterService/fund-disbursment.service.ts","./src/app/MasterService/payments.service.ts","./src/app/MasterService/role-access.service.ts","./src/app/MasterService/role.service.ts","./src/app/MasterService/scheme-account-link.service.ts","./src/app/MasterService/scheme-master.service.ts","./src/app/MasterService/sweep-charges-model.service.ts","./src/app/MasterService/sweep-charges.ts","./src/app/MasterService/token.service.ts","./src/app/MasterService/user-customer.service.ts","./src/app/MasterService/user.service.ts","./src/app/MasterService/userauditreport.service.ts","./src/app/MasterService/validateUserName.directive.ts","./src/app/Paging/pagination.service.ts","./src/app/Reports/account-audit-report/account-audit-report.component.ts","./src/app/Reports/account-audit-report/account-audit-report.component.html","./src/app/Reports/customer-audit-report/customer-audit-report.component.ts","./src/app/Reports/customer-audit-report/customer-audit-report.component.html","./src/app/Reports/payments-report/payments-report.component.ts","./src/app/Reports/payments-report/payments-report.component.html","./src/app/Reports/rule-summary-reports/rule-summary-reports.component.ts","./src/app/Reports/rule-summary-reports/rule-summary-reports.component.html","./src/app/Reports/sweepsummaryreports/sweepsummaryreports.component.ts","./src/app/Reports/sweepsummaryreports/sweepsummaryreports.component.html","./src/app/Reports/user-audit-report/user-audit-report.component.ts","./src/app/Reports/user-audit-report/user-audit-report.component.html","./src/app/ReportsServices/payments-report.service.ts","./src/app/ReportsServices/rule-summary-reports.service.ts","./src/app/ReportsServices/sweep-surmmary-reports.service.ts","./src/app/SchemeMaster/add-rule-master/add-rule-master.component.ts","./src/app/SchemeMaster/add-rule-master/add-rule-master.component.html","./src/app/SchemeMaster/add-scheme/add-scheme.component.ts","./src/app/SchemeMaster/add-scheme/add-scheme.component.html","./src/app/SchemeMaster/manage-rule-master/manage-rule-master.component.ts","./src/app/SchemeMaster/manage-rule-master/manage-rule-master.component.html","./src/app/SchemeMaster/manage-scheme/manage-scheme.component.ts","./src/app/SchemeMaster/manage-scheme/manage-scheme.component.html","./src/app/SchemeMaster/scheme-account-link/scheme-account-link.component.ts","./src/app/SchemeMaster/scheme-account-link/scheme-account-link.component.html","./src/app/SweepManagement/add-edit-funddisbursement/add-edit-funddisbursement.component.ts","./src/app/SweepManagement/add-edit-funddisbursement/add-edit-funddisbursement.component.html","./src/app/SweepManagement/master-fund-disbursement-component/master-fund-disbursement-component.component.ts","./src/app/SweepManagement/master-fund-disbursement-component/master-fund-disbursement-component.component.html","./src/app/SweepManagement/sweepcharges-list/sweepcharges-list.component.ts","./src/app/SweepManagement/sweepcharges-list/sweepcharges-list.component.html","./src/app/UploadBranch/branch-bulk-upload/branch-bulk-upload.component.ts","./src/app/UploadBranch/branch-bulk-upload/branch-bulk-upload.component.html","./src/app/UploadCustomer/customerbulkupload/customerbulkupload.component.ts","./src/app/UploadCustomer/customerbulkupload/customerbulkupload.component.html","./src/app/UploadHoliday/holidaybulk-upload/holidaybulk-upload.component.ts","./src/app/UploadHoliday/holidaybulk-upload/holidaybulk-upload.component.html","./src/app/UploadUser/user-bullk-upload/user-bullk-upload.component.ts","./src/app/UploadUser/user-bullk-upload/user-bullk-upload.component.html","./src/app/Upload_Account/accountbulkupload/accountbulkupload.component.ts","./src/app/Upload_Account/accountbulkupload/accountbulkupload.component.html","./src/app/app-routing.module.ts","./src/app/app.component.ts","./src/app/app.component.html","./src/app/app.module.ts","./src/app/bar-chart-scheme-details/bar-chart-scheme-details.component.ts","./src/app/bar-chart-scheme-details/bar-chart-scheme-details.component.html","./src/app/dashboard/dashboard.component.ts","./src/app/dashboard/dashboard.component.html","./src/app/layout/default/default.component.ts","./src/app/layout/default/default.component.html","./src/app/layout/default/default.module.ts","./src/app/line-chart-scheme-details/line-chart-scheme-details.component.ts","./src/app/line-chart-scheme-details/line-chart-scheme-details.component.html","./src/app/line-chart-sweep-transaction/line-chart-sweep-transaction.component.ts","./src/app/line-chart-sweep-transaction/line-chart-sweep-transaction.component.html","./src/app/payments/payments.component.ts","./src/app/payments/payments.component.html","./src/app/shared/account-master.service.ts","./src/app/upload-payments/upload-payments.component.ts","./src/app/upload-payments/upload-payments.component.html","./src/environments/environment.ts","./src/main.ts","fs (ignored)","crypto (ignored)","stream (ignored)"],"names":[],"mappings":";;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA,4CAA4C,WAAW;AACvD;AACA;AACA,wE;;;;;;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6E;;;;;;;;;;;;ACnSA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAkF;AACnC;AACmB;AACG;AAC3B;AAEmB;AAO5C;AACuB;AACa;AACD;AACI;AACF;AACA;AACA;AACT;AACsB;AACf;AAC4B;AACV;AAC7B;AACe;AACR;AACQ;AACS;AACC;AACJ;AAEX;AACa;AACD;AACI;AACF;AACA;AACA;AACT;AACsB;AACf;AAC4B;AACV;AAC7B;AACe;AACR;AACQ;AACS;AACC;AACJ;AAChB;;AAEzD,MAAM,WAAW,GAAG;IAClB;QACE,GAAG,EAAE,kCAAkC;QACvC,MAAM,EAAE,QAAQ;QAChB,IAAI,EAAE,QAAQ;KACf;IACD;QACE,GAAG,EAAE,iCAAiC;QACtC,MAAM,EAAE,QAAQ;QAChB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,GAAG,EAAE,+BAA+B;QACpC,MAAM,EAAE,QAAQ;QAChB,IAAI,EAAE,SAAS;KAChB;CACF,CAAC;AAEF,MAAM,aAAa,GAAG;IACpB,EAAE,OAAO,EAAE,oDAAQ,EAAE,QAAQ,EAAE,gEAAW,EAAE;IAC5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AE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE;oBACtE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE;oBACtE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE;oBACvE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE;oBACtE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE;oBACtE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE;oBACvE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE;oBACtE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE;oBACvE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE;oBACtE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE;oBACtE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE;iBACxE;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","file":"main-es2015.js","sourcesContent":["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 = \"./$$_lazy_route_resource lazy recursive\";","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-bd\": \"./node_modules/moment/locale/bn-bd.js\",\n\t\"./bn-bd.js\": \"./node_modules/moment/locale/bn-bd.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-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-in\": \"./node_modules/moment/locale/en-in.js\",\n\t\"./en-in.js\": \"./node_modules/moment/locale/en-in.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\"./en-sg\": \"./node_modules/moment/locale/en-sg.js\",\n\t\"./en-sg.js\": \"./node_modules/moment/locale/en-sg.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-mx\": \"./node_modules/moment/locale/es-mx.js\",\n\t\"./es-mx.js\": \"./node_modules/moment/locale/es-mx.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\"./fil\": \"./node_modules/moment/locale/fil.js\",\n\t\"./fil.js\": \"./node_modules/moment/locale/fil.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-deva\": \"./node_modules/moment/locale/gom-deva.js\",\n\t\"./gom-deva.js\": \"./node_modules/moment/locale/gom-deva.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\"./oc-lnc\": \"./node_modules/moment/locale/oc-lnc.js\",\n\t\"./oc-lnc.js\": \"./node_modules/moment/locale/oc-lnc.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\"./tk\": \"./node_modules/moment/locale/tk.js\",\n\t\"./tk.js\": \"./node_modules/moment/locale/tk.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-mo\": \"./node_modules/moment/locale/zh-mo.js\",\n\t\"./zh-mo.js\": \"./node_modules/moment/locale/zh-mo.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 ^\\\\.\\\\/.*$\";","import { ModuleWithProviders, NgModule, Optional, SkipSelf } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { NbAuthModule, NbDummyAuthStrategy } from '@nebular/auth';\nimport { NbSecurityModule, NbRoleProvider } from '@nebular/security';\nimport { of as observableOf } from 'rxjs';\n\nimport { throwIfAlreadyLoaded } from './module-import-guard';\nimport {\n AnalyticsService,\n LayoutService,\n PlayerService,\n SeoService,\n StateService,\n} from './utils';\nimport { UserData } from './data/users';\nimport { ElectricityData } from './data/electricity';\nimport { SmartTableData } from './data/smart-table';\nimport { UserActivityData } from './data/user-activity';\nimport { OrdersChartData } from './data/orders-chart';\nimport { ProfitChartData } from './data/profit-chart';\nimport { TrafficListData } from './data/traffic-list';\nimport { EarningData } from './data/earning';\nimport { OrdersProfitChartData } from './data/orders-profit-chart';\nimport { TrafficBarData } from './data/traffic-bar';\nimport { ProfitBarAnimationChartData } from './data/profit-bar-animation-chart';\nimport { TemperatureHumidityData } from './data/temperature-humidity';\nimport { SolarData } from './data/solar';\nimport { TrafficChartData } from './data/traffic-chart';\nimport { StatsBarData } from './data/stats-bar';\nimport { CountryOrderData } from './data/country-order';\nimport { StatsProgressBarData } from './data/stats-progress-bar';\nimport { VisitorsAnalyticsData } from './data/visitors-analytics';\nimport { SecurityCamerasData } from './data/security-cameras';\n\nimport { UserService } from './mock/users.service';\nimport { ElectricityService } from './mock/electricity.service';\nimport { SmartTableService } from './mock/smart-table.service';\nimport { UserActivityService } from './mock/user-activity.service';\nimport { OrdersChartService } from './mock/orders-chart.service';\nimport { ProfitChartService } from './mock/profit-chart.service';\nimport { TrafficListService } from './mock/traffic-list.service';\nimport { EarningService } from './mock/earning.service';\nimport { OrdersProfitChartService } from './mock/orders-profit-chart.service';\nimport { TrafficBarService } from './mock/traffic-bar.service';\nimport { ProfitBarAnimationChartService } from './mock/profit-bar-animation-chart.service';\nimport { TemperatureHumidityService } from './mock/temperature-humidity.service';\nimport { SolarService } from './mock/solar.service';\nimport { TrafficChartService } from './mock/traffic-chart.service';\nimport { StatsBarService } from './mock/stats-bar.service';\nimport { CountryOrderService } from './mock/country-order.service';\nimport { StatsProgressBarService } from './mock/stats-progress-bar.service';\nimport { VisitorsAnalyticsService } from './mock/visitors-analytics.service';\nimport { SecurityCamerasService } from './mock/security-cameras.service';\nimport { MockDataModule } from './mock/mock-data.module';\n\nconst socialLinks = [\n {\n url: 'https://github.com/akveo/nebular',\n target: '_blank',\n icon: 'github',\n },\n {\n url: 'https://www.facebook.com/akveo/',\n target: '_blank',\n icon: 'facebook',\n },\n {\n url: 'https://twitter.com/akveo_inc',\n target: '_blank',\n icon: 'twitter',\n },\n];\n\nconst DATA_SERVICES = [\n { provide: UserData, useClass: UserService },\n { provide: ElectricityData, useClass: ElectricityService },\n { provide: SmartTableData, useClass: SmartTableService },\n { provide: UserActivityData, useClass: UserActivityService },\n { provide: OrdersChartData, useClass: OrdersChartService },\n { provide: ProfitChartData, useClass: ProfitChartService },\n { provide: TrafficListData, useClass: TrafficListService },\n { provide: EarningData, useClass: EarningService },\n { provide: OrdersProfitChartData, useClass: OrdersProfitChartService },\n { provide: TrafficBarData, useClass: TrafficBarService },\n { provide: ProfitBarAnimationChartData, useClass: ProfitBarAnimationChartService },\n { provide: TemperatureHumidityData, useClass: TemperatureHumidityService },\n { provide: SolarData, useClass: SolarService },\n { provide: TrafficChartData, useClass: TrafficChartService },\n { provide: StatsBarData, useClass: StatsBarService },\n { provide: CountryOrderData, useClass: CountryOrderService },\n { provide: StatsProgressBarData, useClass: StatsProgressBarService },\n { provide: VisitorsAnalyticsData, useClass: VisitorsAnalyticsService },\n { provide: SecurityCamerasData, useClass: SecurityCamerasService },\n];\n\nexport class NbSimpleRoleProvider extends NbRoleProvider {\n getRole() {\n // here you could provide any role based on any auth flow\n return observableOf('guest');\n }\n}\n\nexport const NB_CORE_PROVIDERS = [\n ...MockDataModule.forRoot().providers,\n ...DATA_SERVICES,\n ...NbAuthModule.forRoot({\n\n strategies: [\n NbDummyAuthStrategy.setup({\n name: 'email',\n delay: 3000,\n }),\n ],\n forms: {\n login: {\n socialLinks: socialLinks,\n },\n register: {\n socialLinks: socialLinks,\n },\n },\n }).providers,\n\n NbSecurityModule.forRoot({\n accessControl: {\n guest: {\n view: '*',\n },\n user: {\n parent: 'guest',\n create: '*',\n edit: '*',\n remove: '*',\n },\n },\n }).providers,\n\n {\n provide: NbRoleProvider, useClass: NbSimpleRoleProvider,\n },\n AnalyticsService,\n LayoutService,\n PlayerService,\n SeoService,\n StateService,\n];\n\n@NgModule({\n imports: [\n CommonModule,\n ],\n exports: [\n NbAuthModule,\n ],\n declarations: [],\n})\nexport class CoreModule {\n constructor(@Optional() @SkipSelf() parentModule: CoreModule) {\n throwIfAlreadyLoaded(parentModule, 'CoreModule');\n }\n\n static forRoot(): ModuleWithProviders {\n return {\n ngModule: CoreModule,\n providers: [\n ...NB_CORE_PROVIDERS,\n ],\n };\n }\n}\n","import { Observable } from 'rxjs';\n\nexport abstract class CountryOrderData {\n abstract getCountriesCategories(): Observable;\n abstract getCountriesCategoriesData(country: string): Observable;\n}\n","import { Observable } from 'rxjs';\n\nexport interface LiveUpdateChart {\n liveChart: { value: [string, number] }[];\n delta: {\n up: boolean;\n value: number;\n };\n dailyIncome: number;\n}\n\nexport interface PieChart {\n value: number;\n name: string;\n}\n\nexport abstract class EarningData {\n abstract getEarningLiveUpdateCardData(currency: string): Observable;\n abstract getEarningCardData(currency: string): Observable;\n abstract getEarningPieChartData(): Observable;\n}\n","import { Observable } from 'rxjs';\n\nexport interface Month {\n month: string;\n delta: string;\n down: boolean;\n kWatts: string;\n cost: string;\n}\n\nexport interface Electricity {\n title: string;\n active?: boolean;\n months: Month[];\n}\n\nexport interface ElectricityChart {\n label: string;\n value: number;\n}\n\nexport abstract class ElectricityData {\n abstract getListData(): Observable;\n abstract getChartData(): Observable;\n}\n","export interface OrdersChart {\n chartLabel: string[];\n linesData: number[][];\n}\n\nexport abstract class OrdersChartData {\n abstract getOrdersChartData(period: string): OrdersChart;\n}\n","import { Observable } from 'rxjs';\nimport { OrdersChart } from './orders-chart';\nimport { ProfitChart } from './profit-chart';\n\nexport interface OrderProfitChartSummary {\n title: string;\n value: number;\n}\n\nexport abstract class OrdersProfitChartData {\n abstract getOrderProfitChartSummary(): Observable;\n abstract getOrdersChartData(period: string): Observable;\n abstract getProfitChartData(period: string): Observable;\n}\n","import { Observable } from 'rxjs';\n\nexport abstract class ProfitBarAnimationChartData {\n abstract getChartData(): Observable<{ firstLine: number[]; secondLine: number[]; }>;\n}\n","export interface ProfitChart {\n chartLabel: string[];\n data: number[][];\n}\n\nexport abstract class ProfitChartData {\n abstract getProfitChartData(period: string): ProfitChart;\n}\n","import { Observable } from 'rxjs';\n\nexport interface Camera {\n title: string;\n source: string;\n}\n\nexport abstract class SecurityCamerasData {\n abstract getCamerasData(): Observable;\n}\n","\nexport abstract class SmartTableData {\n abstract getData(): any[];\n}\n","import { Observable } from 'rxjs';\n\nexport abstract class SolarData {\n abstract getSolarData(): Observable;\n}\n","import { Observable } from 'rxjs';\n\nexport abstract class StatsBarData {\n abstract getStatsBarData(): Observable;\n}\n","import { Observable } from 'rxjs';\n\nexport interface ProgressInfo {\n title: string;\n value: number;\n activeProgress: number;\n description: string;\n}\n\nexport abstract class StatsProgressBarData {\n abstract getProgressInfoData(): Observable;\n}\n","import { Observable } from 'rxjs';\n\nexport interface Temperature {\n value: number;\n min: number;\n max: number;\n}\n\nexport abstract class TemperatureHumidityData {\n abstract getTemperatureData(): Observable;\n abstract getHumidityData(): Observable;\n}\n","import { Observable } from 'rxjs';\n\nexport interface TrafficBar {\n pltBal:number[];\n data: number[];\n labels: string[];\n formatter: string; \n}\n\nexport abstract class TrafficBarData {\n abstract getTrafficBarData(period: string): Observable;\n}\n","import { Observable } from 'rxjs';\n\nexport abstract class TrafficChartData {\n abstract getTrafficChartData(): Observable;\n}\n","import { Observable } from 'rxjs';\n\nexport interface TrafficList {\n date: string;\n value: number;\n delta: {\n up: boolean;\n value: number;\n };\n comparison: {\n prevDate: string;\n prevValue: number;\n nextDate: string;\n nextValue: number;\n };\n}\n\nexport abstract class TrafficListData {\n abstract getTrafficListData(period: string): Observable;\n}\n","import { Observable } from 'rxjs';\n\nexport interface UserActive {\n date: string;\n pagesVisitCount: number;\n deltaUp: boolean;\n newVisits: number;\n}\n\nexport abstract class UserActivityData {\n abstract getUserActivityData(period: string): Observable;\n}\n","import { Observable } from 'rxjs';\n\nexport interface User {\n name: string;\n picture: string;\n}\n\nexport interface Contacts {\n user: User;\n type: string;\n}\n\nexport interface RecentUsers extends Contacts {\n time: number;\n}\n\nexport abstract class UserData {\n abstract getUsers(): Observable;\n abstract getContacts(): Observable;\n abstract getRecentUsers(): Observable;\n}\n","import { Observable } from 'rxjs';\n\nexport interface OutlineData {\n label: string;\n value: number;\n}\n\nexport abstract class VisitorsAnalyticsData {\n abstract getInnerLineChartData(): Observable;\n abstract getOutlineLineChartData(): Observable;\n abstract getPieChartData(): Observable;\n}\n","import { Injectable } from '@angular/core';\nimport { of as observableOf, Observable } from 'rxjs';\nimport { CountryOrderData } from '../data/country-order';\n\n@Injectable()\nexport class CountryOrderService extends CountryOrderData {\n\n private countriesCategories = [\n 'Sofas',\n 'Furniture',\n 'Lighting',\n 'Tables',\n 'Textiles',\n ];\n private countriesCategoriesLength = this.countriesCategories.length;\n private generateRandomData(nPoints: number): number[] {\n return Array.from(Array(nPoints)).map(() => {\n return Math.round(Math.random() * 20);\n });\n }\n\n getCountriesCategories(): Observable {\n return observableOf(this.countriesCategories);\n }\n\n getCountriesCategoriesData(country: string): Observable {\n return observableOf(this.generateRandomData(this.countriesCategoriesLength));\n }\n}\n","import { Injectable } from '@angular/core';\nimport { of as observableOf, Observable } from 'rxjs';\nimport { LiveUpdateChart, PieChart, EarningData } from '../data/earning';\nimport { Constants } from '../../Common/constant';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Dashboard, DashboardPiChart } from './dashboard';\nimport { TokenService } from 'src/app/MasterService/token.service';\n\n@Injectable()\nexport class EarningService extends EarningData {\n\n private currentDate: Date = new Date();\n private currentValue = Math.random() * 1000;\n private ONE_DAY = 24 * 3600 * 1000;\n\n readonly rootURL = Constants.apiURL + 'DashboardApi/';\n dashboardDataList: DashboardPiChart[];\n liveUpdateChart:LiveUpdateChart;\n earningPieChartData:PieChart[];\n private pieChartData = [\n {\n value: 50,\n name: 'Maharashtra',\n },\n {\n value: 25,\n name: 'Gujrat',\n },\n {\n value: 25,\n name: 'Delhi',\n },\n ];\n\n private liveUpdateChartData = {\n bitcoin: {\n liveChart: [],\n delta: {\n up: true,\n value: 4,\n },\n dailyIncome: 45895,\n },\n tether: {\n liveChart: [],\n delta: {\n up: false,\n value: 9,\n },\n dailyIncome: 5862,\n },\n ethereum: {\n liveChart: [],\n delta: {\n up: false,\n value: 21,\n },\n dailyIncome: 584,\n },\n };\n\n constructor(private http: HttpClient, public _token: TokenService) \n {\n super();\n }\n\n getDefaultLiveChartData(elementsNumber: number) {\n this.currentDate = new Date();\n this.currentValue = Math.random() * 1000;\n\n return Array.from(Array(elementsNumber))\n .map(item => this.generateRandomLiveChartData());\n }\n\n generateRandomLiveChartData() {\n this.currentDate = new Date(+this.currentDate + this.ONE_DAY);\n this.currentValue = this.currentValue + Math.random() * 20 - 11;\n\n if (this.currentValue < 0) {\n this.currentValue = Math.random() * 100;\n }\n\n return {\n value: [\n [\n this.currentDate.getFullYear(),\n this.currentDate.getMonth(),\n this.currentDate.getDate(),\n ].join('/'),\n Math.round(this.currentValue),\n ],\n };\n }\n\n getEarningLiveUpdateCardData(currency): Observable {\n this.fnGetSweepVolumeForGraph(currency).subscribe(result=>{\n this.liveUpdateChart = result; \n localStorage.setItem(\"SweepVolumeForGraph\",JSON.stringify(this.liveUpdateChart)); \n });\n var data = JSON.parse(localStorage.getItem(\"SweepVolumeForGraph\"));\n var defaultResult = [\"1900-1-1\", 0];\n return observableOf(data != null ? data.liveChart : defaultResult);\n\n // const data = this.liveUpdateChartData[currency.toLowerCase()];\n // const newValue = this.generateRandomLiveChartData();\n\n // data.liveChart.shift();\n // data.liveChart.push(newValue);\n\n // return observableOf(data.liveChart);\n }\n\n getEarningCardData(currency: string): Observable {\n this.fnGetSweepVolumeForGraph(Number(currency)).subscribe(result=>{\n this.liveUpdateChart = result; \n localStorage.setItem(\"SweepVolumeForGraph\",JSON.stringify(this.liveUpdateChart)); \n });\n var data = JSON.parse(localStorage.getItem(\"SweepVolumeForGraph\"));\n if(data == null){\n data = { \n value: [\"1900-1-1\", 0] ,\n delta: {\n up: true,\n value: 0\n },\n dailyIncome: 0\n }}\n return observableOf(data);\n\n // const data = this.liveUpdateChartData[currency.toLowerCase()];\n // data.liveChart = this.getDefaultLiveChartData(150);\n // return observableOf(data);\n }\n\n fnGetSweepVolumeForGraph(type: number = 1): Observable {\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetSweepVolumeForGraph?type=' + type, httpOptions);\n }\n\n fnGetStateContributionData(): Observable {\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetStateContributionData',httpOptions);\n }\n\n GetStateContributionData(){\n this.fnGetStateContributionData().subscribe(result=>{\n this.dashboardDataList = result[\"dashboardPiChartsList\"]; \n localStorage.setItem(\"StateContributionMonthYear\",result[\"currentMonth\"][\"MonthYear\"]);\n localStorage.setItem(\"StateContributionData\",JSON.stringify(this.dashboardDataList)); \n });\n }\n\n getEarningPieChartData(): Observable {\n this.GetStateContributionData(); \n var data = JSON.parse(localStorage.getItem(\"StateContributionData\"));\n if(data == null){\n data = [{\n value: 0,\n name: ''\n },\n {\n value: 0,\n name: ''\n },\n {\n value: 0,\n name: ''\n }]\n } \n return observableOf(data);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { of as observableOf, Observable } from 'rxjs';\nimport { Electricity, ElectricityChart, ElectricityData } from '../data/electricity';\n\n@Injectable()\nexport class ElectricityService extends ElectricityData {\n\n private listData: Electricity[] = [\n {\n title: '2015',\n months: [\n { month: 'Jan', delta: '0.97', down: true, kWatts: '816', cost: '97' },\n { month: 'Feb', delta: '1.83', down: true, kWatts: '806', cost: '95' },\n { month: 'Mar', delta: '0.64', down: true, kWatts: '803', cost: '94' },\n { month: 'Apr', delta: '2.17', down: false, kWatts: '818', cost: '98' },\n { month: 'May', delta: '1.32', down: true, kWatts: '809', cost: '96' },\n { month: 'Jun', delta: '0.05', down: true, kWatts: '808', cost: '96' },\n { month: 'Jul', delta: '1.39', down: false, kWatts: '815', cost: '97' },\n { month: 'Aug', delta: '0.73', down: true, kWatts: '807', cost: '95' },\n { month: 'Sept', delta: '2.61', down: true, kWatts: '792', cost: '92' },\n { month: 'Oct', delta: '0.16', down: true, kWatts: '791', cost: '92' },\n { month: 'Nov', delta: '1.71', down: true, kWatts: '786', cost: '89' },\n { month: 'Dec', delta: '0.37', down: false, kWatts: '789', cost: '91' },\n ],\n },\n {\n title: '2016',\n active: true,\n months: [\n { month: 'Jan', delta: '1.56', down: true, kWatts: '789', cost: '91' },\n { month: 'Feb', delta: '0.33', down: false, kWatts: '791', cost: '92' },\n { month: 'Mar', delta: '0.62', down: true, kWatts: '790', cost: '92' },\n { month: 'Apr', delta: '1.93', down: true, kWatts: '783', cost: '87' },\n { month: 'May', delta: '2.52', down: true, kWatts: '771', cost: '83' },\n { month: 'Jun', delta: '0.39', down: false, kWatts: '774', cost: '85' },\n { month: 'Jul', delta: '1.61', down: true, kWatts: '767', cost: '81' },\n { month: 'Aug', delta: '1.41', down: true, kWatts: '759', cost: '76' },\n { month: 'Sept', delta: '1.03', down: true, kWatts: '752', cost: '74' },\n { month: 'Oct', delta: '2.94', down: false, kWatts: '769', cost: '82' },\n { month: 'Nov', delta: '0.26', down: true, kWatts: '767', cost: '81' },\n { month: 'Dec', delta: '1.62', down: true, kWatts: '760', cost: '76' },\n ],\n },\n {\n title: '2017',\n months: [\n { month: 'Jan', delta: '1.34', down: false, kWatts: '789', cost: '91' },\n { month: 'Feb', delta: '0.95', down: false, kWatts: '793', cost: '93' },\n { month: 'Mar', delta: '0.25', down: true, kWatts: '791', cost: '92' },\n { month: 'Apr', delta: '1.72', down: false, kWatts: '797', cost: '95' },\n { month: 'May', delta: '2.62', down: true, kWatts: '786', cost: '90' },\n { month: 'Jun', delta: '0.72', down: false, kWatts: '789', cost: '91' },\n { month: 'Jul', delta: '0.78', down: true, kWatts: '784', cost: '89' },\n { month: 'Aug', delta: '0.36', down: true, kWatts: '782', cost: '88' },\n { month: 'Sept', delta: '0.55', down: false, kWatts: '787', cost: '90' },\n { month: 'Oct', delta: '1.81', down: true, kWatts: '779', cost: '86' },\n { month: 'Nov', delta: '1.12', down: true, kWatts: '774', cost: '84' },\n { month: 'Dec', delta: '0.52', down: false, kWatts: '776', cost: '95' },\n ],\n },\n ];\n\n private chartPoints = [\n 490, 490, 495, 500,\n 505, 510, 520, 530,\n 550, 580, 630, 720,\n 800, 840, 860, 870,\n 870, 860, 840, 800,\n 720, 200, 145, 130,\n 130, 145, 200, 570,\n 635, 660, 670, 670,\n 660, 630, 580, 460,\n 380, 350, 340, 340,\n 340, 340, 340, 340,\n 340, 340, 340,\n ];\n\n chartData: ElectricityChart[];\n\n constructor() {\n super();\n this.chartData = this.chartPoints.map((p, index) => ({\n label: (index % 5 === 3) ? `${Math.round(index / 5)}` : '',\n value: p,\n }));\n }\n\n getListData(): Observable {\n return observableOf(this.listData);\n }\n\n getChartData(): Observable {\n return observableOf(this.chartData);\n }\n}\n","import { NgModule, ModuleWithProviders } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { UserService } from './users.service';\nimport { ElectricityService } from './electricity.service';\nimport { SmartTableService } from './smart-table.service';\nimport { UserActivityService } from './user-activity.service';\nimport { OrdersChartService } from './orders-chart.service';\nimport { ProfitChartService } from './profit-chart.service';\nimport { TrafficListService } from './traffic-list.service';\nimport { PeriodsService } from './periods.service';\nimport { EarningService } from './earning.service';\nimport { OrdersProfitChartService } from './orders-profit-chart.service';\nimport { TrafficBarService } from './traffic-bar.service';\nimport { ProfitBarAnimationChartService } from './profit-bar-animation-chart.service';\nimport { TemperatureHumidityService } from './temperature-humidity.service';\nimport { SolarService } from './solar.service';\nimport { TrafficChartService } from './traffic-chart.service';\nimport { StatsBarService } from './stats-bar.service';\nimport { CountryOrderService } from './country-order.service';\nimport { StatsProgressBarService } from './stats-progress-bar.service';\nimport { VisitorsAnalyticsService } from './visitors-analytics.service';\nimport { SecurityCamerasService } from './security-cameras.service';\n\nconst SERVICES = [\n UserService,\n ElectricityService,\n SmartTableService,\n UserActivityService,\n OrdersChartService,\n ProfitChartService,\n TrafficListService,\n PeriodsService,\n EarningService,\n OrdersProfitChartService,\n TrafficBarService,\n ProfitBarAnimationChartService,\n TemperatureHumidityService,\n SolarService,\n TrafficChartService,\n StatsBarService,\n CountryOrderService,\n StatsProgressBarService,\n VisitorsAnalyticsService,\n SecurityCamerasService,\n];\n\n@NgModule({\n imports: [\n CommonModule,\n ],\n providers: [\n ...SERVICES,\n ],\n})\nexport class MockDataModule {\n static forRoot(): ModuleWithProviders {\n return {\n ngModule: MockDataModule,\n providers: [\n ...SERVICES,\n ],\n };\n }\n}\n","import { Injectable } from '@angular/core';\nimport { PeriodsService } from './periods.service';\nimport { OrdersChart, OrdersChartData } from '../data/orders-chart';\nimport { Constants } from '../../Common/constant';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { of as observableOf, Observable } from 'rxjs';\nimport { TokenService } from 'src/app/MasterService/token.service';\nimport { EncryptdecryptService } from 'src/app/MasterService/encryptdecrypt.service';\n\n@Injectable()\nexport class OrdersChartService extends OrdersChartData {\n\n private year = [\n '2012',\n '2013',\n '2014',\n '2015',\n '2016',\n '2017',\n '2018',\n ];\n\n private data = { };\n readonly rootURL = Constants.apiURL + 'DashboardApi/';\n WeekData : any;\n MonthData : any;\n YearData : any;\n WeekchartLabel : any = [];\n WeeklinesData : any = [];\n MonthchartLabel : any = [];\n MonthlinesData : any = [];\n YearchartLabel : any = [];\n YearlinesData : any = [];\n\n constructor(private http: HttpClient, public _token: TokenService,\n public _encreptdecrept:EncryptdecryptService) {\n super();\n this.data = {\n week: this.getDataForWeekPeriod(),\n month: this.getDataForMonthPeriod(),\n year: this.getDataForYearPeriod(),\n };\n }\n\n fnGetTransactionDataForGraph(type: number): Observable { \n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetTransactionDataForGraph?type=' + this._encreptdecrept.encryptUsingAES256(type), httpOptions);\n }\n\n private getDataForWeekPeriod(): OrdersChart {\n this.fnGetTransactionDataForGraph(1).subscribe(result=>{\n this.WeekData = result;\n if(this.WeekData.chartLabel != null && this.WeekData.chartLabel.length > 0)\n {\n this.WeekData.chartLabel.forEach(element => { \n this.WeekchartLabel.push(element);\n }); \n localStorage.setItem(\"WeekchartLabel\",JSON.stringify(this.WeekchartLabel)); \n } \n else\n {\n this.WeekchartLabel.length=0;\n localStorage.setItem(\"WeekchartLabel\",JSON.stringify(this.WeekchartLabel)); \n } \n if(this.WeekData.linesData != null && this.WeekData.linesData.length > 0)\n {\n this.WeekData.linesData.forEach(element => { \n this.WeeklinesData.push(element); \n }); \n localStorage.setItem(\"WeeklinesData\",JSON.stringify(this.WeeklinesData)); \n } \n else\n { \n this.WeeklinesData.length=0; \n localStorage.setItem(\"WeeklinesData\",JSON.stringify(this.WeeklinesData)); \n } \n });\n\n return {\n chartLabel: JSON.parse(localStorage.getItem(\"WeekchartLabel\")), //this.getDataLabels(42, this.period.getWeeks()),\n linesData : JSON.parse(localStorage.getItem(\"WeeklinesData\")),\n };\n // linesData: [\n // [\n // 184, 267, 326, 366, 389, 399,\n // 392, 371, 340, 304, 265, 227,\n // 191, 158, 130, 108, 95, 91, 97,\n // 109, 125, 144, 166, 189, 212,\n // 236, 259, 280, 300, 316, 329,\n // 338, 342, 339, 329, 312, 288,\n // 258, 221, 178, 128, 71,\n // ],\n // [\n // 158, 178, 193, 205, 212, 213,\n // 204, 190, 180, 173, 168, 164,\n // 162, 160, 159, 158, 159, 166,\n // 179, 195, 215, 236, 257, 276,\n // 292, 301, 304, 303, 300, 293,\n // 284, 273, 262, 251, 241, 234,\n // 232, 232, 232, 232, 232, 232,\n // ],\n // [\n // 58, 137, 202, 251, 288, 312,\n // 323, 324, 311, 288, 257, 222,\n // 187, 154, 124, 100, 81, 68, 61,\n // 58, 61, 69, 80, 96, 115, 137,\n // 161, 186, 210, 233, 254, 271,\n // 284, 293, 297, 297, 297, 297,\n // 297, 297, 297, 297, 297,\n // ],\n // ],\n //};\n }\n\n private getDataForMonthPeriod(): OrdersChart {\n this.fnGetTransactionDataForGraph(2).subscribe(result=>{\n this.MonthData = result;\n if(this.MonthData.chartLabel != null && this.MonthData.chartLabel.length > 0)\n {\n this.MonthData.chartLabel.forEach(element => { \n this.MonthchartLabel.push(element);\n }); \n localStorage.setItem(\"MonthchartLabel\",JSON.stringify(this.MonthchartLabel)); \n } \n else\n {\n this.MonthchartLabel.length=0;\n localStorage.setItem(\"MonthchartLabel\",JSON.stringify(this.MonthchartLabel)); \n } \n if(this.MonthData.linesData != null && this.MonthData.linesData.length > 0)\n {\n this.MonthData.linesData.forEach(element => { \n this.MonthlinesData.push(element); \n }); \n localStorage.setItem(\"MonthlinesData\",JSON.stringify(this.MonthlinesData)); \n } \n else\n { \n this.MonthlinesData.length=0; \n localStorage.setItem(\"MonthlinesData\",JSON.stringify(this.MonthlinesData)); \n } \n });\n\n return {\n chartLabel: JSON.parse(localStorage.getItem(\"MonthchartLabel\")), //this.getDataLabels(42, this.period.getWeeks()),\n linesData : JSON.parse(localStorage.getItem(\"MonthlinesData\")),\n };\n\n // return {\n // chartLabel: this.getDataLabels(47, this.period.getMonths()),\n // linesData: [\n // [\n // 5, 63, 113, 156, 194, 225,\n // 250, 270, 283, 289, 290,\n // 286, 277, 264, 244, 220,\n // 194, 171, 157, 151, 150,\n // 152, 155, 160, 166, 170,\n // 167, 153, 135, 115, 97,\n // 82, 71, 64, 63, 62, 61,\n // 62, 65, 73, 84, 102,\n // 127, 159, 203, 259, 333,\n // ],\n // [\n // 6, 83, 148, 200, 240,\n // 265, 273, 259, 211,\n // 122, 55, 30, 28, 36,\n // 50, 68, 88, 109, 129,\n // 146, 158, 163, 165,\n // 173, 187, 208, 236,\n // 271, 310, 346, 375,\n // 393, 400, 398, 387,\n // 368, 341, 309, 275,\n // 243, 220, 206, 202,\n // 207, 222, 247, 286, 348,\n // ],\n // [\n // 398, 348, 315, 292, 274,\n // 261, 251, 243, 237, 231,\n // 222, 209, 192, 172, 152,\n // 132, 116, 102, 90, 80, 71,\n // 64, 58, 53, 49, 48, 54, 66,\n // 84, 104, 125, 142, 156, 166,\n // 172, 174, 172, 167, 159, 149,\n // 136, 121, 105, 86, 67, 45, 22,\n // ],\n // ],\n // };\n }\n\n private getDataForYearPeriod(): OrdersChart {\n this.fnGetTransactionDataForGraph(3).subscribe(result=>{\n this.YearData = result;\n if(this.YearData.chartLabel != null && this.YearData.chartLabel.length > 0)\n {\n this.YearData.chartLabel.forEach(element => { \n this.YearchartLabel.push(element);\n }); \n localStorage.setItem(\"YearchartLabel\",JSON.stringify(this.YearchartLabel)); \n } \n else\n {\n this.YearchartLabel.length=0;\n localStorage.setItem(\"YearchartLabel\",JSON.stringify(this.YearchartLabel)); \n } \n if(this.YearData.linesData != null && this.YearData.linesData.length > 0)\n {\n this.YearData.linesData.forEach(element => { \n this.YearlinesData.push(element); \n }); \n localStorage.setItem(\"YearlinesData\",JSON.stringify(this.YearlinesData)); \n } \n else\n { \n this.YearlinesData.length=0; \n localStorage.setItem(\"YearlinesData\",JSON.stringify(this.YearlinesData)); \n } \n });\n\n return {\n chartLabel: JSON.parse(localStorage.getItem(\"YearchartLabel\")), //this.getDataLabels(42, this.period.getWeeks()),\n linesData : JSON.parse(localStorage.getItem(\"YearlinesData\")),\n };\n\n // return {\n // chartLabel: this.getDataLabels(42, this.year),\n // linesData: [\n // [\n // 190, 269, 327, 366, 389, 398,\n // 396, 387, 375, 359, 343, 327,\n // 312, 298, 286, 276, 270, 268,\n // 265, 258, 247, 234, 220, 204,\n // 188, 172, 157, 142, 128, 116,\n // 106, 99, 95, 94, 92, 89, 84,\n // 77, 69, 60, 49, 36, 22,\n // ],\n // [\n // 265, 307, 337, 359, 375, 386,\n // 393, 397, 399, 397, 390, 379,\n // 365, 347, 326, 305, 282, 261,\n // 241, 223, 208, 197, 190, 187,\n // 185, 181, 172, 160, 145, 126,\n // 105, 82, 60, 40, 26, 19, 22,\n // 43, 82, 141, 220, 321,\n // ],\n // [\n // 9, 165, 236, 258, 244, 206,\n // 186, 189, 209, 239, 273, 307,\n // 339, 365, 385, 396, 398, 385,\n // 351, 300, 255, 221, 197, 181,\n // 170, 164, 162, 161, 159, 154,\n // 146, 135, 122, 108, 96, 87,\n // 83, 82, 82, 82, 82, 82, 82,\n // ],\n // ],\n // };\n }\n\n getDataLabels(nPoints: number, labelsArray: string[]): string[] {\n const labelsArrayLength = labelsArray.length;\n const step = Math.round(nPoints / labelsArrayLength);\n\n return Array.from(Array(nPoints)).map((item, index) => {\n const dataIndex = Math.round(index / step);\n\n return index % step === 0 ? labelsArray[dataIndex] : '';\n });\n }\n\n getOrdersChartData(period: string): OrdersChart {\n if(this.data[period] == null || this.data[period].chartLabel == null || this.data[period].linesData == null){\n this.data[period] = {\n chartLabel: [''],\n linesData: [0][0]\n }\n }\n return this.data[period];\n }\n}\n","import { of as observableOf, Observable } from 'rxjs';\nimport { Injectable } from '@angular/core';\nimport { OrdersChart, OrdersChartData } from '../data/orders-chart';\nimport { OrderProfitChartSummary, OrdersProfitChartData } from '../data/orders-profit-chart';\nimport { ProfitChart, ProfitChartData } from '../data/profit-chart';\nimport { Constants } from '../../Common/constant';\nimport { TokenService } from 'src/app/MasterService/token.service';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { EncryptdecryptService } from 'src/app/MasterService/encryptdecrypt.service';\n\n@Injectable()\nexport class OrdersProfitChartService extends OrdersProfitChartData {\n\n readonly rootURL = Constants.apiURL + 'DashboardApi/';\n private summary = [\n {\n title: 'Number of Transactions',\n value: 3654,\n },\n {\n title: 'Total Sweep',\n value: 946,\n },\n {\n title: 'Charges',\n value: 654,\n },\n {\n title: 'Total Interest',\n value: 230,\n },\n ];\n\n dataList : any;\n SummaryData : any = [];\n\n constructor(private ordersChartService: OrdersChartData,\n private profitChartService: ProfitChartData, private http: HttpClient, \n public _token: TokenService, public _encreptdecrept:EncryptdecryptService) {\n super();\n }\n\n fnGetTransactionDataForGraph(type: number): Observable { \n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetTransactionDataForGraph?type=' + this._encreptdecrept.encryptUsingAES256(type), httpOptions);\n }\n\n getOrderProfitChartSummary(): Observable {\n this.fnGetTransactionDataForGraph(1).subscribe(result=>{\n this.dataList = result; \n if(this.dataList.summary.length > 0){\n this.dataList.summary.forEach(element => {\n this.SummaryData.push(element);\n });\n localStorage.setItem('summary',JSON.stringify(this.SummaryData));\n }\n });\n return observableOf(JSON.parse(localStorage.getItem('summary')));\n }\n\n getOrdersChartData(period: string): Observable {\n return observableOf(this.ordersChartService.getOrdersChartData(period));\n }\n\n getProfitChartData(period: string): Observable {\n return observableOf(this.profitChartService.getProfitChartData(period));\n }\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable()\nexport class PeriodsService {\n getYears() {\n return [\n '2010', '2011', '2012',\n '2013', '2014', '2015',\n '2016', '2017', '2018',\n ];\n }\n\n getMonths() {\n return [\n 'Mah', 'Guj', 'Del',\n 'Ban', 'JHA', 'Utt',\n 'Har', 'Bih', 'MP',\n 'UP', 'Kar', 'JKA',\n ];\n }\n\n getWeeks() {\n return [\n 'Mah',\n 'Guj',\n 'Del',\n 'Ban',\n 'JHA',\n 'Utt',\n 'Har',\n ];\n }\n}\n","import { Injectable } from '@angular/core';\nimport { of as observableOf, Observable } from 'rxjs';\nimport { ProfitBarAnimationChartData } from '../data/profit-bar-animation-chart';\nimport { Constants } from '../../Common/constant';\nimport { Dashboard } from './dashboard';\nimport { TokenService } from 'src/app/MasterService/token.service';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ProfitBarAnimationChartService extends ProfitBarAnimationChartData {\n\n private data: any;\n readonly rootURL = Constants.apiURL + 'DashboardApi/';\n CustomerCountList:any = [];\n CurrentBalanceList:any = [];\n dashboardDataList: Dashboard[];\n firstLineList:any = [];\n secondLineList:any = [];\n\n constructor(private http: HttpClient, public _token: TokenService) { \n super(); \n this.GetTotalNumberOfCustomersForGraph(); \n this.data = { \n firstLine: this.getDataForFirstLine(),\n secondLine: this.getDataForSecondLine(), \n }; \n } \n\n getDataForFirstLine(): number[] { \n this.firstLineList = JSON.parse(localStorage.getItem(\"CustomerCountList\"));\n if(this.firstLineList == null){\n setTimeout (() => {\n this.firstLineList = JSON.parse(localStorage.getItem(\"CustomerCountList\"));\n return this.firstLineList; \n }, 3000);\n }\n else{\n return this.firstLineList; \n }\n //return this.CustomerCountList; \n \n // return this.createEmptyArray(10)\n // .map((_, index) => {\n // const oneFifth = index / 5;\n\n // return (Math.sin(oneFifth) * (oneFifth - 10) + index / 6) * 5;\n // });\n }\n\n getDataForSecondLine(): number[] {\n this.secondLineList = JSON.parse(localStorage.getItem(\"CurrentBalanceList\"));\n if(this.secondLineList == null){\n setTimeout (() => {\n this.secondLineList = JSON.parse(localStorage.getItem(\"CurrentBalanceList\"));\n return this.secondLineList; \n }, 3000);\n }\n else{\n return this.secondLineList; \n }\n //return this.CurrentBalanceList; \n \n // return this.createEmptyArray(10)\n // .map((_, index) => {\n // const oneFifth = index / 5;\n\n // return (Math.cos(oneFifth) * (oneFifth - 10) + index / 6) * 5;\n // });\n }\n\n createEmptyArray(nPoints: number) {\n return Array.from(Array(nPoints));\n } \n\n fnGetTotalNumberOfCustomers(): Observable {\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetTotalNumberOfCustomers', httpOptions);\n }\n\n GetTotalNumberOfCustomersForGraph(){\n this.fnGetTotalNumberOfCustomers().subscribe(result=>{\n this.dashboardDataList = result; \n if(this.dashboardDataList.length > 0)\n {\n this.dashboardDataList.forEach(element => { \n this.CustomerCountList.push(Number(element[\"CustomerCount\"]));\n this.CurrentBalanceList.push(Number(element[\"CurrentBalance\"])); \n }); \n localStorage.setItem(\"CustomerCountList\",JSON.stringify(this.CustomerCountList));\n localStorage.setItem(\"CurrentBalanceList\",JSON.stringify(this.CurrentBalanceList)); \n } \n });\n }\n\n getChartData(): Observable<{ firstLine: number[]; secondLine: number[]; }> {\n if(this.data == null || this.data.firstLine == null || this.data.secondLine == null){\n this.data = {\n firstLine:[0],\n secondLine:[0]\n }\n }\n console.log('Total Number of Customers Graph Data', this.data);\n return observableOf(this.data);\n }\n \n}\n","import { Injectable } from '@angular/core';\nimport { PeriodsService } from './periods.service';\nimport { ProfitChart, ProfitChartData } from '../data/profit-chart';\nimport { of as obseravleof, Observable} from 'rxjs';\nimport { Constants } from '../../Common/constant';\nimport { constants } from 'buffer';\nimport { ThrowStmt } from '@angular/compiler';\nimport { JsonPipe } from '@angular/common';\nimport { TokenService } from 'src/app/MasterService/token.service';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { EncryptdecryptService } from 'src/app/MasterService/encryptdecrypt.service';\n\n\n@Injectable()\nexport class ProfitChartService extends ProfitChartData {\n\n private year = [\n '2012',\n '2013',\n '2014',\n '2015',\n '2016',\n '2017',\n '2018',\n ];\n\n private data = { };\n readonly rootURL = Constants.apiURL + 'DashboardApi/';\n WeekData : any;\n WeekchartLabel : any = [];\n WeeklinesData : any = [];\n MonthData : any;\n MonthchartLabel : any = [];\n MonthlinesData : any = [];\n YearData : any;\n YearchartLabel : any = [];\n YearlinesData : any = [];\n\n constructor(private period: PeriodsService, private http: HttpClient, \n public _token: TokenService, public _encreptdecrept:EncryptdecryptService ) {\n super();\n this.data = {\n week: this.getDataForWeekPeriod(),\n month: this.getDataForMonthPeriod(),\n year: this.getDataForYearPeriod(),\n };\n }\n\n fnGetTransactionDataForGraph(type: number): Observable{\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetTransactionDataForGraph?type=' + this._encreptdecrept.encryptUsingAES256(type), httpOptions);\n }\n\n private getDataForWeekPeriod(): ProfitChart {\n this.fnGetTransactionDataForGraph(1).subscribe(result => {\n this.WeekData = result;\n if(this.WeekData.chartLabel != null && this.WeekData.chartLabel.length > 0){\n this.WeekData.chartLabel.forEach(element => {\n this.WeekchartLabel.push(element);\n });\n localStorage.setItem('WeekchartLabelProfit',JSON.stringify(this.WeekchartLabel));\n }\n else{\n this.WeekchartLabel.length = 0;\n localStorage.setItem('WeekchartLabelProfit',JSON.stringify(this.WeekchartLabel));\n }\n if(this.WeekData.linesData != null && this.WeekData.linesData.length > 0){\n this.WeekData.linesData.forEach(element => {\n this.WeeklinesData.push(element);\n });\n localStorage.setItem('WeeklinesDataPrifit',JSON.stringify(this.WeeklinesData));\n }\n else{\n this.WeeklinesData.length = 0;\n localStorage.setItem('WeeklinesDataPrifit',JSON.stringify(this.WeeklinesData));\n }\n });\n\n return {\n chartLabel: JSON.parse(localStorage.getItem('WeekchartLabelProfit')),\n data: JSON.parse(localStorage.getItem('WeeklinesDataPrifit')),\n };\n\n // const nPoint = this.period.getWeeks().length;\n // return {\n // chartLabel: this.period.getWeeks(),\n // data: [\n // this.getRandomData(nPoint),\n // this.getRandomData(nPoint),\n // this.getRandomData(nPoint),\n // ],\n // };\n }\n\n private getDataForMonthPeriod(): ProfitChart {\n this.fnGetTransactionDataForGraph(2).subscribe(result => {\n this.MonthData = result;\n if(this.MonthData.chartLabel != null && this.MonthData.chartLabel.length > 0){\n this.MonthData.chartLabel.forEach(element => {\n this.MonthchartLabel.push(element);\n });\n localStorage.setItem('MonthchartLabelProfit',JSON.stringify(this.MonthchartLabel));\n }\n else{\n this.MonthchartLabel.length = 0;\n localStorage.setItem('MonthchartLabelProfit',JSON.stringify(this.MonthchartLabel));\n }\n if(this.MonthData.linesData != null && this.MonthData.linesData.length > 0){\n this.MonthData.linesData.forEach(element => {\n this.MonthlinesData.push(element);\n });\n localStorage.setItem('MonthlinesDataProfit',JSON.stringify(this.MonthlinesData));\n }\n else{\n this.MonthlinesData.length = 0;\n localStorage.setItem('MonthlinesDataProfit',JSON.stringify(this.MonthlinesData));\n }\n });\n\n return {\n chartLabel:JSON.parse(localStorage.getItem('MonthchartLabelProfit')),\n data:JSON.parse(localStorage.getItem('MonthlinesDataProfit')),\n };\n\n // const nPoint = this.period.getMonths().length;\n // return {\n // chartLabel: this.period.getMonths(),\n // data: [\n // this.getRandomData(nPoint),\n // this.getRandomData(nPoint),\n // this.getRandomData(nPoint),\n // ],\n // };\n }\n\n private getDataForYearPeriod(): ProfitChart {\n this.fnGetTransactionDataForGraph(3).subscribe(result => {\n this.YearData = result;\n if(this.YearData.chartLabel != null && this.YearData.chartLabel.length > 0){\n this.YearData.chartLabel.forEach(element => {\n this.YearchartLabel.push(element);\n });\n localStorage.setItem('YearchartLabelProfit',JSON.stringify(this.YearchartLabel));\n }\n else{\n this.YearchartLabel.length = 0;\n localStorage.setItem('YearchartLabelProfit',JSON.stringify(this.YearchartLabel));\n }\n if(this.YearData.linesData != null && this.YearData.linesData.length > 0){\n this.YearData.linesData.forEach(element => {\n this.YearlinesData.push(element);\n });\n localStorage.setItem('YearlinesDataProfit',JSON.stringify(this.YearlinesData));\n }\n else{\n this.YearlinesData.length=0;\n localStorage.setItem('YearlinesDataProfit',JSON.stringify(this.YearlinesData));\n }\n });\n\n return {\n chartLabel: JSON.parse(localStorage.getItem('YearchartLabelProfit')),\n data:JSON.parse(localStorage.getItem('YearlinesDataProfit')),\n };\n\n //const nPoint = this.year.length;\n //return {\n //chartLabel: this.year,\n //data: [\n //this.getRandomData(nPoint),\n //this.getRandomData(nPoint),\n //this.getRandomData(nPoint),\n //],\n //};\n }\n\n private getRandomData(nPoints: number): number[] {\n return Array.from(Array(nPoints)).map(() => {\n return Math.round(Math.random() * 500);\n });\n }\n\n getProfitChartData(period: string): ProfitChart {\n if(this.data[period] == null || this.data[period].chartLabel == null || this.data[period].linesData == null){\n this.data[period] = {\n chartLabel: [''],\n data: [0][0]\n }\n }\n return this.data[period];\n }\n}\n","import { Injectable } from '@angular/core';\nimport { of as observableOf, Observable } from 'rxjs';\nimport { Camera, SecurityCamerasData } from '../data/security-cameras';\n\n@Injectable()\nexport class SecurityCamerasService extends SecurityCamerasData {\n\n private cameras: Camera[] = [\n {\n title: 'Camera #1',\n source: 'assets/images/camera1.jpg',\n },\n {\n title: 'Camera #2',\n source: 'assets/images/camera2.jpg',\n },\n {\n title: 'Camera #3',\n source: 'assets/images/camera3.jpg',\n },\n {\n title: 'Camera #4',\n source: 'assets/images/camera4.jpg',\n },\n ];\n\n getCamerasData(): Observable {\n return observableOf(this.cameras);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { SmartTableData } from '../data/smart-table';\n\n@Injectable()\nexport class SmartTableService extends SmartTableData {\n\n data = [{\n id: 1,\n firstName: 'Mark',\n lastName: 'Otto',\n username: '@mdo',\n email: 'mdo@gmail.com',\n age: '28',\n }, {\n id: 2,\n firstName: 'Jacob',\n lastName: 'Thornton',\n username: '@fat',\n email: 'fat@yandex.ru',\n age: '45',\n }, {\n id: 3,\n firstName: 'Larry',\n lastName: 'Bird',\n username: '@twitter',\n email: 'twitter@outlook.com',\n age: '18',\n }, {\n id: 4,\n firstName: 'John',\n lastName: 'Snow',\n username: '@snow',\n email: 'snow@gmail.com',\n age: '20',\n }, {\n id: 5,\n firstName: 'Jack',\n lastName: 'Sparrow',\n username: '@jack',\n email: 'jack@yandex.ru',\n age: '30',\n }, {\n id: 6,\n firstName: 'Ann',\n lastName: 'Smith',\n username: '@ann',\n email: 'ann@gmail.com',\n age: '21',\n }, {\n id: 7,\n firstName: 'Barbara',\n lastName: 'Black',\n username: '@barbara',\n email: 'barbara@yandex.ru',\n age: '43',\n }, {\n id: 8,\n firstName: 'Sevan',\n lastName: 'Bagrat',\n username: '@sevan',\n email: 'sevan@outlook.com',\n age: '13',\n }, {\n id: 9,\n firstName: 'Ruben',\n lastName: 'Vardan',\n username: '@ruben',\n email: 'ruben@gmail.com',\n age: '22',\n }, {\n id: 10,\n firstName: 'Karen',\n lastName: 'Sevan',\n username: '@karen',\n email: 'karen@yandex.ru',\n age: '33',\n }, {\n id: 11,\n firstName: 'Mark',\n lastName: 'Otto',\n username: '@mark',\n email: 'mark@gmail.com',\n age: '38',\n }, {\n id: 12,\n firstName: 'Jacob',\n lastName: 'Thornton',\n username: '@jacob',\n email: 'jacob@yandex.ru',\n age: '48',\n }, {\n id: 13,\n firstName: 'Haik',\n lastName: 'Hakob',\n username: '@haik',\n email: 'haik@outlook.com',\n age: '48',\n }, {\n id: 14,\n firstName: 'Garegin',\n lastName: 'Jirair',\n username: '@garegin',\n email: 'garegin@gmail.com',\n age: '40',\n }, {\n id: 15,\n firstName: 'Krikor',\n lastName: 'Bedros',\n username: '@krikor',\n email: 'krikor@yandex.ru',\n age: '32',\n }, {\n 'id': 16,\n 'firstName': 'Francisca',\n 'lastName': 'Brady',\n 'username': '@Gibson',\n 'email': 'franciscagibson@comtours.com',\n 'age': 11,\n }, {\n 'id': 17,\n 'firstName': 'Tillman',\n 'lastName': 'Figueroa',\n 'username': '@Snow',\n 'email': 'tillmansnow@comtours.com',\n 'age': 34,\n }, {\n 'id': 18,\n 'firstName': 'Jimenez',\n 'lastName': 'Morris',\n 'username': '@Bryant',\n 'email': 'jimenezbryant@comtours.com',\n 'age': 45,\n }, {\n 'id': 19,\n 'firstName': 'Sandoval',\n 'lastName': 'Jacobson',\n 'username': '@Mcbride',\n 'email': 'sandovalmcbride@comtours.com',\n 'age': 32,\n }, {\n 'id': 20,\n 'firstName': 'Griffin',\n 'lastName': 'Torres',\n 'username': '@Charles',\n 'email': 'griffincharles@comtours.com',\n 'age': 19,\n }, {\n 'id': 21,\n 'firstName': 'Cora',\n 'lastName': 'Parker',\n 'username': '@Caldwell',\n 'email': 'coracaldwell@comtours.com',\n 'age': 27,\n }, {\n 'id': 22,\n 'firstName': 'Cindy',\n 'lastName': 'Bond',\n 'username': '@Velez',\n 'email': 'cindyvelez@comtours.com',\n 'age': 24,\n }, {\n 'id': 23,\n 'firstName': 'Frieda',\n 'lastName': 'Tyson',\n 'username': '@Craig',\n 'email': 'friedacraig@comtours.com',\n 'age': 45,\n }, {\n 'id': 24,\n 'firstName': 'Cote',\n 'lastName': 'Holcomb',\n 'username': '@Rowe',\n 'email': 'coterowe@comtours.com',\n 'age': 20,\n }, {\n 'id': 25,\n 'firstName': 'Trujillo',\n 'lastName': 'Mejia',\n 'username': '@Valenzuela',\n 'email': 'trujillovalenzuela@comtours.com',\n 'age': 16,\n }, {\n 'id': 26,\n 'firstName': 'Pruitt',\n 'lastName': 'Shepard',\n 'username': '@Sloan',\n 'email': 'pruittsloan@comtours.com',\n 'age': 44,\n }, {\n 'id': 27,\n 'firstName': 'Sutton',\n 'lastName': 'Ortega',\n 'username': '@Black',\n 'email': 'suttonblack@comtours.com',\n 'age': 42,\n }, {\n 'id': 28,\n 'firstName': 'Marion',\n 'lastName': 'Heath',\n 'username': '@Espinoza',\n 'email': 'marionespinoza@comtours.com',\n 'age': 47,\n }, {\n 'id': 29,\n 'firstName': 'Newman',\n 'lastName': 'Hicks',\n 'username': '@Keith',\n 'email': 'newmankeith@comtours.com',\n 'age': 15,\n }, {\n 'id': 30,\n 'firstName': 'Boyle',\n 'lastName': 'Larson',\n 'username': '@Summers',\n 'email': 'boylesummers@comtours.com',\n 'age': 32,\n }, {\n 'id': 31,\n 'firstName': 'Haynes',\n 'lastName': 'Vinson',\n 'username': '@Mckenzie',\n 'email': 'haynesmckenzie@comtours.com',\n 'age': 15,\n }, {\n 'id': 32,\n 'firstName': 'Miller',\n 'lastName': 'Acosta',\n 'username': '@Young',\n 'email': 'milleryoung@comtours.com',\n 'age': 55,\n }, {\n 'id': 33,\n 'firstName': 'Johnston',\n 'lastName': 'Brown',\n 'username': '@Knight',\n 'email': 'johnstonknight@comtours.com',\n 'age': 29,\n }, {\n 'id': 34,\n 'firstName': 'Lena',\n 'lastName': 'Pitts',\n 'username': '@Forbes',\n 'email': 'lenaforbes@comtours.com',\n 'age': 25,\n }, {\n 'id': 35,\n 'firstName': 'Terrie',\n 'lastName': 'Kennedy',\n 'username': '@Branch',\n 'email': 'terriebranch@comtours.com',\n 'age': 37,\n }, {\n 'id': 36,\n 'firstName': 'Louise',\n 'lastName': 'Aguirre',\n 'username': '@Kirby',\n 'email': 'louisekirby@comtours.com',\n 'age': 44,\n }, {\n 'id': 37,\n 'firstName': 'David',\n 'lastName': 'Patton',\n 'username': '@Sanders',\n 'email': 'davidsanders@comtours.com',\n 'age': 26,\n }, {\n 'id': 38,\n 'firstName': 'Holden',\n 'lastName': 'Barlow',\n 'username': '@Mckinney',\n 'email': 'holdenmckinney@comtours.com',\n 'age': 11,\n }, {\n 'id': 39,\n 'firstName': 'Baker',\n 'lastName': 'Rivera',\n 'username': '@Montoya',\n 'email': 'bakermontoya@comtours.com',\n 'age': 47,\n }, {\n 'id': 40,\n 'firstName': 'Belinda',\n 'lastName': 'Lloyd',\n 'username': '@Calderon',\n 'email': 'belindacalderon@comtours.com',\n 'age': 21,\n }, {\n 'id': 41,\n 'firstName': 'Pearson',\n 'lastName': 'Patrick',\n 'username': '@Clements',\n 'email': 'pearsonclements@comtours.com',\n 'age': 42,\n }, {\n 'id': 42,\n 'firstName': 'Alyce',\n 'lastName': 'Mckee',\n 'username': '@Daugherty',\n 'email': 'alycedaugherty@comtours.com',\n 'age': 55,\n }, {\n 'id': 43,\n 'firstName': 'Valencia',\n 'lastName': 'Spence',\n 'username': '@Olsen',\n 'email': 'valenciaolsen@comtours.com',\n 'age': 20,\n }, {\n 'id': 44,\n 'firstName': 'Leach',\n 'lastName': 'Holcomb',\n 'username': '@Humphrey',\n 'email': 'leachhumphrey@comtours.com',\n 'age': 28,\n }, {\n 'id': 45,\n 'firstName': 'Moss',\n 'lastName': 'Baxter',\n 'username': '@Fitzpatrick',\n 'email': 'mossfitzpatrick@comtours.com',\n 'age': 51,\n }, {\n 'id': 46,\n 'firstName': 'Jeanne',\n 'lastName': 'Cooke',\n 'username': '@Ward',\n 'email': 'jeanneward@comtours.com',\n 'age': 59,\n }, {\n 'id': 47,\n 'firstName': 'Wilma',\n 'lastName': 'Briggs',\n 'username': '@Kidd',\n 'email': 'wilmakidd@comtours.com',\n 'age': 53,\n }, {\n 'id': 48,\n 'firstName': 'Beatrice',\n 'lastName': 'Perry',\n 'username': '@Gilbert',\n 'email': 'beatricegilbert@comtours.com',\n 'age': 39,\n }, {\n 'id': 49,\n 'firstName': 'Whitaker',\n 'lastName': 'Hyde',\n 'username': '@Mcdonald',\n 'email': 'whitakermcdonald@comtours.com',\n 'age': 35,\n }, {\n 'id': 50,\n 'firstName': 'Rebekah',\n 'lastName': 'Duran',\n 'username': '@Gross',\n 'email': 'rebekahgross@comtours.com',\n 'age': 40,\n }, {\n 'id': 51,\n 'firstName': 'Earline',\n 'lastName': 'Mayer',\n 'username': '@Woodward',\n 'email': 'earlinewoodward@comtours.com',\n 'age': 52,\n }, {\n 'id': 52,\n 'firstName': 'Moran',\n 'lastName': 'Baxter',\n 'username': '@Johns',\n 'email': 'moranjohns@comtours.com',\n 'age': 20,\n }, {\n 'id': 53,\n 'firstName': 'Nanette',\n 'lastName': 'Hubbard',\n 'username': '@Cooke',\n 'email': 'nanettecooke@comtours.com',\n 'age': 55,\n }, {\n 'id': 54,\n 'firstName': 'Dalton',\n 'lastName': 'Walker',\n 'username': '@Hendricks',\n 'email': 'daltonhendricks@comtours.com',\n 'age': 25,\n }, {\n 'id': 55,\n 'firstName': 'Bennett',\n 'lastName': 'Blake',\n 'username': '@Pena',\n 'email': 'bennettpena@comtours.com',\n 'age': 13,\n }, {\n 'id': 56,\n 'firstName': 'Kellie',\n 'lastName': 'Horton',\n 'username': '@Weiss',\n 'email': 'kellieweiss@comtours.com',\n 'age': 48,\n }, {\n 'id': 57,\n 'firstName': 'Hobbs',\n 'lastName': 'Talley',\n 'username': '@Sanford',\n 'email': 'hobbssanford@comtours.com',\n 'age': 28,\n }, {\n 'id': 58,\n 'firstName': 'Mcguire',\n 'lastName': 'Donaldson',\n 'username': '@Roman',\n 'email': 'mcguireroman@comtours.com',\n 'age': 38,\n }, {\n 'id': 59,\n 'firstName': 'Rodriquez',\n 'lastName': 'Saunders',\n 'username': '@Harper',\n 'email': 'rodriquezharper@comtours.com',\n 'age': 20,\n }, {\n 'id': 60,\n 'firstName': 'Lou',\n 'lastName': 'Conner',\n 'username': '@Sanchez',\n 'email': 'lousanchez@comtours.com',\n 'age': 16,\n }];\n\n getData() {\n return this.data;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { of as observableOf, Observable } from 'rxjs';\nimport { SolarData } from '../data/solar';\n\n@Injectable()\nexport class SolarService extends SolarData {\n private value = 42;\n\n getSolarData(): Observable {\n return observableOf(this.value);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { of as observableOf, Observable } from 'rxjs';\nimport { StatsBarData } from '../data/stats-bar';\nimport { Constants } from '../../Common/constant';\nimport { Dashboard } from './dashboard';\nimport { TokenService } from 'src/app/MasterService/token.service';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { EncryptdecryptService } from 'src/app/MasterService/encryptdecrypt.service';\n\n@Injectable()\nexport class StatsBarService extends StatsBarData {\n readonly rootURL = Constants.apiURL + 'DashboardApi/';\n CustomerRelationshipValue:any = [];\n dashboardDataList: Dashboard[];\n month:string;\n swimlaneListForBackCard:any;\n constructor(private http: HttpClient, public _token: TokenService,public _encreptdecrept:EncryptdecryptService){\n super();\n //this.GetCustomerRelationshipValueForGraph();\n }\n\n fnGetCustomerRelationshipValue(month:string): Observable {\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetCustomerRelationshipValue?month='+this._encreptdecrept.encryptUsingAES256(month), httpOptions);\n }\n\n async GetCustomerRelationshipValueForGraph(){\n debugger;\n this.month = localStorage.getItem('MonthNameChangeValue') != null ? localStorage.getItem('MonthNameChangeValue') : '0';\n this.fnGetCustomerRelationshipValue(this.month).subscribe(result=>{\n debugger;\n this.dashboardDataList = result[\"dashboardList\"];\n localStorage.setItem(\"RelationshipValueMonthYear\",result[\"currentMonth\"][\"MonthYear\"]); \n if(this.dashboardDataList.length > 0)\n {\n this.dashboardDataList.forEach(element => {\n this.CustomerRelationshipValue.push(Number(element[\"CurrentBalance\"])); \n });\n //this.statsBarData = this.CustomerRelationshipValue; \n localStorage.setItem(\"CustomerRelationshipValue\",JSON.stringify(this.CustomerRelationshipValue)); \n } \n else{\n localStorage.setItem(\"CustomerRelationshipValue\",'[]'); \n\n } \n });\n }\n\n private statsBarData: number[];\n\n //private statsBarData: number[] = JSON.parse(localStorage.getItem(\"CustomerRelationshipValue\"));\n\n // private statsBarData: number[] = [\n // 300, 520, 435, 530,\n // 730, 620, 660, 860,\n // ];\n\n getStatsBarData(): Observable {\n debugger;\n // this.GetCustomerRelationshipValueForGraph();\n if(localStorage.getItem(\"CustomerRelationshipValue\") != null){\n this.statsBarData = JSON.parse(localStorage.getItem(\"CustomerRelationshipValue\"));\n }\n else{\n this.statsBarData = [];\n }\n if(this.statsBarData == null){\n this.statsBarData = [];\n } \n return observableOf(this.statsBarData);\n }\n\n fnGetCustomerRelationshipValueSummary(month:string): Observable {\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetCustomerRelationshipValueSummary?month='+this._encreptdecrept.encryptUsingAES256(month),httpOptions);\n }\n\n}","import { Injectable } from '@angular/core';\nimport { of as observableOf, Observable } from 'rxjs';\nimport { ProgressInfo, StatsProgressBarData } from '../data/stats-progress-bar';\nimport { Constants } from '../../Common/constant';\nimport { TokenService } from 'src/app/MasterService/token.service';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\n\n\n@Injectable()\nexport class StatsProgressBarService extends StatsProgressBarData {\n\n readonly rootURL = Constants.apiURL + 'DashboardApi/';\n ProgressInfoList : any;\n ProgressInfoArray : any = [];\n statsProgData:ProgressInfo[];\n private progressInfoData: ProgressInfo[] = [\n {\n title: 'Today’s Sweep',\n value: 572900,\n activeProgress: 70,\n description: 'Better than last week (70%)',\n },\n {\n title: 'Today’s Sweep Charges',\n value: 6378,\n activeProgress: 30,\n description: 'Better than last week (30%)',\n },\n {\n title: 'Today’s Interest',\n value: 200,\n activeProgress: 55,\n description: 'Better than last week (55%)',\n },\n ];\n\n constructor(private http: HttpClient, public _token:TokenService){\n super();\n }\n\n fnGetDataForProgressInfoGraph(): Observable{\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetDataForProgressInfoGraph', httpOptions);\n }\n //This is not used for getting data for progress bar.\n getProgressInfoData(): Observable {\n this.fnGetDataForProgressInfoGraph().subscribe(result => {\n this.ProgressInfoList = result;\n if(this.ProgressInfoList.length > 0){\n this.ProgressInfoList.forEach(element => {\n this.ProgressInfoArray.push(element);\n });\n localStorage.setItem('ProgressInfo',JSON.stringify(this.ProgressInfoArray));\n }\n else{\n this.ProgressInfoArray.length = 0;\n localStorage.setItem('ProgressInfo',JSON.stringify(this.ProgressInfoArray));\n }\n });\n return observableOf(JSON.parse(localStorage.getItem('ProgressInfo')));\n }\n}\n","import { Injectable } from '@angular/core';\nimport { of as observableOf, Observable } from 'rxjs';\nimport { TemperatureHumidityData, Temperature } from '../data/temperature-humidity';\n\n@Injectable()\nexport class TemperatureHumidityService extends TemperatureHumidityData {\n\n private temperatureDate: Temperature = {\n value: 24,\n min: 12,\n max: 30,\n };\n\n private humidityDate: Temperature = {\n value: 87,\n min: 0,\n max: 100,\n };\n\n getTemperatureData(): Observable {\n return observableOf(this.temperatureDate);\n }\n\n getHumidityData(): Observable {\n return observableOf(this.humidityDate);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { of as observableOf, Observable } from 'rxjs';\nimport { PeriodsService } from './periods.service';\nimport { TrafficBarData, TrafficBar } from '../data/traffic-bar';\nimport { Constants } from '../../Common/constant';\nimport { TokenService } from 'src/app/MasterService/token.service';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { EncryptdecryptService } from 'src/app/MasterService/encryptdecrypt.service';\n@Injectable()\nexport class TrafficBarService extends TrafficBarData {\n\n private data = { };\n readonly rootURL = Constants.apiURL + 'DashboardApi/';\n WeekData : any;\n MonthData : any;\n YearData : any;\n WeekStateName : any = [];\n WeekCurrentBalance : any = [];\n MonthStateName : any = [];\n MonthCurrentBalance : any = [];\n YearStateName : any = [];\n YearCurrentBalance : any = [];\n maxCOunt:any=[];\n public isweekloaded = false;\n public ismonthloaded = false;\n public isyearloaded = false;\n\n constructor(private period: PeriodsService, private http: HttpClient, \n public _token: TokenService, public _encreptdecrept:EncryptdecryptService) {\n super();\n this.data = {\n week: this.getDataForWeekPeriod(),\n month: this.getDataForMonthPeriod(),\n year: this.getDataForYearPeriod(),\n };\n }\n\n fnGetRelationshipValueByRegions(type: number): Observable { \n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetRelationshipValueByRegions?type=' + this._encreptdecrept.encryptUsingAES256(type), httpOptions);\n }\n\n getDataForWeekPeriod(): TrafficBar {\n this.fnGetRelationshipValueByRegions(1).subscribe(result=>{\n this.WeekData = result[\"trafficBarsList\"];\n localStorage.setItem('RegionRelationshipWeekPeriodLabel',result['currentPeriod']['PeriodLabel']);\n if(this.WeekData.length > 0)\n {\n this.WeekData.forEach(element => { \n this.WeekStateName.push(element[\"StateName\"]);\n this.WeekCurrentBalance.push(element[\"CurrentBalance\"]); \n }); \n localStorage.setItem(\"WeekStateName\",JSON.stringify(this.WeekStateName)); \n localStorage.setItem(\"WeekCurrentBalance\",JSON.stringify(this.WeekCurrentBalance)); \n } \n else\n {\n this.WeekStateName.length=0;\n this.WeekCurrentBalance.length=0; \n localStorage.setItem(\"WeekStateName\",JSON.stringify(this.WeekStateName)); \n localStorage.setItem(\"WeekCurrentBalance\",JSON.stringify(this.WeekCurrentBalance)); \n } \n this.isweekloaded=true;\n });\n return {\n pltBal:JSON.parse('0'),\n data: JSON.parse(localStorage.getItem(\"WeekCurrentBalance\")), //[10, 15, 19, 7, 20, 13, 15],\n labels: JSON.parse(localStorage.getItem(\"WeekStateName\")), //this.period.getWeeks(),\n formatter: '{c0} Lac', \n };\n }\n\n getDataForMonthPeriod(): TrafficBar {\n this.fnGetRelationshipValueByRegions(2).subscribe(result=>{\n this.MonthData = result[\"trafficBarsList\"];\n localStorage.setItem('RegionRelationshipMonthPeriodLabel',result['currentPeriod']['PeriodLabel']);\n if(this.MonthData.length > 0)\n {\n this.MonthData.forEach(element => { \n this.MonthStateName.push(element[\"StateName\"]);\n this.MonthCurrentBalance.push(element[\"CurrentBalance\"]); \n }); \n localStorage.setItem(\"MonthStateName\",JSON.stringify(this.MonthStateName)); \n localStorage.setItem(\"MonthCurrentBalance\",JSON.stringify(this.MonthCurrentBalance)); \n } \n else\n {\n this.MonthStateName.length=0;\n this.MonthCurrentBalance.length=0; \n localStorage.setItem(\"MonthStateName\",JSON.stringify(this.MonthStateName)); \n localStorage.setItem(\"MonthCurrentBalance\",JSON.stringify(this.MonthCurrentBalance)); \n } \n this.ismonthloaded=true;\n });\n return {\n pltBal:JSON.parse('0'),\n data: JSON.parse(localStorage.getItem(\"MonthCurrentBalance\")), //[0.5, 0.3, 0.8, 0.2, 0.3, 0.7, 0.8, 1, 0.7, 0.8, 0.6, 0.7],\n labels: JSON.parse(localStorage.getItem(\"MonthStateName\")), //this.period.getMonths(),\n formatter: '{c0} Lac', \n };\n }\n\n getDataForYearPeriod(): TrafficBar {\n this.fnGetRelationshipValueByRegions(3).subscribe(result=>{\n this.YearData = result[\"trafficBarsList\"];\n localStorage.setItem('RegionRelationshipYearPeriodLabel',result['currentPeriod']['PeriodLabel']);\n if(this.YearData.length > 0)\n {\n this.YearData.forEach(element => { \n this.YearStateName.push(element[\"StateName\"]);\n this.YearCurrentBalance.push(element[\"CurrentBalance\"]); \n\n }); \n localStorage.setItem(\"YearStateName\",JSON.stringify(this.YearStateName)); \n localStorage.setItem(\"YearCurrentBalance\",JSON.stringify(this.YearCurrentBalance)); \n } \n else\n {\n this.YearStateName.length=0;\n this.YearCurrentBalance.length=0; \n localStorage.setItem(\"YearStateName\",JSON.stringify(this.YearStateName)); \n localStorage.setItem(\"YearCurrentBalance\",JSON.stringify(this.YearCurrentBalance)); \n } \n this.isyearloaded=true; \n });\n return { \n pltBal:JSON.parse('0'),\n data: JSON.parse(localStorage.getItem(\"YearCurrentBalance\")), //[10, 15, 19, 7, 20, 13, 15, 19, 11],\n labels: JSON.parse(localStorage.getItem(\"YearStateName\")), //this.period.getYears(),\n formatter: '{c0} Lac', \n };\n } \n\n getTrafficBarData(period: string): Observable {\n return observableOf(this.data[period]);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { of as observableOf, Observable } from 'rxjs';\nimport { TrafficChartData } from '../data/traffic-chart';\n\n@Injectable()\nexport class TrafficChartService extends TrafficChartData {\n\n private data: number[] = [\n 300, 520, 435, 530,\n 730, 620, 660, 860,\n ];\n\n getTrafficChartData(): Observable {\n return observableOf(this.data);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { of as observableOf, Observable } from 'rxjs';\nimport { PeriodsService } from './periods.service';\nimport { TrafficList, TrafficListData } from '../data/traffic-list';\nimport { Constants } from '../../Common/constant';\nimport { TokenService } from 'src/app/MasterService/token.service';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { EncryptdecryptService } from 'src/app/MasterService/encryptdecrypt.service';\n\n@Injectable()\nexport class TrafficListService extends TrafficListData {\n\n readonly rootURL = Constants.apiURL + 'DashboardApi/';\n private getRandom = (roundTo: number) => Math.round(Math.random() * roundTo);\n public data = {};\n public isweekloaded = false;\n public ismonthloaded = false;\n public isyearloaded = false;\n _trafficList : TrafficList[];\n\n constructor(private period: PeriodsService, private http: HttpClient, \n public _token:TokenService, public _encreptdecrept:EncryptdecryptService) {\n super();\n this.data = {\n week: this.getDataWeek(),\n month: this.getDataMonth(),\n year: this.getDataYear(),\n };\n }\n\n fnGetCustomerCountByRegions(type: number): Observable { \n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetCustomerCountByRegions?type=' + this._encreptdecrept.encryptUsingAES256(type), httpOptions);\n }\n\n public getDataWeek(): TrafficList[] {\n this.fnGetCustomerCountByRegions(1).subscribe(result=>{\n localStorage.setItem(\"WeekCustomerCountByRegions\",JSON.stringify(result[\"trafficList\"])); \n localStorage.setItem('RegionCustomerWeekPeriodLabel',result['currentPeriod']['PeriodLabel']);\n this.isweekloaded = true;\n });\n return JSON.parse(localStorage.getItem(\"WeekCustomerCountByRegions\"));\n // const getFirstDateInPeriod = () => {\n // const weeks = this.period.getWeeks();\n\n // return weeks[weeks.length - 1];\n // };\n\n // return this.reduceData(this.period.getWeeks(), getFirstDateInPeriod);\n }\n\n public getDataMonth(): TrafficList[] {\n this.fnGetCustomerCountByRegions(2).subscribe(result=>{\n localStorage.setItem(\"MonthCustomerCountByRegions\",JSON.stringify(result[\"trafficList\"])); \n localStorage.setItem('RegionCustomerMonthPeriodLabel',result['currentPeriod']['PeriodLabel']);\n this.ismonthloaded = true;\n });\n return JSON.parse(localStorage.getItem(\"MonthCustomerCountByRegions\"));\n // const getFirstDateInPeriod = () => {\n // const months = this.period.getMonths();\n\n // return months[months.length - 1];\n // };\n\n // return this.reduceData(this.period.getMonths(), getFirstDateInPeriod);\n }\n\n public getDataYear(): TrafficList[] {\n this.fnGetCustomerCountByRegions(3).subscribe(result=>{\n localStorage.setItem(\"YearCustomerCountByRegions\",JSON.stringify(result[\"trafficList\"])); \n localStorage.setItem('RegionCustomerYearPeriodLabel',result['currentPeriod']['PeriodLabel']);\n this.isyearloaded = true;\n });\n return JSON.parse(localStorage.getItem(\"YearCustomerCountByRegions\"));\n // const getFirstDateInPeriod = () => {\n // const years = this.period.getYears();\n\n // return `${parseInt(years[0], 10) - 1}`;\n // };\n\n // return this.reduceData(this.period.getYears(), getFirstDateInPeriod);\n }\n\n private reduceData(timePeriods: string[], getFirstDateInPeriod: () => string): TrafficList[] {\n return timePeriods.reduce((result, timePeriod, index) => {\n const hasResult = result[index - 1];\n const prevDate = hasResult ?\n result[index - 1].comparison.nextDate :\n getFirstDateInPeriod();\n const prevValue = hasResult ?\n result[index - 1].comparison.nextValue :\n this.getRandom(100);\n const nextValue = this.getRandom(100);\n const deltaValue = prevValue - nextValue;\n\n const item = {\n date: timePeriod,\n value: this.getRandom(1000),\n delta: {\n up: deltaValue <= 0,\n value: Math.abs(deltaValue),\n },\n comparison: {\n prevDate,\n prevValue,\n nextDate: timePeriod,\n nextValue,\n },\n };\n\n return [...result, item];\n }, []);\n }\n\n getTrafficListData(period: string): Observable {\n return observableOf(this.data[period]);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { of as observableOf, Observable } from 'rxjs';\nimport { PeriodsService } from './periods.service';\nimport { UserActive, UserActivityData } from '../data/user-activity';\n\n@Injectable()\nexport class UserActivityService extends UserActivityData {\n\n private getRandom = (roundTo: number) => Math.round(Math.random() * roundTo);\n private generateUserActivityRandomData(date) {\n return {\n date,\n pagesVisitCount: this.getRandom(1000),\n deltaUp: this.getRandom(1) % 2 === 0,\n newVisits: this.getRandom(100),\n };\n }\n\n data = {};\n\n constructor(private periods: PeriodsService) {\n super();\n this.data = {\n week: this.getDataWeek(),\n month: this.getDataMonth(),\n year: this.getDataYear(),\n };\n }\n\n private getDataWeek(): UserActive[] {\n return this.periods.getWeeks().map((week) => {\n return this.generateUserActivityRandomData(week);\n });\n }\n\n private getDataMonth(): UserActive[] {\n const currentDate = new Date();\n const days = currentDate.getDate();\n const month = this.periods.getMonths()[currentDate.getMonth()];\n\n return Array.from(Array(days)).map((_, index) => {\n const date = `${index + 1} ${month}`;\n\n return this.generateUserActivityRandomData(date);\n });\n }\n\n private getDataYear(): UserActive[] {\n return this.periods.getYears().map((year) => {\n return this.generateUserActivityRandomData(year);\n });\n }\n\n getUserActivityData(period: string): Observable {\n return observableOf(this.data[period]);\n }\n}\n","import { of as observableOf, Observable } from 'rxjs';\nimport { Injectable } from '@angular/core';\nimport { Contacts, RecentUsers, UserData } from '../data/users';\n\n@Injectable()\nexport class UserService extends UserData {\n\n private time: Date = new Date;\n\n private users = {\n nick: { name: 'Admin', picture: 'assets/images/idbi-bank1.png' },\n eva: { name: 'Eva Moor', picture: 'assets/images/eva.png' },\n jack: { name: 'Jack Williams', picture: 'assets/images/jack.png' },\n lee: { name: 'Lee Wong', picture: 'assets/images/lee.png' },\n alan: { name: 'Alan Thompson', picture: 'assets/images/alan.png' },\n kate: { name: 'Kate Martinez', picture: 'assets/images/kate.png' },\n };\n private types = {\n mobile: 'mobile',\n home: 'home',\n work: 'work',\n };\n private contacts: Contacts[] = [\n { user: this.users.nick, type: this.types.mobile },\n { user: this.users.eva, type: this.types.home },\n { user: this.users.jack, type: this.types.mobile },\n { user: this.users.lee, type: this.types.mobile },\n { user: this.users.alan, type: this.types.home },\n { user: this.users.kate, type: this.types.work },\n ];\n private recentUsers: RecentUsers[] = [\n { user: this.users.alan, type: this.types.home, time: this.time.setHours(21, 12)},\n { user: this.users.eva, type: this.types.home, time: this.time.setHours(17, 45)},\n { user: this.users.nick, type: this.types.mobile, time: this.time.setHours(5, 29)},\n { user: this.users.lee, type: this.types.mobile, time: this.time.setHours(11, 24)},\n { user: this.users.jack, type: this.types.mobile, time: this.time.setHours(10, 45)},\n { user: this.users.kate, type: this.types.work, time: this.time.setHours(9, 42)},\n { user: this.users.kate, type: this.types.work, time: this.time.setHours(9, 31)},\n { user: this.users.jack, type: this.types.mobile, time: this.time.setHours(8, 0)},\n ];\n\n getUsers(): Observable {\n return observableOf(this.users);\n }\n\n getContacts(): Observable {\n return observableOf(this.contacts);\n }\n\n getRecentUsers(): Observable {\n return observableOf(this.recentUsers);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { of as observableOf, Observable } from 'rxjs';\nimport { PeriodsService } from './periods.service';\nimport { OutlineData, VisitorsAnalyticsData } from '../data/visitors-analytics';\nimport { Constants } from '../../Common/constant';\nimport { UserAnalytics } from './dashboard';\nimport { TokenService } from 'src/app/MasterService/token.service';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\n\n\n@Injectable()\nexport class VisitorsAnalyticsService extends VisitorsAnalyticsData {\n\n readonly rootURL = Constants.apiURL + 'DashboardApi/';\n innerLinePointsList : number[];\n pieChartNewUserValue : number;\n OutlineDataList : OutlineData[];\n\n constructor(private periodService: PeriodsService, private http: HttpClient, public _token:TokenService) {\n super();\n this.getInnerLineChartData();\n this.getOutlineLineChartData();\n this.getPieChartData();\n }\n\n private pieChartValue = 75;\n private innerLinePoints: number[] = [\n 94, 188, 225, 244, 253, 254, 249, 235, 208,\n 173, 141, 118, 105, 97, 94, 96, 104, 121, 147,\n 183, 224, 265, 302, 333, 358, 375, 388, 395,\n 400, 400, 397, 390, 377, 360, 338, 310, 278,\n 241, 204, 166, 130, 98, 71, 49, 32, 20, 13, 9,\n ];\n private outerLinePoints: number[] = [\n 85, 71, 59, 50, 45, 42, 41, 44 , 58, 88,\n 136 , 199, 267, 326, 367, 391, 400, 397,\n 376, 319, 200, 104, 60, 41, 36, 37, 44,\n 55, 74, 100 , 131, 159, 180, 193, 199, 200,\n 195, 184, 164, 135, 103, 73, 50, 33, 22, 15, 11,\n ];\n private generateOutlineLineData(): OutlineData[] {\n const months = this.periodService.getMonths();\n const outerLinePointsLength = this.outerLinePoints.length;\n const monthsLength = months.length;\n\n return this.outerLinePoints.map((p, index) => {\n const monthIndex = Math.round(index / 4);\n const label = (index % Math.round(outerLinePointsLength / monthsLength) === 0)\n ? months[monthIndex]\n : '';\n\n return {\n label,\n value: p,\n };\n });\n }\n\n fnGetDataForUserAnalyticsGraph(): Observable{\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetDataForUserAnalyticsGraph', httpOptions);\n }\n\n getInnerLineChartData(): Observable {\n this.fnGetDataForUserAnalyticsGraph().subscribe(result => {\n this.innerLinePointsList = result.innerLinePoints; \n localStorage.setItem('innerLinePointsList',JSON.stringify(this.innerLinePointsList));\n localStorage.setItem('UserAnalyticsMonthYear',result.currentMonth.MonthYear);\n });\n return observableOf(JSON.parse(localStorage.getItem('innerLinePointsList')));\n }\n\n getOutlineLineChartData(): Observable {\n this.fnGetDataForUserAnalyticsGraph().subscribe(result => {\n this.OutlineDataList = result.OutlineData;\n localStorage.setItem('OutlineDataList',JSON.stringify(this.OutlineDataList));\n });\n return observableOf(JSON.parse(localStorage.getItem('OutlineDataList')));\n }\n\n getPieChartData(): Observable {\n this.fnGetDataForUserAnalyticsGraph().subscribe(result => {\n this.pieChartNewUserValue = result.pieChartValue;\n localStorage.setItem('PieChartNewUserValue',JSON.stringify(this.pieChartNewUserValue));\n });\n return observableOf(JSON.parse(localStorage.getItem('PieChartNewUserValue')));\n }\n}","export function throwIfAlreadyLoaded(parentModule: any, moduleName: string) {\n if (parentModule) {\n throw new Error(`${moduleName} has already been loaded. Import Core modules in the AppModule only.`);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { NavigationEnd, Router } from '@angular/router';\nimport { Location } from '@angular/common';\nimport { filter } from 'rxjs/operators';\n\ndeclare const ga: any;\n\n@Injectable()\nexport class AnalyticsService {\n private enabled: boolean;\n\n constructor(private location: Location, private router: Router) {\n this.enabled = false;\n }\n\n trackPageViews() {\n if (this.enabled) {\n this.router.events.pipe(\n filter((event) => event instanceof NavigationEnd),\n )\n .subscribe(() => {\n ga('send', {hitType: 'pageview', page: this.location.path()});\n });\n }\n }\n\n trackEvent(eventName: string) {\n if (this.enabled) {\n ga('send', 'event', eventName);\n }\n }\n}\n","import { LayoutService } from './layout.service';\nimport { AnalyticsService } from './analytics.service';\nimport { PlayerService } from './player.service';\nimport { StateService } from './state.service';\nimport { SeoService } from './seo.service';\n\nexport {\n LayoutService,\n AnalyticsService,\n PlayerService,\n SeoService,\n StateService,\n};\n","import { Injectable } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\nimport { delay, shareReplay, debounceTime } from 'rxjs/operators';\n\n@Injectable()\nexport class LayoutService {\n\n protected layoutSize$ = new Subject();\n protected layoutSizeChange$ = this.layoutSize$.pipe(\n shareReplay({ refCount: true }),\n );\n\n changeLayoutSize() {\n this.layoutSize$.next();\n }\n\n onChangeLayoutSize(): Observable {\n return this.layoutSizeChange$.pipe(delay(1));\n }\n\n onSafeChangeLayoutSize(): Observable {\n return this.layoutSizeChange$.pipe(\n debounceTime(350),\n );\n }\n}\n","import { Injectable } from '@angular/core';\n\nexport class Track {\n name: string;\n artist: string;\n url: string;\n cover: string;\n}\n\n@Injectable()\nexport class PlayerService {\n current: number;\n playlist: Track[] = [\n {\n name: 'Don\\'t Wanna Fight',\n artist: 'Alabama Shakes',\n url: 'https://p.scdn.co/mp3-preview/6156cdbca425a894972c02fca9d76c0b70e001af',\n cover: 'assets/images/cover1.jpg',\n },\n {\n name: 'Harder',\n artist: 'Daft Punk',\n url: 'https://p.scdn.co/mp3-preview/92a04c7c0e96bf93a1b1b1cae7dfff1921969a7b',\n cover: 'assets/images/cover2.jpg',\n },\n {\n name: 'Come Together',\n artist: 'Beatles',\n url: 'https://p.scdn.co/mp3-preview/83090a4db6899eaca689ae35f69126dbe65d94c9',\n cover: 'assets/images/cover3.jpg',\n },\n ];\n\n random(): Track {\n this.current = Math.floor(Math.random() * this.playlist.length);\n return this.playlist[this.current];\n }\n\n next(): Track {\n return this.getNextTrack();\n }\n\n prev() {\n return this.getPrevTrack();\n }\n\n private getNextTrack(): Track {\n if (this.current === this.playlist.length - 1) {\n this.current = 0;\n } else {\n this.current++;\n }\n\n return this.playlist[this.current];\n }\n\n private getPrevTrack(): Track {\n if (this.current === 0) {\n this.current = this.playlist.length - 1;\n } else {\n this.current--;\n }\n\n return this.playlist[this.current];\n }\n}\n","import { Injectable } from '@angular/core';\nimport { RippleGlobalOptions } from '@angular/material/core';\n\n@Injectable({providedIn: 'root'})\nexport class RippleService implements RippleGlobalOptions {\n public disabled: boolean = false;\n\n public toggle(enabled: boolean): void {\n this.disabled = !enabled;\n }\n}\n","import { Injectable, Inject, PLATFORM_ID, OnDestroy } from '@angular/core';\nimport { isPlatformBrowser } from '@angular/common';\nimport { NavigationEnd, Router } from '@angular/router';\nimport { NB_DOCUMENT } from '@nebular/theme';\nimport { filter, takeUntil } from 'rxjs/operators';\nimport { Subject } from 'rxjs';\n\n@Injectable()\nexport class SeoService implements OnDestroy {\n\n private readonly destroy$ = new Subject();\n private readonly dom: Document;\n private readonly isBrowser: boolean;\n private linkCanonical: HTMLLinkElement;\n\n constructor(\n private router: Router,\n @Inject(NB_DOCUMENT) document,\n @Inject(PLATFORM_ID) platformId,\n ) {\n this.isBrowser = isPlatformBrowser(platformId);\n this.dom = document;\n\n if (this.isBrowser) {\n this.createCanonicalTag();\n }\n }\n\n ngOnDestroy() {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n createCanonicalTag() {\n this.linkCanonical = this.dom.createElement('link');\n this.linkCanonical.setAttribute('rel', 'canonical');\n this.dom.head.appendChild(this.linkCanonical);\n this.linkCanonical.setAttribute('href', this.getCanonicalUrl());\n }\n\n trackCanonicalChanges() {\n if (!this.isBrowser) {\n return;\n }\n\n this.router.events.pipe(\n filter((event) => event instanceof NavigationEnd),\n takeUntil(this.destroy$),\n )\n .subscribe(() => {\n this.linkCanonical.setAttribute('href', this.getCanonicalUrl());\n });\n }\n\n private getCanonicalUrl(): string {\n return this.dom.location.origin + this.dom.location.pathname;\n }\n}\n","import { Injectable, OnDestroy } from '@angular/core';\nimport { of as observableOf, Observable, BehaviorSubject } from 'rxjs';\nimport { takeWhile } from 'rxjs/operators';\n\nimport { NbLayoutDirectionService, NbLayoutDirection } from '@nebular/theme';\n\n@Injectable()\nexport class StateService implements OnDestroy {\n\n protected layouts: any = [\n {\n name: 'One Column',\n icon: 'nb-layout-default',\n id: 'one-column',\n selected: true,\n },\n {\n name: 'Two Column',\n icon: 'nb-layout-two-column',\n id: 'two-column',\n },\n {\n name: 'Center Column',\n icon: 'nb-layout-centre',\n id: 'center-column',\n },\n ];\n\n protected sidebars: any = [\n {\n name: 'Sidebar at layout start',\n icon: 'nb-layout-sidebar-left',\n id: 'start',\n selected: true,\n },\n {\n name: 'Sidebar at layout end',\n icon: 'nb-layout-sidebar-right',\n id: 'end',\n },\n ];\n\n protected layoutState$ = new BehaviorSubject(this.layouts[0]);\n protected sidebarState$ = new BehaviorSubject(this.sidebars[0]);\n\n alive = true;\n\n constructor(directionService: NbLayoutDirectionService) {\n directionService.onDirectionChange()\n .pipe(takeWhile(() => this.alive))\n .subscribe(direction => this.updateSidebarIcons(direction));\n\n this.updateSidebarIcons(directionService.getDirection());\n }\n\n ngOnDestroy() {\n this.alive = false;\n }\n\n private updateSidebarIcons(direction: NbLayoutDirection) {\n const [ startSidebar, endSidebar ] = this.sidebars;\n const isLtr = direction === NbLayoutDirection.LTR;\n const startIconClass = isLtr ? 'nb-layout-sidebar-left' : 'nb-layout-sidebar-right';\n const endIconClass = isLtr ? 'nb-layout-sidebar-right' : 'nb-layout-sidebar-left';\n startSidebar.icon = startIconClass;\n endSidebar.icon = endIconClass;\n }\n\n setLayoutState(state: any): any {\n this.layoutState$.next(state);\n }\n\n getLayoutStates(): Observable {\n return observableOf(this.layouts);\n }\n\n onLayoutState(): Observable {\n return this.layoutState$.asObservable();\n }\n\n setSidebarState(state: any): any {\n this.sidebarState$.next(state);\n }\n\n getSidebarStates(): Observable {\n return observableOf(this.sidebars);\n }\n\n onSidebarState(): Observable {\n return this.sidebarState$.asObservable();\n }\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'ngx-footer',\n styleUrls: ['./footer.component.scss'],\n template: `\n \n \n
\n
\n `,\n})\nexport class FooterComponent {\n}\n","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { NbMediaBreakpointsService, NbMenuService, NbSidebarService, NbThemeService } from '@nebular/theme';\n\nimport { UserData } from '../../../@core/data/users';\nimport { LayoutService } from '../../../@core/utils';\nimport { map, takeUntil } from 'rxjs/operators';\nimport { Subject, Observable } from 'rxjs';\nimport { RippleService } from '../../../@core/utils/ripple.service';\nimport { Router } from '@angular/router';\nimport { LoginDetails } from 'src/app/Common/LoginDetail';\nimport { LoginService } from 'src/app/MasterService/Login.service';\nimport { UserService } from 'src/app/MasterService/user.service';\nimport { EncryptdecryptService } from 'src/app/MasterService/encryptdecrypt.service';\n\n@Component({\n selector: 'ngx-header',\n styleUrls: ['./header.component.scss'],\n templateUrl: './header.component.html',\n})\nexport class HeaderComponent implements OnInit, OnDestroy {\n\n private destroy$: Subject = new Subject();\n public readonly materialTheme$: Observable;\n userPictureOnly: boolean = false;\n user: any;\n UserName: any = '';\n showModalLogout: boolean;\n lblMessageLogout: string;\n DashboardDirection: string=\"RTL\";\n showLogout() { this.showModalLogout = true; }\n hideLogout() { this.showModalLogout = false; }\n LoginRoleName:any='';\n\n themes = [\n {\n value: 'default',\n name: 'Light',\n },\n {\n value: 'dark',\n name: 'Dark',\n },\n {\n value: 'cosmic',\n name: 'Cosmic',\n },\n {\n value: 'corporate',\n name: 'Corporate',\n },\n {\n value: 'material-light',\n name: 'Material Light',\n },\n {\n value: 'material-dark',\n name: 'Material Dark',\n },\n ];\n\n currentTheme = 'default';\n IsAdminDashboard:any;\n headingLabel:string;\n LastLoginDate:string;\n\n //userMenu = [ { title: 'Profile' },{ title: 'Log out' } ];\n \n public constructor(\n private sidebarService: NbSidebarService,\n private menuService: NbMenuService,\n private themeService: NbThemeService,\n private userService: UserData,\n private layoutService: LayoutService,\n private breakpointService: NbMediaBreakpointsService,\n private rippleService: RippleService,\n private router: Router,public _login: LoginService, \n public _user:UserService,public _encrypt:EncryptdecryptService\n ) {\n this.materialTheme$ = this.themeService.onThemeChange()\n .pipe(map(theme => {\n const themeName: string = theme?.name || '';\n return themeName.startsWith('material');\n }));\n }\n\n ngOnInit() {\n debugger;\n this.currentTheme = this.themeService.currentTheme;\n localStorage.setItem('_newTheme','');\n localStorage.setItem('_newTheme',this.currentTheme);\n // this.userService.getUsers()\n // .pipe(takeUntil(this.destroy$))\n // .subscribe((users: any) => this.user = users.nick);\n\n this.UserName = localStorage.getItem('LoginFirstName') + ' ' + localStorage.getItem('LoginLastName');\n this.LoginRoleName = this._encrypt.decryptUsingAES256(localStorage.getItem('LoginRoleName'));\n this.LastLoginDate = localStorage.getItem('LastLoginDate');\n\n if(localStorage.getItem('IsAdminDashboard') == '1')\n {\n this.headingLabel=\"Admin Dashboard\";\n } \n else if(localStorage.getItem('IsAdminDashboard') == '0'){\n this.headingLabel=\"Customer Dashboard\"; \n }\n $('.legend-labels').css('background-color','white'); \n // $('.RhtModelHeader').eq(0).css('display','none');\n // $('.RhtModelClose').eq(0).css('display','none');\n // $('.RhtModelFooter').eq(0).css('display','none');\n if(localStorage.getItem(\"DashboardDirection\")!=null){\n this.DashboardDirection=localStorage.getItem(\"DashboardDirection\");}\n if(this.DashboardDirection==\"RTL\"){\n $('.LogoutPopupContents').eq(0).css('float','left');\n $('.LeftLogoutPopupQueMark').eq(0).css('display','none');\n $('.RightLogoutPopupQueMark').eq(0).css('display','inline');\n $('.LeftModelHeader').eq(0).css('display','inline');\n $('.LeftModelClose').eq(0).css('display','inline');\n $('.RhtModelHeader').eq(0).css('display','none');\n $('.RhtModelClose').eq(0).css('display','none');\n $('.LeftModelFooter').eq(0).css('display','inline');\n $('.RhtModelFooter').eq(0).css('display','none'); \n }\n if(this.DashboardDirection==\"LTR\"){\n $('.LogoutPopupContents').eq(0).css('float','left');\n $('.RightLogoutPopupQueMark').eq(0).css('display','none');\n $('.LeftLogoutPopupQueMark').eq(0).css('display','inline');\n $('.LeftModelHeader').eq(0).css('display','none');\n $('.LeftModelClose').eq(0).css('display','none');\n $('.RhtModelHeader').eq(0).css('display','inline');\n $('.RhtModelClose').eq(0).css('display','inline');\n $('.LeftModelFooter').eq(0).css('display','none');\n $('.RhtModelFooter').eq(0).css('display','inline');\n } \n $('.LeftLogoutPopupQueMark').eq(0).css('display','none');\n $('.NgxBarVerticalStackedChartsCls').eq(0).find('.legend-title').css({'display':'inline','float':'left','padding-top':'3px'}); \n $('.SweepVolumeAreaChartCls').eq(0).find('.legend-title').css({'display':'inline','float':'left','padding-top':'3px'}); \n setTimeout(function(){ \n $('[class=\"progress-info ng-star-inserted\"]').find('[class=\"caption description\"]').find('bdi').css('color','#A52A2A'); \n $('.ngxChartsLineCharts').eq(0).find('.legend-title').css({'display':'inline','float':'left','padding-top':'6px'}); \n }, 3000);\n \n this.user = {\n name: this.UserName,\n picture: \"assets/images/idbi-bank1.png\"\n }\n\n const { xl } = this.breakpointService.getBreakpointsMap();\n this.themeService.onMediaQueryChange()\n .pipe(\n map(([, currentBreakpoint]) => currentBreakpoint.width < xl),\n takeUntil(this.destroy$),\n )\n .subscribe((isLessThanXl: boolean) => this.userPictureOnly = isLessThanXl);\n\n this.themeService.onThemeChange()\n .pipe(\n map(({ name }) => name),\n takeUntil(this.destroy$),\n )\n .subscribe(themeName => {\n this.currentTheme = themeName;\n this.rippleService.toggle(themeName?.startsWith('material'));\n localStorage.setItem(\"CurrentThame\",themeName)\n });\n \n }\n\n ngOnDestroy() {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n changeTheme(themeName: string) { \n debugger;\n localStorage.setItem(\"CurrentThame\",themeName)\n if(themeName=='dark' || themeName=='cosmic' || themeName=='material-dark'){\n $('.legend-label-text').css('color','white'); \n $('.progress-value').css('background-color','pink');\n $('.caption').css('color','white');\n $('.ngx-charts').find('text').css('fill','white');\n $('[class=\"progress-info ng-star-inserted\"]').find('[class=\"caption description\"]').find('bdi').css('color','white'); \n $('.legend-labels').css('background-color',''); \n $('.spinnercard').css('background-color','black');\n $('[class=\"delta down\"]').css('color','lightcoral');\n $('[class=\"progress-line-now failure\"]').css('background-color','lightcoral');\n /*-----------value Relationship graph----------------------------*/\n $('.ngxChartsLineCharts').find('.legend-label-text').css('color','white');\n $('.ngxChartsLineChartsInfo').find('.label').css('color','white');\n $('.ngxChartsLineChartsInfo').find('.caption').css('color','white');\n\n /*-----------Transaction graph----------------------------*/\n if (themeName=='dark') {\n $('.clscolor').css('background-color','#192038');\n $('.clscolor').css('border-color','#101426');\n $('.clscolor').css('color','#ffffff');\n } else if(themeName =='cosmic') {\n $('.clscolor').css('background-color','#252547');\n $('.clscolor').css('border-color','#13132b');\n $('.clscolor').css('color','#ffffff');\n } else if(themeName =='material-dark') {\n $('.clscolor').css('background-color','#353535');\n $('.clscolor').css('border-color','rgba(255, 255, 255, 0.7)');\n $('.clscolor').css('color','#ffffff');\n $('.clscolor').css('border-style','solid');\n $('.clscolor').css('border-width','0 0 1px 0');\n }\n /*-----------Transaction graph----------------------------*/\n }\n else{\n $('.spinnercard').css('background-color','black'); \n $('.legend-label-text').css('color','black'); \n $('.progress-value').css('background-color','#00836c61');\n $('.caption').css('color','black');\n $('.ngx-charts').find('text').css('fill','black');\n $('.legend-labels').css('background-color','white'); \n /*-----------value Relationship graph----------------------------*/\n $('.ngxChartsLineCharts').find('.legend-label-text').css('color','black');\n $('.ngxChartsLineChartsInfo').find('.label').css('color','black');\n $('.ngxChartsLineChartsInfo').find('.caption').css('color','black');\n\n if(themeName=='default' || themeName=='corporate'){\n $('[class=\"progress-info ng-star-inserted\"]').find('[class=\"caption description\"]').find('bdi').css('color','#A52A2A');\n }\n else{\n $('[class=\"progress-info ng-star-inserted\"]').find('[class=\"caption description\"]').find('bdi').css('color','black');\n }\n\n /*-----------Transaction graph----------------------------*/\n if (themeName =='default' || themeName=='corporate') {\n $('.clscolor').css('background-color','#f7f9fc');\n $('.clscolor').css('border-color','#e4e9f2');\n $('.clscolor').css('color','#222b45');\n $('.size-tiny, .size-small, .size-medium, .clscolor').css('border','0.0625rem solid #e4e9f2');\n }else{\n $('.clscolor').css('background-color','transparent');\n $('.clscolor').css('border-color','rgba(0, 0, 0, 0.42)');\n $('.clscolor').css('color','#424242');\n $('.clscolor').css('border-style','solid');\n $('.clscolor').css('border-width','0 0 1px 0');\n $('.size-tiny, .size-small, .size-medium, .clscolor').css('border','0.0625rem solid #e4e9f2');\n }\n /*-----------Transaction graph----------------------------*/\n }\n this.themeService.changeTheme(themeName);\n }\n count:string;\n counterValue:number=0; ToggleValue:boolean=true;\n toggleSidebar(): boolean { debugger; \n // this.ToggleValue;\n // this.counterValue=+sessionStorage.getItem('ChecktoggleClick');\n // this.counterValue =this.counterValue +1;\n // sessionStorage.setItem('ChecktoggleClick',this.counterValue.toString());\n $(\".menu-icon\").click(function(){\n $('#Dashboardlogout').css('display','block'); \n });\n if(this.counterValue ==0){\n this.counterValue =this.counterValue +1;\n $('#Dashboardlogout').css('display','none');\n }\n this.sidebarService.toggle(true, 'menu-sidebar');\n this.layoutService.changeLayoutSize();\n if($('nb-sidebar')[0].className==\"menu-sidebar start compacted\") {\n $('#Dashboardlogout').css('display','block');\n }\n if($('nb-sidebar')[0].className==\"menu-sidebar start expanded\"){\n $('#Dashboardlogout').css('display','none');\n }\n return false;\n // if(this.ToggleValue==true){\n // this.ToggleValue=false;\n // $('#Dashboardlogout').css('display','none');\n // }\n // if(this.ToggleValue==false){ \n // this.ToggleValue=true;\n // $('#Dashboardlogout').css('display','block');}\n \n // this.count=\"0\" ;\n // debugger; \n // if(this.counterValue ==0){\n // // this.counterValue =this.counterValue +1;\n // sessionStorage.setItem('ChecktoggleClick',this.counterValue.toString());\n // }\n // if(this.counterValue%2==0){\n // //this.counterValue =this.counterValue +1; \n // $('#Dashboardlogout').css('display','block'); \n // sessionStorage.setItem('ChecktoggleClick',this.counterValue.toString());\n // }\n // else{\n // //this.counterValue =this.counterValue +1;\n // $('#Dashboardlogout').css('display','none'); \n // sessionStorage.setItem('ChecktoggleClick',this.counterValue.toString()); \n // }\n\n \n \n // if($(\".nb-sidebar.menu-sidebar.start.compacted\")){debugger;\n // }\n // if($(\".nb-sidebar.menu-sidebar.start.compacted.expanded\")){debugger; \n // }\n // var test=this.toggleSidebar;\n \n // if($('.menu-sidebar start expanded').length){\n // $('#Dashboardlogout').css('display','none');\n // }\n // else if($('.menu-sidebar start compacted').length){\n // $('#Dashboardlogout').css('display','block');\n // }\n \n }\n\n navigateHome() {\n this.menuService.navigateHome();\n return false;\n }\n\n LogoutPopup() {\n this.lblMessageLogout = \"Are you sure, you want to Logout?\";\n this.showLogout();\n }\n\n Hide() {\n this.hideLogout();\n }\n\n YesLogout() { \n LoginDetails.UserId = 0;\n this._user.fnUpdateTokenInDb(localStorage.getItem('UID'), '').subscribe(data=>{ \n });\n this.hideLogout();\n localStorage.clear(); \n this.router.navigate([\"\"]);\n this._login.displaystart = true;\n this._login.displayLogin = false;\n if(localStorage.getItem('LoginUserId')==null){\n this.router.navigate([\"\"]).then(()=> {location.reload()}); \n } \n }\n\n}\n\n","
\n
\n \n \n \n \n \"\"\n \n
\n \n {{ theme.name }}\n \n \n

{{headingLabel}}

\n
\n\n
\n
\n
\n
\n

Confirmation

\n \n
\n
\n {{lblMessageLogout}}\n
\n
\n \n \n
\n
\n
\n
\n\n
\n \n\n \n \n \n \n \n\n {{UserName}}\n \n \n\n
\n","export * from './header/header.component';\nexport * from './footer/footer.component';\n//export * from './search-input/search-input.component';\n//export * from './tiny-mce/tiny-mce.component';\nexport * from './switcher/switcher.component';\nexport * from './layout-direction-switcher/layout-direction-switcher.component';\n","import { Component, OnDestroy, Input } from '@angular/core';\nimport { NbLayoutDirectionService, NbLayoutDirection } from '@nebular/theme';\nimport { takeUntil } from 'rxjs/operators';\nimport { Subject } from 'rxjs';\n\n@Component({\n selector: 'ngx-layout-direction-switcher',\n template: `\n \n \n `,\n})\nexport class LayoutDirectionSwitcherComponent implements OnDestroy {\n\n protected destroy$ = new Subject();\n\n directions = NbLayoutDirection;\n currentDirection: NbLayoutDirection;\n\n @Input() vertical: boolean = false;\n\n constructor(private directionService: NbLayoutDirectionService) {\n this.currentDirection = this.directionService.getDirection();\n\n this.directionService.onDirectionChange()\n .pipe(takeUntil(this.destroy$))\n .subscribe(newDirection => this.currentDirection = newDirection);\n }\n\n toggleDirection(newDirection) {\n if(newDirection == 'rtl'){\n //New Customers V/S Relationship Value\n localStorage.setItem(\"DashboardDirection\",\"LTR\")\n $('[class=\"legend-title ng-star-inserted\"]').eq(0).css('padding-right','25px');\n $('[class=\"legend-labels\"]').eq(0).css({'float':'right','padding-left':'40px'});\n $('[class=\"legend-label-text\"]').css('margin-right','2px');\n $('.NgxBarVerticalStackedChartsCls').eq(0).find('.legend-title').css({'display':'inline','float':'right','padding-top':'3px'});\n //Sweep Volume\n $('[class=\"legend-title ng-star-inserted\"]').eq(2).css('padding-right','17px');\n $('[class=\"legend-label ng-star-inserted\"]').eq(3).css('float','right');\n $('.SweepVolumeAreaChartCls').eq(0).find('.legend-title').css({'display':'inline','float':'right','padding-top':'3px'});\n //Relationship Value\n $('[class=\"legend-label ng-star-inserted\"]').eq(2).css('float','right');\n $('[class=\"legend-title ng-star-inserted\"]').eq(1).css('padding-right','17px');\n $('.RelationshipValueMonthChange').eq(0).css({'margin-left': '32px','float':'left'});\n $('.ngxChartsLineCharts').eq(0).find('.legend-title').css({'display':'inline','float':'right','padding-top':'6px'});\n $('[class=\"legend-labels\"]').eq(1).css({'margin-left':'100px'});\n $('[class=\"legend-labels\"]').eq(2).css({'margin-left':'100px'});\n //Transactions\n $('[class=\"legend-label ng-star-inserted\"]').eq(4).css('float','right');\n $('[class=\"legend-label ng-star-inserted\"]').eq(5).css('float','right');\n $('[class=\"legend-label ng-star-inserted\"]').eq(6).css('float','right');\n $('[class=\"legend-title ng-star-inserted\"]').eq(3).css('padding-right','17px');\n $('.TransactionPeriodChange').eq(0).css('float','left');\n $('.TransactionPeriodChange .clscolor').eq(0).css({'float':'left','position':'relative'});\n $('.testngxcls').find('.ngx-charts-outer').find('.chart-legend').find('div').eq(0).find('.legend-title').css({'display':'inline','float':'right','padding-top':'3px'});\n $(\".clscolor\").css({'direction':'ltr'});\n //User Analytics\n //$('[class=\"ngx-charts-outer ng-tns-c389-6 ng-trigger ng-trigger-animationState\"]').eq(0).css('width','400px');\n $('ngx-ecommerce-visitors-analytics').eq(0).find('.ngx-charts-outer').eq(0).css('width','400px');\n $('ngx-charts-advanced-pie-chart').children().eq(0).css('width','300px');\n $('ngx-charts-advanced-pie-chart').find('.nb-icon').css('arrow-forward-outline')\n //Customer dashboard - Monthly Sweep Volume\n $('ngx-monthlysweepvolumechartcomponent').find('[class=\"legend-label ng-star-inserted\"]').css('float','right');\n $('ngx-monthlysweepvolumechartcomponent').find('[class=\"legend-title ng-star-inserted\"]').css('float','right');\n \n //Dashboard Logout -------------RTL-----------------\n $('.LogoutPopupContents').eq(0).css('float','left');\n $('.RightLogoutPopupQueMark').eq(0).css('display','none');\n $('.LeftLogoutPopupQueMark').eq(0).css('display','inline');\n $('.LeftModelHeader').eq(0).css('display','none');\n $('.LeftModelClose').eq(0).css('display','none');\n $('.RhtModelHeader').eq(0).css('display','inline');\n $('.RhtModelClose').eq(0).css('display','inline');\n $('.LeftModelFooter').eq(0).css('display','none');\n $('.RhtModelFooter').eq(0).css('display','inline'); \n\n $('ngx-ecommerce-visitors-analytics').find('nb-icon').click();\n $('.SweepVolumeAreaChartCls').eq(0).find('text').css('transform', 'rotate(90deg)');\n $('.ngxChartsLineCharts').eq(0).find('text').css('transform', 'rotate(90deg)');\n }\n else{\n localStorage.setItem(\"DashboardDirection\",\"RTL\")\n //New Customers V/S Relationship Value\n $('[class=\"legend-labels\"]').eq(0).css({'float':'left','padding-left':'0px'});\n $('[class=\"legend-label-text\"]').css('margin-right','0px');\n $('.NgxBarVerticalStackedChartsCls').eq(0).find('.legend-title').css({'display':'inline','float':'left','padding-top':'3px'});\n //Sweep Volume\n $('[class=\"legend-title ng-star-inserted\"]').eq(2).css('padding-right','0px');\n $('[class=\"legend-label ng-star-inserted\"]').eq(3).css('float','left');\n $('.SweepVolumeAreaChartCls').eq(0).find('.legend-title').css({'display':'inline','float':'left','padding-top':'3px'});\n //Relationship Value\n $('[class=\"legend-label ng-star-inserted\"]').eq(2).css('float','left');\n $('[class=\"legend-title ng-star-inserted\"]').eq(1).css('padding-right','0px')\n $('.RelationshipValueMonthChange').eq(0).css('float','right');\n $('.ngxChartsLineCharts').eq(0).find('.legend-title').css({'display':'inline','float':'left','padding-top':'6px'});\n $('.ngxChartsLineCharts').find('div').eq(1).find('.legend-labels').css('margin-left','0px');\n //Transactions\n $('[class=\"legend-label ng-star-inserted\"]').eq(4).css('float','left');\n $('[class=\"legend-label ng-star-inserted\"]').eq(5).css('float','left');\n $('[class=\"legend-label ng-star-inserted\"]').eq(6).css('float','left');\n $('[class=\"legend-title ng-star-inserted\"]').eq(3).css('padding-right','0px');\n $('.TransactionPeriodChange').eq(0).css('float','right');\n $('.TransactionPeriodChange .clscolor').eq(0).css({'float':'right','position':'relative'});\n $('.testngxcls').find('.ngx-charts-outer').find('.chart-legend').find('div').eq(0).find('.legend-title').css({'display':'inline','float':'left','padding-top':'3px'});\n $('[class=\"legend-labels\"]').eq(2).css({'margin-left':'0px'});\n //Customer dashboard - Monthly Sweep Volume\n $('ngx-monthlysweepvolumechartcomponent').find('[class=\"legend-label ng-star-inserted\"]').css('float','left');\n $('ngx-monthlysweepvolumechartcomponent').find('[class=\"legend-title ng-star-inserted\"]').css('float','left');\n \n //Dashboard Logout-- LTR -------------\n $('.LogoutPopupContents').eq(0).css('float','left');\n $('.LeftLogoutPopupQueMark').eq(0).css('display','none');\n $('.RightLogoutPopupQueMark').eq(0).css('display','inline');\n $('.LeftModelHeader').eq(0).css('display','inline');\n $('.LeftModelClose').eq(0).css('display','inline');\n $('.RhtModelHeader').eq(0).css('display','none');\n $('.RhtModelClose').eq(0).css('display','none');\n $('.LeftModelFooter').eq(0).css('display','inline');\n $('.RhtModelFooter').eq(0).css('display','none'); \n\n $('ngx-ecommerce-visitors-analytics').find('nb-icon').click();\n $('.SweepVolumeAreaChartCls').eq(0).find('text').css('transform', 'rotate(-90deg)');\n $('.ngxChartsLineCharts').eq(0).find('text').css('transform', 'rotate(-90deg)');\n }\n this.directionService.setDirection(newDirection);\n }\n\n ngOnDestroy() {\n this.destroy$.next();\n this.destroy$.complete();\n }\n}\n","import { Component, Input, Output, EventEmitter } from '@angular/core';\n\n@Component({\n selector: 'ngx-switcher',\n styleUrls: ['./switcher.component.scss'],\n template: `\n \n `,\n})\nexport class SwitcherComponent {\n @Input() firstValue: any;\n @Input() secondValue: any;\n\n @Input() firstValueLabel: string;\n @Input() secondValueLabel: string;\n\n @Input() vertical: boolean;\n\n @Input() value: any;\n @Output() valueChange = new EventEmitter();\n\n isFirstValue() {\n return this.value === this.firstValue;\n }\n\n isSecondValue() {\n return this.value === this.secondValue;\n }\n\n currentValueLabel() {\n return this.isFirstValue()\n ? this.firstValueLabel\n : this.secondValueLabel;\n }\n\n changeValue() {\n this.value = this.isFirstValue()\n ? this.secondValue\n : this.firstValue;\n\n this.valueChange.emit(this.value);\n }\n}\n","export * from './one-column/one-column.layout';\nexport * from './two-columns/two-columns.layout';\nexport * from './three-columns/three-columns.layout';\n","import { Component } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { NbSidebarService } from '@nebular/theme';\nimport { LayoutService } from 'src/app/@core/utils';\nimport { LoginDetails } from 'src/app/Common/LoginDetail';\nimport { LoginService } from 'src/app/MasterService/Login.service';\n\n@Component({\n selector: 'ngx-one-column-layout',\n styleUrls: ['./one-column.layout.scss'],\n template: `\n \n \n \n \n\n \n \n
\n \n Logout
\n
\n\n \n \n \n\n \n \n \n
\n\n
\n
\n
\n
\n\n

Confirmation

\n
\n
\n

Confirmation

\n \n
\n
\n
\n ?{{lblMessageLogout}}?\n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n
\n `,\n})\nexport class OneColumnLayoutComponent {\n showModalLogout: boolean;\n lblMessageLogout: string; \n showLogout() { this.showModalLogout = true; }\n hideLogout() { this.showModalLogout = false; }\n\n constructor(private router: Router,public _login: LoginService, private layoutService: LayoutService,private sidebarService: NbSidebarService,\n ){}\n\n LogoutPopup() {\n if($('nb-sidebar')[0].className==\"menu-sidebar start compacted\") {\n this.sidebarService.toggle(true, 'menu-sidebar');\n this.layoutService.changeLayoutSize();\n $('#Dashboardlogout').css('display','block');\n }\n this.lblMessageLogout = \"Are you sure, you want to Logout\";\n this.showLogout();\n }\n\n Hide() {\n this.hideLogout();\n }\n\n YesLogout() { \n LoginDetails.UserId = 0;\n this.hideLogout();\n localStorage.clear(); \n this.router.navigate([\"\"]);\n this._login.displaystart = true;\n this._login.displayLogin = false;\n if(localStorage.getItem('LoginUserId')==null){\n this.router.navigate([\"\"]).then(()=> {location.reload()}); \n } \n }\n\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'ngx-three-columns-layout',\n styleUrls: ['./three-columns.layout.scss'],\n template: `\n \n \n \n \n\n \n \n \n\n \n \n\n \n \n \n\n \n \n\n \n \n \n \n `,\n})\nexport class ThreeColumnsLayoutComponent {}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'ngx-two-columns-layout',\n styleUrls: ['./two-columns.layout.scss'],\n template: `\n \n \n \n \n\n \n \n \n\n \n \n\n \n \n \n\n \n \n \n\n \n `,\n})\nexport class TwoColumnsLayoutComponent {}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'ngxCapitalize' })\nexport class CapitalizePipe implements PipeTransform {\n\n transform(input: string): string {\n return input && input.length\n ? (input.charAt(0).toUpperCase() + input.slice(1).toLowerCase())\n : input;\n }\n}\n","export * from './capitalize.pipe';\nexport * from './plural.pipe';\nexport * from './round.pipe';\nexport * from './timing.pipe';\nexport * from './number-with-commas.pipe';\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'ngxNumberWithCommas' })\nexport class NumberWithCommasPipe implements PipeTransform {\n\n transform(input: number): string {\n return new Intl.NumberFormat().format(input);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'ngxPlural' })\nexport class PluralPipe implements PipeTransform {\n\n transform(input: number, label: string, pluralLabel: string = ''): string {\n input = input || 0;\n return input === 1\n ? `${input} ${label}`\n : pluralLabel\n ? `${input} ${pluralLabel}`\n : `${input} ${label}s`;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'ngxRound' })\nexport class RoundPipe implements PipeTransform {\n\n transform(input: number): number {\n return Math.round(input);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'timing' })\nexport class TimingPipe implements PipeTransform {\n transform(time: number): string {\n if (time) {\n const minutes = Math.floor(time / 60);\n const seconds = Math.floor(time % 60);\n return `${this.initZero(minutes)}${minutes}:${this.initZero(seconds)}${seconds}`;\n }\n\n return '00:00';\n }\n\n private initZero(time: number): string {\n return time < 10 ? '0' : '';\n }\n}\n","import { NbJSThemeOptions } from '@nebular/theme';\n\nconst palette = {\n primary: '#e91d63',\n success: '#60af20',\n info: '#0495ee',\n warning: '#ff9f05',\n danger: '#b00020',\n};\n\nexport const baseTheme: NbJSThemeOptions = {\n name: 'material-dark',\n base: 'dark',\n variables: {\n fontMain: 'Roboto, sans-serif',\n fontSecondary: 'Roboto, sans-serif',\n\n bg: '#383838',\n bg2: '#292929',\n bg3: '#1f1f1f',\n bg4: '#141414',\n\n border: '#383838',\n border2: '#292929',\n border3: '#1f1f1f',\n border4: '#141414',\n border5: '#141414',\n\n fg: '#808080',\n fgHeading: '#ffffff',\n fgText: '#ffffff',\n fgHighlight: palette.primary,\n layoutBg: '#1f1f1f',\n separator: '#1f1f1f',\n\n primary: palette.primary,\n success: palette.success,\n info: palette.info,\n warning: palette.warning,\n danger: palette.danger,\n\n primaryLight: '#f24681',\n successLight: '#8fcf50',\n infoLight: '#40bbf4',\n warningLight: '#ffbe43',\n dangerLight: '#cf3341',\n },\n};\n\nconst baseThemeVariables = baseTheme.variables;\n\nexport const MATERIAL_DARK_THEME = {\n name: 'material-dark',\n base: 'default',\n variables: {\n temperature: {\n arcFill: [\n baseThemeVariables.primary,\n baseThemeVariables.primary,\n baseThemeVariables.primary,\n baseThemeVariables.primary,\n baseThemeVariables.primary,\n ],\n arcEmpty: baseThemeVariables.bg2,\n thumbBg: baseThemeVariables.bg2,\n thumbBorder: baseThemeVariables.primary,\n },\n\n solar: {\n gradientLeft: baseThemeVariables.primary,\n gradientRight: baseThemeVariables.primary,\n shadowColor: 'rgba(0, 0, 0, 0)',\n secondSeriesFill: baseThemeVariables.bg2,\n radius: ['80%', '90%'],\n },\n\n traffic: {\n tooltipBg: baseThemeVariables.bg,\n tooltipBorderColor: baseThemeVariables.border2,\n tooltipExtraCss: 'border-radius: 10px; padding: 4px 16px;',\n tooltipTextColor: baseThemeVariables.fgText,\n tooltipFontWeight: 'normal',\n\n yAxisSplitLine: baseThemeVariables.separator,\n\n lineBg: baseThemeVariables.border4,\n lineShadowBlur: '1',\n itemColor: baseThemeVariables.border4,\n itemBorderColor: baseThemeVariables.border4,\n itemEmphasisBorderColor: baseThemeVariables.primary,\n shadowLineDarkBg: 'rgba(0, 0, 0, 0)',\n shadowLineShadow: 'rgba(0, 0, 0, 0)',\n gradFrom: baseThemeVariables.bg2,\n gradTo: baseThemeVariables.bg2,\n },\n\n electricity: {\n tooltipBg: baseThemeVariables.bg,\n tooltipLineColor: baseThemeVariables.fgText,\n tooltipLineWidth: '0',\n tooltipBorderColor: baseThemeVariables.border2,\n tooltipExtraCss: 'border-radius: 10px; padding: 8px 24px;',\n tooltipTextColor: baseThemeVariables.fgText,\n tooltipFontWeight: 'normal',\n\n axisLineColor: baseThemeVariables.border3,\n xAxisTextColor: baseThemeVariables.fg,\n yAxisSplitLine: baseThemeVariables.separator,\n\n itemBorderColor: baseThemeVariables.primary,\n lineStyle: 'solid',\n lineWidth: '4',\n lineGradFrom: baseThemeVariables.primary,\n lineGradTo: baseThemeVariables.primary,\n lineShadow: 'rgba(0, 0, 0, 0)',\n\n areaGradFrom: baseThemeVariables.bg2,\n areaGradTo: baseThemeVariables.bg2,\n shadowLineDarkBg: 'rgba(0, 0, 0, 0)',\n },\n\n bubbleMap: {\n titleColor: baseThemeVariables.fgText,\n areaColor: baseThemeVariables.bg4,\n areaHoverColor: baseThemeVariables.fgHighlight,\n areaBorderColor: baseThemeVariables.border5,\n },\n\n profitBarAnimationEchart: {\n textColor: baseThemeVariables.fgText,\n\n firstAnimationBarColor: baseThemeVariables.primary,\n secondAnimationBarColor: baseThemeVariables.success,\n\n splitLineStyleOpacity: '1',\n splitLineStyleWidth: '1',\n splitLineStyleColor: baseThemeVariables.separator,\n\n tooltipTextColor: baseThemeVariables.fgText,\n tooltipFontWeight: 'normal',\n tooltipFontSize: '16',\n tooltipBg: baseThemeVariables.bg,\n tooltipBorderColor: baseThemeVariables.border2,\n tooltipBorderWidth: '1',\n tooltipExtraCss: 'border-radius: 10px; padding: 4px 16px;',\n },\n\n trafficBarEchart: {\n gradientFrom: baseThemeVariables.warningLight,\n gradientTo: baseThemeVariables.warning,\n shadow: baseThemeVariables.warningLight,\n shadowBlur: '0',\n\n axisTextColor: baseThemeVariables.fgText,\n axisFontSize: '12',\n\n tooltipBg: baseThemeVariables.bg,\n tooltipBorderColor: baseThemeVariables.border2,\n tooltipExtraCss: 'border-radius: 10px; padding: 4px 16px;',\n tooltipTextColor: baseThemeVariables.fgText,\n tooltipFontWeight: 'normal',\n },\n\n countryOrders: {\n countryBorderColor: baseThemeVariables.border4,\n countryFillColor: baseThemeVariables.bg3,\n countryBorderWidth: '1',\n hoveredCountryBorderColor: baseThemeVariables.primary,\n hoveredCountryFillColor: baseThemeVariables.primaryLight,\n hoveredCountryBorderWidth: '1',\n\n chartAxisLineColor: baseThemeVariables.border4,\n chartAxisTextColor: baseThemeVariables.fg,\n chartAxisFontSize: '16',\n chartGradientTo: baseThemeVariables.primary,\n chartGradientFrom: baseThemeVariables.primaryLight,\n chartAxisSplitLine: baseThemeVariables.separator,\n chartShadowLineColor: baseThemeVariables.primaryLight,\n\n chartLineBottomShadowColor: baseThemeVariables.primary,\n\n chartInnerLineColor: baseThemeVariables.bg2,\n },\n\n echarts: {\n bg: baseThemeVariables.bg,\n textColor: baseThemeVariables.fgText,\n axisLineColor: baseThemeVariables.fgText,\n splitLineColor: baseThemeVariables.separator,\n itemHoverShadowColor: 'rgba(0, 0, 0, 0.5)',\n tooltipBackgroundColor: baseThemeVariables.primary,\n areaOpacity: '0.7',\n },\n\n chartjs: {\n axisLineColor: baseThemeVariables.separator,\n textColor: baseThemeVariables.fgText,\n },\n\n orders: {\n tooltipBg: baseThemeVariables.bg,\n tooltipLineColor: 'rgba(0, 0, 0, 0)',\n tooltipLineWidth: '0',\n tooltipBorderColor: baseThemeVariables.border2,\n tooltipExtraCss: 'border-radius: 10px; padding: 8px 24px;',\n tooltipTextColor: baseThemeVariables.fgText,\n tooltipFontWeight: 'normal',\n tooltipFontSize: '20',\n\n axisLineColor: baseThemeVariables.border4,\n axisFontSize: '16',\n axisTextColor: baseThemeVariables.fg,\n yAxisSplitLine: baseThemeVariables.separator,\n\n itemBorderColor: baseThemeVariables.primary,\n lineStyle: 'solid',\n lineWidth: '4',\n\n // first line\n firstAreaGradFrom: baseThemeVariables.bg3,\n firstAreaGradTo: baseThemeVariables.bg3,\n firstShadowLineDarkBg: 'rgba(0, 0, 0, 0)',\n\n // second line\n secondLineGradFrom: baseThemeVariables.primary,\n secondLineGradTo: baseThemeVariables.primary,\n\n secondAreaGradFrom: 'rgba(51, 102, 255, 0.2)',\n secondAreaGradTo: 'rgba(51, 102, 255, 0)',\n secondShadowLineDarkBg: 'rgba(0, 0, 0, 0)',\n\n // third line\n thirdLineGradFrom: baseThemeVariables.success,\n thirdLineGradTo: baseThemeVariables.successLight,\n\n thirdAreaGradFrom: 'rgba(0, 214, 143, 0.2)',\n thirdAreaGradTo: 'rgba(0, 214, 143, 0)',\n thirdShadowLineDarkBg: 'rgba(0, 0, 0, 0)',\n },\n\n profit: {\n bg: baseThemeVariables.bg,\n textColor: baseThemeVariables.fgText,\n axisLineColor: baseThemeVariables.border4,\n splitLineColor: baseThemeVariables.separator,\n areaOpacity: '1',\n\n axisFontSize: '16',\n axisTextColor: baseThemeVariables.fg,\n\n // first bar\n firstLineGradFrom: baseThemeVariables.bg3,\n firstLineGradTo: baseThemeVariables.bg3,\n firstLineShadow: 'rgba(0, 0, 0, 0)',\n\n // second bar\n secondLineGradFrom: baseThemeVariables.primary,\n secondLineGradTo: baseThemeVariables.primary,\n secondLineShadow: 'rgba(0, 0, 0, 0)',\n\n // third bar\n thirdLineGradFrom: baseThemeVariables.success,\n thirdLineGradTo: baseThemeVariables.successLight,\n thirdLineShadow: 'rgba(0, 0, 0, 0)',\n },\n\n orderProfitLegend: {\n firstItem: baseThemeVariables.success,\n secondItem: baseThemeVariables.primary,\n thirdItem: baseThemeVariables.bg3,\n },\n\n visitors: {\n tooltipBg: baseThemeVariables.bg,\n tooltipLineColor: 'rgba(0, 0, 0, 0)',\n tooltipLineWidth: '1',\n tooltipBorderColor: baseThemeVariables.border2,\n tooltipExtraCss: 'border-radius: 10px; padding: 8px 24px;',\n tooltipTextColor: baseThemeVariables.fgText,\n tooltipFontWeight: 'normal',\n tooltipFontSize: '20',\n\n axisLineColor: baseThemeVariables.border4,\n axisFontSize: '16',\n axisTextColor: baseThemeVariables.fg,\n yAxisSplitLine: baseThemeVariables.separator,\n\n itemBorderColor: baseThemeVariables.primary,\n lineStyle: 'dotted',\n lineWidth: '6',\n lineGradFrom: '#ffffff',\n lineGradTo: '#ffffff',\n lineShadow: 'rgba(0, 0, 0, 0)',\n\n areaGradFrom: baseThemeVariables.primary,\n areaGradTo: baseThemeVariables.primaryLight,\n\n innerLineStyle: 'solid',\n innerLineWidth: '1',\n\n innerAreaGradFrom: baseThemeVariables.success,\n innerAreaGradTo: baseThemeVariables.success,\n },\n\n visitorsLegend: {\n firstIcon: baseThemeVariables.success,\n secondIcon: baseThemeVariables.primary,\n },\n\n visitorsPie: {\n firstPieGradientLeft: baseThemeVariables.success,\n firstPieGradientRight: baseThemeVariables.success,\n firstPieShadowColor: 'rgba(0, 0, 0, 0)',\n firstPieRadius: ['70%', '90%'],\n\n secondPieGradientLeft: baseThemeVariables.warning,\n secondPieGradientRight: baseThemeVariables.warningLight,\n secondPieShadowColor: 'rgba(0, 0, 0, 0)',\n secondPieRadius: ['60%', '97%'],\n shadowOffsetX: '0',\n shadowOffsetY: '0',\n },\n\n visitorsPieLegend: {\n firstSection: baseThemeVariables.warning,\n secondSection: baseThemeVariables.success,\n },\n\n earningPie: {\n radius: ['65%', '100%'],\n center: ['50%', '50%'],\n\n fontSize: '22',\n\n firstPieGradientLeft: baseThemeVariables.success,\n firstPieGradientRight: baseThemeVariables.success,\n firstPieShadowColor: 'rgba(0, 0, 0, 0)',\n\n secondPieGradientLeft: baseThemeVariables.primary,\n secondPieGradientRight: baseThemeVariables.primary,\n secondPieShadowColor: 'rgba(0, 0, 0, 0)',\n\n thirdPieGradientLeft: baseThemeVariables.warning,\n thirdPieGradientRight: baseThemeVariables.warning,\n thirdPieShadowColor: 'rgba(0, 0, 0, 0)',\n },\n\n earningLine: {\n gradFrom: baseThemeVariables.primary,\n gradTo: baseThemeVariables.primary,\n\n tooltipTextColor: baseThemeVariables.fgText,\n tooltipFontWeight: 'normal',\n tooltipFontSize: '16',\n tooltipBg: baseThemeVariables.bg,\n tooltipBorderColor: baseThemeVariables.border2,\n tooltipBorderWidth: '1',\n tooltipExtraCss: 'border-radius: 10px; padding: 4px 16px;',\n },\n },\n} as NbJSThemeOptions;\n","import { NbJSThemeOptions } from '@nebular/theme';\n\nconst palette = {\n primary: '#6200ee',\n success: '#60af20',\n info: '#0495ee',\n warning: '#ff9f05',\n danger: '#b00020',\n};\n\nexport const baseTheme: NbJSThemeOptions = {\n name: 'material-light',\n base: 'default',\n variables: {\n fontMain: 'Roboto, sans-serif',\n fontSecondary: 'Roboto, sans-serif',\n\n bg: '#ffffff',\n bg2: '#f5f5f5',\n bg3: '#ebebeb',\n bg4: '#e0e0e0',\n\n border: '#ffffff',\n border2: '#f5f5f5',\n border3: '#ebebeb',\n border4: '#e0e0e0',\n border5: '#b3b3b3',\n\n fg: '#838383',\n fgHeading: '#1a2138',\n fgText: '#1a2138',\n fgHighlight: palette.primary,\n layoutBg: '#ebebeb',\n separator: '#ebebeb',\n\n primary: palette.primary,\n success: palette.success,\n info: palette.info,\n warning: palette.warning,\n danger: palette.danger,\n\n primaryLight: '#903df4',\n successLight: '#8fcf50',\n infoLight: '#40bbf4',\n warningLight: '#ffbe43',\n dangerLight: '#cf3341',\n },\n};\n\nconst baseThemeVariables = baseTheme.variables;\n\nexport const MATERIAL_LIGHT_THEME = {\n name: 'material-light',\n base: 'default',\n variables: {\n temperature: {\n arcFill: [\n baseThemeVariables.primary,\n baseThemeVariables.primary,\n baseThemeVariables.primary,\n baseThemeVariables.primary,\n baseThemeVariables.primary,\n ],\n arcEmpty: baseThemeVariables.bg2,\n thumbBg: baseThemeVariables.bg2,\n thumbBorder: baseThemeVariables.primary,\n },\n\n solar: {\n gradientLeft: baseThemeVariables.primary,\n gradientRight: baseThemeVariables.primary,\n shadowColor: 'rgba(0, 0, 0, 0)',\n secondSeriesFill: baseThemeVariables.bg2,\n radius: ['80%', '90%'],\n },\n\n traffic: {\n tooltipBg: baseThemeVariables.bg,\n tooltipBorderColor: baseThemeVariables.border2,\n tooltipExtraCss: 'border-radius: 10px; padding: 4px 16px;',\n tooltipTextColor: baseThemeVariables.fgText,\n tooltipFontWeight: 'normal',\n\n yAxisSplitLine: baseThemeVariables.separator,\n\n lineBg: baseThemeVariables.border4,\n lineShadowBlur: '1',\n itemColor: baseThemeVariables.border4,\n itemBorderColor: baseThemeVariables.border4,\n itemEmphasisBorderColor: baseThemeVariables.primary,\n shadowLineDarkBg: 'rgba(0, 0, 0, 0)',\n shadowLineShadow: 'rgba(0, 0, 0, 0)',\n gradFrom: baseThemeVariables.bg2,\n gradTo: baseThemeVariables.bg2,\n },\n\n electricity: {\n tooltipBg: baseThemeVariables.bg,\n tooltipLineColor: baseThemeVariables.fgText,\n tooltipLineWidth: '0',\n tooltipBorderColor: baseThemeVariables.border2,\n tooltipExtraCss: 'border-radius: 10px; padding: 8px 24px;',\n tooltipTextColor: baseThemeVariables.fgText,\n tooltipFontWeight: 'normal',\n\n axisLineColor: baseThemeVariables.border3,\n xAxisTextColor: baseThemeVariables.fg,\n yAxisSplitLine: baseThemeVariables.separator,\n\n itemBorderColor: baseThemeVariables.primary,\n lineStyle: 'solid',\n lineWidth: '4',\n lineGradFrom: baseThemeVariables.primary,\n lineGradTo: baseThemeVariables.primary,\n lineShadow: 'rgba(0, 0, 0, 0)',\n\n areaGradFrom: baseThemeVariables.bg2,\n areaGradTo: baseThemeVariables.bg2,\n shadowLineDarkBg: 'rgba(0, 0, 0, 0)',\n },\n\n bubbleMap: {\n titleColor: baseThemeVariables.fgText,\n areaColor: baseThemeVariables.bg4,\n areaHoverColor: baseThemeVariables.fgHighlight,\n areaBorderColor: baseThemeVariables.border5,\n },\n\n profitBarAnimationEchart: {\n textColor: baseThemeVariables.fgText,\n\n firstAnimationBarColor: baseThemeVariables.primary,\n secondAnimationBarColor: baseThemeVariables.success,\n\n splitLineStyleOpacity: '1',\n splitLineStyleWidth: '1',\n splitLineStyleColor: baseThemeVariables.separator,\n\n tooltipTextColor: baseThemeVariables.fgText,\n tooltipFontWeight: 'normal',\n tooltipFontSize: '16',\n tooltipBg: baseThemeVariables.bg,\n tooltipBorderColor: baseThemeVariables.border2,\n tooltipBorderWidth: '1',\n tooltipExtraCss: 'border-radius: 10px; padding: 4px 16px;',\n },\n\n trafficBarEchart: {\n gradientFrom: baseThemeVariables.warningLight,\n gradientTo: baseThemeVariables.warning,\n shadow: baseThemeVariables.warningLight,\n shadowBlur: '0',\n\n axisTextColor: baseThemeVariables.fgText,\n axisFontSize: '12',\n\n tooltipBg: baseThemeVariables.bg,\n tooltipBorderColor: baseThemeVariables.border2,\n tooltipExtraCss: 'border-radius: 10px; padding: 4px 16px;',\n tooltipTextColor: baseThemeVariables.fgText,\n tooltipFontWeight: 'normal',\n },\n\n countryOrders: {\n countryBorderColor: baseThemeVariables.border4,\n countryFillColor: baseThemeVariables.bg3,\n countryBorderWidth: '1',\n hoveredCountryBorderColor: baseThemeVariables.primary,\n hoveredCountryFillColor: baseThemeVariables.primaryLight,\n hoveredCountryBorderWidth: '1',\n\n chartAxisLineColor: baseThemeVariables.border4,\n chartAxisTextColor: baseThemeVariables.fg,\n chartAxisFontSize: '16',\n chartGradientTo: baseThemeVariables.primary,\n chartGradientFrom: baseThemeVariables.primaryLight,\n chartAxisSplitLine: baseThemeVariables.separator,\n chartShadowLineColor: baseThemeVariables.primaryLight,\n\n chartLineBottomShadowColor: baseThemeVariables.primary,\n\n chartInnerLineColor: baseThemeVariables.bg2,\n },\n\n echarts: {\n bg: baseThemeVariables.bg,\n textColor: baseThemeVariables.fgText,\n axisLineColor: baseThemeVariables.fgText,\n splitLineColor: baseThemeVariables.separator,\n itemHoverShadowColor: 'rgba(0, 0, 0, 0.5)',\n tooltipBackgroundColor: baseThemeVariables.primary,\n areaOpacity: '0.7',\n },\n\n chartjs: {\n axisLineColor: baseThemeVariables.separator,\n textColor: baseThemeVariables.fgText,\n },\n\n orders: {\n tooltipBg: baseThemeVariables.bg,\n tooltipLineColor: 'rgba(0, 0, 0, 0)',\n tooltipLineWidth: '0',\n tooltipBorderColor: baseThemeVariables.border2,\n tooltipExtraCss: 'border-radius: 10px; padding: 8px 24px;',\n tooltipTextColor: baseThemeVariables.fgText,\n tooltipFontWeight: 'normal',\n tooltipFontSize: '20',\n\n axisLineColor: baseThemeVariables.border4,\n axisFontSize: '16',\n axisTextColor: baseThemeVariables.fg,\n yAxisSplitLine: baseThemeVariables.separator,\n\n itemBorderColor: baseThemeVariables.primary,\n lineStyle: 'solid',\n lineWidth: '4',\n\n // first line\n firstAreaGradFrom: baseThemeVariables.bg3,\n firstAreaGradTo: baseThemeVariables.bg3,\n firstShadowLineDarkBg: 'rgba(0, 0, 0, 0)',\n\n // second line\n secondLineGradFrom: baseThemeVariables.primary,\n secondLineGradTo: baseThemeVariables.primary,\n\n secondAreaGradFrom: 'rgba(51, 102, 255, 0.2)',\n secondAreaGradTo: 'rgba(51, 102, 255, 0)',\n secondShadowLineDarkBg: 'rgba(0, 0, 0, 0)',\n\n // third line\n thirdLineGradFrom: baseThemeVariables.success,\n thirdLineGradTo: baseThemeVariables.successLight,\n\n thirdAreaGradFrom: 'rgba(0, 214, 143, 0.2)',\n thirdAreaGradTo: 'rgba(0, 214, 143, 0)',\n thirdShadowLineDarkBg: 'rgba(0, 0, 0, 0)',\n },\n\n profit: {\n bg: baseThemeVariables.bg,\n textColor: baseThemeVariables.fgText,\n axisLineColor: baseThemeVariables.border4,\n splitLineColor: baseThemeVariables.separator,\n areaOpacity: '1',\n\n axisFontSize: '16',\n axisTextColor: baseThemeVariables.fg,\n\n // first bar\n firstLineGradFrom: baseThemeVariables.bg3,\n firstLineGradTo: baseThemeVariables.bg3,\n firstLineShadow: 'rgba(0, 0, 0, 0)',\n\n // second bar\n secondLineGradFrom: baseThemeVariables.primary,\n secondLineGradTo: baseThemeVariables.primary,\n secondLineShadow: 'rgba(0, 0, 0, 0)',\n\n // third bar\n thirdLineGradFrom: baseThemeVariables.success,\n thirdLineGradTo: baseThemeVariables.successLight,\n thirdLineShadow: 'rgba(0, 0, 0, 0)',\n },\n\n orderProfitLegend: {\n firstItem: baseThemeVariables.success,\n secondItem: baseThemeVariables.primary,\n thirdItem: baseThemeVariables.bg3,\n },\n\n visitors: {\n tooltipBg: baseThemeVariables.bg,\n tooltipLineColor: 'rgba(0, 0, 0, 0)',\n tooltipLineWidth: '1',\n tooltipBorderColor: baseThemeVariables.border2,\n tooltipExtraCss: 'border-radius: 10px; padding: 8px 24px;',\n tooltipTextColor: baseThemeVariables.fgText,\n tooltipFontWeight: 'normal',\n tooltipFontSize: '20',\n\n axisLineColor: baseThemeVariables.border4,\n axisFontSize: '16',\n axisTextColor: baseThemeVariables.fg,\n yAxisSplitLine: baseThemeVariables.separator,\n\n itemBorderColor: baseThemeVariables.primary,\n lineStyle: 'dotted',\n lineWidth: '6',\n lineGradFrom: '#ffffff',\n lineGradTo: '#ffffff',\n lineShadow: 'rgba(0, 0, 0, 0)',\n\n areaGradFrom: baseThemeVariables.primary,\n areaGradTo: baseThemeVariables.primaryLight,\n\n innerLineStyle: 'solid',\n innerLineWidth: '1',\n\n innerAreaGradFrom: baseThemeVariables.success,\n innerAreaGradTo: baseThemeVariables.success,\n },\n\n visitorsLegend: {\n firstIcon: baseThemeVariables.success,\n secondIcon: baseThemeVariables.primary,\n },\n\n visitorsPie: {\n firstPieGradientLeft: baseThemeVariables.success,\n firstPieGradientRight: baseThemeVariables.success,\n firstPieShadowColor: 'rgba(0, 0, 0, 0)',\n firstPieRadius: ['70%', '90%'],\n\n secondPieGradientLeft: baseThemeVariables.warning,\n secondPieGradientRight: baseThemeVariables.warningLight,\n secondPieShadowColor: 'rgba(0, 0, 0, 0)',\n secondPieRadius: ['60%', '97%'],\n shadowOffsetX: '0',\n shadowOffsetY: '0',\n },\n\n visitorsPieLegend: {\n firstSection: baseThemeVariables.warning,\n secondSection: baseThemeVariables.success,\n },\n\n earningPie: {\n radius: ['65%', '100%'],\n center: ['50%', '50%'],\n\n fontSize: '22',\n\n firstPieGradientLeft: baseThemeVariables.success,\n firstPieGradientRight: baseThemeVariables.success,\n firstPieShadowColor: 'rgba(0, 0, 0, 0)',\n\n secondPieGradientLeft: baseThemeVariables.primary,\n secondPieGradientRight: baseThemeVariables.primary,\n secondPieShadowColor: 'rgba(0, 0, 0, 0)',\n\n thirdPieGradientLeft: baseThemeVariables.warning,\n thirdPieGradientRight: baseThemeVariables.warning,\n thirdPieShadowColor: 'rgba(0, 0, 0, 0)',\n },\n\n earningLine: {\n gradFrom: baseThemeVariables.primary,\n gradTo: baseThemeVariables.primary,\n\n tooltipTextColor: baseThemeVariables.fgText,\n tooltipFontWeight: 'normal',\n tooltipFontSize: '16',\n tooltipBg: baseThemeVariables.bg,\n tooltipBorderColor: baseThemeVariables.border2,\n tooltipBorderWidth: '1',\n tooltipExtraCss: 'border-radius: 10px; padding: 4px 16px;',\n },\n },\n} as NbJSThemeOptions;\n","import { NbJSThemeOptions, CORPORATE_THEME as baseTheme } from '@nebular/theme';\n\nconst baseThemeVariables = baseTheme.variables;\n\nexport const CORPORATE_THEME = {\n name: 'corporate',\n base: 'corporate',\n variables: {\n temperature: {\n arcFill: [ '#ffa36b', '#ffa36b', '#ff9e7a', '#ff9888', '#ff8ea0' ],\n arcEmpty: baseThemeVariables.bg2,\n thumbBg: baseThemeVariables.bg2,\n thumbBorder: '#ffa36b',\n },\n\n solar: {\n gradientLeft: baseThemeVariables.primary,\n gradientRight: baseThemeVariables.primary,\n shadowColor: 'rgba(0, 0, 0, 0)',\n secondSeriesFill: baseThemeVariables.bg2,\n radius: ['80%', '90%'],\n },\n\n traffic: {\n tooltipBg: baseThemeVariables.bg,\n tooltipBorderColor: baseThemeVariables.border2,\n tooltipExtraCss: 'border-radius: 10px; padding: 4px 16px;',\n tooltipTextColor: baseThemeVariables.fgText,\n tooltipFontWeight: 'normal',\n\n yAxisSplitLine: 'rgba(0, 0, 0, 0)',\n\n lineBg: baseThemeVariables.primary,\n lineShadowBlur: '0',\n itemColor: baseThemeVariables.border4,\n itemBorderColor: baseThemeVariables.border4,\n itemEmphasisBorderColor: baseThemeVariables.primaryLight,\n shadowLineDarkBg: 'rgba(0, 0, 0, 0)',\n shadowLineShadow: 'rgba(0, 0, 0, 0)',\n gradFrom: baseThemeVariables.bg,\n gradTo: baseThemeVariables.bg,\n },\n\n electricity: {\n tooltipBg: baseThemeVariables.bg,\n tooltipLineColor: baseThemeVariables.fgText,\n tooltipLineWidth: '0',\n tooltipBorderColor: baseThemeVariables.border2,\n tooltipExtraCss: 'border-radius: 10px; padding: 8px 24px;',\n tooltipTextColor: baseThemeVariables.fgText,\n tooltipFontWeight: 'normal',\n\n axisLineColor: baseThemeVariables.border3,\n xAxisTextColor: baseThemeVariables.fg,\n yAxisSplitLine: baseThemeVariables.separator,\n\n itemBorderColor: baseThemeVariables.primary,\n lineStyle: 'solid',\n lineWidth: '4',\n lineGradFrom: baseThemeVariables.primary,\n lineGradTo: baseThemeVariables.primary,\n lineShadow: 'rgba(0, 0, 0, 0)',\n\n areaGradFrom: 'rgba(0, 0, 0, 0)',\n areaGradTo: 'rgba(0, 0, 0, 0)',\n shadowLineDarkBg: 'rgba(0, 0, 0, 0)',\n },\n\n bubbleMap: {\n titleColor: baseThemeVariables.fgText,\n areaColor: baseThemeVariables.bg4,\n areaHoverColor: baseThemeVariables.fgHighlight,\n areaBorderColor: baseThemeVariables.border5,\n },\n\n profitBarAnimationEchart: {\n textColor: baseThemeVariables.fgText,\n\n firstAnimationBarColor: baseThemeVariables.primary,\n secondAnimationBarColor: baseThemeVariables.success,\n\n splitLineStyleOpacity: '1',\n splitLineStyleWidth: '1',\n splitLineStyleColor: baseThemeVariables.separator,\n\n tooltipTextColor: baseThemeVariables.fgText,\n tooltipFontWeight: 'normal',\n tooltipFontSize: '16',\n tooltipBg: baseThemeVariables.bg,\n tooltipBorderColor: baseThemeVariables.border2,\n tooltipBorderWidth: '1',\n tooltipExtraCss: 'border-radius: 10px; padding: 4px 16px;',\n },\n\n trafficBarEchart: {\n gradientFrom: baseThemeVariables.warningLight,\n gradientTo: baseThemeVariables.warning,\n shadow: baseThemeVariables.warningLight,\n shadowBlur: '0',\n\n axisTextColor: baseThemeVariables.fgText,\n axisFontSize: '12',\n\n tooltipBg: baseThemeVariables.bg,\n tooltipBorderColor: baseThemeVariables.border2,\n tooltipExtraCss: 'border-radius: 10px; padding: 8px 24px;',\n tooltipTextColor: baseThemeVariables.fgText,\n tooltipFontWeight: 'normal',\n },\n\n countryOrders: {\n countryBorderColor: baseThemeVariables.border4,\n countryFillColor: baseThemeVariables.bg4,\n countryBorderWidth: '1',\n hoveredCountryBorderColor: baseThemeVariables.primary,\n hoveredCountryFillColor: baseThemeVariables.primaryLight,\n hoveredCountryBorderWidth: '1',\n\n chartAxisLineColor: baseThemeVariables.border4,\n chartAxisTextColor: baseThemeVariables.fg,\n chartAxisFontSize: '16',\n chartGradientTo: baseThemeVariables.primary,\n chartGradientFrom: baseThemeVariables.primaryLight,\n chartAxisSplitLine: baseThemeVariables.separator,\n chartShadowLineColor: baseThemeVariables.primaryLight,\n\n chartLineBottomShadowColor: baseThemeVariables.primary,\n\n chartInnerLineColor: baseThemeVariables.bg2,\n },\n\n echarts: {\n bg: baseThemeVariables.bg,\n textColor: baseThemeVariables.fgText,\n axisLineColor: baseThemeVariables.fgText,\n splitLineColor: baseThemeVariables.separator,\n itemHoverShadowColor: 'rgba(0, 0, 0, 0.5)',\n tooltipBackgroundColor: baseThemeVariables.primary,\n areaOpacity: '0.7',\n },\n\n chartjs: {\n axisLineColor: baseThemeVariables.separator,\n textColor: baseThemeVariables.fgText,\n },\n\n orders: {\n tooltipBg: baseThemeVariables.bg,\n tooltipLineColor: 'rgba(0, 0, 0, 0)',\n tooltipLineWidth: '0',\n tooltipBorderColor: baseThemeVariables.border2,\n tooltipExtraCss: 'border-radius: 10px; padding: 8px 24px;',\n tooltipTextColor: baseThemeVariables.fgText,\n tooltipFontWeight: 'normal',\n tooltipFontSize: '20',\n\n axisLineColor: baseThemeVariables.border4,\n axisFontSize: '16',\n axisTextColor: baseThemeVariables.fg,\n yAxisSplitLine: baseThemeVariables.separator,\n\n itemBorderColor: baseThemeVariables.primary,\n lineStyle: 'solid',\n lineWidth: '4',\n\n // first line\n firstAreaGradFrom: baseThemeVariables.bg3,\n firstAreaGradTo: baseThemeVariables.bg3,\n firstShadowLineDarkBg: 'rgba(0, 0, 0, 0)',\n\n // second line\n secondLineGradFrom: baseThemeVariables.primary,\n secondLineGradTo: baseThemeVariables.primary,\n\n secondAreaGradFrom: 'rgba(0, 0, 0, 0)',\n secondAreaGradTo: 'rgba(0, 0, 0, 0)',\n secondShadowLineDarkBg: 'rgba(0, 0, 0, 0)',\n\n // third line\n thirdLineGradFrom: baseThemeVariables.success,\n thirdLineGradTo: baseThemeVariables.successLight,\n\n thirdAreaGradFrom: 'rgba(0, 0, 0, 0)',\n thirdAreaGradTo: 'rgba(0, 0, 0, 0)',\n thirdShadowLineDarkBg: 'rgba(0, 0, 0, 0)',\n },\n\n profit: {\n bg: baseThemeVariables.bg,\n textColor: baseThemeVariables.fgText,\n axisLineColor: baseThemeVariables.border4,\n splitLineColor: baseThemeVariables.separator,\n areaOpacity: '1',\n\n axisFontSize: '16',\n axisTextColor: baseThemeVariables.fg,\n\n // first bar\n firstLineGradFrom: baseThemeVariables.bg3,\n firstLineGradTo: baseThemeVariables.bg3,\n firstLineShadow: 'rgba(0, 0, 0, 0)',\n\n // second bar\n secondLineGradFrom: baseThemeVariables.primary,\n secondLineGradTo: baseThemeVariables.primary,\n secondLineShadow: 'rgba(0, 0, 0, 0)',\n\n // third bar\n thirdLineGradFrom: baseThemeVariables.success,\n thirdLineGradTo: baseThemeVariables.success,\n thirdLineShadow: 'rgba(0, 0, 0, 0)',\n },\n\n orderProfitLegend: {\n firstItem: baseThemeVariables.success,\n secondItem: baseThemeVariables.primary,\n thirdItem: baseThemeVariables.bg3,\n },\n\n visitors: {\n tooltipBg: baseThemeVariables.bg,\n tooltipLineColor: 'rgba(0, 0, 0, 0)',\n tooltipLineWidth: '1',\n tooltipBorderColor: baseThemeVariables.border2,\n tooltipExtraCss: 'border-radius: 10px; padding: 8px 24px;',\n tooltipTextColor: baseThemeVariables.fgText,\n tooltipFontWeight: 'normal',\n tooltipFontSize: '20',\n\n axisLineColor: baseThemeVariables.border4,\n axisFontSize: '16',\n axisTextColor: baseThemeVariables.fg,\n yAxisSplitLine: baseThemeVariables.separator,\n\n itemBorderColor: baseThemeVariables.primary,\n lineStyle: 'dotted',\n lineWidth: '6',\n lineGradFrom: '#ffffff',\n lineGradTo: '#ffffff',\n lineShadow: 'rgba(0, 0, 0, 0)',\n\n areaGradFrom: baseThemeVariables.primary,\n areaGradTo: baseThemeVariables.primaryLight,\n\n innerLineStyle: 'solid',\n innerLineWidth: '1',\n\n innerAreaGradFrom: baseThemeVariables.success,\n innerAreaGradTo: baseThemeVariables.success,\n },\n\n visitorsLegend: {\n firstIcon: baseThemeVariables.success,\n secondIcon: baseThemeVariables.primary,\n },\n\n visitorsPie: {\n firstPieGradientLeft: baseThemeVariables.success,\n firstPieGradientRight: baseThemeVariables.success,\n firstPieShadowColor: 'rgba(0, 0, 0, 0)',\n firstPieRadius: ['65%', '90%'],\n\n secondPieGradientLeft: baseThemeVariables.warning,\n secondPieGradientRight: baseThemeVariables.warningLight,\n secondPieShadowColor: 'rgba(0, 0, 0, 0)',\n secondPieRadius: ['63%', '92%'],\n shadowOffsetX: '-4',\n shadowOffsetY: '-4',\n },\n\n visitorsPieLegend: {\n firstSection: baseThemeVariables.warning,\n secondSection: baseThemeVariables.success,\n },\n\n earningPie: {\n radius: ['65%', '100%'],\n center: ['50%', '50%'],\n\n fontSize: '22',\n\n firstPieGradientLeft: baseThemeVariables.success,\n firstPieGradientRight: baseThemeVariables.success,\n firstPieShadowColor: 'rgba(0, 0, 0, 0)',\n\n secondPieGradientLeft: baseThemeVariables.primary,\n secondPieGradientRight: baseThemeVariables.primary,\n secondPieShadowColor: 'rgba(0, 0, 0, 0)',\n\n thirdPieGradientLeft: baseThemeVariables.warning,\n thirdPieGradientRight: baseThemeVariables.warning,\n thirdPieShadowColor: 'rgba(0, 0, 0, 0)',\n },\n\n earningLine: {\n gradFrom: baseThemeVariables.primary,\n gradTo: baseThemeVariables.primary,\n\n tooltipTextColor: baseThemeVariables.fgText,\n tooltipFontWeight: 'normal',\n tooltipFontSize: '16',\n tooltipBg: baseThemeVariables.bg,\n tooltipBorderColor: baseThemeVariables.border2,\n tooltipBorderWidth: '1',\n tooltipExtraCss: 'border-radius: 10px; padding: 4px 16px;',\n },\n },\n} as NbJSThemeOptions;\n","import { NbJSThemeOptions, COSMIC_THEME as baseTheme } from '@nebular/theme';\n\nconst baseThemeVariables = baseTheme.variables;\n\nexport const COSMIC_THEME = {\n name: 'cosmic',\n base: 'cosmic',\n variables: {\n temperature: {\n arcFill: [ '#2ec7fe', '#31ffad', '#7bff24', '#fff024', '#f7bd59' ],\n arcEmpty: baseThemeVariables.bg2,\n thumbBg: '#ffffff',\n thumbBorder: '#ffffff',\n },\n\n solar: {\n gradientLeft: baseThemeVariables.primary,\n gradientRight: baseThemeVariables.primary,\n shadowColor: 'rgba(0, 0, 0, 0)',\n secondSeriesFill: baseThemeVariables.bg2,\n radius: ['70%', '90%'],\n },\n\n traffic: {\n tooltipBg: baseThemeVariables.bg,\n tooltipBorderColor: baseThemeVariables.border2,\n tooltipExtraCss: 'box-shadow: 0px 2px 46px 0 rgba(50, 50, 89); border-radius: 10px; padding: 4px 16px;',\n tooltipTextColor: baseThemeVariables.fgText,\n tooltipFontWeight: 'normal',\n\n yAxisSplitLine: baseThemeVariables.separator,\n\n lineBg: baseThemeVariables.border2,\n lineShadowBlur: '14',\n itemColor: baseThemeVariables.border2,\n itemBorderColor: baseThemeVariables.border2,\n itemEmphasisBorderColor: baseThemeVariables.primary,\n shadowLineDarkBg: baseThemeVariables.border3,\n shadowLineShadow: baseThemeVariables.border3,\n gradFrom: baseThemeVariables.bg,\n gradTo: baseThemeVariables.bg2,\n },\n\n electricity: {\n tooltipBg: baseThemeVariables.bg,\n tooltipLineColor: baseThemeVariables.fgText,\n tooltipLineWidth: '0',\n tooltipBorderColor: baseThemeVariables.border2,\n tooltipExtraCss: 'box-shadow: 0px 2px 46px 0 rgba(0, 255, 170, 0.35); border-radius: 10px; padding: 8px 24px;',\n tooltipTextColor: baseThemeVariables.fgText,\n tooltipFontWeight: 'normal',\n\n axisLineColor: baseThemeVariables.border3,\n xAxisTextColor: baseThemeVariables.fg,\n yAxisSplitLine: baseThemeVariables.separator,\n\n itemBorderColor: baseThemeVariables.border2,\n lineStyle: 'dotted',\n lineWidth: '6',\n lineGradFrom: baseThemeVariables.success,\n lineGradTo: baseThemeVariables.warning,\n lineShadow: baseThemeVariables.bg4,\n\n areaGradFrom: baseThemeVariables.bg2,\n areaGradTo: baseThemeVariables.bg3,\n shadowLineDarkBg: baseThemeVariables.bg3,\n },\n\n bubbleMap: {\n titleColor: baseThemeVariables.fgText,\n areaColor: baseThemeVariables.bg4,\n areaHoverColor: baseThemeVariables.fgHighlight,\n areaBorderColor: baseThemeVariables.border5,\n },\n\n profitBarAnimationEchart: {\n textColor: baseThemeVariables.fgText,\n\n firstAnimationBarColor: baseThemeVariables.primary,\n secondAnimationBarColor: baseThemeVariables.success,\n\n splitLineStyleOpacity: '1',\n splitLineStyleWidth: '1',\n splitLineStyleColor: baseThemeVariables.border2,\n\n tooltipTextColor: baseThemeVariables.fgText,\n tooltipFontWeight: 'normal',\n tooltipFontSize: '16',\n tooltipBg: baseThemeVariables.bg,\n tooltipBorderColor: baseThemeVariables.border2,\n tooltipBorderWidth: '1',\n tooltipExtraCss: 'border-radius: 10px; padding: 4px 16px;',\n },\n\n trafficBarEchart: {\n gradientFrom: baseThemeVariables.warningLight,\n gradientTo: baseThemeVariables.warning,\n shadow: baseThemeVariables.warningLight,\n shadowBlur: '5',\n\n axisTextColor: baseThemeVariables.fgText,\n axisFontSize: '12',\n\n tooltipBg: baseThemeVariables.bg,\n tooltipBorderColor: baseThemeVariables.border2,\n tooltipExtraCss: 'border-radius: 10px; padding: 4px 16px;',\n tooltipTextColor: baseThemeVariables.fgText,\n tooltipFontWeight: 'normal',\n },\n\n countryOrders: {\n countryBorderColor: baseThemeVariables.border4,\n countryFillColor: baseThemeVariables.bg3,\n countryBorderWidth: '1',\n hoveredCountryBorderColor: baseThemeVariables.primary,\n hoveredCountryFillColor: baseThemeVariables.primaryLight,\n hoveredCountryBorderWidth: '1',\n\n chartAxisLineColor: baseThemeVariables.border4,\n chartAxisTextColor: baseThemeVariables.fg,\n chartAxisFontSize: '16',\n chartGradientTo: baseThemeVariables.primary,\n chartGradientFrom: baseThemeVariables.primaryLight,\n chartAxisSplitLine: baseThemeVariables.separator,\n chartShadowLineColor: baseThemeVariables.primaryLight,\n\n chartLineBottomShadowColor: baseThemeVariables.primary,\n\n chartInnerLineColor: baseThemeVariables.bg2,\n },\n\n echarts: {\n bg: baseThemeVariables.bg,\n textColor: baseThemeVariables.fgText,\n axisLineColor: baseThemeVariables.fgText,\n splitLineColor: baseThemeVariables.separator,\n itemHoverShadowColor: 'rgba(0, 0, 0, 0.5)',\n tooltipBackgroundColor: baseThemeVariables.primary,\n areaOpacity: '1',\n },\n\n chartjs: {\n axisLineColor: baseThemeVariables.separator,\n textColor: baseThemeVariables.fgText,\n },\n\n orders: {\n tooltipBg: baseThemeVariables.bg,\n tooltipLineColor: 'rgba(0, 0, 0, 0)',\n tooltipLineWidth: '0',\n tooltipBorderColor: baseThemeVariables.border2,\n tooltipExtraCss: 'border-radius: 10px; padding: 8px 24px;',\n tooltipTextColor: baseThemeVariables.fgText,\n tooltipFontWeight: 'normal',\n tooltipFontSize: '20',\n\n axisLineColor: baseThemeVariables.border4,\n axisFontSize: '16',\n axisTextColor: baseThemeVariables.fg,\n yAxisSplitLine: baseThemeVariables.separator,\n\n itemBorderColor: baseThemeVariables.primary,\n lineStyle: 'solid',\n lineWidth: '4',\n\n // first line\n firstAreaGradFrom: baseThemeVariables.bg2,\n firstAreaGradTo: baseThemeVariables.bg2,\n firstShadowLineDarkBg: baseThemeVariables.bg2,\n\n // second line\n secondLineGradFrom: baseThemeVariables.primary,\n secondLineGradTo: baseThemeVariables.primary,\n\n secondAreaGradFrom: 'rgba(161, 110, 255, 0.8)',\n secondAreaGradTo: 'rgba(161, 110, 255, 0.5)',\n secondShadowLineDarkBg: baseThemeVariables.primary,\n\n // third line\n thirdLineGradFrom: baseThemeVariables.success,\n thirdLineGradTo: baseThemeVariables.successLight,\n\n thirdAreaGradFrom: 'rgba(0, 214, 143, 0.7)',\n thirdAreaGradTo: 'rgba(0, 214, 143, 0.4)',\n thirdShadowLineDarkBg: baseThemeVariables.success,\n },\n\n profit: {\n bg: baseThemeVariables.bg,\n textColor: baseThemeVariables.fgText,\n axisLineColor: baseThemeVariables.border4,\n splitLineColor: baseThemeVariables.separator,\n areaOpacity: '1',\n\n axisFontSize: '16',\n axisTextColor: baseThemeVariables.fg,\n\n // first bar\n firstLineGradFrom: baseThemeVariables.bg2,\n firstLineGradTo: baseThemeVariables.bg2,\n firstLineShadow: 'rgba(0, 0, 0, 0)',\n\n // second bar\n secondLineGradFrom: baseThemeVariables.primary,\n secondLineGradTo: baseThemeVariables.primary,\n secondLineShadow: 'rgba(0, 0, 0, 0)',\n\n // third bar\n thirdLineGradFrom: baseThemeVariables.success,\n thirdLineGradTo: baseThemeVariables.successLight,\n thirdLineShadow: 'rgba(0, 0, 0, 0)',\n },\n\n orderProfitLegend: {\n firstItem: baseThemeVariables.success,\n secondItem: baseThemeVariables.primary,\n thirdItem: baseThemeVariables.bg2,\n },\n\n visitors: {\n tooltipBg: baseThemeVariables.bg,\n tooltipLineColor: 'rgba(0, 0, 0, 0)',\n tooltipLineWidth: '1',\n tooltipBorderColor: baseThemeVariables.border2,\n tooltipExtraCss: 'border-radius: 10px; padding: 8px 24px;',\n tooltipTextColor: baseThemeVariables.fgText,\n tooltipFontWeight: 'normal',\n tooltipFontSize: '20',\n\n axisLineColor: baseThemeVariables.border4,\n axisFontSize: '16',\n axisTextColor: baseThemeVariables.fg,\n yAxisSplitLine: baseThemeVariables.separator,\n\n itemBorderColor: baseThemeVariables.primary,\n lineStyle: 'dotted',\n lineWidth: '6',\n lineGradFrom: '#ffffff',\n lineGradTo: '#ffffff',\n lineShadow: 'rgba(0, 0, 0, 0)',\n\n areaGradFrom: baseThemeVariables.primary,\n areaGradTo: baseThemeVariables.primaryLight,\n\n innerLineStyle: 'solid',\n innerLineWidth: '1',\n\n innerAreaGradFrom: baseThemeVariables.success,\n innerAreaGradTo: baseThemeVariables.success,\n },\n\n visitorsLegend: {\n firstIcon: baseThemeVariables.success,\n secondIcon: baseThemeVariables.primary,\n },\n\n visitorsPie: {\n firstPieGradientLeft: baseThemeVariables.success,\n firstPieGradientRight: baseThemeVariables.successLight,\n firstPieShadowColor: 'rgba(0, 0, 0, 0)',\n firstPieRadius: ['70%', '90%'],\n\n secondPieGradientLeft: baseThemeVariables.warning,\n secondPieGradientRight: baseThemeVariables.warningLight,\n secondPieShadowColor: 'rgba(0, 0, 0, 0)',\n secondPieRadius: ['60%', '95%'],\n shadowOffsetX: '0',\n shadowOffsetY: '3',\n },\n\n visitorsPieLegend: {\n firstSection: baseThemeVariables.warning,\n secondSection: baseThemeVariables.success,\n },\n\n earningPie: {\n radius: ['65%', '100%'],\n center: ['50%', '50%'],\n\n fontSize: '22',\n\n firstPieGradientLeft: baseThemeVariables.success,\n firstPieGradientRight: baseThemeVariables.success,\n firstPieShadowColor: 'rgba(0, 0, 0, 0)',\n\n secondPieGradientLeft: baseThemeVariables.primary,\n secondPieGradientRight: baseThemeVariables.primary,\n secondPieShadowColor: 'rgba(0, 0, 0, 0)',\n\n thirdPieGradientLeft: baseThemeVariables.warning,\n thirdPieGradientRight: baseThemeVariables.warning,\n thirdPieShadowColor: 'rgba(0, 0, 0, 0)',\n },\n\n earningLine: {\n gradFrom: baseThemeVariables.primary,\n gradTo: baseThemeVariables.primary,\n\n tooltipTextColor: baseThemeVariables.fgText,\n tooltipFontWeight: 'normal',\n tooltipFontSize: '16',\n tooltipBg: baseThemeVariables.bg,\n tooltipBorderColor: baseThemeVariables.border2,\n tooltipBorderWidth: '1',\n tooltipExtraCss: 'border-radius: 10px; padding: 4px 16px;',\n },\n },\n} as NbJSThemeOptions;\n","import { NbJSThemeOptions, DARK_THEME as baseTheme } from '@nebular/theme';\n\nconst baseThemeVariables = baseTheme.variables;\n\nexport const DARK_THEME = {\n name: 'dark',\n base: 'dark',\n variables: {\n temperature: {\n arcFill: [\n baseThemeVariables.primary,\n baseThemeVariables.primary,\n baseThemeVariables.primary,\n baseThemeVariables.primary,\n baseThemeVariables.primary,\n ],\n arcEmpty: baseThemeVariables.bg2,\n thumbBg: baseThemeVariables.bg2,\n thumbBorder: baseThemeVariables.primary,\n },\n\n solar: {\n gradientLeft: baseThemeVariables.primary,\n gradientRight: baseThemeVariables.primary,\n shadowColor: 'rgba(0, 0, 0, 0)',\n secondSeriesFill: baseThemeVariables.bg2,\n radius: ['80%', '90%'],\n },\n\n traffic: {\n tooltipBg: baseThemeVariables.bg,\n tooltipBorderColor: baseThemeVariables.border2,\n tooltipExtraCss: 'border-radius: 10px; padding: 4px 16px;',\n tooltipTextColor: baseThemeVariables.fgText,\n tooltipFontWeight: 'normal',\n\n yAxisSplitLine: baseThemeVariables.separator,\n\n lineBg: baseThemeVariables.border4,\n lineShadowBlur: '1',\n itemColor: baseThemeVariables.border4,\n itemBorderColor: baseThemeVariables.border4,\n itemEmphasisBorderColor: baseThemeVariables.primary,\n shadowLineDarkBg: 'rgba(0, 0, 0, 0)',\n shadowLineShadow: 'rgba(0, 0, 0, 0)',\n gradFrom: baseThemeVariables.bg2,\n gradTo: baseThemeVariables.bg2,\n },\n\n electricity: {\n tooltipBg: baseThemeVariables.bg,\n tooltipLineColor: baseThemeVariables.fgText,\n tooltipLineWidth: '0',\n tooltipBorderColor: baseThemeVariables.border2,\n tooltipExtraCss: 'border-radius: 10px; padding: 8px 24px;',\n tooltipTextColor: baseThemeVariables.fgText,\n tooltipFontWeight: 'normal',\n\n axisLineColor: baseThemeVariables.border3,\n xAxisTextColor: baseThemeVariables.fg,\n yAxisSplitLine: baseThemeVariables.separator,\n\n itemBorderColor: baseThemeVariables.primary,\n lineStyle: 'solid',\n lineWidth: '4',\n lineGradFrom: baseThemeVariables.primary,\n lineGradTo: baseThemeVariables.primary,\n lineShadow: 'rgba(0, 0, 0, 0)',\n\n areaGradFrom: baseThemeVariables.bg2,\n areaGradTo: baseThemeVariables.bg2,\n shadowLineDarkBg: 'rgba(0, 0, 0, 0)',\n },\n\n bubbleMap: {\n titleColor: baseThemeVariables.fgText,\n areaColor: baseThemeVariables.bg4,\n areaHoverColor: baseThemeVariables.fgHighlight,\n areaBorderColor: baseThemeVariables.border5,\n },\n\n profitBarAnimationEchart: {\n textColor: baseThemeVariables.fgText,\n\n firstAnimationBarColor: baseThemeVariables.primary,\n secondAnimationBarColor: baseThemeVariables.success,\n\n splitLineStyleOpacity: '1',\n splitLineStyleWidth: '1',\n splitLineStyleColor: baseThemeVariables.separator,\n\n tooltipTextColor: baseThemeVariables.fgText,\n tooltipFontWeight: 'normal',\n tooltipFontSize: '16',\n tooltipBg: baseThemeVariables.bg,\n tooltipBorderColor: baseThemeVariables.border2,\n tooltipBorderWidth: '1',\n tooltipExtraCss: 'border-radius: 10px; padding: 4px 16px;',\n },\n\n trafficBarEchart: {\n gradientFrom: baseThemeVariables.warningLight,\n gradientTo: baseThemeVariables.warning,\n shadow: baseThemeVariables.warningLight,\n shadowBlur: '0',\n\n axisTextColor: baseThemeVariables.fgText,\n axisFontSize: '12',\n\n tooltipBg: baseThemeVariables.bg,\n tooltipBorderColor: baseThemeVariables.border2,\n tooltipExtraCss: 'border-radius: 10px; padding: 4px 16px;',\n tooltipTextColor: baseThemeVariables.fgText,\n tooltipFontWeight: 'normal',\n },\n\n countryOrders: {\n countryBorderColor: baseThemeVariables.border4,\n countryFillColor: baseThemeVariables.bg3,\n countryBorderWidth: '1',\n hoveredCountryBorderColor: baseThemeVariables.primary,\n hoveredCountryFillColor: baseThemeVariables.primaryLight,\n hoveredCountryBorderWidth: '1',\n\n chartAxisLineColor: baseThemeVariables.border4,\n chartAxisTextColor: baseThemeVariables.fg,\n chartAxisFontSize: '16',\n chartGradientTo: baseThemeVariables.primary,\n chartGradientFrom: baseThemeVariables.primaryLight,\n chartAxisSplitLine: baseThemeVariables.separator,\n chartShadowLineColor: baseThemeVariables.primaryLight,\n\n chartLineBottomShadowColor: baseThemeVariables.primary,\n\n chartInnerLineColor: baseThemeVariables.bg2,\n },\n\n echarts: {\n bg: baseThemeVariables.bg,\n textColor: baseThemeVariables.fgText,\n axisLineColor: baseThemeVariables.fgText,\n splitLineColor: baseThemeVariables.separator,\n itemHoverShadowColor: 'rgba(0, 0, 0, 0.5)',\n tooltipBackgroundColor: baseThemeVariables.primary,\n areaOpacity: '0.7',\n },\n\n chartjs: {\n axisLineColor: baseThemeVariables.separator,\n textColor: baseThemeVariables.fgText,\n },\n\n orders: {\n tooltipBg: baseThemeVariables.bg,\n tooltipLineColor: 'rgba(0, 0, 0, 0)',\n tooltipLineWidth: '0',\n tooltipBorderColor: baseThemeVariables.border2,\n tooltipExtraCss: 'border-radius: 10px; padding: 8px 24px;',\n tooltipTextColor: baseThemeVariables.fgText,\n tooltipFontWeight: 'normal',\n tooltipFontSize: '20',\n\n axisLineColor: baseThemeVariables.border4,\n axisFontSize: '16',\n axisTextColor: baseThemeVariables.fg,\n yAxisSplitLine: baseThemeVariables.separator,\n\n itemBorderColor: baseThemeVariables.primary,\n lineStyle: 'solid',\n lineWidth: '4',\n\n // first line\n firstAreaGradFrom: baseThemeVariables.bg3,\n firstAreaGradTo: baseThemeVariables.bg3,\n firstShadowLineDarkBg: 'rgba(0, 0, 0, 0)',\n\n // second line\n secondLineGradFrom: baseThemeVariables.primary,\n secondLineGradTo: baseThemeVariables.primary,\n\n secondAreaGradFrom: 'rgba(51, 102, 255, 0.2)',\n secondAreaGradTo: 'rgba(51, 102, 255, 0)',\n secondShadowLineDarkBg: 'rgba(0, 0, 0, 0)',\n\n // third line\n thirdLineGradFrom: baseThemeVariables.success,\n thirdLineGradTo: baseThemeVariables.successLight,\n\n thirdAreaGradFrom: 'rgba(0, 214, 143, 0.2)',\n thirdAreaGradTo: 'rgba(0, 214, 143, 0)',\n thirdShadowLineDarkBg: 'rgba(0, 0, 0, 0)',\n },\n\n profit: {\n bg: baseThemeVariables.bg,\n textColor: baseThemeVariables.fgText,\n axisLineColor: baseThemeVariables.border4,\n splitLineColor: baseThemeVariables.separator,\n areaOpacity: '1',\n\n axisFontSize: '16',\n axisTextColor: baseThemeVariables.fg,\n\n // first bar\n firstLineGradFrom: baseThemeVariables.bg3,\n firstLineGradTo: baseThemeVariables.bg3,\n firstLineShadow: 'rgba(0, 0, 0, 0)',\n\n // second bar\n secondLineGradFrom: baseThemeVariables.primary,\n secondLineGradTo: baseThemeVariables.primary,\n secondLineShadow: 'rgba(0, 0, 0, 0)',\n\n // third bar\n thirdLineGradFrom: baseThemeVariables.success,\n thirdLineGradTo: baseThemeVariables.successLight,\n thirdLineShadow: 'rgba(0, 0, 0, 0)',\n },\n\n orderProfitLegend: {\n firstItem: baseThemeVariables.success,\n secondItem: baseThemeVariables.primary,\n thirdItem: baseThemeVariables.bg3,\n },\n\n visitors: {\n tooltipBg: baseThemeVariables.bg,\n tooltipLineColor: 'rgba(0, 0, 0, 0)',\n tooltipLineWidth: '0',\n tooltipBorderColor: baseThemeVariables.border2,\n tooltipExtraCss: 'border-radius: 10px; padding: 8px 24px;',\n tooltipTextColor: baseThemeVariables.fgText,\n tooltipFontWeight: 'normal',\n tooltipFontSize: '20',\n\n axisLineColor: baseThemeVariables.border4,\n axisFontSize: '16',\n axisTextColor: baseThemeVariables.fg,\n yAxisSplitLine: baseThemeVariables.separator,\n\n itemBorderColor: baseThemeVariables.primary,\n lineStyle: 'dotted',\n lineWidth: '6',\n lineGradFrom: '#ffffff',\n lineGradTo: '#ffffff',\n lineShadow: 'rgba(0, 0, 0, 0)',\n\n areaGradFrom: baseThemeVariables.primary,\n areaGradTo: baseThemeVariables.primaryLight,\n\n innerLineStyle: 'solid',\n innerLineWidth: '1',\n\n innerAreaGradFrom: baseThemeVariables.success,\n innerAreaGradTo: baseThemeVariables.success,\n },\n\n visitorsLegend: {\n firstIcon: baseThemeVariables.success,\n secondIcon: baseThemeVariables.primary,\n },\n\n visitorsPie: {\n firstPieGradientLeft: baseThemeVariables.success,\n firstPieGradientRight: baseThemeVariables.success,\n firstPieShadowColor: 'rgba(0, 0, 0, 0)',\n firstPieRadius: ['70%', '90%'],\n\n secondPieGradientLeft: baseThemeVariables.warning,\n secondPieGradientRight: baseThemeVariables.warningLight,\n secondPieShadowColor: 'rgba(0, 0, 0, 0)',\n secondPieRadius: ['60%', '97%'],\n shadowOffsetX: '0',\n shadowOffsetY: '0',\n },\n\n visitorsPieLegend: {\n firstSection: baseThemeVariables.warning,\n secondSection: baseThemeVariables.success,\n },\n\n earningPie: {\n radius: ['65%', '100%'],\n center: ['50%', '50%'],\n\n fontSize: '22',\n\n firstPieGradientLeft: baseThemeVariables.success,\n firstPieGradientRight: baseThemeVariables.success,\n firstPieShadowColor: 'rgba(0, 0, 0, 0)',\n\n secondPieGradientLeft: baseThemeVariables.primary,\n secondPieGradientRight: baseThemeVariables.primary,\n secondPieShadowColor: 'rgba(0, 0, 0, 0)',\n\n thirdPieGradientLeft: baseThemeVariables.warning,\n thirdPieGradientRight: baseThemeVariables.warning,\n thirdPieShadowColor: 'rgba(0, 0, 0, 0)',\n },\n\n earningLine: {\n gradFrom: baseThemeVariables.primary,\n gradTo: baseThemeVariables.primary,\n\n tooltipTextColor: baseThemeVariables.fgText,\n tooltipFontWeight: 'normal',\n tooltipFontSize: '16',\n tooltipBg: baseThemeVariables.bg,\n tooltipBorderColor: baseThemeVariables.border2,\n tooltipBorderWidth: '1',\n tooltipExtraCss: 'border-radius: 10px; padding: 4px 16px;',\n },\n },\n} as NbJSThemeOptions;\n","import { NbJSThemeOptions, DEFAULT_THEME as baseTheme } from '@nebular/theme';\n\nconst baseThemeVariables = baseTheme.variables;\n\nexport const DEFAULT_THEME = {\n name: 'default',\n base: 'default',\n variables: {\n temperature: {\n arcFill: [\n baseThemeVariables.primary,\n baseThemeVariables.primary,\n baseThemeVariables.primary,\n baseThemeVariables.primary,\n baseThemeVariables.primary,\n ],\n arcEmpty: baseThemeVariables.bg2,\n thumbBg: baseThemeVariables.bg2,\n thumbBorder: baseThemeVariables.primary,\n },\n\n solar: {\n gradientLeft: baseThemeVariables.primary,\n gradientRight: baseThemeVariables.primary,\n shadowColor: 'rgba(0, 0, 0, 0)',\n secondSeriesFill: baseThemeVariables.bg2,\n radius: ['80%', '90%'],\n },\n\n traffic: {\n tooltipBg: baseThemeVariables.bg,\n tooltipBorderColor: baseThemeVariables.border2,\n tooltipExtraCss: 'border-radius: 10px; padding: 4px 16px;',\n tooltipTextColor: baseThemeVariables.fgText,\n tooltipFontWeight: 'normal',\n\n yAxisSplitLine: baseThemeVariables.separator,\n\n lineBg: baseThemeVariables.border4,\n lineShadowBlur: '1',\n itemColor: baseThemeVariables.border4,\n itemBorderColor: baseThemeVariables.border4,\n itemEmphasisBorderColor: baseThemeVariables.primary,\n shadowLineDarkBg: 'rgba(0, 0, 0, 0)',\n shadowLineShadow: 'rgba(0, 0, 0, 0)',\n gradFrom: baseThemeVariables.bg2,\n gradTo: baseThemeVariables.bg2,\n },\n\n electricity: {\n tooltipBg: baseThemeVariables.bg,\n tooltipLineColor: baseThemeVariables.fgText,\n tooltipLineWidth: '0',\n tooltipBorderColor: baseThemeVariables.border2,\n tooltipExtraCss: 'border-radius: 10px; padding: 8px 24px;',\n tooltipTextColor: baseThemeVariables.fgText,\n tooltipFontWeight: 'normal',\n\n axisLineColor: baseThemeVariables.border3,\n xAxisTextColor: baseThemeVariables.fg,\n yAxisSplitLine: baseThemeVariables.separator,\n\n itemBorderColor: baseThemeVariables.primary,\n lineStyle: 'solid',\n lineWidth: '4',\n lineGradFrom: baseThemeVariables.primary,\n lineGradTo: baseThemeVariables.primary,\n lineShadow: 'rgba(0, 0, 0, 0)',\n\n areaGradFrom: baseThemeVariables.bg2,\n areaGradTo: baseThemeVariables.bg2,\n shadowLineDarkBg: 'rgba(0, 0, 0, 0)',\n },\n\n bubbleMap: {\n titleColor: baseThemeVariables.fgText,\n areaColor: baseThemeVariables.bg4,\n areaHoverColor: baseThemeVariables.fgHighlight,\n areaBorderColor: baseThemeVariables.border5,\n },\n\n profitBarAnimationEchart: {\n textColor: baseThemeVariables.fgText,\n\n firstAnimationBarColor: baseThemeVariables.primary,\n secondAnimationBarColor: baseThemeVariables.success,\n\n splitLineStyleOpacity: '1',\n splitLineStyleWidth: '1',\n splitLineStyleColor: baseThemeVariables.separator,\n\n tooltipTextColor: baseThemeVariables.fgText,\n tooltipFontWeight: 'normal',\n tooltipFontSize: '16',\n tooltipBg: baseThemeVariables.bg,\n tooltipBorderColor: baseThemeVariables.border2,\n tooltipBorderWidth: '1',\n tooltipExtraCss: 'border-radius: 10px; padding: 4px 16px;',\n },\n\n trafficBarEchart: {\n gradientFrom: baseThemeVariables.warningLight,\n gradientTo: baseThemeVariables.warning,\n shadow: baseThemeVariables.warningLight,\n shadowBlur: '0',\n\n axisTextColor: baseThemeVariables.fgText,\n axisFontSize: '12',\n\n tooltipBg: baseThemeVariables.bg,\n tooltipBorderColor: baseThemeVariables.border2,\n tooltipExtraCss: 'border-radius: 10px; padding: 4px 16px;',\n tooltipTextColor: baseThemeVariables.fgText,\n tooltipFontWeight: 'normal',\n },\n\n countryOrders: {\n countryBorderColor: baseThemeVariables.border4,\n countryFillColor: baseThemeVariables.bg3,\n countryBorderWidth: '1',\n hoveredCountryBorderColor: baseThemeVariables.primary,\n hoveredCountryFillColor: baseThemeVariables.primaryLight,\n hoveredCountryBorderWidth: '1',\n\n chartAxisLineColor: baseThemeVariables.border4,\n chartAxisTextColor: baseThemeVariables.fg,\n chartAxisFontSize: '16',\n chartGradientTo: baseThemeVariables.primary,\n chartGradientFrom: baseThemeVariables.primaryLight,\n chartAxisSplitLine: baseThemeVariables.separator,\n chartShadowLineColor: baseThemeVariables.primaryLight,\n\n chartLineBottomShadowColor: baseThemeVariables.primary,\n\n chartInnerLineColor: baseThemeVariables.bg2,\n },\n\n echarts: {\n bg: baseThemeVariables.bg,\n textColor: baseThemeVariables.fgText,\n axisLineColor: baseThemeVariables.fgText,\n splitLineColor: baseThemeVariables.separator,\n itemHoverShadowColor: 'rgba(0, 0, 0, 0.5)',\n tooltipBackgroundColor: baseThemeVariables.primary,\n areaOpacity: '0.7',\n },\n\n chartjs: {\n axisLineColor: baseThemeVariables.separator,\n textColor: baseThemeVariables.fgText,\n },\n\n orders: {\n tooltipBg: baseThemeVariables.bg,\n tooltipLineColor: 'rgba(0, 0, 0, 0)',\n tooltipLineWidth: '0',\n tooltipBorderColor: baseThemeVariables.border2,\n tooltipExtraCss: 'border-radius: 10px; padding: 8px 24px;',\n tooltipTextColor: baseThemeVariables.fgText,\n tooltipFontWeight: 'normal',\n tooltipFontSize: '20',\n\n axisLineColor: baseThemeVariables.border4,\n axisFontSize: '16',\n axisTextColor: baseThemeVariables.fg,\n yAxisSplitLine: baseThemeVariables.separator,\n\n itemBorderColor: baseThemeVariables.primary,\n lineStyle: 'solid',\n lineWidth: '4',\n\n // first line\n firstAreaGradFrom: baseThemeVariables.bg3,\n firstAreaGradTo: baseThemeVariables.bg3,\n firstShadowLineDarkBg: 'rgba(0, 0, 0, 0)',\n\n // second line\n secondLineGradFrom: baseThemeVariables.primary,\n secondLineGradTo: baseThemeVariables.primary,\n\n secondAreaGradFrom: 'rgba(51, 102, 255, 0.2)',\n secondAreaGradTo: 'rgba(51, 102, 255, 0)',\n secondShadowLineDarkBg: 'rgba(0, 0, 0, 0)',\n\n // third line\n thirdLineGradFrom: baseThemeVariables.success,\n thirdLineGradTo: baseThemeVariables.successLight,\n\n thirdAreaGradFrom: 'rgba(0, 214, 143, 0.2)',\n thirdAreaGradTo: 'rgba(0, 214, 143, 0)',\n thirdShadowLineDarkBg: 'rgba(0, 0, 0, 0)',\n },\n\n profit: {\n bg: baseThemeVariables.bg,\n textColor: baseThemeVariables.fgText,\n axisLineColor: baseThemeVariables.border4,\n splitLineColor: baseThemeVariables.separator,\n areaOpacity: '1',\n\n axisFontSize: '16',\n axisTextColor: baseThemeVariables.fg,\n\n // first bar\n firstLineGradFrom: baseThemeVariables.bg3,\n firstLineGradTo: baseThemeVariables.bg3,\n firstLineShadow: 'rgba(0, 0, 0, 0)',\n\n // second bar\n secondLineGradFrom: baseThemeVariables.primary,\n secondLineGradTo: baseThemeVariables.primary,\n secondLineShadow: 'rgba(0, 0, 0, 0)',\n\n // third bar\n thirdLineGradFrom: baseThemeVariables.success,\n thirdLineGradTo: baseThemeVariables.successLight,\n thirdLineShadow: 'rgba(0, 0, 0, 0)',\n },\n\n orderProfitLegend: {\n firstItem: baseThemeVariables.success,\n secondItem: baseThemeVariables.primary,\n thirdItem: baseThemeVariables.bg3,\n },\n\n visitors: {\n tooltipBg: baseThemeVariables.bg,\n tooltipLineColor: 'rgba(0, 0, 0, 0)',\n tooltipLineWidth: '1',\n tooltipBorderColor: baseThemeVariables.border2,\n tooltipExtraCss: 'border-radius: 10px; padding: 8px 24px;',\n tooltipTextColor: baseThemeVariables.fgText,\n tooltipFontWeight: 'normal',\n tooltipFontSize: '20',\n\n axisLineColor: baseThemeVariables.border4,\n axisFontSize: '16',\n axisTextColor: baseThemeVariables.fg,\n yAxisSplitLine: baseThemeVariables.separator,\n\n itemBorderColor: baseThemeVariables.primary,\n lineStyle: 'dotted',\n lineWidth: '6',\n lineGradFrom: '#ffffff',\n lineGradTo: '#ffffff',\n lineShadow: 'rgba(0, 0, 0, 0)',\n\n areaGradFrom: baseThemeVariables.primary,\n areaGradTo: baseThemeVariables.primaryLight,\n\n innerLineStyle: 'solid',\n innerLineWidth: '1',\n\n innerAreaGradFrom: baseThemeVariables.success,\n innerAreaGradTo: baseThemeVariables.success,\n },\n\n visitorsLegend: {\n firstIcon: baseThemeVariables.success,\n secondIcon: baseThemeVariables.primary,\n },\n\n visitorsPie: {\n firstPieGradientLeft: baseThemeVariables.success,\n firstPieGradientRight: baseThemeVariables.success,\n firstPieShadowColor: 'rgba(0, 0, 0, 0)',\n firstPieRadius: ['70%', '90%'],\n\n secondPieGradientLeft: baseThemeVariables.warning,\n secondPieGradientRight: baseThemeVariables.warningLight,\n secondPieShadowColor: 'rgba(0, 0, 0, 0)',\n secondPieRadius: ['60%', '97%'],\n shadowOffsetX: '0',\n shadowOffsetY: '0',\n },\n\n visitorsPieLegend: {\n firstSection: baseThemeVariables.warning,\n secondSection: baseThemeVariables.success,\n },\n\n earningPie: {\n radius: ['65%', '100%'],\n center: ['50%', '50%'],\n\n fontSize: '22',\n\n firstPieGradientLeft: baseThemeVariables.success,\n firstPieGradientRight: baseThemeVariables.success,\n firstPieShadowColor: 'rgba(0, 0, 0, 0)',\n\n secondPieGradientLeft: baseThemeVariables.primary,\n secondPieGradientRight: baseThemeVariables.primary,\n secondPieShadowColor: 'rgba(0, 0, 0, 0)',\n\n thirdPieGradientLeft: baseThemeVariables.warning,\n thirdPieGradientRight: baseThemeVariables.warning,\n thirdPieShadowColor: 'rgba(0, 0, 0, 0)',\n },\n\n earningLine: {\n gradFrom: baseThemeVariables.primary,\n gradTo: baseThemeVariables.primary,\n\n tooltipTextColor: baseThemeVariables.fgText,\n tooltipFontWeight: 'normal',\n tooltipFontSize: '16',\n tooltipBg: baseThemeVariables.bg,\n tooltipBorderColor: baseThemeVariables.border2,\n tooltipBorderWidth: '1',\n tooltipExtraCss: 'border-radius: 10px; padding: 4px 16px;',\n },\n },\n} as NbJSThemeOptions;\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatRippleModule } from '@angular/material/core';\nimport {\n NbActionsModule,\n NbLayoutModule,\n NbMenuModule,\n NbSearchModule,\n NbSidebarModule,\n NbUserModule,\n NbContextMenuModule,\n NbButtonModule,\n NbSelectModule,\n NbIconModule,\n NbThemeModule,\n} from '@nebular/theme';\nimport { NbEvaIconsModule } from '@nebular/eva-icons';\nimport { NbSecurityModule } from '@nebular/security';\n\nimport {\n FooterComponent,\n HeaderComponent,\n LayoutDirectionSwitcherComponent,\n //SearchInputComponent,\n SwitcherComponent,\n} from './components';\nimport {\n CapitalizePipe,\n PluralPipe,\n RoundPipe,\n TimingPipe,\n NumberWithCommasPipe,\n} from './pipes';\nimport {\n OneColumnLayoutComponent,\n ThreeColumnsLayoutComponent,\n TwoColumnsLayoutComponent,\n} from './layouts';\nimport { DEFAULT_THEME } from './styles/theme.default';\nimport { COSMIC_THEME } from './styles/theme.cosmic';\nimport { CORPORATE_THEME } from './styles/theme.corporate';\nimport { DARK_THEME } from './styles/theme.dark';\nimport { MATERIAL_LIGHT_THEME } from './styles/material/theme.material-light';\nimport { MATERIAL_DARK_THEME } from './styles/material/theme.material-dark';\n\nconst NB_MODULES = [\n NbLayoutModule,\n NbMenuModule,\n NbUserModule,\n NbActionsModule,\n NbSearchModule,\n NbSidebarModule,\n NbContextMenuModule,\n NbSecurityModule,\n NbButtonModule,\n NbSelectModule,\n NbIconModule,\n NbEvaIconsModule,\n];\nconst COMPONENTS = [\n SwitcherComponent,\n LayoutDirectionSwitcherComponent,\n HeaderComponent,\n FooterComponent,\n //SearchInputComponent,\n OneColumnLayoutComponent,\n ThreeColumnsLayoutComponent,\n TwoColumnsLayoutComponent,\n];\nconst PIPES = [\n CapitalizePipe,\n PluralPipe,\n RoundPipe,\n TimingPipe,\n NumberWithCommasPipe,\n];\n\n@NgModule({\n imports: [CommonModule, MatRippleModule, ...NB_MODULES],\n exports: [CommonModule, MatRippleModule, ...PIPES, ...COMPONENTS],\n declarations: [...COMPONENTS, ...PIPES],\n})\nexport class ThemeModule {\n static forRoot(): ModuleWithProviders {\n return {\n ngModule: ThemeModule,\n providers: [\n ...NbThemeModule.forRoot(\n {\n name: 'default',\n },\n [ DEFAULT_THEME, COSMIC_THEME, CORPORATE_THEME, DARK_THEME, MATERIAL_LIGHT_THEME, MATERIAL_DARK_THEME ],\n ).providers,\n ],\n };\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { CustomerService } from '../../MasterService/customer.service';\nimport { AccountLinkMasterService } from '../../MasterService/account-link-master.service';\nimport { AccountLinkMaster } from '../../MasterService/AccountLinkMaster'\nimport { Router, NavigationExtras } from '@angular/router';\nimport { LoginDetails } from 'src/app/Common/LoginDetail';\nimport { RoleAccessService } from '../../MasterService/role-access.service';\nimport { RoleAccess } from 'src/app/MasterService/RoleAccess';\nimport { NgxSpinnerService } from \"ngx-spinner\";\nimport { WindowScrollingService } from 'src/app/MasterService/window-scrolling.service';\nimport { IAngularMyDpOptions, IMyDateModel } from 'angular-mydatepicker';\nimport * as $ from 'jquery';\nimport { EncryptdecryptService } from 'src/app/MasterService/encryptdecrypt.service';\n\ndeclare var sortTableAccountLinkMst: Function;\ndeclare const ClearAccLinkStatus: any;\n\n@Component({\n selector: 'app-account-link-master',\n templateUrl: './account-link-master.component.html',\n styleUrls: ['./account-link-master.component.css']\n})\nexport class AccountLinkMasterComponent implements OnInit {\n today = new Date();\n myDpOptions: IAngularMyDpOptions = {\n dateRange: false,\n dateFormat: 'dd-mm-yyyy',\n disableSince: { year: this.today.getFullYear(), month: this.today.getMonth() + 1, day: this.today.getDate() + 1 }\n\n\n // other options are here...\n };\n public acclinkId;\n // AccountLinkingList: AccountLinkMaster[];\n AccountLinkingList: any = [];\n showModal: boolean;\n showMsg: boolean;\n showerrormsg: boolean;\n lblMessage: string;\n // FilteredAccountLinkList: AccountLinkMaster[];\n FilteredAccountLinkList: any = [];\n RoleAccess: RoleAccess;\n allCustList: any = [];\n isActive: boolean;\n AllCheckAccount: boolean;\n showModalForAllDelete: boolean;\n AllSelected: boolean;\n ConfirmationMsg: string;\n SweepExecutionPrivillage: boolean;\n constructor(private router: Router, public _customerService: CustomerService, public _accountLinkMaster: AccountLinkMasterService, public _roleAccess: RoleAccessService, private _spinner: NgxSpinnerService, public _encrypt: EncryptdecryptService) { }\n EditPriv: boolean;\n DeletePrivllage: boolean;\n AddPrivillage: boolean;\n ViewPrivllage: boolean;\n config: any;\n lblMessageDelete: string;\n ddlshowStartValue: number;\n ddlshowvalue: number;\n searchCount: string;\n filterCount: string;\n lastSortedByField;\n ascendingOrder = true;\n\n // Bulk Delete fields\n accLinkSelected: boolean;\n IsaccLinkSelected: boolean;\n checkedList: any = [];\n listLengthForSelect: 0;\n BulkDelete: boolean = true;\n LoginUserID: number = 0;\n AccountLinkStatus: any = [];\n IsShowBulkExecutionToChecker: boolean = true;\n CheckerPrivillage:boolean;\n\n show() {\n this.showModal = true;\n $(document).ready(function () {\n $('#DeleteModel').eq(0).focus();\n });\n }\n hide() { this.showModal = false; }\n\n showlbl() {\n this.showMsg = true;\n }\n hidelbl() {\n this.showMsg = false;\n }\n\n showerror() {\n this.showerrormsg = true;\n }\n hideerror() {\n this.showerrormsg = false;\n }\n\n ngOnInit(): void {\n // If LoginUserId is null then it will return\n if (localStorage.getItem('LoginUserId') == null) {\n this.router.navigate([\"\"]);\n return;\n }\n\n this.LoginUserID = +this._encrypt.decryptUsingAES256(localStorage.getItem('LoginUserId'));\n // To display header\n if (!$('.js-sticky-header').is(':visible')) {\n $('.js-sticky-header').css('display', 'block');\n }\n // Setting default values\n this.AccountLink();//Rubina added\n ClearAccLinkStatus();\n\n this._spinner.show();\n\n this.onTop();\n\n localStorage.removeItem('ViewMode');\n localStorage.removeItem('AcLinkId');\n localStorage.removeItem('CustomerId');\n // Getting customer List\n this._customerService.fnGetCustomerDataForAClink(localStorage.getItem(\"LoginUserId\")).subscribe(customerList => {\n this.allCustList = customerList;\n // customerList.forEach(element => {\n // if(element[\"Status\"] == \"Active\")\n // {\n // this.allCustList.push(element);\n // }\n // });\n }\n , (err) => {\n this.router.navigate([\"404\"]);\n }\n );\n // Getting PrivillageRole based on id\n this.GetPrivillageRoles();\n //this.AccountLinkList(); // added this function inside GetPrivillageRoles for synch call\n // Getting AccLink Status\n this.fnGetAccountLinkStatus();\n\n this.config = {\n itemsPerPage: 10,\n currentPage: 1,\n };\n this.ddlshowvalue = 10;\n this.ddlshowStartValue = 1;\n // Sorting table data\n sortTableAccountLinkMst(6, false);\n\n }\n\n // Page changed event function\n pageChanged(event) {\n this.config.currentPage = event;\n this.ddlshowvalue = this.config.currentPage * this.config.itemsPerPage;\n this.ddlshowStartValue = this.ddlshowvalue - (this.config.itemsPerPage - 1);\n if (this.FilteredAccountLinkList.length <= this.ddlshowvalue)\n this.ddlshowvalue = this.FilteredAccountLinkList.length;\n }\n\n // Getting Privillage Roles\n GetPrivillageRoles() {\n this._roleAccess.fnGetRoleAccess(localStorage.getItem('LoginUserId'), this.router.url).subscribe(roleAccess => {\n this.RoleAccess = roleAccess[0];\n this.CheckerPrivillage = roleAccess[0].CheckerAccess; \n this.EditPriv = this.RoleAccess.EditAccess;\n this.DeletePrivllage = this.RoleAccess.DeleteAccess;\n this.AddPrivillage = this.RoleAccess.AddAccess;\n this.SweepExecutionPrivillage = this.RoleAccess.SweepExecutionAccess;\n if (!this.EditPriv && this.RoleAccess.ViewAccess)\n this.ViewPrivllage = true;\n this.AccountLinkList();\n }\n , (err) => {\n this.router.navigate([\"404\"]);\n }\n )\n }\n\n // Navigate to AccountLinkMaster page\n redirectToAccoulink() {\n localStorage.setItem('ViewMode', \"\");\n localStorage.setItem('AcLinkId', \"\");\n localStorage.setItem('CustomerId', \"\");\n this.router.navigateByUrl('/', { skipLocationChange: true }).then(() => {\n this.router.navigate(['AccountLinkMaster']);\n // .then(() => {\n // location.reload();\n // });\n });\n }\n\n // Navigate to sweepExecution page\n redirectToSweepExecution() {\n this.router.navigateByUrl('/', { skipLocationChange: true }).then(() => {\n this.router.navigate(['sweepExecution']);\n });\n }\n\n // Getting account link\n AccountLinkList() {\n this._accountLinkMaster.fnGetAccountLinkList(localStorage.getItem('LoginUserId')).subscribe(accountsLink => {\n this.AccountLinkingList = accountsLink;\n // this.FilteredAccountLinkList = this.AccountLinkingList;\n\n this.AccountLinkingList.forEach(ele => {\n // if (ele[\"status\"] == \"1\")\n // ele[\"status\"] = \"Pending\";\n // else if (ele[\"status\"] == \"2\")\n // ele[\"status\"] = \"Approved\";\n // else if (ele[\"status\"] == \"3\")\n // ele[\"status\"] = \"Rejected\";\n // else if (ele[\"status\"] == \"5\")\n // ele[\"status\"] = \"Pending for Approval\";\n // else if (ele[\"status\"] == \"7\")\n // ele[\"status\"] = \"Pending Sweep Balance for Approval\";\n // else if (ele[\"status\"] == \"8\")\n // ele[\"status\"] = \"Pending Reverse Balance for Approval\";\n // else if (ele[\"status\"] == \"9\")\n // ele[\"status\"] = \"Sweep Balance Approved\";\n // else if (ele[\"status\"] == \"10\")\n // ele[\"status\"] = \"Reverse Balance Approved\";\n // else if (ele[\"status\"] == \"11\")\n // ele[\"status\"] = \"Sweep Balance Rejected\";\n // else if (ele[\"status\"] == \"12\")\n // ele[\"status\"] = \"Reverse Balance Rejected\";\n\n if (ele[\"CustomerStatus\"] == \"Inactive\") {\n ele[\"InactiveCustomer\"] = \" - Inactive\";\n ele[\"IsEditDisabled\"] = true;\n }\n else if (ele[\"CustomerStatus\"] == \"Pending\") {\n ele[\"InactiveCustomer\"] = \" - Pending\";\n ele[\"IsEditDisabled\"] = true;\n }\n else {\n ele[\"InactiveCustomer\"] = \"\";\n ele[\"IsEditDisabled\"] = false;\n }\n });\n\n for (var i = 0; i < this.AccountLinkingList.length; i++) {\n this.AccountLinkingList[i].IsaccLinkSelected = false;\n if(this.AccountLinkingList[i].status == \"5\" || this.AccountLinkingList[i].status == \"13\"){\n this.AccountLinkingList[i].IsAuthorizeDisable = false;\n }\n else{\n this.AccountLinkingList[i].IsAuthorizeDisable = true;\n }\n \n if(this.AccountLinkingList[i].sweepStatus == 7){\n this.AccountLinkingList[i].AccLinkSweepStatus = \"Pending Sweep Approval\";\n }\n else if(this.AccountLinkingList[i].sweepStatus == 8){\n this.AccountLinkingList[i].AccLinkSweepStatus = \"Pending Reverse Sweep Approval\";\n }\n else if(this.AccountLinkingList[i].sweepStatus == 9){\n this.AccountLinkingList[i].AccLinkSweepStatus = \"Sweep Balance Approved\";\n }\n else if(this.AccountLinkingList[i].sweepStatus == 10){\n this.AccountLinkingList[i].AccLinkSweepStatus = \"Reverse Sweep Balance Approved\";\n }\n else if(this.AccountLinkingList[i].sweepStatus == 11){\n this.AccountLinkingList[i].AccLinkSweepStatus = \"Sweep Balance Rejected\";\n }\n else if(this.AccountLinkingList[i].sweepStatus == 12){\n this.AccountLinkingList[i].AccLinkSweepStatus = \"Reverse Sweep Balance Rejected\";\n }\n else if(this.AccountLinkingList[i].sweepStatus == 16){\n this.AccountLinkingList[i].AccLinkSweepStatus = \"Not Applicable\";\n }\n else if(this.AccountLinkingList[i].sweepStatus == 2){\n this.AccountLinkingList[i].AccLinkSweepStatus = \"Approved\";\n }\n else if(this.AccountLinkingList[i].sweepStatus == 14){\n this.AccountLinkingList[i].AccLinkSweepStatus = \"Delete Approved\";\n }\n else if(this.AccountLinkingList[i].sweepStatus == 3){\n this.AccountLinkingList[i].AccLinkSweepStatus = \"Rejected\";\n }\n //Gear menu show hide conditions.\n if(this.CheckerPrivillage){\n this.AccountLinkingList[i].isGearMenuVisible=true;\n }\n else{\n if((this.AccountLinkingList[i].AccLinkSweepStatus ==\"Pending Sweep Approval\" || this.AccountLinkingList[i].AccLinkSweepStatus ==\"Pending Reverse Sweep Approval\") && this.SweepExecutionPrivillage){\n this.AccountLinkingList[i].isGearMenuVisible=false;\n }\n else {\n this.AccountLinkingList[i].isGearMenuVisible=true;\n }\n }\n if(this.AccountLinkingList[i].AccLinkStatusName==\"Delete Approved\" || this.AccountLinkingList[i].AccLinkSweepStatus == \"Not Applicable\"){\n this.AccountLinkingList[i].isGearMenuVisible=false;\n }\n if(this.CheckerPrivillage && this.AccountLinkingList[i].CreatedById == this._encrypt.decryptUsingAES256(localStorage.getItem(\"LoginUserId\"))){\n this.AccountLinkingList[i].isAuthorizeVisible=false;\n }\n else if(this.CheckerPrivillage || (this.CheckerPrivillage && this.AccountLinkingList[i].CreatedById != this._encrypt.decryptUsingAES256(localStorage.getItem(\"LoginUserId\")))){\n this.AccountLinkingList[i].isAuthorizeVisible=true;\n }\n else{\n this.AccountLinkingList[i].isAuthorizeVisible=false;\n }\n }\n\n\n if (this.RoleAccess.CheckerAccess == true) {\n var aclinkinglist = this.AccountLinkingList.filter(row => {\n return ((row.CreatedById == +this._encrypt.decryptUsingAES256(localStorage.getItem(\"LoginUserId\"))\n && (row.status == \"2\" || row.status == \"9\" || row.status == \"10\" || row.status == \"11\" || row.status == \"12\"))\n || (row.CreatedById != +this._encrypt.decryptUsingAES256(localStorage.getItem(\"LoginUserId\"))\n && (row.status == \"7\" || row.status == \"8\" || row.status == \"9\" || row.status == \"10\" || row.status == \"11\" || row.status == \"12\")))\n });\n var lengthAcLinkList = aclinkinglist.length;\n if (lengthAcLinkList != undefined && lengthAcLinkList == 0) {\n this.IsShowBulkExecutionToChecker = false;\n }\n else {\n this.IsShowBulkExecutionToChecker = true;\n }\n }\n\n this.FilteredAccountLinkList = this.AccountLinkingList;\n this.listLengthForSelect = this.AccountLinkingList.length;\n\n this.OnSearch(\"\", \"\", \"\", \"\", \"\", \"Active\");\n setTimeout(() => {\n this._spinner.hide();\n }, 500);\n }\n , (err) => {\n this.router.navigate([\"404\"]);\n }\n )\n }\n // Filtering data from list\n OnSearch(status, CustomerName, Name, Date, CreatedName, CustomerStatus) {\n \n this.pageChanged(event);\n if (status == null || status == \"\") {\n this.FilteredAccountLinkList = this.AccountLinkingList.filter(row => {\n return row.AccLinkStatusName.match(status);\n });\n }\n else {\n this.FilteredAccountLinkList = this.AccountLinkingList.filter(row => {\n return row.AccLinkStatusName == status;\n });\n }\n this.FilteredAccountLinkList = this.FilteredAccountLinkList.filter(row => {\n return row.CustomerName.match(CustomerName);\n });\n this.FilteredAccountLinkList = this.FilteredAccountLinkList.filter(row => {\n return row.AccLinkName.toLocaleLowerCase().match(Name.toLocaleLowerCase());\n });\n this.FilteredAccountLinkList = this.FilteredAccountLinkList.filter(row => {\n return row.CreatedBy.toLocaleLowerCase().match(CreatedName.toLocaleLowerCase());\n });\n if (Date != \"\" && Date != null) {\n this.FilteredAccountLinkList = this.FilteredAccountLinkList.filter(row => {\n return row.CreatedDate.toLocaleLowerCase().match(Date.singleDate.formatted.toLocaleLowerCase());\n });\n }\n this.FilteredAccountLinkList = this.FilteredAccountLinkList.filter(row => {\n return row.CustomerStatus.match(CustomerStatus);\n });\n // this.FilteredAccountLinkList = this.FilteredAccountLinkList.filter(row => {\n // return row.AccountType.match(AccountType);\n // });\n if (status != \"\" || CustomerName != \"\" || Name != \"\" || Date != \"\" || CreatedName != \"\" || CustomerStatus != \"\") {\n this.ddlshowvalue = this.FilteredAccountLinkList.length;;\n if (this.ddlshowvalue <= this.config.itemsPerPage) {\n // this.ddlshowvalue = 0;\n this.ddlshowvalue = this.ddlshowvalue\n this.ddlshowStartValue = 1;\n }\n else {\n this.ddlshowvalue = 0;\n this.ddlshowvalue = this.config.itemsPerPage;\n this.ddlshowStartValue = 1;\n }\n // this.ddlshowvalue = 0;\n // this.ddlshowvalue = this.config.itemsPerPage;\n // this.ddlshowStartValue = 1;\n this.searchCount = \"\";\n this.searchCount = this.FilteredAccountLinkList.length.toString();\n this.filterCount = \"(filtered from \" + this.AccountLinkingList.length + \" total entries)\";\n } else {\n if (this.ddlshowvalue <= this.config.itemsPerPage) {\n // this.ddlshowvalue = 0;\n this.ddlshowvalue = this.ddlshowvalue;\n this.ddlshowStartValue = 1;\n this.searchCount = this.AccountLinkingList.length.toString();\n this.filterCount = \"\";\n }\n else {\n this.ddlshowvalue = 0;\n this.ddlshowvalue = this.config.itemsPerPage;\n this.ddlshowStartValue = 1;\n this.searchCount = this.AccountLinkingList.length.toString();\n this.filterCount = \"\";\n }\n\n // this.ddlshowvalue = 0;\n // this.ddlshowvalue = this.config.itemsPerPage;\n // this.ddlshowStartValue = 1;\n // //this.ddlshowvalue = this.config.currentPage*this.config.itemsPerPage;\n // //this.ddlshowStartValue = this.ddlshowvalue - (this.config.itemsPerPage-1);\n // this.searchCount = this.AccountLinkingList.length.toString();\n // this.filterCount = \"\";\n }\n }\n\n // Navigate to AccountLinkMaster for edit\n editAccountLink(accountLinkMaster: AccountLinkMaster) {\n debugger;\n if (accountLinkMaster.AccountType == \"Saving Account\") {\n accountLinkMaster.AccountType = \"SavingAccount\";\n }\n if (accountLinkMaster.AccountType == \"Current Account\") {\n accountLinkMaster.AccountType = \"CurrentAccount\";\n }\n if (accountLinkMaster.AccountType == \"Loan Account\") {\n accountLinkMaster.AccountType = \"LoanAccount\";\n }\n if (accountLinkMaster.AccountType == \"Escorw Account\") {\n accountLinkMaster.AccountType = \"EscorwAccount\";\n }\n if (accountLinkMaster.AccountType == \"Correspondent Account\") {\n accountLinkMaster.AccountType = \"CorrespondentAccount\";\n }\n\n localStorage.setItem('ViewMode', 'edit');\n localStorage.setItem('AcLinkId', accountLinkMaster.AclinkId.toString());\n localStorage.setItem('CustomerId', accountLinkMaster.CustomerId.toString());\n this._accountLinkMaster.CustomerId = accountLinkMaster.CustomerId;\n this.router.navigateByUrl('/', { skipLocationChange: true }).then(() => {\n this.router.navigate(['AccountLinkMaster']);\n // .then(() => {\n // location.reload();\n // });\n });\n\n }\n\n // Navigate to AccountLinkMaster for view\n viewAccountLink(accountLinkMaster: AccountLinkMaster) {\n localStorage.setItem('ViewMode', 'view');\n localStorage.setItem('AcLinkId', accountLinkMaster.AclinkId.toString());\n localStorage.setItem('CustomerId', accountLinkMaster.CustomerId.toString());\n this._accountLinkMaster.CustomerId = accountLinkMaster.CustomerId;\n this.router.navigateByUrl('/', { skipLocationChange: true }).then(() => {\n this.router.navigate(['AccountLinkMaster']);\n // .then(() => {\n // location.reload();\n // });\n });\n\n }\n\n // Navigate to AccountLinkMaster for sweep\n sweepAccountLink(accountLinkMaster: AccountLinkMaster) {\n localStorage.setItem('ViewMode', 'sweep');\n // if ((accountLinkMaster.AccLinkStatusName == 'Pending' || accountLinkMaster.AccLinkStatusName == 'Pending for Approval') && accountLinkMaster.RefAclinkId > 0 && this.SweepExecutionPrivillage){\n // localStorage.setItem('AcLinkId', accountLinkMaster.RefAclinkId.toString());\n // }\n // else{\n localStorage.setItem('AcLinkId', accountLinkMaster.AclinkId.toString());\n //}\n localStorage.setItem('CustomerId', accountLinkMaster.CustomerId.toString());\n this._accountLinkMaster.CustomerId = accountLinkMaster.CustomerId;\n this.router.navigateByUrl('/', { skipLocationChange: true }).then(() => {\n this.router.navigate(['AccountLinkMaster']);\n // .then(() => {\n // location.reload();\n // });\n });\n\n }\n\n // scroll function\n onTop() {\n window.scroll({\n top: 0,\n left: 0,\n behavior: 'smooth'\n })\n }\n\n AllDeletehide() {\n this.showModalForAllDelete = false;\n this.isActive = false;\n this.AllCheckAccount = false;\n\n }\n AllDeleteShow() {\n this.showModalForAllDelete = true;\n }\n AllDeleteConfirm() {\n this.FilteredAccountLinkList.forEach(element => {\n if (element.IsaccLinkSelected == true) {\n this._accountLinkMaster.fnDeleteAccountLinkMaster(element.AclinkId, localStorage.getItem('LoginUserId')).subscribe(res => {\n this.AccountLinkList();\n this.lblMessage = res.toString(); //\"All Selected Account Link Deleted Successfully.\"\n // this.lblMessage=\"All Account Deleted Successfully except Account Number used in Other Master. \"\n this.showlbl();\n this.onTop();\n this.AllDeletehide();\n }\n , (err) => {\n this.router.navigate([\"404\"]);\n }\n );\n }\n });\n }\n SelectAllAccountLink() {\n this.isActive = true;\n this.AllCheckAccount = true;\n this.AllDeleteShow();\n }\n DeleteAccountLink(accountlinMaster: AccountLinkMaster) {\n\n this.acclinkId = accountlinMaster.AclinkId;\n this.lblMessageDelete = \"Are you sure you want to delete?\";\n this.show();\n }\n\n DeleteAccountLinkMasterMethod() {\n this._accountLinkMaster.fnDeleteAccountLinkMaster(this.acclinkId, localStorage.getItem('LoginUserId')).subscribe(res => {\n this.AccountLinkList();\n this.lblMessage = res.toString(); //\"Account Link Deleted Successfully.\"\n if (res == 'Account Link Deleted Successfully.') {\n this.showerrormsg = false;\n this.showMsg = true;\n }\n else {\n this.showMsg = false;\n this.showerrormsg = true;\n }\n this.hide();\n //this.showlbl();\n this.onTop();\n }\n , (err) => {\n this.router.navigate([\"404\"]);\n }\n );\n }\n\n fnShowonchange(newObj) {\n this.ddlshowvalue = 0;\n this.ddlshowvalue = newObj.target.value;\n this.config = {\n itemsPerPage: this.ddlshowvalue,\n currentPage: 1,\n };\n }\n\n // Sorting table data\n fnSortAccountLinkMaster(field, obj) {\n //sortTableAccountLinkMst(obj);\n debugger;\n if (this.lastSortedByField === field) {\n this.ascendingOrder = !this.ascendingOrder;\n\n sortTableAccountLinkMst(obj, this.ascendingOrder);\n }\n else {\n this.lastSortedByField = field;\n this.ascendingOrder = true;\n\n sortTableAccountLinkMst(obj, this.ascendingOrder);\n }\n\n if (this.ascendingOrder) {\n this.FilteredAccountLinkList = this.FilteredAccountLinkList.sort((a, b) => {\n\n if (field === 'Priority') {\n if (Number(a[field]) < Number(b[field]))\n return -1;\n if (Number(a[field]) > Number(b[field]))\n return 1;\n }\n else if (field === 'CreatedDate') {\n if (a[\"DateCreated\"].toLowerCase() < b[\"DateCreated\"].toLowerCase())\n return -1;\n if (a[\"DateCreated\"].toLowerCase() > b[\"DateCreated\"].toLowerCase())\n return 1;\n }\n else {\n if (a[field].toLowerCase() < b[field].toLowerCase())\n return -1;\n if (a[field].toLowerCase() > b[field].toLowerCase())\n return 1;\n }\n return 0;\n });\n }\n else {\n this.FilteredAccountLinkList = this.FilteredAccountLinkList.sort((a, b) => {\n\n if (field === 'Priority') {\n if (Number(a[field]) < Number(b[field]))\n return 1;\n if (Number(a[field]) > Number(b[field]))\n return -1;\n }\n else if (field === 'CreatedDate') {\n if (a[\"DateCreated\"].toLowerCase() > b[\"DateCreated\"].toLowerCase())\n return -1;\n if (a[\"DateCreated\"].toLowerCase() < b[\"DateCreated\"].toLowerCase())\n return 1;\n }\n else {\n if (a[field].toLowerCase() < b[field].toLowerCase())\n return 1;\n if (a[field].toLowerCase() > b[field].toLowerCase())\n return -1;\n }\n return 0;\n });\n }\n\n }\n\n\n\n checkUncheckAllAccountLink() {\n this.AllSelected = true;\n this.isActive = true;\n this.accLinkSelected != this.accLinkSelected;\n\n if (this.FilteredAccountLinkList.length > 0) {\n for (var i = 0; i < this.FilteredAccountLinkList.length; i++) {\n this.FilteredAccountLinkList[i].IsaccLinkSelected = this.accLinkSelected;\n }\n }\n else {\n for (var i = 0; i < this.listLengthForSelect; i++) {\n this.AccountLinkingList[i].IsaccLinkSelected = this.accLinkSelected;\n }\n }\n\n this.getCheckedItemList();\n }\n\n isChecked(UserId, status) {\n this.AllSelected = false;\n this.IsaccLinkSelected != status;\n for (var i = 0; i < this.listLengthForSelect; i++) {\n this.AccountLinkingList[i].IsaccLinkSelected == this.IsaccLinkSelected;\n }\n this.getCheckedItemList();\n }\n\n\n getCheckedItemList() {\n this.checkedList = [];\n for (var i = 0; i < this.listLengthForSelect; i++) {\n if (this.AccountLinkingList[i].IsaccLinkSelected == true)\n this.checkedList.push(this.AccountLinkingList[i]);\n }\n this.checkedList = JSON.stringify(this.checkedList);\n\n if (this.checkedList.length > 2) {\n this.BulkDelete = false;\n }\n else {\n this.BulkDelete = true;\n }\n }\n\n AllDeleteConfirmation() {\n if (this.AllSelected == true) {\n this.ConfirmationMsg = \"Are you sure you want to delete All records?\"\n }\n if (this.AllSelected == false) {\n this.ConfirmationMsg = \"Are you sure you want to delete selected records?\"\n }\n this.AllDeleteShow();\n }\n onKeyDown(event: KeyboardEvent) {\n debugger;\n let a = (event.charCode == 8 || event.charCode == 45 || event.charCode == 0) ? null : event.charCode >= 48 && event.charCode <= 57;\n return a;\n }\n\n // Setting default values\n AccountLink() {\n this._accountLinkMaster.formData = {\n AclinkId: 0,\n CustomerId: 0,\n OutputJson: '',\n status: '',\n AccLinkName: '',\n CustomerName: '',\n Comments: '',\n AccountType: '',\n UserId: null,\n CreatedBy: '',\n CreatedDate: '',\n DateCreated: '',\n UpdatedBy: '',\n UpdatedDate: '',\n Oldcomment: '',\n StructorId: null,\n StructorName: '',\n Priority: null,\n CustomerStatus: 'Active',\n InactiveCustomer: '',\n IsEditDisabled: false,\n CreatedById: 0,\n UpdatedById: 0,\n SweepExecutionApproval: null,\n AccLinkStatusName: '',\n NewAccLinkName: '',\n IsAcLinkSelected: false,\n IsDisableCheckbox: false,\n SweepApprovalRequestedBy: 0,\n RefAclinkId: 0,\n IsLastApproved: 0,\n sweepStatus: 0\n }\n }\n\n // Getting AccountLinkStatus\n fnGetAccountLinkStatus() {\n this._accountLinkMaster.fnGetAccountLinkStatus().subscribe(accountsLinkStatus => {\n this.AccountLinkStatus = accountsLinkStatus;\n });\n }\n\n // date validation \n futureDateError: boolean;\n inputDate: Date;\n disabledsearchbtn: boolean;\n checkDateValidity(date) {\n debugger;\n const mxDate = new Date();\n\n if (date != null && date != \"\") {\n this.inputDate = date.singleDate.jsDate;\n if (this.inputDate > mxDate) {\n this.futureDateError = true;\n this.disabledsearchbtn = true;\n }\n else {\n this.futureDateError = false;\n this.disabledsearchbtn = false;\n }\n }\n else {\n this.futureDateError = false;\n this.disabledsearchbtn = false;\n }\n return this.futureDateError\n }\n\n Authorize(accountlinMaster: AccountLinkMaster) { \n let viewMode = 'authorize';\n let navigationExtras: NavigationExtras = {\n queryParams: {\n viewMode\n }\n };\n if (viewMode == 'authorize') { \n localStorage.setItem('AcLinkId', accountlinMaster.AclinkId.toString());\n localStorage.setItem('CustomerId', accountlinMaster.CustomerId.toString());\n localStorage.setItem('ViewMode', 'authorize'); \n this.router.navigate([\"AccountLinkMaster\"], navigationExtras);\n }\n }\n\n\n}\n","
\n
\n
\n
\n

Account Link Master

\n
\n
\n\n \n\n
\n
\n ×\n Success! {{lblMessage}}\n
\n
\n
\n
\n ×\n {{lblMessage}}\n
\n
\n \n\n
\n
\n \n \n \n \n\n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n
\n \n
\n \n
\n
\n
\n Please Enter a valid Date Format\n
\n
\n Created Date should be less than or equal to current date\n
\n\n
\n
\n
\n
\n \n \n
\n Created by is not valid.\n
\n
\n
\n \n \n
\n
\n \n
\n \n
\n\n \n
\n \n \n \n \n
\n
\n\n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n
\n \n
\n
\n \n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
CustomerAccount Link NameStructure TypePriorityStatusCreated ByCreated / Updated Date & TimeSweep Status\n \n Action\n \n
{{accountlink.CustomerName}} {{accountlink.InactiveCustomer}} {{accountlink.AccLinkName}}{{accountlink.StructorName}}{{accountlink.Priority}}{{accountlink.AccLinkStatusName}}{{accountlink.CreatedBy}}{{accountlink.CreatedDate}}{{accountlink.AccLinkSweepStatus}}\n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n
No records found.
\n
\n
\n \n
\n\n
\n \n
\n \n
\n \n\n\n \n\n\n\n\n\n \n
\n\n\n
\n
\n
\n
\n

Confirmation

\n \n
\n
\n

Are you sure you want to delete?

\n
\n
\n \n \n
\n
\n
\n
\n\n
\n
\n
\n
\n

Confirmation

\n \n
\n
\n

{{ConfirmationMsg}}

\n
\n
\n \n \n
\n
\n
\n
\n \n","import { Component, OnInit, AfterViewInit } from '@angular/core';\nimport { ViewEncapsulation } from '@angular/core';\nimport { HttpClientModule, HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Constants } from 'src/app/Common/constant';\nimport { LoginDetails } from 'src/app/Common/LoginDetail';\nimport { CustomerService } from 'src/app/MasterService/customer.service';\nimport { AccountMasterService } from '../../MasterService/account-master.service';\nimport { AccountMaster } from 'src/app/MasterService/AccountMaster';\nimport { AccountLinkMasterService } from 'src/app/MasterService/account-link-master.service';\nimport { RoleAccessService } from 'src/app/MasterService/role-access.service';\nimport { RoleAccess } from 'src/app/MasterService/RoleAccess';\nimport { NgxSpinnerService } from 'ngx-spinner';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { AccountLinkMaster, AccoutnLinkClass } from 'src/app/MasterService/AccountLinkMaster';\nimport { WindowScrollingService } from 'src/app/MasterService/window-scrolling.service';\nimport { NgForm } from '@angular/forms';\nimport { SchemeAccountLinkService } from 'src/app/MasterService/scheme-account-link.service';\nimport { TokenService } from 'src/app/MasterService/token.service';\nimport { EncryptdecryptService } from 'src/app/MasterService/encryptdecrypt.service';\n\ndeclare const Save: any;\ndeclare const ready: any;\ndeclare const GetAccounlinkMaster: any;\ndeclare const getAllProperties: any;\ndeclare const getAllPropertiesEdited:any;\ndeclare const getAllPropertiesOnSweepMode:any;\ndeclare const resetTree: any;\ndeclare const HideShowAccountsfromLeftPanel: any;\ndeclare var apiUrl: string;\ndeclare var viewModeAccess: string;\ndeclare const openNav: any;\ndeclare const closeNav: any;\ndeclare const GetAccounlinkMasterAfterSweep: any;\ndeclare const SaveAccountProperties: any;\ndeclare var IsCheckerRole: any;\ndeclare var AccountLinkStatus: any; declare var flowy: any;\ndeclare var IsCheckerCreate: any;\ndeclare var sweepMethodSelectedSiteConfig;\ndeclare var dbStructType: any;\ndeclare var sweepmethodList: any;\n\n@Component({\n selector: 'app-accountlink',\n templateUrl: './accountlink.component.html',\n styleUrls: ['./accountlink.component.css'],\n encapsulation: ViewEncapsulation.None\n})\n\nexport class AccountlinkComponent implements OnInit, AfterViewInit {\n allCustList: any = [];\n\n constructor(private httpService: HttpClient, private router: Router, public _customerService: CustomerService,\n public _AccountService: AccountMasterService, public _accountLinkMaster: AccountLinkMasterService,\n public _roleAccess: RoleAccessService, private _spinner: NgxSpinnerService, public _schemeLinkService: SchemeAccountLinkService,\n public _token: TokenService, public _encrypt: EncryptdecryptService) {\n // document.addEventListener(\"DOMContentLoaded\", function () {\n // ready();\n // });\n }\n\n readonly TTUMCopyUrl = Constants.TTUMUrl;\n ttumFile: any;\n disabledTTUMFile: boolean;\n TTUMnewUrl: any;\n TTUMfnName: any;\n newMsg: any;\n sweepmethodList: any = [];\n\n ngAfterViewInit(): void {\n ready();\n }\n showUpdatedDiv: boolean = false;\n showCreatedDiv: boolean = false;\n\n\n RoleAccess: RoleAccess;\n\n //for alert on Sweep button\n showModal: boolean;\n showSweepModal: boolean;\n showReverseSweepModal: boolean;\n showModalClearTree: boolean;\n showModalResetTree: boolean;\n showError: boolean;\n resetTreeLbl: string;\n lbltitle: string;\n //------------------------------\n lblMessage: string;\n divCommenthideshow: boolean = false;\n showSweepAndReversSweepButton: boolean = false;\n //--------------------------------\n AccountLinkClassObj: AccoutnLinkClass;\n\n Accounts: AccountMaster[];\n FilteredAccountList: AccountMaster[];\n CustomerId: number = null;\n AccounLinkName: string;\n Status: string = \"1\";\n Comments: string;\n AccountType: string = null;\n\n custpkId: string;\n acLinkId: string;\n // accType: string;\n IsEdit: boolean = false;\n viewMode: string;\n IsViewMode: boolean = false;\n CommentView: boolean = false;\n IsSendForApproval: boolean = false;\n IsSweepMode: boolean = false;\n AllStructorTypes: any = [];\n isSavePropertyButtonShow: boolean = true;\n // SaveButtonTittle: string = \"Submit\";\n\n //Account Type List------------------------\n AccountTypeList: any[] = [];\n FilteredAccountTypeList: any[] = [];\n\n // acLinkdetailsList: any[] = [];\n //----------------------------------------\n\n LoginUserId: string;\n lblerror1: string;\n lblerror2: string;\n IsCustomerInactive: boolean = false;\n aclinkname: boolean = false;\n IsCreatedByOtherChecker: boolean = false;\n buttonValue: string = \"Save Draft\";\n IsSweepReqByLoginUser: boolean = false;\n\n // sweep balance approval\n IsSweepBalanceApproved: boolean = false;\n SweepBalanceVerify: boolean = false;\n\n // reverse balance approval\n IsReverseBalanceApproved: boolean = false;\n ReverseBalanceVerify: boolean = false;\n DeleteVerify: boolean = false;\n // sweep balance approval\n // IsSweepBalanceApproved: boolean = false;\n // SweepBalanceVerify: boolean = false;\n OldAccLinkName: string = \"\";\n\n // reverse balance approval\n // IsReverseBalanceApproved: boolean = false;\n // ReverseBalanceVerify: boolean = false;\n\n BackPage: string;\n BackPageValue: string = \"\";\n IsAuthorize:boolean=false;\n\n ngOnInit(): void {\n // apiUrl = Constants.apiURL;\n if (localStorage.getItem('LoginUserId') == null) {\n this.router.navigate([\"\"]);\n return;\n }\n this._spinner.show();\n this.onTop();\n\n this.BackPageValue = localStorage.getItem(\"BackPage\");\n localStorage.setItem(\"BackPage\", \"\");\n debugger;\n\n this.viewMode = localStorage.getItem('ViewMode');\n if (this.viewMode == 'view') {\n this.IsViewMode = true;\n this.CommentView = true;\n viewModeAccess = this.viewMode;\n this.lbltitle = \"View\";\n }\n else if (this.viewMode == 'edit') {\n this.IsViewMode = false;\n viewModeAccess = 'edit';\n this.lbltitle = \"Edit\";\n }\n else if (this.viewMode == 'sweep') {\n this.IsSweepMode = true;\n viewModeAccess = 'view';\n this.lbltitle = \"Sweep\";\n }\n else if (this.viewMode == 'authorize') { \n this.IsAuthorize = true; \n this.IsViewMode = false;\n viewModeAccess = 'edit';\n this.lbltitle = \"Edit\";\n }\n else {\n this.lbltitle = \"Add\";\n }\n this.acLinkId = localStorage.getItem('AcLinkId');\n this.custpkId = localStorage.getItem('CustomerId');\n // this.accType = localStorage.getItem('AccountType');\n this.LoginUserId = localStorage.getItem('LoginUserId');\n if (this.acLinkId != \"\" && this.acLinkId != null) {\n this.IsEdit = true;\n this._accountLinkMaster.EditedformData = new AccountLinkMaster();\n this._accountLinkMaster.EditedformData.CustomerId = parseInt(this.custpkId);\n }\n else {\n this._accountLinkMaster.EditedformData = {\n AclinkId: 0,\n CustomerId: null,\n OutputJson: '',\n status: '1',\n AccLinkName: '',\n CustomerName: '',\n Comments: '',\n AccountType: null,\n UserId: this.LoginUserId,\n CreatedBy: '',\n CreatedDate: '',\n UpdatedBy: '',\n UpdatedDate: '',\n Oldcomment: '',\n StructorId: 1,\n StructorName: '',\n Priority: null,\n DateCreated: '',\n CustomerStatus: 'Active',\n InactiveCustomer: '',\n IsEditDisabled: false,\n CreatedById: 0,\n UpdatedById: 0,\n SweepExecutionApproval: null,\n AccLinkStatusName: '',\n NewAccLinkName: '',\n IsAcLinkSelected: false,\n IsDisableCheckbox: false,\n SweepApprovalRequestedBy: 0,\n RefAclinkId: 0,\n IsLastApproved: 0,\n sweepStatus:0\n }\n\n this.IsEdit = false;\n // this.SaveButtonTittle = \"Send for Approval\";\n }\n // Getting Privillage Roles based on id\n this.GetPrivillageRoles();\n // Getting Customer List\n this.GetCustomerList();\n // Getting Structor Type\n this.StructorType();\n // this.GetAccountListForAccLinkMaster();\n //this.GetAccountLinkingMasterData();\n\n // To download TTUM\n this.DownloadTTUM();\n // Sweep Method Site Configuration function\n this.fnGetSweepMethodSiteConfiguration();\n\n if (this.BackPageValue == \"\" || this.BackPageValue == null) {\n this.BackPage = \"/AccountLinkList\";\n }\n else {\n this.BackPage = \"/sweepExecution\";\n }\n }\n // Back button function\n backbutton() {\n if (localStorage.getItem(\"BackPage\") == \"\") {\n this.router.navigate([\"/AccountLinkList\"]);\n // this.BackPage = \"/AccountLinkList\";\n }\n else\n this.router.navigate([\"/sweepExecution\"]);\n }\n Is4eyeCustomer: boolean = false;\n // Sweep execution function\n SweepBalance(UserId) {\n this.hideSweep();\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n\n debugger;\n var userid = \"\";\n if (UserId == '0')\n userid = this.LoginUserId;\n else\n userid = UserId;\n this.httpService.get(Constants.apiURL + 'AccountMasterApi/SweepOnAccounts?AclinkId=' + this._encrypt.encryptUsingAES256(this.acLinkId) + '&UserId=' + userid, httpOptions).subscribe(\n data => {\n this.lblMessage = this.newMsg = data.toString();\n this.show();\n\n //seema 22/10/2020 --sweep execution approval 4 eye \n if (this._accountLinkMaster.EditedformData.SweepExecutionApproval == 2)\n this.Is4eyeCustomer = true;\n else\n this.Is4eyeCustomer = false;\n\n this._accountLinkMaster.fnGetAccountLinkMaster(this.acLinkId).subscribe(aclinkObj => {\n this.AccountLinkClassObj = aclinkObj;\n GetAccounlinkMasterAfterSweep(this.AccountLinkClassObj);\n\n //add by Nitin\n debugger;\n this.newMsg = this.newMsg.split(',');\n if (this.newMsg[0] === \"Sweep Execution Successful\" || this.newMsg[0] === \"Partial Sweep Execution Successful\") {\n this.DownloadTTUM();\n }\n\n });\n }\n )\n }\n\n // To save form data into database\n SaveFunction(form: NgForm, IsConfirm, IsSendForApproval) {\n debugger;\n var aclinkName = this._accountLinkMaster.EditedformData.AccLinkName;\n aclinkName = aclinkName.replace(/\\s/g, \"\");\n if (aclinkName == \"\") {\n this._accountLinkMaster.EditedformData.AccLinkName = aclinkName;\n }\n var lbl1 = \"\"; var lbl2 = \"\";\n if (this._accountLinkMaster.EditedformData.CustomerId == 0 || this._accountLinkMaster.EditedformData.AccLinkName == \"\") {\n\n // if(this._accountLinkMaster.formData.CustomerId == 0 || this._accountLinkMaster.formData.CustomerId == null)\n // lbl1 = \"This Customer Name is required\";\n\n // if(this._accountLinkMaster.formData.AccLinkName == \"\" || this._accountLinkMaster.formData.AccLinkName == null)\n // lbl2 = \"This Account Link Name is required\";\n\n // this.lblerror1 = lbl1;\n // this.lblerror2 =lbl2;\n // this.showlblerror();\n\n (Object).values(form.controls).forEach(control => {\n control.markAsTouched();\n });\n\n return false;\n }\n else {\n\n this._accountLinkMaster.EditedformData.UserId = this.LoginUserId;\n if ((this.RoleAccess != undefined && this.RoleAccess.CheckerAccess == false) || (this.RoleAccess.CheckerAccess == true && this._accountLinkMaster.EditedformData.CreatedById == +this._encrypt.decryptUsingAES256(localStorage.getItem(\"LoginUserId\")))) {\n this._accountLinkMaster.EditedformData.status = \"1\";\n }\n\n\n // else if (this.RoleAccess != undefined && this.RoleAccess.CheckerAccess == true && this._accountLinkMaster.formData.status == \"1\") {\n // this._accountLinkMaster.formData.status = \"2\";\n // }\n if (IsSendForApproval) {\n this._accountLinkMaster.EditedformData.status = \"5\";\n }\n Save(this._accountLinkMaster.EditedformData, IsConfirm);\n }\n }\n\n // Reverse Sweep execution function\n ReverseSweepBalance() {\n this.hideRevserSweep();\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n this.httpService.get(Constants.apiURL + 'AccountMasterApi/ReverseSweepOnAccounts?AcLinkId=' + this._encrypt.encryptUsingAES256(this.acLinkId) + '&UserId=' + this.LoginUserId, httpOptions).subscribe(\n data => {\n this.lblMessage = data.toString();\n this.show();\n\n //seema 22/10/2020 --sweep execution approval 4 eye \n if (this._accountLinkMaster.EditedformData.SweepExecutionApproval == 2)\n this.Is4eyeCustomer = true;\n else\n this.Is4eyeCustomer = false;\n\n this._accountLinkMaster.fnGetAccountLinkMaster(this.acLinkId).subscribe(aclinkObj => {\n this.AccountLinkClassObj = aclinkObj;\n GetAccounlinkMasterAfterSweep(this.AccountLinkClassObj);\n });\n }\n )\n }\n\n // Resetting tree while selecting customer\n SelectCustomer() {\n debugger;\n setTimeout(() => {\n resetTree();\n }, 1)\n\n let list = this.allCustList.filter(x => x.CustomerName === this._accountLinkMaster.EditedformData.CustomerName)[0];\n if(list==undefined){ } \n else{\n this._accountLinkMaster.EditedformData.CustomerId = list.CustPkId;\n } \n this._spinner.show();\n if (this._accountLinkMaster.EditedformData.CustomerId > 0) {\n this._AccountService.fnGetAccountListForAccountLink(localStorage.getItem(\"LoginUserId\"), this._accountLinkMaster.EditedformData.CustomerId.toString()).subscribe(response => {\n this.Accounts = response.AccountsList;\n this.AccountTypeList = response.AccountTypeList;\n this.FilteredAccountList = this.Accounts;\n this.FilteredAccountTypeList = this.AccountTypeList;\n\n this._accountLinkMaster.fnGetAccountLinkMasterMaxPriority(this._accountLinkMaster.EditedformData.CustomerId).subscribe(maxPriority => {\n this._accountLinkMaster.EditedformData.Priority = maxPriority;\n });\n\n this._accountLinkMaster.EditedformData.AccountType = null;\n // this.FilteredAccountTypeList = this.AccountTypeList.filter(row => { return row.CustomerId == this._accountLinkMaster.formData.CustomerId; });\n // this.FilteredAccountList = this.Accounts.filter(row => { return row.CustomerId == this._accountLinkMaster.formData.CustomerId; });\n\n // //seema 04/01/2021 19:29 PM\n // this._AccountService.fnGetAccountListForAccountLink(localStorage.getItem(\"LoginUserId\"), this._accountLinkMaster.EditedformData.CustomerId.toString()).subscribe(response => {\n // this.Accounts = response.AccountsList;\n // this.AccountTypeList = response.AccountTypeList;\n // this.FilteredAccountList = this.Accounts;\n // this.FilteredAccountTypeList = this.AccountTypeList;\n // setTimeout(() => {\n // HideShowAccountsfromLeftPanel(this.FilteredAccountList, this._accountLinkMaster.EditedformData.AccountType, \"\", this.LoginUserId);\n // }, 100);\n // });\n\n setTimeout(() => {\n HideShowAccountsfromLeftPanel(this.FilteredAccountList, this._accountLinkMaster.EditedformData.AccountType, \"\", this.LoginUserId);\n }, 100);\n\n getAllProperties(this._accountLinkMaster.EditedformData.CustomerId);\n getAllPropertiesEdited(this._accountLinkMaster.EditedformData.CustomerId);\n openNav();\n this._spinner.hide();\n });\n }\n else {\n this.FilteredAccountList = [];\n this.AccountTypeList = [];\n closeNav();\n }\n this.fnDuplicateAccountLinkName();\n }\n\n // Account Type function\n SelectAccountType() {\n if (this._accountLinkMaster.EditedformData.CustomerId > 0) {\n this.FilteredAccountList = this.Accounts.filter(row => { return row.CustomerId == this._accountLinkMaster.EditedformData.CustomerId; });\n setTimeout(() => {\n HideShowAccountsfromLeftPanel(this.FilteredAccountList, this._accountLinkMaster.EditedformData.AccountType, \"\", this.LoginUserId);\n }, 10);\n openNav();\n }\n\n }\n\n // Getting customer list\n GetCustomerList() {\n this._customerService.fnGetCustomerDataForAClink(localStorage.getItem(\"LoginUserId\")).subscribe(customerList => {\n if (!this.IsEdit) {\n //this.allCustList = customerList;\n customerList.forEach(element => {\n if (element[\"Status\"] == \"Active\") {\n this.allCustList.push(element);\n }\n });\n }\n else {\n customerList.forEach(element => {\n if (element[\"Status\"] == \"Active\") {\n this.allCustList.push(element);\n }\n });\n }\n });\n }\n\n // Resetting tree function\n resetToOrginal() {\n this.hideResetTree();\n resetTree();\n this._accountLinkMaster.fnResetTree(this.acLinkId).subscribe(aclinkObj => {\n aclinkObj.AccLink.UserId = localStorage.getItem(\"LoginUserId\");\n GetAccounlinkMaster(aclinkObj);\n Save(aclinkObj.AccLink, 'true');\n //this.GetAccountLinkingMasterData();\n });\n\n }\n\n // Getting Account Linking Master Data\n GetAccountLinkingMasterData() {\n //seema 04/01/2021 19:29 PM\n if (this.custpkId != null && this.custpkId != \"\" && this.custpkId != undefined) {\n this._AccountService.fnGetAccountListForAccountLink(localStorage.getItem(\"LoginUserId\"), this.custpkId).subscribe(response => {\n debugger;\n this.Accounts = response.AccountsList;\n this.AccountTypeList = response.AccountTypeList;\n //this.GetAccountTypeList(this.Accounts);\n if (this.IsEdit) {\n this.FilteredAccountList = this.Accounts.filter(row => { return (row.CustomerId == parseInt(this.custpkId)); });\n if (this.FilteredAccountList[0].CustomerStatus == \"0\") {\n this.IsCustomerInactive = true;\n }\n this.FilteredAccountTypeList = this.AccountTypeList.filter(row => { return row.CustomerId == parseInt(this.custpkId); });\n this._accountLinkMaster.fnGetAccountLinkMaster(this.acLinkId).subscribe(aclinkObj => {\n this._accountLinkMaster.formData = aclinkObj.AccLink;\n let list = this.allCustList.filter(x => x.CustPkId === this._accountLinkMaster.formData.CustomerId)[0];\n if(list==undefined){ } \n else{\n this._accountLinkMaster.formData.CustomerName = list.CustomerName;\n } \n debugger;\n this._accountLinkMaster.fnGetAccountLinkMasterEdited(this.acLinkId).subscribe(aclinkMasterObj => {\n if (this.IsSweepMode == true){\n this.AccountLinkClassObj = aclinkObj;\n this._accountLinkMaster.EditedformData = aclinkObj.AccLink; \n }\n else{\n this.AccountLinkClassObj = aclinkMasterObj;\n this._accountLinkMaster.EditedformData = aclinkMasterObj.AccLink;\n }\n let list1 = this.allCustList.filter(x => x.CustPkId === this._accountLinkMaster.EditedformData.CustomerId)[0];\n if(list1==undefined){ } \n else{\n this._accountLinkMaster.EditedformData.CustomerName = list1.CustomerName;\n } \n debugger;\n AccountLinkStatus = this._accountLinkMaster.EditedformData.status;\n this.isSavePropertyButtonShow = this._accountLinkMaster.EditedformData.status != '5';\n dbStructType = this._accountLinkMaster.EditedformData.StructorId;\n if (this._accountLinkMaster.EditedformData.status === '2') {\n this.showSweepAndReversSweepButton = true;\n }\n // if (this._accountLinkMaster.formData.status === '5') {\n // this.OldAccLinkName = this._accountLinkMaster.formData.AccLinkName;\n // this._accountLinkMaster.formData.AccLinkName = this._accountLinkMaster.formData.NewAccLinkName;\n // }\n\n if (this.RoleAccess.CheckerAccess == true && (this._accountLinkMaster.EditedformData.CreatedById != +this._encrypt.decryptUsingAES256(localStorage.getItem(\"LoginUserId\")))) {\n this.IsCreatedByOtherChecker = true;\n this.buttonValue = \"Verify\";\n IsCheckerCreate = true;\n }\n else {\n this.IsCreatedByOtherChecker = false;\n this.buttonValue = \"Save Draft\";\n IsCheckerCreate = false;\n }\n\n if (this._accountLinkMaster.EditedformData.SweepApprovalRequestedBy == +this._encrypt.decryptUsingAES256(localStorage.getItem(\"LoginUserId\"))) {\n this.IsSweepReqByLoginUser = true;\n }\n else {\n this.IsSweepReqByLoginUser = false;\n }\n // if (this._accountLinkMaster.formData.status === '1' || this._accountLinkMaster.formData.status === '3' || this._accountLinkMaster.formData.status === '5') {\n // this.divCommenthideshow = true;\n // }\n\n debugger;\n if (this.IsSweepMode && this._accountLinkMaster.EditedformData.sweepStatus == 7 && this.RoleAccess.CheckerAccess) {\n this.SweepBalanceVerify = true;\n this._accountLinkMaster.EditedformData.status = null;\n }\n\n if (this.IsSweepMode && this._accountLinkMaster.EditedformData.sweepStatus == 8 && this.RoleAccess.CheckerAccess) {\n this.ReverseBalanceVerify = true;\n this._accountLinkMaster.EditedformData.status = null;\n }\n\n if (this._accountLinkMaster.EditedformData.status == \"13\" && this.RoleAccess.CheckerAccess) {\n this.DeleteVerify = true;\n this._accountLinkMaster.EditedformData.status = null;\n }\n\n if (this._accountLinkMaster.EditedformData.status === '1' || this._accountLinkMaster.EditedformData.status === '2' || this._accountLinkMaster.EditedformData.status === '3' || this._accountLinkMaster.EditedformData.status === '5') {\n this.divCommenthideshow = true;\n this.CommentView = false;\n }\n if (this._accountLinkMaster.EditedformData.status == '5' && this.RoleAccess.CheckerAccess) {\n this._accountLinkMaster.EditedformData.status = null;\n this.CommentView = true;\n this.IsSendForApproval = true;\n }\n\n if (this.IsSweepMode == true && (this._accountLinkMaster.EditedformData.SweepExecutionApproval == 1 || this._accountLinkMaster.EditedformData.status == \"9\"))\n this.IsSweepBalanceApproved = true;\n\n\n\n if (this.IsSweepMode == true && (this._accountLinkMaster.EditedformData.SweepExecutionApproval == 1 || this._accountLinkMaster.EditedformData.status == \"10\"))\n this.IsReverseBalanceApproved = true;\n\n\n if(this.IsSweepMode == true){\n getAllPropertiesOnSweepMode(this.AccountLinkClassObj.AccLink.CustomerId);\n }\n else{\n getAllProperties(this.AccountLinkClassObj.AccLink.CustomerId);\n getAllPropertiesEdited(this.AccountLinkClassObj.AccLink.CustomerId);\n }\n \n //Rubina added\n if (this._accountLinkMaster.EditedformData.CreatedBy != null) {\n this.showCreatedDiv = true\n }\n if (this._accountLinkMaster.EditedformData.UpdatedBy != \" \" && this._accountLinkMaster.EditedformData.UpdatedBy != null) {\n this.showUpdatedDiv = true\n }\n //added\n // this.acLinkdetailsList = this.AccountLinkClassObj.AccLinkDetails;\n setTimeout(() => {\n HideShowAccountsfromLeftPanel(this.FilteredAccountList, null, this.AccountLinkClassObj.AccLink.AccLinkName, this.LoginUserId,\n this.AccountLinkClassObj.AccLink.StructorId, this.AccountLinkClassObj.AccLink.Priority);\n this.AccountLinkClassObj.AccLink[\"IsAuthorize\"] = this.IsAuthorize;\n GetAccounlinkMaster(this.AccountLinkClassObj);\n this._spinner.hide();\n }, 500);\n })\n })\n }\n });\n }\n else {\n this._spinner.hide();\n }\n }\n\n // Scroll function\n onTop() {\n window.scroll({\n top: 0,\n left: 0,\n behavior: 'smooth'\n });\n\n }\n\n\n // Getting Privillage Roles function\n GetPrivillageRoles() {\n this._roleAccess.fnGetRoleAccess(localStorage.getItem('LoginUserId'), '/AccountLinkList').subscribe(roleAccess => {\n this.RoleAccess = roleAccess[0];\n IsCheckerRole = this.RoleAccess.CheckerAccess\n this.GetAccountLinkingMasterData();\n })\n }\n\n\n\n show() {\n this.showModal = true;\n $(document).ready(function () {\n $('#IDshowModal').eq(0).focus();\n });\n }\n hide() { this.showModal = false; }\n\n showSweep() {\n this.showSweepModal = true;\n $(document).ready(function () {\n $('#IDshowSweepModal').eq(0).focus();\n });\n }\n hideSweep() { this.showSweepModal = false; }\n\n showReverseSweep() {\n this.showReverseSweepModal = true;\n $(document).ready(function () {\n $('#IDshowReverseSweepModal').eq(0).focus();\n });\n }\n hideRevserSweep() { this.showReverseSweepModal = false; }\n\n // showClearTree function\n showClearTree() {\n var data = flowy.output();\n if (data != undefined) {\n this.showModalClearTree = true;\n $(document).ready(function () {\n $('#IDshowModalClearTree').eq(0).focus();\n });\n }\n else {\n this.showModal = true;\n this.lblMessage = \"No tree available to clear\";\n }\n }\n hideClearTree() { this.showModalClearTree = false; }\n\n showlblerror() {\n this.showError = true;\n $(document).ready(function () {\n $('#IDshowError').eq(0).focus();\n });\n }\n hidelblerror() { this.showError = false; }\n\n // showResetTree function\n showResetTree() {\n this._accountLinkMaster.fnResetTreelable(this.acLinkId).subscribe(msg => {\n this.resetTreeLbl = msg;\n this.showModalResetTree = true;\n $(document).ready(function () {\n $('#IDshowModalResetTree').eq(0).focus();\n });\n });\n\n }\n hideResetTree() { this.showModalResetTree = false; }\n\n // Getting AccountTypeList function\n GetAccountTypeList(accountsList: AccountMaster[]) {\n\n accountsList.forEach(element => {\n var accountTypeObj = { AccountTypeName: \"\", AccountTypeValue: \"\", CustomerId: 0 };\n\n var accTypeValue = this.AccountTypeList.filter(row => { return row.AccountTypeValue == element.AccountType && row.CustomerId == element.CustomerId; })[0];\n //var accCustomerId = this.AccountTypeList.filter(row => { return row.customerId == element.CustomerId; })[0];\n\n if (accTypeValue == null || accTypeValue == undefined) {\n if (element.AccountType == \"SavingAccount\") {\n accountTypeObj.AccountTypeName = \"Saving Account\";\n accountTypeObj.AccountTypeValue = element.AccountType;\n accountTypeObj.CustomerId = element.CustomerId;\n }\n if (element.AccountType == \"CurrentAccount\") {\n accountTypeObj.AccountTypeName = \"Current Account\";\n accountTypeObj.AccountTypeValue = element.AccountType;\n accountTypeObj.CustomerId = element.CustomerId;\n }\n if (element.AccountType == \"LoanAccount\") {\n accountTypeObj.AccountTypeName = \"Loan Account\";\n accountTypeObj.AccountTypeValue = element.AccountType;\n accountTypeObj.CustomerId = element.CustomerId;\n }\n if (element.AccountType == \"EscrowAccount\") {\n accountTypeObj.AccountTypeName = \"Escrow Account\";\n accountTypeObj.AccountTypeValue = element.AccountType;\n accountTypeObj.CustomerId = element.CustomerId;\n }\n if (element.AccountType == \"CorrespondentAccount\") {\n accountTypeObj.AccountTypeName = \"Correspondent Account\";\n accountTypeObj.AccountTypeValue = element.AccountType;\n accountTypeObj.CustomerId = element.CustomerId;\n }\n if (element.AccountType == \"VirtualAccount\") {\n accountTypeObj.AccountTypeName = \"Virtual Account\";\n accountTypeObj.AccountTypeValue = element.AccountType;\n accountTypeObj.CustomerId = element.CustomerId;\n }\n\n this.AccountTypeList.push(accountTypeObj);\n }\n });\n\n this.FilteredAccountTypeList = [];\n\n }\n\n // ClearTreeStructure function\n ClearTreeStructure() {\n this.hideClearTree();\n resetTree();\n }\n\n Commenthideshow() {\n this.CommentView = false;\n }\n\n // StructorType function\n StructorType() {\n this._schemeLinkService.fnGetStructorType().subscribe(data => {\n this.AllStructorTypes = data;\n });\n }\n\n // adding Account Properties\n AddAccountProperties() {\n debugger;\n //form added by Nitin 25-08-2020 because priority is set 0 by default\n var value = document.getElementById(\"FixedSweepAmount\")[\"value\"];\n if (this._accountLinkMaster.formData.StructorId == 3 && parseInt(value) < this.MinsweepAmountValue) {\n this.IsMinSweepAmountValue = false;\n return false;\n }\n else {\n this._accountLinkMaster.formData.UserId = this.LoginUserId;\n this._accountLinkMaster.formData.StructorId = this._accountLinkMaster.EditedformData.StructorId;\n this._accountLinkMaster.formData.Priority = this._accountLinkMaster.EditedformData.Priority;\n this._accountLinkMaster.formData.AccLinkName = this._accountLinkMaster.EditedformData.AccLinkName;\n SaveAccountProperties(this._accountLinkMaster.formData);\n }\n }\n\n // download TTUM function\n DownloadTTUM() {\n debugger;\n this._accountLinkMaster.fndownloadTTUM(localStorage.getItem('LoginUserId')).subscribe(data => {\n if (data != \"1\") {\n this.ttumFile = data;\n this.disabledTTUMFile = true;\n this.TTUMnewUrl = this.TTUMCopyUrl.toString().split('/api/');\n this.TTUMnewUrl = this.TTUMnewUrl[0];\n this.TTUMfnName = 'api/AccountMasterApi/FnDownloadTTUMTextFile';\n }\n else {\n this.disabledTTUMFile = false;\n }\n });\n }\n\n // download TTUM as text file\n DownloadTTUMTextFie() {\n debugger;\n location.href = $('#ttumtextFile').attr('href');\n }\n\n // Account link validation\n fnDuplicateAccountLinkName() {\n debugger;\n this._accountLinkMaster.fnAccountLinkNameduplicate(this._accountLinkMaster.EditedformData.AccLinkName, this._accountLinkMaster.EditedformData.AclinkId, this._accountLinkMaster.EditedformData.CustomerId).subscribe(data => {\n if (data != 0) {\n this.aclinkname = true;\n }\n else {\n this.aclinkname = false;\n }\n });\n }\n\n // Sweep Method Site Configuration function\n fnGetSweepMethodSiteConfiguration() {\n this._accountLinkMaster.fnGetSweepMethodSiteConfiguration().subscribe(data => {\n debugger;\n this.sweepmethodList = data[0].sweepName;\n sweepmethodList = this.sweepmethodList;\n });\n }\n\n // Send for Approval Function \n SendforApprovalFunction(form: NgForm, IsConfirm, status) {\n\n if (this._accountLinkMaster.formData.status == null || this._accountLinkMaster.formData.status == \"\") {\n (Object).values(form.controls).forEach(control => {\n control.markAsTouched();\n });\n return false;\n }\n else {\n debugger;\n this._accountLinkMaster.formData.UserId = this.LoginUserId;\n if (status.toString() != '0')\n this._accountLinkMaster.formData.status = status.toString();\n Save(this._accountLinkMaster.formData, IsConfirm);\n\n if (this._accountLinkMaster.formData.status == \"9\") {\n this.SweepBalance(this._encrypt.encryptUsingAES256(this._accountLinkMaster.formData.CreatedById.toString()));\n }\n if (this._accountLinkMaster.formData.status == \"10\") {\n this.ReverseSweepBalance();\n }\n }\n }\n\n // Structor Type function\n SelectStructorType(StuctorId) {\n if (StuctorId == 3) {\n if (this._accountLinkMaster.formData.CustomerId > 0) {\n this.FilteredAccountList = this.Accounts.filter(row => { return (row.CustomerId == this._accountLinkMaster.formData.CustomerId && row.IsRTGSEnable == 1) });\n }\n }\n else {\n if (this._accountLinkMaster.formData.CustomerId > 0) {\n this.FilteredAccountList = this.Accounts.filter(row => { return (row.CustomerId == this._accountLinkMaster.formData.CustomerId) });\n }\n }\n }\n\n\n MinsweepAmountValue: number = 200000;\n IsMinSweepAmountValue: boolean;\n // Fixed Amount function\n FixedAmount() {\n var value = document.getElementById(\"FixedSweepAmount\")[\"value\"];\n if (parseInt(value) >= this.MinsweepAmountValue) {\n this.IsMinSweepAmountValue = true;\n }\n else\n this.IsMinSweepAmountValue = false;\n }\n\n // Trigger Point function\n changeTriggerPoint() {\n debugger;\n var triggerPoint = document.getElementById(\"triggerPoint\")[\"value\"];\n var sweepDirection = document.getElementById(\"sweepDirection\")[\"value\"];\n if (triggerPoint == \"MOD\") {\n document.getElementById(\"frequencyDiv\").style.display = \"none\";\n if (sweepDirection == \"Two-way Sweep\") {\n (document.getElementById(\"ReversSweepYes\") as any).disabled = false;\n (document.getElementById(\"ReversSweepNo\") as any).disabled = false;\n (document.getElementById(\"ReversSweepYes\") as any).checked = true;\n (document.getElementById(\"ReversSweepNo\") as any).checked = false;\n }\n else {\n (document.getElementById(\"ReversSweepYes\") as any).disabled = true;\n (document.getElementById(\"ReversSweepNo\") as any).disabled = true;\n (document.getElementById(\"ReversSweepYes\") as any).checked = false;\n (document.getElementById(\"ReversSweepNo\") as any).checked = true;\n }\n }\n else if (triggerPoint == \"BOD\") {\n document.getElementById(\"frequencyDiv\").style.display = \"block\";\n (document.getElementById(\"frequency\") as any).disabled = true;\n document.getElementById(\"frequency\")[\"value\"] = \"Daily\";\n (document.getElementById(\"ReversSweepYes\") as any).disabled = true;\n (document.getElementById(\"ReversSweepNo\") as any).disabled = true;\n (document.getElementById(\"ReversSweepYes\") as any).checked = false;\n (document.getElementById(\"ReversSweepNo\") as any).checked = true;\n }\n else if (triggerPoint == \"EOD\") {\n document.getElementById(\"frequencyDiv\").style.display = \"block\";\n document.getElementById(\"frequency\")[\"value\"] = \"Daily\";\n (document.getElementById(\"frequency\") as any).disabled = false;\n if (sweepDirection == \"Two-way Sweep\") {\n (document.getElementById(\"ReversSweepYes\") as any).disabled = false;\n (document.getElementById(\"ReversSweepNo\") as any).disabled = false;\n (document.getElementById(\"ReversSweepYes\") as any).checked = true;\n (document.getElementById(\"ReversSweepNo\") as any).checked = false;\n }\n else {\n (document.getElementById(\"ReversSweepYes\") as any).disabled = true;\n (document.getElementById(\"ReversSweepNo\") as any).disabled = true;\n (document.getElementById(\"ReversSweepYes\") as any).checked = false;\n (document.getElementById(\"ReversSweepNo\") as any).checked = true;\n }\n }\n }\n\n // change Sweep Direction function\n changeSweepDirection() {\n var sweepDirection = document.getElementById(\"sweepDirection\")[\"value\"];\n if (sweepDirection == \"Two-way Sweep\") {\n (document.getElementById(\"ReversSweepYes\") as any).disabled = false;\n (document.getElementById(\"ReversSweepNo\") as any).disabled = false;\n (document.getElementById(\"ReversSweepYes\") as any).checked = true;\n (document.getElementById(\"ReversSweepNo\") as any).checked = false;\n }\n else {\n (document.getElementById(\"ReversSweepYes\") as any).disabled = true;\n (document.getElementById(\"ReversSweepNo\") as any).disabled = true;\n (document.getElementById(\"ReversSweepYes\") as any).checked = false;\n (document.getElementById(\"ReversSweepNo\") as any).checked = true;\n }\n this.changeTriggerPoint();\n }\n\n}\n","\n
\n
\n
\n
\n \n \n
\n
\n

{{lbltitle}} Account Link

\n
\n \n
\n
\n
\n
\n \n \n \n \n
\n Customer Name is required\n
\n\n \n \n
\n
\n \n \n
\n
\n \n \n
This\n Structure Type is required
\n
\n
\n
\n \n \n \n
\n \n \n
\n
\n This Account Link Name is required \n
\n
\n Account Link Name already exists, Please enter new account link name\n
\n
\n
\n
\n \n = 48 && event.charCode <= 57\" [(ngModel)]=\"_accountLinkMaster.EditedformData.Priority\" class=\"form-control\" Placeholder=\"Priority\" maxlength=\"5\" \n title=\"Enter Priority\" \n [ngClass]=\"{'is-invalid': (form.submitted && Priority.invalid) || (Priority.invalid && Priority.touched)}\"\n required>\n
This\n Priority is required
\n
\n
\n\n \n
\n
\n \n \n \n \n \n
\n Please select Accept or Reject.\n
\n
\n \n\n
\n \n \n \n \n
\n Please select Accept or Reject.\n
\n
\n\n
\n \n \n \n \n
\n Please select Accept or Reject.\n
\n
\n\n
\n \n \n \n \n
\n Please select Accept or Reject.\n
\n
\n\n \n
\n \n \n\n \n \n\n
\n
\n \n \n\n \n\n \n
\n
\n \n\n \n
\n\n \n \n
\n \n \n\n \n \n \n \n \n \n \n \n
\n
\n \n
\n \n
\n\n
\n
\n
\n
\n\n
\n \n \n \n \n \n
\n
\n
\n
\n \n \n \n
\n
\n

\n A/C Name - {{account.CustomerName}}
\n A/C No - {{account.AccountNumber}}
\n Bank Name - {{account.BankName}}\n \n

\n

\n Balance - Rs ({{account.CurrentBalance}})\n

\n

\n Balance - Rs {{account.CurrentBalance}}\n

\n

\n
\n
\n \n \n \n
\n
\n
\n
\n\n
\n\n\n\n
\n \n \n
\n
\n
\n \n
\n
    \n
  • \n \n \n \n \n
  • \n
\n
\n
\n \n
\n\n
\n
\n Created By {{_accountLinkMaster.EditedformData.CreatedBy}} on\n {{_accountLinkMaster.EditedformData.CreatedDate}}\n
\n
\n Updated By {{_accountLinkMaster.EditedformData.UpdatedBy}} on\n {{_accountLinkMaster.EditedformData.UpdatedDate}}\n
\n \n
\n \n \n
\n \n
\n
\n\n
\n ×\n
\n \n\n \n \n

Properties

\n \n \n \n \n \n
\n
\n \n \n \n
\n
\n \n \n\n \n\n
\n
\n Minimum fixed sweep amount should be 200000.\n
\n
\n \n
\n
\n \n \n \n
\n
\n \n \n \n
\n
\n \n
\n
\n \n \n \n
\n
\n \n \n \n \n \n
\n
\n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n
\n
\n
\n
\n \n \n \n
\n
\n \n \n
\n
\n   \n Yes\n No\n \n
\n
\n
\n
\n \n \n \n
\n
\n\n
\n
\n \n \n \n
\n
\n \n
\n
\n
\n\n
\n
\n
\n
\n

Confirmation

\n \n
\n
\n \n
\n
\n \n \n
\n
\n
\n
\n\n
\n
\n
\n
\n

Confirmation

\n \n
\n
\n {{lblMessage}}\n
\n
\n \n \n
\n
\n
\n
\n\n\n
\n
\n
\n
\n

Confirmation

\n \n
\n
\n

Are you sure you want Sweep Balance.

\n
\n
\n \n \n
\n
\n
\n
\n\n
\n
\n
\n
\n

Confirmation

\n \n
\n
\n

Are you sure you want to Reverse Sweep.

\n
\n
\n \n \n
\n
\n
\n
\n\n
\n
\n
\n
\n

Confirmation

\n \n
\n
\n

Are you sure you want to clear entire tree?

\n
\n
\n \n \n
\n
\n
\n
\n\n
\n
\n
\n
\n

Confirmation

\n \n
\n
\n

{{resetTreeLbl}}

\n
\n
\n \n \n
\n
\n
\n
\n\n
\n
\n
\n
\n

Error

\n \n
\n
\n
\n \n
\n
\n \n \n
\n
\n
\n
\n\n\n\n\n","import { Component, OnInit,Inject } from '@angular/core';\nimport { FormGroup, FormControl, NgForm } from '@angular/forms';\nimport { AccountMasterService } from '../../MasterService/account-master.service';\nimport { CustomerService } from '../../MasterService/customer.service';\nimport { EditedAccontMaster, AccountCreatedUpdated } from '../../MasterService/AccountMaster';\nimport {RoleAccessService}from '../../MasterService/role-access.service';\nimport{RoleAccess}from'src/app/MasterService/RoleAccess';\nimport { Router } from '@angular/router';\nimport {ActivatedRoute} from \"@angular/router\";\nimport { AccountMaster } from 'src/app/MasterService/AccountMaster';\nimport { DOCUMENT } from '@angular/common';\nimport { NgxSpinnerService } from \"ngx-spinner\";\nimport { element } from 'protractor';\nimport { UserService } from '../../MasterService/user.service';\nimport { debug } from 'console';\nimport * as CryptoJS from 'crypto-js';\n\n\n@Component({\n selector: 'app-add-account',\n templateUrl: './add-account.component.html',\n styleUrls: ['./add-account.component.css']\n})\n\n\nexport class AddAccountComponent implements OnInit {\n\n //#region \n disableButton: boolean;\n disableClear:boolean;\n disableStatus:boolean;\n showMsg:boolean;\n showerrormsg:boolean;\n ViewPrivllage:boolean;\n lblMessage:string; \n allCustList:any=[];\n allBranchList:any=[];\n viewMode:string;\n CheckerPrivillage:boolean;\n IsPendingStatus:string;\n pendingStatus:boolean;\n deletePending:boolean;\n editedAccountInfo:any=[];\n editemail:string;\n showApprovalInfo:string;\n data:string;\n data2:string;\n IsAccountNumberExist:number;\n lblTitle:string;\n btnTitle:string;\n buttonvalue:string;\n accountNumlength:number=20;\n\n AccountCreatedUpdated1:AccountCreatedUpdated[];\n createdBy:number;\n createdDate:string;\n userNameCreated:string;\n usernameUpdte:string;\n updtedDate:string;\n showCreatedDiv:boolean=false;\n showUpdatedDiv:boolean=false;\n IsViewMode:boolean;\n validStatus: boolean=true;\n loginUser_UserType: string;\n loginUser_UserTypeBranchId:string;\n branchselectblock:boolean;\n UserId:number;\n IsCustomerInActive:boolean=false;\n hiddenCurrentBalance:boolean = true;\n AccountExistInAclink :boolean = false;\n AccountLinkNameList : string = \"\";\n CurrentBalanceValue : string = \"0\";\n decryptUserID:number;\n isValueChange:boolean=false; \n AccNameContainsOnlySpace:boolean = false;\n //#endregion\n\n constructor(public _AccountService: AccountMasterService,private _roleAccess:RoleAccessService,private _spinner:NgxSpinnerService,\n private router: Router,private _routeWithQuerystring:ActivatedRoute,public _customerService:CustomerService,public _userService: UserService,\n @Inject(DOCUMENT) private document: Document) { }\n editedAcountId:number;\n\n // Declare this key and iv values in declaration\n private key = CryptoJS.enc.Utf8.parse('MAKV2SPBNI992121');\n private iv = CryptoJS.enc.Utf8.parse('MAKV2SPBNI992121');\n\n //decrypt function\n decryptUsingAES256(decString) {\n var decrypted = CryptoJS.AES.decrypt(decString, this.key, {\n keySize: 128 / 8,\n iv: this.iv,\n mode: CryptoJS.mode.CBC,\n padding: CryptoJS.pad.Pkcs7\n }); \n return decrypted.toString(CryptoJS.enc.Utf8);\n }\n\n ngOnInit(){ \n if(localStorage.getItem('LoginUserId')==null){\n this.router.navigate([\"\"]);\n return;\n }\n \n this.UserId = +this.decryptUsingAES256(localStorage.getItem('LoginUserId'));\n this._spinner.show();\n this._AccountService.formData;\n this.editedAccountInfo;\n this.editedAcountId = +localStorage.getItem('accountDataId');//this._AccountService.formData.AccountId;\n this._routeWithQuerystring.queryParams.subscribe(params => { \n this.viewMode = params[\"viewMode\"];\n }); \n if(this.viewMode == 'view'){\n this.disableButton=true; \n this.disableClear=true; \n } \n // else if(this.viewMode == 'edit' ){ \n // }\n this.onTop(); \n \n if(this.editedAcountId > 0) {\n if(this.viewMode == 'view'){\n this.lblTitle=\"View Account Master\";\n this.IsViewMode = true;\n this.disableButton=true;\n this.disableClear=true;\n }else{\n this.lblTitle=\"Edit Account Master\";\n this.IsViewMode = false;\n this.disableButton = false;\n this.disableClear=false; \n \n }\n }\n else{\n this.lblTitle=\"Add Account Master\";\n this.disableButton = false;\n this.disableClear=false; \n \n }\n \n this.GetPrivillageRoles(); \n if(this.editedAcountId > 0){\n }\n this.fnGetCustomerName();\n this.fncheckUserType();\n this.fnGetBranchName();\n this.lblMessage = localStorage.getItem(\"Msg\");\n \n if (this.lblMessage == null || this.lblMessage == \"\") {\n \n }\n else if(this.lblMessage.includes('Please provide a valid Account Name')){\n this.lblMessage == localStorage.getItem(\"Msg\");\n this.showMsg = false;\n this.showerrormsg = true;\n localStorage.removeItem(\"Msg\");\n this.onTop();\n }\n else{ \n this.lblMessage == localStorage.getItem(\"Msg\");\n this.showMsg = true;\n this.showerrormsg = false;\n localStorage.removeItem(\"Msg\");\n this.onTop();\n } \n }\n\n // get customer records function for customer dropdown \n fnGetCustomerName(){\n return this._customerService.fnGetCustomerListForDropdown(this.editedAcountId.toString(),localStorage.getItem('LoginUserId')).subscribe(data =>{\n data.forEach(element => {\n this.allCustList.push(element); \n if(element[\"Status\"]=='0'){\n this.IsCustomerInActive=true;\n }\n },(err)=>{\n this.router.navigate([\"404\"]);\n });\n });\n }\n\n //#region \n fnHideSuccessMsg(event)\n { \n this.showMsg = false;\n this.showerrormsg = false; \n }\n\n showlbl(){\n this.showMsg = true;\n }\n hidelbl(){\n this.showMsg = false;\n }\n\n showerror(){\n this.showerrormsg = true;\n }\n hideerror(){\n this.showerrormsg = false;\n }\n //#endregion\n\n // get Branch records function for Branch dropdown \n fnGetBranchName(){\n return this._AccountService.fnGetBranchName().subscribe(data =>{\n this.allBranchList = data;\n if(this.loginUser_UserType == \"3\")\n {\n this.allBranchList = this.allBranchList.filter(row=>{\n return row.BranchId == +this.loginUser_UserTypeBranchId;\n });\n }\n },(err)=>{\n this.router.navigate([\"404\"]);\n });\n }\n\n // check user type function\n fncheckUserType(){\n this._userService.fnGetUserData(localStorage.getItem('LoginUserId'),'Edit').subscribe(Users=>{\n this.loginUser_UserType = Users[0][\"UserType\"];\n this.loginUser_UserTypeBranchId = Users[0][\"BranchUser\"];\n \n if(this.loginUser_UserType == \"3\"){\n this.branchselectblock = false;\n this.editedAccountInfo.branchId = this.loginUser_UserTypeBranchId;\n }\n else{\n this.branchselectblock = true;\n }\n }),(err)=>{\n this.router.navigate([\"404\"]);\n };\n }\n\n IsAuthorize:boolean=false;\n // get account records by id\n fnGetAccountInfobyAccountId(editedAcountId){\n debugger;\n if(this.editedAcountId > 0){\n if (this.viewMode == \"view\") {\n this.disableButton = true;\n this.disableClear = true;\n }\n if(this.viewMode == \"authorize\")\n this.IsAuthorize = true;\n\n this.decryptUserID=+this.decryptUsingAES256(localStorage.getItem('LoginUserId'));\n this._AccountService.fnGetAccountList(localStorage.getItem('LoginUserId'),editedAcountId.toString()).subscribe(accounts => {\n debugger;\n this._AccountService.formData = accounts[0];\n this.showApprovalInfo=this._AccountService.formData.AccountStatus;\n this.CurrentBalanceValue = this._AccountService.formData.CurrentBalance;\n if (this._AccountService.formData.AccountType == \"Saving A/c\") {\n this._AccountService.formData.AccountType = \"SavingAccount\";\n }\n if (this._AccountService.formData.AccountType == \"Current A/c\") {\n this._AccountService.formData.AccountType = \"CurrentAccount\";\n }\n if (this._AccountService.formData.AccountType == \"Loan A/c\") {\n this._AccountService.formData.AccountType = \"LoanAccount\";\n }\n if (this._AccountService.formData.AccountType == \"Escrow A/c\") {\n this._AccountService.formData.AccountType = \"EscrowAccount\";\n\n }\n if (this._AccountService.formData.AccountType == \"Correspondent A/c\") {\n this._AccountService.formData.AccountType = \"CorrespondentAccount\";\n }\n if (this._AccountService.formData.AccountType == \"Virtual A/c\") {\n this._AccountService.formData.AccountType = \"VirtualAccount\";\n }\n if (this._AccountService.formData.AccountStatus == \"InActive\") {\n this._AccountService.formData.AccountStatus = \"0\";\n }\n else if (this._AccountService.formData.AccountStatus == \"Active\") {\n this._AccountService.formData.AccountStatus = \"1\"\n }\n else {\n this._AccountService.formData.AccountStatus = \"2\";\n }\n \n debugger;\n this.IsPendingStatus=String(this._AccountService.formData.reviewStatus );\n \n this._AccountService.formData;\n this.editedAccountInfo;\n if(this.IsPendingStatus==\"1\" || this.IsPendingStatus==\"4\" || this.IsPendingStatus ==\"7\"){\n this.pendingStatus=true; \n this.showApprovalInfo=this.showApprovalInfo; \n }\n debugger;\n if(this.viewMode == \"view\")\n this.disableButton = true;\n else{\n if((this.IsPendingStatus == \"4\" || this.IsPendingStatus ==\"7\" || this.IsPendingStatus ==\"1\") && this._AccountService.formData.CreatedBy == +localStorage.getItem(\"LoginUserId\"))\n this.disableButton = true;\n else if((this.IsPendingStatus ==\"4\" || this.IsPendingStatus ==\"7\" || this.IsPendingStatus ==\"1\") && !this.CheckerPrivillage)\n this.disableButton = true;\n // else if(!this.CheckerPrivillage && accounts[0][\"checkerAccess\"] && !accounts[0][\"adminAccess\"]){\n // this.disableButton = true;\n // }\n else \n this.disableButton = false; \n }\n\n if(this.IsPendingStatus ==\"7\"){\n this.deletePending=true; \n }\n if(this.CheckerPrivillage == true && (this._AccountService.formData.CreatedBy != this.decryptUserID))\n this.buttonvalue = \"Verify\";\n else\n this.buttonvalue = \"Submit\";\n \n if(this.IsPendingStatus ==\"8\"){\n this.disableButton=true; \n }\n if(this.IsPendingStatus ==\"9\" && !this.CheckerPrivillage == true && (this._AccountService.formData.CreatedBy != this.decryptUserID)){\n this.disableButton=false;\n }\n this._AccountService.formData.AccountNumber=this.decryptUsingAES256(this._AccountService.formData.AccountNumber);\n\n //this.fnIsIDBIBank(this._AccountService.formData.branchId);\n //this._AccountService.formData.AccountStatus=\"-1\";\n // }\n // this._AccountService.formData.reviewStatus=4;\n // if((this.IsPendingStatus ==\"4\" || this.IsPendingStatus ==\"7\" || this.IsPendingStatus ==\"1\") && this.CheckerPrivillage == true &&\n // (this._AccountService.formData.CreatedBy != +localStorage.getItem(\"LoginUserId\"))){\n // this._AccountService.formData.AccountStatus = \"0\";\n // }\n\n this._userService.fnGetUserData(localStorage.getItem('LoginUserId'),'Edit').subscribe(Users=>{\n if(this.CheckerPrivillage){\n\n if(this.CheckerPrivillage && (this.IsPendingStatus == \"2\" || this.IsPendingStatus == \"3\" || this.IsPendingStatus == \"5\" || this.IsPendingStatus == \"6\"\n || this.IsPendingStatus == \"8\" || this.IsPendingStatus == \"9\") && this._AccountService.formData.CreatedBy != this.decryptUserID && !accounts[0][\"adminAccess\"]){\n this.disableButton = true;\n }\n else if(this.CheckerPrivillage && (this._AccountService.formData.CreatedBy == this.decryptUserID) && (this.IsPendingStatus ==\"4\" || this.IsPendingStatus ==\"7\" || this.IsPendingStatus ==\"1\") && !accounts[0][\"adminAccess\"]){\n this.disableButton = true;\n this.disableStatus = true;\n if (this._AccountService.formData.AccountStatus == \"2\"){\n this._AccountService.formData.AccountStatus = null;\n }\n }\n else{\n if (this._AccountService.formData.AccountStatus == \"2\"){\n this._AccountService.formData.AccountStatus = null;\n }\n this.disableButton = false;\n }\n\n if(this.IsPendingStatus ==\"8\"){\n this.disableButton=true; \n }\n\n if(this.viewMode == \"edit\" && this.CheckerPrivillage && this._AccountService.formData.CreatedBy != this.decryptUserID){\n this.disableButton = true;\n }\n }\n },(err)=>{\n this.router.navigate([\"404\"]);\n });\n });\n }\n else{\n this._AccountService.formData = {\n AccountId: 0,\n ContactPerson: '',\n MobileNumber: '',\n EmailId: '',\n AccountName: '',\n AccountNumber: '',\n AccountType: null,\n CustomerId: null,\n CustomerName: '',\n BranchName: '',\n AccountStatus: \"2\",\n CurrencyCode: 'INR',\n BaseCurrency: 'INR',\n ForeignCurrency: '',\n CurrentBalance: '0',\n AccountDiscription: '',\n BranchCode: '',\n CorporationCode: '',\n msg: '',\n lblTitle: 'Add Account Master',\n btnTitle: 'Submit',\n IsNegative: false,\n reviewStatus: 0,\n userId: 0,\n IsAccountTypeDisable: false,\n filterStatus: 0,\n branchId: null,\n filterNewStatus: '',\n CreatedBy:0,\n RequestType:'',\n UserName:'',\n CreatedDate:'',\n DateCreated:'',\n UpdatedDate:'',\n UpdatedName:'',\n IsAccountSelected:false,\n CustomerStatus:'',\n BankName:'',\n IFSCCode:'',\n IsRTGSEnable: null,\n IsCorrespondentBank: null,\n AccountlistCount:0,\n ParentAccountNumber:''\n }\n this.buttonvalue = \"Submit\"; \n }\n setTimeout(() => {\n this._spinner.hide(); \n }, 500);\n \n }\n\n //get new Account records by id \n GetEditedAccountMasterValues(editedAccountId){ \n \n if(editedAccountId > 0){\n \n return this._AccountService.fnGetEditedAccountValue(editedAccountId).subscribe(data=>{ \n this.editedAccountInfo=data; \n this.editemail=this.editedAccountInfo.EmailId;\n // if(this.CheckerPrivillage == true && (this._AccountService.formData.CreatedBy != +localStorage.getItem(\"LoginUserId\")))\n // this.buttonvalue = \"Verify\";\n // else\n // this.buttonvalue = \"Submit\"; \n this.editedAccountInfo.AccountNumber=this.decryptUsingAES256(this.editedAccountInfo.AccountNumber);\n this.fnIsIDBIBank(this.editedAccountInfo.branchId);\n this.fnGetCreatedNUpdatedAccount();\n },(err)=>{\n this.router.navigate([\"404\"]);\n });\n }\n else{\n return this.editedAccountInfo=this._AccountService.formData;\n } \n this.editedAccountInfo; \n }\n\n //back function\n BackButton(){\n localStorage.removeItem('accountDataId');\n this.router.navigate(['/ManageAccount']);\n }\n\n //Role privillage function\n GetPrivillageRoles(){ \n this._roleAccess.fnGetRoleAccess(localStorage.getItem('LoginUserId'),'/ManageAccount').subscribe(roleAccess=>{ \n this.CheckerPrivillage=roleAccess[0].CheckerAccess; \n \n this.fnGetAccountInfobyAccountId(this.editedAcountId); \n this.GetEditedAccountMasterValues(this.editedAcountId);\n },(err)=>{\n this.router.navigate([\"404\"]);\n }) ;\n }\n\n //number only function\n numberOnly(event,bal): boolean {\n \n const charCode = (event.which) ? event.which : event.keyCode; \n if (charCode != 46 && charCode > 23 && (charCode===189 || charCode===109) &&(charCode < 48 || charCode > 57)){\n\n return false;\n }\n this.addCurrency(bal);\n return true;\n }\n\n addCurrency(bal){\n if(this._AccountService.formData.CurrentBalance=='')\n {\n if(bal=='')\n {\n this._AccountService.formData.CurrentBalance='INR'+' '+'';\n }\n this._AccountService.formData.CurrentBalance.replace('INR','');\n }\n if(this._AccountService.formData.CurrentBalance!='')\n {\n if(bal==0)\n {\n this.editedAccountInfo.CurrentBalance='INR'+' '+'';\n }\n this.editedAccountInfo.CurrentBalance.replace('INR','');\n }\n }\n\n //reset form function\n resetForm(form?: NgForm) {\n \n if (this.viewMode == \"edit\" && this.editedAcountId > 0) {\n if (form != null) \n // form.resetForm();\n //this.editedAccountInfo.AccountStatus=\"2\";\n this.editedAccountInfo = {\n AccountId: this.editedAcountId,\n ContactPerson: '',\n MobileNumber: '',\n EmailId: '',\n AccountName: '',\n AccountNumber: '',\n AccountType: null,\n CustomerId: null,\n CustomerName: null,\n BranchName: null,\n AccountStatus: \"2\",\n CurrencyCode: 'INR',\n BaseCurrency: 'INR',\n ForeignCurrency: '',\n CurrentBalance: '',\n AccountDiscription: '',\n BranchCode: '',\n CorporationCode: '',\n msg: '',\n lblTitle: 'Edit Account Master',\n btnTitle: 'Submit',\n IsNegative: false,\n reviewStatus: 0,\n userId: 0,\n IsAccountTypeDisable: false,\n filterStatus: 0,\n branchId: null,\n filterNewStatus: '',\n CreatedBy:0,\n RequestType:''\n \n }\n if (this.viewMode == \"edit\" && this.editedAcountId == 0) {\n this.editedAcountId == this._AccountService.formData.AccountId;\n }\n this.showMsg = false;\n this.showerrormsg = false;\n \n //this._AccountService.formData.AccountStatus=\"2\";\n //this.editedAccountInfo.AccountStatus ==;\n \n }\n else{\n if (form != null) \n form.resetForm();\n\n this.editedAccountInfo = {\n AccountId: 0,\n ContactPerson: '',\n MobileNumber: '',\n EmailId: '',\n AccountName: '',\n AccountNumber: '',\n AccountType: null,\n CustomerId: null,\n CustomerName: null,\n BranchName: null,\n AccountStatus:\"2\",\n CurrencyCode: 'INR',\n BaseCurrency: 'INR',\n ForeignCurrency: '',\n CurrentBalance: '',\n AccountDiscription: '',\n BranchCode: '',\n CorporationCode: '',\n msg: '',\n lblTitle: 'Add Account Master',\n btnTitle: 'Submit',\n IsNegative: false,\n reviewStatus: 0,\n userId: 0,\n IsAccountTypeDisable: false,\n filterStatus: 0,\n branchId: null,\n filterNewStatus: '',\n CreatedBy:0,\n RequestType:''\n \n }\n }\n // this.validStatus=false;\n }\n\n //check status validity \n checkStatusVlidaity(acconutstatus)\n {\n this._AccountService.formData.AccountStatus=acconutstatus;\n if(this.CheckerPrivillage == true){\n if(acconutstatus== \"2\")\n {\n this.validStatus=false;\n } \n else if(acconutstatus==\"null\")\n {\n this._AccountService.formData.AccountStatus = null;\n }\n else{\n this.validStatus=true;\n }\n }\n \n }\n\n //onsubmit function\n onSubmit(form: NgForm) {\n debugger;\n if (form.valid ) {\n if( this.validStatus==true){\n this.disableButton = true;\n }\n }\n\n if(form.value[\"AccountType\"] == undefined)\n form.value[\"AccountType\"] = this.editedAccountInfo.AccountType;\n if(form.value[\"CustomerName\"] == undefined)\n form.value[\"CustomerName\"] = this.editedAccountInfo.CustomerName;\n if(form.value[\"BranchName\"] == undefined)\n form.value[\"BranchName\"] = this.editedAccountInfo.branchId;\n \n if(this.AccountExistInAclink == true){\n this.showMsg = false;\n this.showerrormsg = true;\n this.lblMessage = 'Can not change customer as Account used in following Account Link Master - '+ this.AccountLinkNameList;\n this.onTop();\n this.disableButton = false;\n return false;\n }\n\n \n if((form.value.AccountId == 0) && (form.value.AccountNumber.length > 0)){\n this._AccountService.fnAccountNameduplicate(form.value.AccountName,'0').subscribe(AccName => {\n\n if (AccName == 1) {\n this.showMsg = false;\n this.showerrormsg = true;\n this.lblMessage = 'Account Name already exists, Please enter new account name.';\n this.onTop();\n this.disableButton = false;\n return false;\n }\n else{\n this._AccountService.fnAccountNumberduplicate(form.value.AccountNumber,'0',form.value.BranchName).subscribe(data => {\n this.IsAccountNumberExist = data;\n \n if (this.IsAccountNumberExist == 1) {\n this.showMsg = false;\n this.showerrormsg = true;\n this.lblMessage = 'Account Number already exists, Please enter new account number.';\n this.onTop();\n this.disableButton = false;\n return false;\n }\n \n else if (this.IsAccountNumberExist == 0) {\n \n if(!this.CheckerPrivillage && this.viewMode==undefined){\n form.value.AccountStatus=\"2\";\n form.value.reviewStatus=1;\n }\n \n form.value.userId= localStorage.getItem('LoginUserId');\n if(this._AccountService.formData.AccountId>0)\n form.value.reviewStatus=this._AccountService.formData.reviewStatus; \n \n \n // if(this.CheckerPrivillage) {\n // if(this._AccountService.formData.AccountNumber != this.editedAccountInfo.AccountNumber){\n // this.isValueChange=true;\n // form.value.AccountNumber=this.editedAccountInfo.AccountNumber;\n // }\n \n \n // if(this._AccountService.formData.AccountName != this.editedAccountInfo.AccountName){\n // this.isValueChange=true;\n // form.value.AccountName=this.editedAccountInfo.AccountName;\n // }\n \n \n // if(this._AccountService.formData.AccountType != this.editedAccountInfo.AccountType){\n // this.isValueChange=true;\n // form.value.AccountType=this.editedAccountInfo.AccountType;\n // }\n \n \n // if(this._AccountService.formData.AccountDiscription != this.editedAccountInfo.AccountDiscription){\n // form.value.AccountDiscription=this.editedAccountInfo.AccountDiscription;\n // this.isValueChange=true;\n // }\n \n \n // if(this._AccountService.formData.CurrencyCode != this.editedAccountInfo.CurrencyCode){\n // form.value.CurrencyCode=this.editedAccountInfo.CurrencyCode;\n // this.isValueChange=true;\n // }\n \n \n // if(this._AccountService.formData.BaseCurrency != this.editedAccountInfo.BaseCurrency){\n // form.value.BaseCurrency=this.editedAccountInfo.BaseCurrency;\n // this.isValueChange=true;\n // }\n \n \n // if(this._AccountService.formData.ForeignCurrency != this.editedAccountInfo.ForeignCurrency){\n // form.value.ForeignCurrency=this.editedAccountInfo.ForeignCurrency;\n // this.isValueChange=true;\n // }\n \n // if(this._AccountService.formData.CurrentBalance != this.editedAccountInfo.CurrentBalance){\n // form.value.CurrentBalance=this.editedAccountInfo.CurrentBalance;\n // this.isValueChange=true;\n // }\n \n // if(this._AccountService.formData.MobileNumber != this.editedAccountInfo.MobileNumber){\n // form.value.Mob1ileNumber=this.editedAccountInfo.MobileNumber;\n // this.isValueChange=true;\n // }\n \n // if(this._AccountService.formData.ContactPerson != this.editedAccountInfo.ContactPerson){\n // this.isValueChange=true;\n // form.value.ContactPerson=this.editedAccountInfo.ContactPerson;\n // }\n \n \n // }\n \n if(!this.isValueChange && this.viewMode==\"edit\" && !this.CheckerPrivillage)\n form.value.reviewStatus=4;\n if(this.isValueChange && this.CheckerPrivillage && this._AccountService.formData.filterStatus==1) \n form.value.reviewStatus=5;\n if( this.viewMode==\"edit\" && this.CheckerPrivillage && this._AccountService.formData.filterStatus==2) \n form.value.reviewStatus=1\n \n form.value.CustomerId=this._AccountService.formData.CustomerId;\n form.value.BranchCode=this._AccountService.formData.BranchCode;\n if(form.value.reviewStatus==0 ){\n if(this.CheckerPrivillage && this._AccountService.formData.filterStatus==1)\n form.value.reviewStatus=3;\n }\n \n if (form.value.AccountType == null || form.value.AccountType == undefined) {\n \n form.value.AccountType = localStorage.getItem(\"_AccountType\");\n }\n // this.validStatus;\n\n form.value.CurrentBalance = form.value.hdnCurrentBalance;\n \n if(this.validStatus==true){\n let list = this.allCustList.filter(x => x.CustomerName === form.value.CustomerName)[0];\n if(list==undefined){ } \n else{\n form.value.CustomerId =list.CustPkId;\n } \n this._AccountService.fnSaveAccountMasterDetails(form.value).subscribe(data => {\n this.lblMessage = data.AccountName + \" \" + data.msg;\n this.fnPageRefresh(form);\n localStorage.setItem(\"Msg\",this.lblMessage);\n\n // this._AccountService.formData.AccountId = data.AccountId;\n //this._AccountService.formData.reviewStatus = data.reviewStatus;\n //this.editedAcountId = data.AccountId;\n // this.viewMode = \"edit\";\n // if(this.CheckerPrivillage && (data.reviewStatus == 2 || data.reviewStatus == 3 || data.reviewStatus == 5 || data.reviewStatus == 6\n // || data.reviewStatus == 8 || data.reviewStatus == 9)){\n // this.disableButton = true;\n // }\n // else{\n // this.disableButton = false;\n // }\n\n\n this.disableButton = false;\n // this.fnGetCreatedNUpdatedAccount();\n \n // this.showMsg = true;\n // this.showerrormsg = false;\n this.onTop();\n \n //this.fnPageRefresh(form);\n },\n \n (error)=>{ \n this.showMsg = false;\n this.showerrormsg = true;\n this.disableButton = false;\n this.lblMessage = 'An error occured.';\n this.onTop();\n }\n );\n }\n } \n },(err)=>{\n this.router.navigate([\"404\"]);\n });\n }\n \n }); //close line no 449\n \n } //close line no 447\n\n if ((form.value.AccountId != 0)) {\n \n this._AccountService.fnAccountNameduplicate(form.value.AccountName,form.value.AccountId).subscribe(AccName => {\n\n if (AccName == 1) {\n this.showMsg = false;\n this.showerrormsg = true;\n this.lblMessage = 'Account Name already exists, Please enter new account name.';\n this.onTop();\n this.disableButton = false;\n return false;\n }\n else{\n\n this._AccountService.fnAccountNumberduplicate(form.value.AccountNumber,this._AccountService.formData.AccountId.toString(),form.value.BranchName).subscribe(data => {\n this.IsAccountNumberExist = data;\n if (this.IsAccountNumberExist == 1) {\n this.showMsg = false;\n this.showerrormsg = true;\n this.lblMessage = 'Account Number already exists, Please enter new account number.';\n this.onTop();\n this.disableButton = false;\n return false;\n }\n \n else if (this.IsAccountNumberExist == 0) {\n \n if (form.value.AccountId == null) {\n form.value.AccountId = this._AccountService.formData.AccountId;\n }\n \n if(!this.CheckerPrivillage && this.viewMode==undefined){\n form.value.AccountStatus=\"2\";\n form.value.reviewStatus=1;\n } \n \n \n form.value.userId= localStorage.getItem('LoginUserId');\n if(this._AccountService.formData.AccountId>0)\n form.value.reviewStatus=this._AccountService.formData.reviewStatus; \n \n \n if(this.CheckerPrivillage) {\n if(this._AccountService.formData.AccountNumber != this.editedAccountInfo.AccountNumber){\n this.isValueChange=true;\n form.value.AccountNumber=this.editedAccountInfo.AccountNumber;\n }\n \n \n if(this._AccountService.formData.AccountName != this.editedAccountInfo.AccountName){\n this.isValueChange=true;\n form.value.AccountName=this.editedAccountInfo.AccountName;\n }\n \n \n if(this._AccountService.formData.AccountType != this.editedAccountInfo.AccountType){\n this.isValueChange=true;\n form.value.AccountType=this.editedAccountInfo.AccountType;\n }\n \n \n if(this._AccountService.formData.AccountDiscription != this.editedAccountInfo.AccountDiscription){\n form.value.AccountDiscription=this.editedAccountInfo.AccountDiscription;\n this.isValueChange=true;\n }\n \n \n if(this._AccountService.formData.CurrencyCode != this.editedAccountInfo.CurrencyCode){\n form.value.CurrencyCode=this.editedAccountInfo.CurrencyCode;\n this.isValueChange=true;\n }\n \n \n if(this._AccountService.formData.BaseCurrency != this.editedAccountInfo.BaseCurrency){\n form.value.BaseCurrency=this.editedAccountInfo.BaseCurrency;\n this.isValueChange=true;\n }\n \n \n if(this._AccountService.formData.ForeignCurrency != this.editedAccountInfo.ForeignCurrency){\n form.value.ForeignCurrency=this.editedAccountInfo.ForeignCurrency;\n this.isValueChange=true;\n }\n \n // if(this._AccountService.formData.CurrentBalance != this.editedAccountInfo.CurrentBalance){\n // form.value.CurrentBalance=this.editedAccountInfo.CurrentBalance;\n // this.isValueChange=true;\n // }\n \n if(this._AccountService.formData.MobileNumber != this.editedAccountInfo.MobileNumber){\n form.value.MobileNumber=this.editedAccountInfo.MobileNumber;\n this.isValueChange=true;\n }\n \n if(this._AccountService.formData.ContactPerson != this.editedAccountInfo.ContactPerson){\n this.isValueChange=true;\n form.value.ContactPerson=this.editedAccountInfo.ContactPerson;\n }\n }\n if(form.value.reviewStatus==1 ){\n if(this.viewMode==\"edit\" && this.CheckerPrivillage &&\n this._AccountService.formData.filterStatus==2 && this._AccountService.formData.reviewStatus==1)\n form.value.reviewStatus=1;\n }\n // / if(this.viewMode==\"edit\" && this.CheckerPrivillage && this._AccountService.formData.filterStatus==2 && this._AccountService.formData.reviewStatus==1)\n /// form.value.reviewStatus=1\n // if(this.viewMode==\"edit\" && this.CheckerPrivillage && this._AccountService.formData.filterStatus==1 && this._AccountService.formData.reviewStatus==2)\n //form.value.reviewStatus=2 \n \n if(!this.isValueChange && this.viewMode==\"edit\" && !this.CheckerPrivillage)\n form.value.reviewStatus=4;\n //if( this.CheckerPrivillage && this._AccountService.formData.filterStatus==1) \n //form.value.reviewStatus=5; //rubina\n if(form.value.reviewStatus==4 ){\n if(this.CheckerPrivillage && this._AccountService.formData.filterStatus==2)\n form.value.reviewStatus=4;\n }\n // if(form.value.reviewStatus==7 ){\n // if(this.CheckerPrivillage && this._AccountService.formData.filterStatus==2)\n // form.value.reviewStatus=8;\n // }\n //if( this.viewMode==\"edit\" && this.CheckerPrivillage && this._AccountService.formData.filterStatus==2 && this._AccountService.formData.reviewStatus==1) \n // form.value.reviewStatus=1\n \n form.value.CustomerId=this._AccountService.formData.CustomerId;\n form.value.BranchCode=this._AccountService.formData.BranchCode;\n if(form.value.reviewStatus==0 ){\n if(this.CheckerPrivillage && this._AccountService.formData.filterStatus==1)\n form.value.reviewStatus=3;\n }\n \n \n if (form.value.AccountType == null || form.value.AccountType == undefined) {\n \n form.value.AccountType = localStorage.getItem(\"_AccountType\");\n }\n form.value.CurrentBalance = form.value.hdnCurrentBalance;\n if(this.validStatus==true){\n \n let list = this.allCustList.filter(x => x.CustomerName === form.value.CustomerName)[0];\n if(list==undefined){ } \n else{\n form.value.CustomerId =list.CustPkId;\n } \n \n this._AccountService.fnSaveAccountMasterDetails(form.value).subscribe(data => {\n this.lblMessage = data.AccountName + \" \" + data.msg;\n\n this._AccountService.formData.AccountId = data.AccountId;\n this._AccountService.formData.reviewStatus = data.reviewStatus;\n this.editedAcountId = data.AccountId;\n // this.viewMode = \"edit\";\n if(this.CheckerPrivillage && (data.reviewStatus == 2 || data.reviewStatus == 3 || data.reviewStatus == 5 || data.reviewStatus == 6\n || data.reviewStatus == 8 || data.reviewStatus == 9)){\n this.disableButton = true;\n }\n else if(data.reviewStatus == 4){\n this.disableButton = true;\n }\n else{\n this.disableButton = false;\n }\n this.fnGetCreatedNUpdatedAccount();\n \n this.showMsg = true;\n this.showerrormsg = false;\n this.onTop();\n \n //this.fnPageRefresh(form);\n \n },\n (error)=>{ \n this.showMsg = false;\n this.showerrormsg = true;\n this.disableButton = false;\n this.lblMessage = 'An error occured.';\n this.onTop();\n }\n );\n } \n }\n });\n\n } // close line 609\n\n }); // close line 599\n \n } // close line 597\n}\n\n ClearButton(form){\n \n this.resetForm(form)\n this.onTop();\n \n //this.showApprovalInfo=\"\";\n this._AccountService.formData;\n this.editedAccountInfo.formData;\n \n // this._AccountService.formData.CurrencyCode='INR';\n //this._AccountService.formData.BaseCurrency='INR';\n \n this.showMsg = false;\n this.showerrormsg = false;\n }\n\n // scroll on top function\n onTop(){\n window.scroll({\n top: 0,\n left: 0,\n behavior:'smooth'\n })\n }\n \n // create/update user history function\n fnGetCreatedNUpdatedAccount(){\n //\n \n this._AccountService.fnGetCreatedUpdateAccount(this.editedAcountId.toString()).subscribe(userdates=>{\n this.AccountCreatedUpdated1=userdates;\n \n if(this.AccountCreatedUpdated1[0].CreatedDate != ''){\n this.showCreatedDiv=true;\n this.createdDate=this.AccountCreatedUpdated1[0].CreatedDate;\n this.userNameCreated=this.AccountCreatedUpdated1[0].UserName;\n }\n if(this.AccountCreatedUpdated1[1].UpdatedDate != ''){\n this.showUpdatedDiv=true;\n this.usernameUpdte=this.AccountCreatedUpdated1[1].UserName;\n this.updtedDate=this.AccountCreatedUpdated1[1].UpdatedDate;\n }\n\n });\n }\n\n fnPageRefresh(form){\n if (this.viewMode==\"edit\" && this.editedAcountId != 0) { \n this.resetForm(form);\n this.onTop();\n } \n else {\n this.resetForm(form)\n this.onTop();\n \n document.location.reload();\n }\n this.fncheckUserType();\n }\n\n fnFetchBalance(){\n return this._AccountService.fnFetchBalance(this.editedAccountInfo.AccountNumber).subscribe(data =>{\n if(data != \"No balance found\"){\n this.editedAccountInfo.CurrentBalance = data;\n }\n else{\n alert(data);\n }\n });\n }\n\n //count length of accountnumber function\n countAccountNumber(AccNumber){\n if(AccNumber.includes(\"IDBI\")){\n this.accountNumlength = 20;\n }\n else{\n this.accountNumlength = 16;\n }\n }\n\n fnIsIDBIBank(obj){\n if(obj != null){\n return this._AccountService.fnIsIDBIBank(obj).subscribe(data =>{\n if(data == \"No\"){\n this.hiddenCurrentBalance = false;\n this.fnFetchBalance();\n }\n else{\n this.hiddenCurrentBalance = true;\n this.editedAccountInfo.CurrentBalance = '0';\n }\n });\n }\n }\n\n //check accountname field is empty \n fnAccountName(AccountName){\n if(AccountName.trim().length === 0){\n this.AccNameContainsOnlySpace = true;\n }\n else\n this.AccNameContainsOnlySpace = false;\n }\n\n fnAccountExistINAcLinkMaster(form: NgForm){\n if(form.value.AccountId != 0){\n if(form.value.CustomerName != '' && (parseInt(form.value.CustomerName) != this._AccountService.formData.CustomerId)){\n this._AccountService.fnAccountExistinAccountLink(form.value.AccountId).subscribe(aclinkNameList => {\n if (aclinkNameList != \"0\") {\n this.AccountLinkNameList = aclinkNameList;\n this.AccountExistInAclink = true;\n }\n });\n }\n else{\n this.AccountExistInAclink = false;\n }\n }\n }\n\n onBlurEvent(){\n if (this.editedAcountId > 0 && this.editedAccountInfo.branchId > 0) {\n this.fnIsIDBIBank(this.editedAccountInfo.branchId); \n }\n }\n\n handleKeyboardEvent(event) {\n event.returnValue = false;\n event.preventDefault();\n }\n}","
\n
\n
\n
\n\n
\n
\n
\n \n \n
\n
\n

{{lblTitle}}

\n
\n
\n\n
\n
\n
\n\n\n\n
\n
\n
\n \n
\n
\n

* Marked Fields Are Mandatory.

\n\n
\n
\n \n \n\n
\n
\n ×\n Success! {{lblMessage}}.\n
\n\n
\n ×\n Error! {{lblMessage}}.\n
\n \n \n
\n\n
\n \n
\n \n\n \n \n\n {{_AccountService.formData.AccountName}} \n
\n
\n This Account Name is required\n
\n
\n Please provide a valid Account Name\n
\n
\n
\n\n
\n \n \n {{_AccountService.formData.AccountNumber}} \n
\n
\n This Account Number is required\n
\n
\n Please provide a valid Account Number\n
\n
\n
\n
\n \n \n {{_AccountService.formData.AccountType}} \n
This\n Account Type is required
\n
\n\n
\n \n \n \n \n \n
\n Customer Name is required\n
\n {{_AccountService.formData.CustomerName}} \n \n \n
\n\n \n \n\n
\n \n \n {{_AccountService.formData.BranchName}} \n
This\n Branch Code is required
\n
\n\n \n\n
\n \n \n \n\n {{_AccountService.formData.ContactPerson}} \n\n
\n
\n This Contact Person is required\n
\n \n
\n
\n\n
\n \n \n {{_AccountService.formData.MobileNumber}} \n \n
\n
\n This Mobile no is required.\n
\n
\n Phone number should be only numbers.\n
\n
\n Phone number should be 10 digit.\n
\n
\n
\n\n
\n \n \n\n \n \n\n\n
\n
\n EmailId is required.\n
\n
\n Please provide a valid email address.\n
\n
\n
\n\n
\n \n \n \n {{_AccountService.formData.CurrentBalance}} \n
\n\n \n\n
\n \n \n {{_AccountService.formData.CurrencyCode}} \n
\n
\n \n \n {{_AccountService.formData.BaseCurrency}} \n
\n\n
\n \n \n {{_AccountService.formData.ForeignCurrency}} \n
\n\n
\n \n \n {{_AccountService.formData.AccountDiscription}} \n
\n\n
\n \n\n
\n \n {{showApprovalInfo}} \n\n\n
\n This Account Status is required
\n
\n\n
\n
\n \n {{showApprovalInfo}} \n \n\n\n
\n This Account Status is required
\n
\n
\n\n
\n\n\n \n\n \n\n\n \n\n\n \n
\n\n
\n
\n \n \n \n \n \n
\n
\n\n
\n Created By {{ userNameCreated }} on {{ createdDate }}\n
\n
\n Updated By {{ usernameUpdte }} on {{ updtedDate }}\n
\n\n\n
\n \n
\n
\n
\n
\n\n\n\n\n\n\n \n ","import { Component, OnInit, Pipe,ViewChild, ElementRef, ViewEncapsulation } from '@angular/core';\nimport { AccountMasterService } from '../../MasterService/account-master.service';\nimport { AccountMaster } from 'src/app/MasterService/AccountMaster';\nimport { Router, NavigationExtras } from '@angular/router';\nimport { LoginDetails } from '../../Common/LoginDetail';\nimport { RoleAccessService } from '../../MasterService/role-access.service';\nimport { RoleAccess } from 'src/app/MasterService/RoleAccess';\nimport { NgxSpinnerService } from \"ngx-spinner\";\nimport * as XLSX from 'xlsx';\nimport * as jsPDF from 'jspdf';\nimport html2Canavas from 'html2canvas';\nimport { saveAs } from 'file-saver';\nimport { IAngularMyDpOptions } from 'angular-mydatepicker';\nimport * as CryptoJS from 'crypto-js';\nimport * as $ from 'jquery';\nimport{EncryptdecryptService} from 'src/app/MasterService/encryptdecrypt.service';\nimport { LoginService } from 'src/app/MasterService/Login.service';\nimport { debug } from 'console';\nimport { PaginationService } from 'src/app/Paging/pagination.service';\nimport { NgbDateParserFormatter, NgbDate } from '@ng-bootstrap/ng-bootstrap';\n\ndeclare var sortTableAccountMst: Function;\n\n\n@Component({\n selector: 'app-manage-account',\n templateUrl: './manage-account.component.html',\n styleUrls: ['./manage-account.component.css'],\n //encapsulation: ViewEncapsulation.None\n})\nexport class ManageAccountComponent implements OnInit {\n today = new Date();\n myDpOptions: IAngularMyDpOptions = {\n dateRange: false,\n dateFormat: 'dd-mm-yyyy',\n disableSince: {year: this.today.getFullYear(), month: this.today.getMonth() + 1, day: this.today.getDate() + 1}\n // other options are here...\n };\n\n // #region \n Accounts: any=[];\n FilteredAccountList: any=[];\n\n RoleAccess: RoleAccess;\n ddlshowStartValue:number;\n ddlshowvalue: number;\n searchCount: string;\n filterCount: string;\n showerrormsg: boolean;\n fileName:string;\n lastSortedByField;\n ascendingOrder = true;\n AllAccchk: boolean;\n isActive: boolean;\n showModalForAllDelete: boolean;\n\n // Bulk Delete fields\n AccountSelected:boolean;\n IsAccountSelected:boolean;\n checkedList:any=[];\n listLengthForSelect: 0;\n BulkDelete:boolean = true;\n AllSelected: boolean;\n ConfirmationMsg: string;\n AllDeleteCheck: boolean;\n\n ///Bulk Approval...................\n AddEditBulkApproval:boolean;\n AddEditBulkApprovalLabel: boolean;\n AuthorizeStatus: number;\n CheckerPrivillage:boolean;\n AccountReviewstatus: number;\n AccountStatus: string;\n lblMessageDeletesuccess:string;\n checkedBulkList: any[];\n HistoryPrivllage:boolean;\n LoginAccessList: any;\n IndentId:number;\n\n public accountId;\n showModalDelete: boolean;\n lblMessageDelete: string;\n\n showModal:boolean;\n showMsg:boolean;\n lblMessage:string;\n EmptyDataMsg:string;\n\n //role access ..........................................\n EditPriv:boolean;\n DeletePrivllage:boolean;\n AddPrivillage:boolean;\n ViewPrivllage:boolean;\n AddImportAccess:boolean;\n AddExportAccess:boolean;\n PrivillageImportExportdv:boolean;\n\n showBackButton:boolean;\n status: string; \n ddlDropdownValue: any;\n \n // #endregion\n\n constructor(public _AccountService: AccountMasterService, private router: Router, public _roleAccess: RoleAccessService, \n private SpinnerService: NgxSpinnerService,private _encryption:EncryptdecryptService,public _login: LoginService,\n public _PaginationService:PaginationService , private ngbDateParserFormatter: NgbDateParserFormatter) { }\n config: any;\n\n // Declare this key and iv values in declaration\n private key = CryptoJS.enc.Utf8.parse('MAKV2SPBNI992121');\n private iv = CryptoJS.enc.Utf8.parse('MAKV2SPBNI992121');\n\n decryptUsingAES256(decString) {\n var decrypted = CryptoJS.AES.decrypt(decString, this.key, {\n keySize: 128 / 8,\n iv: this.iv,\n mode: CryptoJS.mode.CBC,\n padding: CryptoJS.pad.Pkcs7\n }); \n return decrypted.toString(CryptoJS.enc.Utf8);\n }\n\n ngOnInit(): void {\n if (localStorage.getItem('LoginUserId') == null) {\n this.router.navigate([\"\"]);\n return;\n }\n if(!$('.js-sticky-header').is(':visible')){\n $('.js-sticky-header').css('display','block');\n }\n this.IndentId = +localStorage.getItem(\"IndentId\");\n localStorage.removeItem(\"IndentId\");\n\n this.SpinnerService.show();\n localStorage.removeItem('accountDataId');\n this.onTop();\n this.AccountMaster();\n this.GetPrivillageRoles();\n\n this.config = {\n itemsPerPage: 10,\n currentPage: 1,\n };\n this.ddlshowvalue = 10;\n this.ddlshowStartValue = 1;\n sortTableAccountMst(6,false);\n\n this.pageNumber[0] = true; \n this._PaginationService.temppage = 0; \n }\n \n // #region \n showDelete() { this.showModalDelete = true; }\n hideDelete() { this.showModalDelete = false; }\n\n show() { this.showModal = true; \n $(document).ready(function () {\n $('#IDshowModal').eq(0).focus();\n }); }\n hide() { this.showModal = false; }\n\n AllDeletehide(){this.showModalForAllDelete=false;\n this.isActive = false;\n this.AllAccchk=false;\n }\n\n AllDeleteShow(){\n if(this.AllSelected==true){\n this.ConfirmationMsg=\"Are you sure you want to delete All records?\"\n }\n if(this.AllSelected==false){\n this.ConfirmationMsg=\"Are you sure you want to delete selected records?\"\n }\n this.showModalForAllDelete=true\n }\n //#endregion\n\n // #region \n showlbl() {\n this.showMsg = true;\n }\n hidelbl() {\n this.showMsg = false;\n }\n\n showerror() {\n this.showerrormsg = true;\n }\n hideerror() {\n this.showerrormsg = false;\n }\n // #endregion\n\n // page change function\n pageChanged(event) {\n this.config.currentPage = event;\n this.ddlshowvalue = this.config.currentPage*this.config.itemsPerPage;\n this.ddlshowStartValue = this.ddlshowvalue - (this.config.itemsPerPage-1);\n // if(this.FilteredAccountList.length{ \n this.RoleAccess=roleAccess[0]; \n this.CheckerPrivillage = roleAccess[0].CheckerAccess; \n this.EditPriv =this.RoleAccess.EditAccess; \n this.DeletePrivllage=this.RoleAccess.DeleteAccess;\n this.AddPrivillage=this.RoleAccess.AddAccess;\n this.AddImportAccess = this.RoleAccess.AddImportAccess;\n this.AddExportAccess=this.RoleAccess.AddExportAccess;\n if(this.AddImportAccess || this.AddExportAccess){\n this.PrivillageImportExportdv=true;\n }\n else{\n this.PrivillageImportExportdv=false;\n \n }\n if(!this.EditPriv && this.RoleAccess.ViewAccess)\n this.ViewPrivllage=true;\n\n if(this.IndentId == null || this.IndentId == 0){\n this.AccountList(\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"1\",this.sortOrder,\"1\");\n //this.AccountListForExport();\n }\n else\n this.IndentRecordsList(); \n \n },(err)=>{\n this.router.navigate([\"404\"]);\n }); \n }\n //get Account data for Export\n ExportAccounts:any = [];\n FilterExportAccounts: any = [];\n// AccountListForExport(){\n// this._AccountService.fnGetAccountListForExport(localStorage.getItem('LoginUserId')).subscribe(account=>{\n// this.ExportAccounts = account;\n\n// for (var i = 0; i < this.ExportAccounts.length; i++) {\n// this.ExportAccounts[i].AccountNumber=this.decryptUsingAES256(this.ExportAccounts[i].AccountNumber);\n// if(this.ExportAccounts[i].CreatedBy== this._encryption.decryptUsingAES256(localStorage.getItem('LoginUserId'))){\n// this.ExportAccounts[i].IsDisableAccount = true;\n// }\n// }\n\n// this.FilterExportAccounts = this.ExportAccounts;\n// this.FilterExportAccounts = this.FilterExportAccounts.filter(row=>{\n// return row.AccountStatus == \"Active\";\n// });\n// });\n// }\n\n\n //get Account data function\n AccountList(AccountName,AccountNumber,AccountType,BranchName,CreatedBy,CreatedData,CorpCode,requestType,status,\n SortOrder = \"\",pageNumber=\"\") {\n \n if(pageNumber != \"\")\n this.pageNo=pageNumber;\n this._AccountService.fnGetAccountList(localStorage.getItem('LoginUserId'),\"0\",this.pageNo,this.config.itemsPerPage.toString(),\n AccountName,AccountNumber,AccountType,BranchName,CreatedBy,CreatedData,CorpCode,requestType,status, SortOrder).subscribe(accounts => {\n this.Accounts = accounts;\n \n // this.FilteredAccountList = this.Accounts;\n\n for (var i = 0; i < this.Accounts.length; i++) {\n if(this.Accounts[i].CreatedBy== this._encryption.decryptUsingAES256(localStorage.getItem('LoginUserId'))){\n this.Accounts[i].IsDisableAccount = true;\n }\n // if(this.Accounts[i].IsDisableAccount){\n // this.Accounts[i].IsDisableAccount = true;\n // }\n\n this.Accounts[i].AccountNumber=this.decryptUsingAES256(this.Accounts[i].AccountNumber);\n this.Accounts[i].IsAccountSelected = false;\n\n if(this.checkedList.length > 0){ \n for (var j = 0; j < this.checkedList.length; j++) {\n if(this.checkedList[j].AccountId == this.Accounts[i].AccountId){\n this.Accounts[i].IsAccountSelected = true; \n } \n } \n }\n\n if(this.Accounts[i].reviewStatus == 1 || this.Accounts[i].reviewStatus == 4 || this.Accounts[i].reviewStatus == 7)\n this.Accounts[i].IsAuthorizeDisable = false;\n else\n this.Accounts[i].IsAuthorizeDisable = true;\n\n if(this.Accounts[i].reviewStatus == 1 || this.Accounts[i].reviewStatus==4){\n this.Accounts[i].deleteIconDisable = true;\n }\n else if(this.Accounts[i].reviewStatus ==7 && (!this.CheckerPrivillage || this.Accounts[i].CreatedBy == +this.decryptUsingAES256(localStorage.getItem('LoginUserId')))){\n this.Accounts[i].deleteIconDisable = true;\n }\n else{this.Accounts[i].deleteIconDisable=false;}\n }\n\n this.FilteredAccountList = this.Accounts;\n this.listLengthForSelect = this.Accounts.length;\n\n if(accounts.length > 0){ \n this.totalCount = accounts[0].AccountlistCount;\n this.totalNoOfPages(); \n }\n else if(accounts.length == 0){\n this.totalCount =0;\n this.totalNoOfPages(); \n }\n //------page Listing Meassage------------------\n if(this.ddlDropdownValue==10 || this.ddlDropdownValue==undefined){\n if(this.FilteredAccountList.length<10 ){\n this.ddlshowvalue = this.totalCount;\n }\n else if(this.FilteredAccountList.length==0){\n this.ddlshowvalue = 0;\n }\n }\n if(this.ddlDropdownValue == 25){\n if(this.FilteredAccountList.length< 25 ){\n this.ddlshowvalue = this.totalCount;\n }\n else if(this.FilteredAccountList.length==0){\n this.ddlshowvalue = 0;\n }\n }\n if(this.ddlDropdownValue == 50){\n if(this.FilteredAccountList.length < 50){\n this.ddlshowvalue = this.totalCount;\n }\n else if(this.FilteredAccountList.length==0){\n this.ddlshowvalue = 0;\n }\n }\n if(this.ddlDropdownValue == 100){\n if(this.FilteredAccountList.length < 100){\n this.ddlshowvalue = this.totalCount;\n }\n else if(this.FilteredAccountList.length==0){\n this.ddlshowvalue = 0;\n }\n }\n // if(this.FilteredAccountList.length<10){\n // this.ddlshowvalue = this.totalCount;\n // }\n //this.OnSearch(\"\",\"1\", \"\", \"\", \"\", \"\", \"\",\"\",\"\");\n // ----checker side Bulk Authorize---------------------------\n this.getCheckedBulkAuthorize();\n if(this.FilteredAccountList.length!=0 && this.CheckerPrivillage==true && (\n this._AccountService.formData.RequestType==\"1\" || this._AccountService.formData.RequestType==\"4\") &&\n (this._AccountService.formData.AccountStatus==\"2\" || this._AccountService.formData.AccountStatus==\"\" ))\n {\n this.AddEditBulkApproval=true;\n }\n else{\n this.AddEditBulkApproval=false;\n this.AddEditBulkApprovalLabel=false;\n }\n //End-- checker side bulk Authorize---------------------------\n this.GetHistoryPrivillage(); \n setTimeout(() => {\n this.SpinnerService.hide();\n }, 500);\n },(err)=>{\n this.router.navigate([\"404\"]);\n });\n }\n\n //get account data function if these form is navigated by indent master\n IndentRecordsList(){\n if(this.IndentId != null && this.IndentId !=-0){\n this.showBackButton = true;\n }\n this._AccountService.fnGetIndentAccountList(this.IndentId.toString()).subscribe(accounts => {\n this.Accounts = accounts;\n \n \n for (var i = 0; i < this.Accounts.length; i++) {\n if(this.Accounts[i].CreatedBy== this._encryption.decryptUsingAES256(localStorage.getItem('LoginUserId'))){\n this.Accounts[i].IsDisableAccount = true;\n }\n this.Accounts[i].AccountNumber=this.decryptUsingAES256(this.Accounts[i].AccountNumber);\n this.Accounts[i].IsAccountSelected = false;\n if(this.Accounts[i].reviewStatus == 1 || this.Accounts[i].reviewStatus==4){\n this.Accounts[i].deleteIconDisable = true;\n }\n else if(this.Accounts[i].reviewStatus ==7 && (!this.CheckerPrivillage || this.Accounts[i].CreatedBy == +this.decryptUsingAES256(localStorage.getItem('LoginUserId')))){\n this.Accounts[i].deleteIconDisable = true;\n }\n else{this.Accounts[i].deleteIconDisable=false;}\n }\n\n this.FilteredAccountList = this.Accounts;\n this.listLengthForSelect = this.Accounts.length;\n\n if(accounts.length > 0){ \n this.totalCount = 2;\n this.totalNoOfPages(); \n }\n\n // this.OnSearch(\"\",\"1\", \"\", \"\", \"\", \"\", \"\",\"\",\"\");\n this.GetHistoryPrivillage(); \n\n\n setTimeout(() => {\n this.SpinnerService.hide();\n }, 500);\n },(err)=>{\n this.router.navigate([\"404\"]);\n });\n }\n\n //back function if these form is navigated by indent master\n BackButton(){\n localStorage.setItem('newIndendentId',String(this.IndentId));\n localStorage.setItem('_Flag','Authorization');\n this.router.navigate(['/AddEditFundDisburs']);\n }\n\n // navigate to edit Account page\n EditAccountDetails(Account: AccountMaster) {\n // if (Account.AccountStatus.toLocaleLowerCase() == \"inactive\") {\n // Account.AccountStatus = \"0\";\n // }\n // else if(Account.AccountStatus.toLocaleLowerCase()==\"pending\"){\n // Account.AccountStatus=\"2\"\n // } \n // else {\n // Account.AccountStatus = \"1\";\n // }\n \n \n\n Account.userId = +localStorage.getItem('LoginUserId');\n \n\n let viewMode = 'edit';\n let navigationExtras: NavigationExtras = {\n queryParams: {\n viewMode\n }\n };\n if (viewMode == 'edit') {\n localStorage.setItem('accountDataId',String(Account.AccountId));\n this.router.navigate([\"AddAccount\"], navigationExtras);\n }\n //this.router.navigate(['/AddAccount']);\n }\n\n // navigate to view Account page\n ViewAccountDetails(Account: AccountMaster) {\n // if (Account.AccountStatus == \"Inactive\") {\n // Account.AccountStatus = \"0\";\n // }\n // else if (Account.AccountStatus == \"Pending\") {\n // Account.AccountStatus = \"2\"\n // }\n // else {\n // Account.AccountStatus = \"1\";\n // }\n\n // if (Account.AccountType == \"Saving Account\") {\n // Account.AccountType = \"SavingAccount\";\n // }\n // if (Account.AccountType == \"Current Account\") {\n // Account.AccountType = \"CurrentAccount\";\n // }\n // if (Account.AccountType == \"Loan Account\") {\n // Account.AccountType = \"LoanAccount\";\n // }\n // if (Account.AccountType == \"Escrow Account\") {\n // Account.AccountType = \"EscrowAccount\";\n // }\n // if (Account.AccountType == \"Correspondent Account\") {\n // Account.AccountType = \"CorrespondentAccount\";\n // }\n\n // Account.lblTitle = \"View Account Master\";\n // Account.btnTitle = \"View Mode\";\n // this._AccountService.formData = Account;\n let viewMode = 'view';\n let navigationExtras: NavigationExtras = {\n queryParams: {\n viewMode\n }\n };\n if (viewMode == 'view') {\n localStorage.setItem('accountDataId',String(Account.AccountId));\n this.router.navigate([\"AddAccount\"], navigationExtras);\n }\n }\n \n //Delete confirmation function \n DeleteAccount(Account: AccountMaster) {\n\n this.accountId = Account.AccountId;\n this.status = Account.AccountStatus;\n this.lblMessageDelete = \"Are you sure you want to delete?\";\n this.show();\n }\n\n //Delete function\n DeleteAccountMethod() {\n this._AccountService.fnDeleteAccount(this.accountId, this.status, localStorage.getItem('LoginUserId')).subscribe(res => {\n this._AccountService.formData.AccountStatus = \"1\";\n this.pageNumber = [];\n this.pageNumber[0] = true;\n this.currentPage=1;\n this._AccountService.formData.AccountName =\"\" ;this._AccountService.formData.AccountNumber=\"\";\n this._AccountService.formData.AccountType=\"\"; this._AccountService.formData.BranchCode=\"\",\n this._AccountService.formData.CreatedBy=null ,this._AccountService.formData.CreatedDate=\"\",\n this._AccountService.formData.CorporationCode=\"\",this._AccountService.formData.RequestType =\"\",\n this._AccountService.formData.AccountStatus=\"1\";\n this.showFirstPage(this._AccountService.formData.AccountName,this._AccountService.formData.AccountNumber,\n this._AccountService.formData.AccountType,this._AccountService.formData.BranchCode,\n this._AccountService.formData.CreatedBy,this._AccountService.formData.CreatedDate,\n this._AccountService.formData.CorporationCode,this._AccountService.formData.RequestType ,\n this._AccountService.formData.AccountStatus);\n this.lblMessage = res;\n if(res == 'Account Deleted Successfully.')\n {\n this.showerrormsg = false;\n this.showMsg = true;\n }\n else {\n this.showMsg = false;\n this.showerrormsg = true;\n }\n this.hide();\n this.onTop();\n },(err)=>{\n this.router.navigate([\"404\"]);\n });\n }\n\n // scroll on top function\n onTop() {\n window.scroll({\n top: 0,\n left: 0,\n behavior: 'smooth'\n })\n }\n\n //search function\n OnSearch(RequestType ,Status, AccountNumber, AccountName, AccountType, BranchCode, CorporationCode,CreatedDate,CreatedBy,SortOrder = \"\",pageNumber=\"\") {\n this.SpinnerService.show();\n this.pageNumber = [];\n this.pageNumber[0] = true;\n this._PaginationService.comingFromPreAndNext = false;\n \n if(CreatedDate == null || CreatedDate == undefined || CreatedDate == \"\")\n CreatedDate = \"\"; \n else if (CreatedDate != null && CreatedDate!=\"\") {\n CreatedDate = this.ngbDateParserFormatter.format(CreatedDate.singleDate.date);\n }\n \n\n if(this.ComingFromExport == false){\n this.AccountList(AccountName,AccountNumber,AccountType, BranchCode,CreatedBy,CreatedDate,CorporationCode,RequestType ,Status,this.sortOrder,'1');\n this.pageChanged(1); \n // this.SpinnerService.hide();\n } \n // this.ComingFromExport = false;\n // this.pageChanged(event); //Adding line seema 21/05/2020 16:51\n // this.FilteredAccountList = this.Accounts.filter(row => {\n // if(Status == \"1\")\n // return row.filterNewStatus == Status;\n // else if(Status == \"InActive\")\n // return row.filterNewStatus == Status;\n // else\n // return row.filterNewStatus.match(Status);\n // });\n\n // if (Status == '1' || Status == 'InActive') {\n // this.FilteredAccountList = this.Accounts.filter(row => { return row.filterNewStatus == Status; });\n // }\n // else{\n // this.FilteredAccountList = this.Accounts.filter(row => {\n // return row.filterNewStatus.match(Status);\n // });\n // }\n //\n \n if(this.ComingFromExport == true){\n this.FilterExportAccounts = this.ExportAccounts.filter(row => {\n return row.AccountNumber.toLocaleLowerCase().match(AccountNumber.toLocaleLowerCase());\n });\n \n var status = \"\";\n if(Status !=\"\"){\n if(Status == \"1\") { status = \"Active\"; } \n else if(Status == \"2\") {status = \"Pending\"; } \n else if(Status == \"0\") {status=\"InActive\" }\n else{status=\"\"};\n this.FilterExportAccounts = this.FilterExportAccounts.filter(row => {\n return row.AccountStatus == status;\n });\n }\n else{\n this.FilterExportAccounts = this.FilterExportAccounts.filter(row => {\n return row.AccountStatus.toLocaleLowerCase().match(status.toLocaleLowerCase());\n });\n }\n \n this.FilterExportAccounts = this.FilterExportAccounts.filter(row => {\n return row.AccountName.toLocaleLowerCase().match(AccountName.toLocaleLowerCase());\n });\n\n var accountType = \"\";\n if(AccountType !=\"\"){\n if(AccountType == \"1\"){ accountType = \"Saving A/c\"}\n else if(AccountType == \"2\"){ accountType = \"Current A/c\"}\n else if(AccountType == \"3\"){ accountType = \"Loan A/c\"}\n else if(AccountType == \"4\"){ accountType = \"Escrow A/c\"}\n else if(AccountType == \"5\"){ accountType = \"Correspondent A/c\"}\n else if(AccountType == \"6\"){ accountType = \"Virtual A/c\"}\n else{ accountType = \"\"}\n this.FilterExportAccounts = this.FilterExportAccounts.filter(row => {\n return row.AccountType.match(accountType);\n });\n \n }\n \n if(CreatedDate!=null && CreatedDate!=\"\"){\n this.FilterExportAccounts = this.FilterExportAccounts.filter(row => {\n return row.DateCreated == CreatedDate;\n });\n }\n if(CreatedBy != null && CreatedBy !=\"\"){\n this.FilterExportAccounts = this.FilterExportAccounts.filter(row => {\n return row.UserName.toLocaleLowerCase().match(CreatedBy.toLocaleLowerCase());\n });\n }\n this.FilterExportAccounts = this.FilterExportAccounts.filter(row => {\n return row.BranchName.toLocaleLowerCase().match(BranchCode.toLocaleLowerCase());\n });\n this.FilterExportAccounts = this.FilterExportAccounts.filter(row => {\n return row.CorporationCode.toLocaleLowerCase().match(CorporationCode.toLocaleLowerCase());\n });\n\n var requestType = \"\";\n if(RequestType == \"1\") { requestType = \"Add Approval Pending\"; } else if(RequestType == \"2\") {requestType = \"Add Approved\"; }\n else if(RequestType == \"3\") { requestType = \"Add Rejected\"; } else if(RequestType == \"4\") {requestType = \"Edit Approval Pending\"; }\n else if(RequestType == \"5\") { requestType = \"Edit Approved\"; } else if(RequestType == \"6\") {requestType = \"Edit Rejected\"; }\n else if(RequestType == \"7\") { requestType = \"Delete Approval Pending\"; } else if(RequestType == \"8\") {requestType = \"Delete Approved\"; }\n else if(RequestType == \"9\") { requestType = \"Delete Rejected\"; } else {RequestType = \"\"; }\n this.FilterExportAccounts = this.FilterExportAccounts.filter(row => {\n return row.RequestType.toLocaleLowerCase().match(requestType.toLocaleLowerCase());\n });\n this.ComingFromExport = false;\n }\n // this.SpinnerService.hide();\n // var j =0;\n // for (var i = 0; i < this.FilteredAccountList.length; i++) {\n // if(this.FilteredAccountList[i].IsDisableAccount){\n // j=j+1;\n // }\n // }\n // if(this.FilteredAccountList.length==j){\n // this.AllDeleteCheck=true;\n // }\n // else{\n // this.AllDeleteCheck=false;\n // }\n\n\n // if (AccountName != \"\" || AccountNumber != \"\" || AccountType != \"\" || BranchCode != \"\" || CorporationCode != \"\" || Status != \"\") {\n // this.ddlshowvalue=this.FilteredAccountList.length;\n // if (this.ddlshowvalue <= this.config.itemsPerPage) {\n // // this.ddlshowvalue = 0;\n // this.ddlshowvalue = this.ddlshowvalue;\n // this.ddlshowStartValue = 1;\n // }\n // else {\n // this.ddlshowvalue = 0;\n // this.ddlshowvalue = this.config.itemsPerPage;\n // this.ddlshowStartValue = 1;\n // }\n // // this.ddlshowvalue = 0;\n // // this.ddlshowvalue = this.config.itemsPerPage;\n // // this.ddlshowStartValue = 1;\n // this.searchCount = \"\";\n // this.searchCount = this.FilteredAccountList.length.toString();\n // this.filterCount = \"(filtered from \" + this.Accounts.length + \" total entries)\";\n // } \n // else {\n // if (this.ddlshowvalue <= this.config.itemsPerPage) {\n // // this.ddlshowvalue = 0;\n // this.ddlshowvalue = this.ddlshowvalue;\n // this.ddlshowStartValue = 1;\n // this.searchCount = this.Accounts.length.toString();\n // this.filterCount =\"\";\n // }\n // else {\n // this.ddlshowvalue = 0;\n // this.ddlshowvalue = this.config.itemsPerPage; \n // this.ddlshowStartValue = 1;\n // this.searchCount = this.Accounts.length.toString();\n // this.filterCount =\"\";\n // }\n // // this.ddlshowvalue = 0;\n // // this.ddlshowvalue = this.config.itemsPerPage;\n // // this.ddlshowStartValue = 1;\n // // //this.ddlshowvalue = this.config.currentPage*this.config.itemsPerPage;\n // // //this.ddlshowStartValue = this.ddlshowvalue - (this.config.itemsPerPage-1);\n // // this.searchCount = this.Accounts.length.toString();\n // // this.filterCount = \"\";\n // }\n // this.getCheckedBulkAuthorize();\n // if (this.FilteredAccountList.length!=0 && this.CheckerPrivillage==true && (RequestType==\"Add approval pending\" || RequestType==\"Edit approval pending\") && (Status==\"Pending\" || Status==\"\" )){\n // this.AddEditBulkApproval=true;\n // }\n // else{\n // this.AddEditBulkApproval=false;\n // this.AddEditBulkApprovalLabel=false;\n // }\n\n \n }\n\n fnShowonchange(newObj,AccountName,AccountNumber,AccountType, BranchCode,CreatedBy,CreatedDate,CorporationCode,RequestType ,Status) {\n // this.ddlshowvalue = 0;\n this.ddlDropdownValue= newObj.target.value;\n this.ddlshowvalue = newObj.target.value;\n this.ddlshowStartValue = 1;\n this.currentPage = 1;\n this.config = {\n itemsPerPage: this.ddlshowvalue,\n currentPage: 1,\n };\n this.pageNumber = [];\n this.pageNumber[0] = true;\n this._PaginationService.comingFromPreAndNext = false;\n\n if(CreatedDate == null || CreatedDate == undefined || CreatedDate == \"\")\n CreatedDate = \"\"; \n else if (CreatedDate != null && CreatedDate!=\"\") {\n CreatedDate = this.ngbDateParserFormatter.format(CreatedDate.singleDate.date);\n }\n\n this.AccountList(AccountName,AccountNumber,AccountType, BranchCode,CreatedBy,CreatedDate,CorporationCode,RequestType ,Status,this.sortOrder,\"1\");\n \n }\n \n //navigate to upload account form function\n AddbulkAccount() {\n this.router.navigate(['/UploadBulkAccount']);\n }\n\n \n // this lone for download PDF\n @ViewChild('tblAccountMasterhide', {static: false}) tblAccountMasterhide: ElementRef;\n @ViewChild('tblAccountMasterhidepdf', {static: false}) tblAccountMasterhidepdf: ElementRef;\n exportaccount(ddlValue){\n debugger;\n if(ddlValue === \"excel\"){\n this.fileName= 'AccountMasterReport.xlsx';\n //let element = document.getElementById('tblAccountMaster'); \n const ws: XLSX.WorkSheet = XLSX.utils.table_to_sheet(this.tblAccountMasterhide.nativeElement);\n\n /* generate workbook and add the worksheet */\n const wb: XLSX.WorkBook = XLSX.utils.book_new();\n XLSX.utils.book_append_sheet(wb, ws, 'Sheet1');\n\n /* save to file */\n XLSX.writeFile(wb, this.fileName);\n }\n if(ddlValue === \"rtf\"){\n this.fileName = 'AccountMasterReport.rtf';\n var ele = document.getElementById('tblAccountMasterhideRTF');\n var blob = new Blob([\"

Account Master's Report.


\"+ele.innerHTML+\"
\"], {\n type: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8\"\n });\n saveAs(blob, this.fileName);\n }\n\n if(ddlValue === \"html\"){\n this.fileName = 'AccountMasterReport.html'; \n var ele = document.getElementById('tblAccountMasterhide');\n var blob = new Blob([\"

Account Master's Report.


\"+ele.innerHTML+\"
\"], {\n type: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8\"\n });\n saveAs(blob, this.fileName);\n }\n if(ddlValue === \"pdf\"){\n this.SpinnerService.show();\n debugger\n let DATA = this.tblAccountMasterhidepdf.nativeElement;\n var ele = document.getElementById('tblAccountMasterhidepdf');\n let doc = new jsPDF('l','mm',[2800,1500]);\n var blob = new Blob([], {\n });\n let handleElement = {\n '#editor':function(element,renderer){\n return true;\n }\n };\n doc.fromHTML(\"

Account Master's Report.


\"+DATA.innerHTML+\"
\",15,15,{\n 'width':1500,\n 'elementHandlers': handleElement\n });\n doc.save('AccountMasterReport.pdf');\n this.SpinnerService.hide();\n }\n this.SpinnerService.hide();\n }\n\n // @ViewChild('tblAccountMasterhide') tblAccountMasterhide:ElementRef;\n ComingFromExport:boolean = false;\n fndownloadReport(ddlValue){ \n if(this.FilterExportAccounts.length == 0 || this.FilterExportAccounts == null || this.FilterExportAccounts == undefined){\n this.SpinnerService.show();\n this._AccountService.fnGetAccountListForExport(localStorage.getItem('LoginUserId')).subscribe(account=>{\n this.ExportAccounts = account;\n\n for (var i = 0; i < this.ExportAccounts.length; i++) {\n this.ExportAccounts[i].AccountNumber=this.decryptUsingAES256(this.ExportAccounts[i].AccountNumber);\n if(this.ExportAccounts[i].CreatedBy== this._encryption.decryptUsingAES256(localStorage.getItem('LoginUserId'))){\n this.ExportAccounts[i].IsDisableAccount = true;\n }\n }\n\n this.FilterExportAccounts = this.ExportAccounts;\n this.ComingFromExport = true;\n this.OnSearch(this._AccountService.formData.RequestType ,this._AccountService.formData.AccountStatus, this._AccountService.formData.AccountNumber\n , this._AccountService.formData.AccountName, this._AccountService.formData.AccountType , this._AccountService.formData.BranchCode\n , this._AccountService.formData.CorporationCode,this._AccountService.formData.CreatedDate,this._AccountService.formData.CreatedBy);\n \n setTimeout(() => {\n this.exportaccount(ddlValue);\n\n }, 500);\n });\n }\n else{\n this.SpinnerService.show();\n this.ComingFromExport = true;\n this.OnSearch(this._AccountService.formData.RequestType ,this._AccountService.formData.AccountStatus, this._AccountService.formData.AccountNumber\n , this._AccountService.formData.AccountName, this._AccountService.formData.AccountType , this._AccountService.formData.BranchCode\n , this._AccountService.formData.CorporationCode,this._AccountService.formData.CreatedDate,this._AccountService.formData.CreatedBy);\n setTimeout(() => {\n this.exportaccount(ddlValue); \n }, 500);\n }\n \n // if(ddlValue === \"pdf\"){\n // this.SpinnerService.show();\n // debugger\n // let DATA = this.tblAccountMasterhide.nativeElement;\n // var ele = document.getElementById('tblAccountMasterhide');\n // let doc = new jsPDF('p','pt',[4000,4000]);\n // var blob = new Blob([], {\n // });\n // let handleElement = {\n // '#editor':function(element,renderer){\n // return true;\n // }\n // };\n // doc.fromHTML(\"

Account Master's Report.


\"+ele.innerHTML+\"
\",15,15,{\n // //'width': 2000,\n // 'elementHandlers': handleElement\n // });\n // doc.save('AccountMasterReport.pdf');\n \n // // $(\"#dvAccountMasterhide\").css(\"display\", \"block\");\n // // this.fileName = 'AccountMasterReport.pdf';\n \n // //doc.save('AccountMasterReport.pdf');\n // this.SpinnerService.hide();\n \n // }\n\n \n } // fun closing\n\n // @ViewChild('tblAccountMasterhidepdf', {static: false}) tblAccountMasterhidepdf: ElementRef;\n fndownloadReportPdf(ddlValue){\n if(ddlValue === \"pdf\"){\n this.SpinnerService.show();\n debugger\n let DATA = this.tblAccountMasterhidepdf.nativeElement;\n var ele = document.getElementById('tblAccountMasterhidepdf');\n let doc = new jsPDF('l','mm',[2800,1500]);\n var blob = new Blob([], {\n });\n let handleElement = {\n '#editor':function(element,renderer){\n return true;\n }\n };\n doc.fromHTML(\"

Account Master's Report.


\"+DATA.innerHTML+\"
\",15,15,{\n 'width':1500,\n 'elementHandlers': handleElement\n });\n doc.save('AccountMasterReport.pdf');\n \n this.SpinnerService.hide();\n \n }\n }\n\n //grid record sort asc/desc function\n fnSortAccountMaster(field,obj){\n if(this.lastSortedByField === field) {\n this.ascendingOrder = !this.ascendingOrder;\n \n sortTableAccountMst(obj,this.ascendingOrder);\n }\n else {\n this.lastSortedByField = field;\n this.ascendingOrder = true;\n\n sortTableAccountMst(obj,this.ascendingOrder);\n }\n\n if(this.ascendingOrder) {\n this.FilteredAccountList = this.FilteredAccountList.sort((a, b) => {\n if(field == 'CurrentBalance'){\n if (Number(a[field]) < Number(b[field]))\n return -1;\n if (Number(a[field]) > Number(b[field]))\n return 1;\n }\n else if(field == 'CreatedDate'){\n if (a['DateCreated'].toLowerCase() < b['DateCreated'].toLowerCase())\n return -1;\n if (a['DateCreated'].toLowerCase() > b['DateCreated'].toLowerCase())\n return 1;\n \n }\n else{\n if (a[field].toLowerCase() < b[field].toLowerCase())\n return -1;\n if (a[field].toLowerCase() > b[field].toLowerCase())\n return 1;\n }\n return 0;\n });\n } else {\n this.FilteredAccountList = this.FilteredAccountList.sort((a, b) => {\n if(field == 'CurrentBalance'){\n if (Number(a[field]) < Number(b[field]))\n return 1;\n if (Number(a[field]) > Number(b[field]))\n return -1;\n }\n else if(field == 'CreatedDate'){\n if (a['DateCreated'].toLowerCase() < b['DateCreated'].toLowerCase())\n return 1;\n if (a['DateCreated'].toLowerCase() > b['DateCreated'].toLowerCase())\n return -1;\n \n }\n else{\n if (a[field].toLowerCase() < b[field].toLowerCase())\n return 1;\n if (a[field].toLowerCase() > b[field].toLowerCase())\n return -1;\n return 0;\n }\n });\n }\n }\n \n//#region ----------------------------------------- \n AllDeleteConfirmation(){\n this.AllDeleteShow();\n }\n\n checkUncheckAllAccount() {\n this.AllSelected=true;\n this.isActive = true;\n // this.chkValue=true;\n\n this.AccountSelected != this.AccountSelected;\n\n if (this.FilteredAccountList.length > 0) {\n for (var i = 0; i < this.FilteredAccountList.length; i++) {\n if(this.FilteredAccountList[i].IsDisableAccount != true){\n this.FilteredAccountList[i].IsAccountSelected = this.AccountSelected;\n } \n }\n }\n else\n {\n for (var i = 0; i < this.listLengthForSelect; i++) {\n if(this.Accounts[i].IsDisableAccount != true){\n this.Accounts[i].IsAccountSelected = this.AccountSelected; \n }\n }\n }\n\n this.getCheckedItemList();\n }\n\n isChecked(UserId,status){\n this.AllSelected=false;\n this.IsAccountSelected != status;\n for (var i = 0; i < this.listLengthForSelect; i++) {\n this.Accounts[i].IsAccountSelected == this.IsAccountSelected; \n }\n this.getCheckedItemList();\n }\n\n getCheckedItemList(){\n\n this.checkedList = [];\n for (var i = 0; i < this.listLengthForSelect; i++) {\n if(this.Accounts[i].IsAccountSelected == true)\n this.checkedList.push(this.Accounts[i]);\n }\n this.checkedList = this.checkedList;\n\n if(this.checkedList.length > 2){\n this.BulkDelete = false;\n }\n else{\n this.BulkDelete = true;\n }\n }\n\n AllDeleteConfirm(){\n this.FilteredAccountList.forEach(element => {\n if(element.IsAccountSelected == true){\n this._AccountService.fnBulkDeleteAccount(element.AccountId, element.AccountStatus, (localStorage.getItem('LoginUserId'))).subscribe(res => {\n this.AccountList(\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"1\",this.sortOrder,\"1\"); \n this.lblMessage = res;\n this.hide();\n // this.lblMessage=\"All Account Deleted Successfully except Account Number used in Other Master. \"\n \n this.lblMessage=\"All Selected Accounts Deleted Successfully . \"\n this.showlbl();\n this.onTop();\n this.AllDeletehide();\n },(err)=>{\n this.router.navigate([\"404\"]);\n });\n }\n });\n }\n\n SelectAllAccount(){\n this.isActive = true;\n this.AllAccchk=true;\n this.AllDeleteShow();\n }\n//#endregion\n\nonKeyDown(event: KeyboardEvent) {\n \n let a= (event.charCode == 8 || event.charCode == 45 || event.charCode == 0 ) ? null : event.charCode >= 48 && event.charCode <= 57;\nreturn a;\n}\n\n//#region -----------------------------------------\ncheckall(){\n if (this.FilteredAccountList.length > 0) {\n for (var i = 0; i < this.FilteredAccountList.length; i++) {\n if(this.FilteredAccountList[i].IsDisableAccount != true){\n this.FilteredAccountList[i].IsAccountSelected = this.AccountSelected;\n } \n }\n }\n else\n {\n for (var i = 0; i < this.listLengthForSelect; i++) {\n if(this.Accounts[i].IsDisableAccount != true){\n this.Accounts[i].IsAccountSelected = this.AccountSelected; \n }\n }\n }\n if (this.FilterExportAccounts.length > 0) {\n for (var i = 0; i < this.FilterExportAccounts.length; i++) {\n if(this.FilterExportAccounts[i].IsDisableAccount != true){\n this.FilterExportAccounts[i].IsAccountSelected = this.AccountSelected;\n } \n }\n }\n else\n {\n for (var i = 0; i < this.ExportAccounts.length; i++) {\n if(this.ExportAccounts[i].IsDisableAccount != true){\n this.ExportAccounts[i].IsAccountSelected = this.AccountSelected; \n }\n }\n }\n this.getCheckedBulkAuthorize();\n}\ncheckUncheckAllBulkApproval() {\n if(this.FilterExportAccounts.length == 0 || this.FilterExportAccounts == null || this.FilterExportAccounts == undefined){\n this.SpinnerService.show();\n this._AccountService.fnGetAccountListForExport(localStorage.getItem('LoginUserId')).subscribe(account=>{\n this.ExportAccounts = account;\n\n for (var i = 0; i < this.ExportAccounts.length; i++) {\n this.ExportAccounts[i].AccountNumber=this.decryptUsingAES256(this.ExportAccounts[i].AccountNumber);\n if(this.ExportAccounts[i].CreatedBy== this._encryption.decryptUsingAES256(localStorage.getItem('LoginUserId'))){\n this.ExportAccounts[i].IsDisableAccount = true;\n }\n }\n\n this.FilterExportAccounts = this.ExportAccounts;\n this.ComingFromExport = true;\n this.OnSearch(this._AccountService.formData.RequestType ,this._AccountService.formData.AccountStatus, this._AccountService.formData.AccountNumber\n , this._AccountService.formData.AccountName, this._AccountService.formData.AccountType , this._AccountService.formData.BranchCode\n , this._AccountService.formData.CorporationCode,this._AccountService.formData.CreatedDate,this._AccountService.formData.CreatedBy);\n \n setTimeout(() => {\n this.checkall();\n this.SpinnerService.hide();\n }, 500);\n });\n }\n else{\n this.SpinnerService.show();\n this.ComingFromExport = true;\n this.OnSearch(this._AccountService.formData.RequestType ,this._AccountService.formData.AccountStatus, this._AccountService.formData.AccountNumber\n , this._AccountService.formData.AccountName, this._AccountService.formData.AccountType , this._AccountService.formData.BranchCode\n , this._AccountService.formData.CorporationCode,this._AccountService.formData.CreatedDate,this._AccountService.formData.CreatedBy);\n setTimeout(() => {\n this.checkall();\n this.SpinnerService.hide();\n }, 500);\n}\n \n // this.getCheckedItemList();\n\n// this.AccountSelected != this.AccountSelected;\n// if (this.FilteredAccountList.length > 0) {\n// for (var i = 0; i < this.FilteredAccountList.length; i++) {\n// this.FilteredAccountList[i].IsAccountSelected = this.AccountSelected; \n// }\n// }\n// if(this.AccountSelected==true){\n// this.AddEditBulkApprovalLabel=true;\n// }\n// else{\n// this.AddEditBulkApprovalLabel=false;\n// }\n\n}\n\nsingleCheck(AccountId,status){\n \n this.AllSelected=false;\n for (var i = 0; i < this.listLengthForSelect; i++) {\n if(this.Accounts[i].AccountId == AccountId)\n this.Accounts[i].IsAccountSelected = status; \n }\n \n for (var i = 0; i < this.FilterExportAccounts.length; i++) {\n if(this.FilterExportAccounts[i].AccountId == AccountId)\n this.FilterExportAccounts[i].IsAccountSelected = status; \n }\n \n this.getCheckedBulkAuthorize();\n }\nIsBulkAutherizeCheck(AccountId,status){\n \n if(this.FilterExportAccounts.length == 0 || this.FilterExportAccounts == null || this.FilterExportAccounts == undefined){\n this.SpinnerService.show();\n this._AccountService.fnGetAccountListForExport(localStorage.getItem('LoginUserId')).subscribe(account=>{\n this.ExportAccounts = account;\n\n for (var i = 0; i < this.ExportAccounts.length; i++) {\n this.ExportAccounts[i].AccountNumber=this.decryptUsingAES256(this.ExportAccounts[i].AccountNumber);\n if(this.ExportAccounts[i].CreatedBy== this._encryption.decryptUsingAES256(localStorage.getItem('LoginUserId'))){\n this.ExportAccounts[i].IsDisableAccount = true;\n }\n }\n\n this.FilterExportAccounts = this.ExportAccounts;\n this.ComingFromExport = true;\n this.OnSearch(this._AccountService.formData.RequestType ,this._AccountService.formData.AccountStatus, this._AccountService.formData.AccountNumber\n , this._AccountService.formData.AccountName, this._AccountService.formData.AccountType , this._AccountService.formData.BranchCode\n , this._AccountService.formData.CorporationCode,this._AccountService.formData.CreatedDate,this._AccountService.formData.CreatedBy);\n \n setTimeout(() => {\n this.singleCheck(AccountId,status);\n this.SpinnerService.hide();\n }, 500);\n });\n }\n else{\n this.SpinnerService.show();\n this.ComingFromExport = true;\n this.OnSearch(this._AccountService.formData.RequestType ,this._AccountService.formData.AccountStatus, this._AccountService.formData.AccountNumber\n , this._AccountService.formData.AccountName, this._AccountService.formData.AccountType , this._AccountService.formData.BranchCode\n , this._AccountService.formData.CorporationCode,this._AccountService.formData.CreatedDate,this._AccountService.formData.CreatedBy);\n setTimeout(() => {\n this.singleCheck(AccountId,status);\n this.SpinnerService.hide();\n }, 500);\n }\n}\n\ngetCheckedBulkAuthorize(){\n this.checkedBulkList = [];\n // for (var i = 0; i < this.listLengthForSelect; i++) {\n // if(this.Accounts[i].IsAccountSelected == true)\n // this.checkedBulkList.push(this.Accounts[i]);\n // }\n for (var i = 0; i < this.FilterExportAccounts.length; i++) {\n if(this.FilterExportAccounts[i].IsAccountSelected == true)\n this.checkedBulkList.push(this.FilterExportAccounts[i]);\n }\n \n this.checkedList = this.checkedBulkList;\n if(this.checkedBulkList.length >= 1){\n this.AddEditBulkApprovalLabel=true;\n }\n else{\n this.AddEditBulkApprovalLabel=false;\n }\n}\n\nselectAccountList:Account[];\nBulkAuthorizeConfirm(){\n \n// this.FilteredAccountList;\n this.selectAccountList=[];\n \n\n// for(var i=0;i0){\n this._AccountService.fnBulkAccountAuthorize(this.selectAccountList,localStorage.getItem('LoginUserId'),this.AuthorizeStatus).subscribe(res => { \n this.AccountList(\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"1\",\"Created_DESC\",\"1\");\n this.pageNumber = []; \n this.pageNumber[0] = true; \n this.UncheckAllcheckbox();\n //this.OnSearch(\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"1\",\"Created_DESC\",\"1\");\n this.AddEditBulkApprovalLabel=false;\n this.showModalForAllDelete=false;\n this.onTop();\n \n this.showMsg=true;\n this.lblMessage=\"Bulk Authorize Completed For All Selected Records Succesfully\"; \n }\n ,(err)=>{\n this.router.navigate([\"404\"]);\n });\n }\n \n \n\n}\n\nApproved(){\n this.showModalForAllDelete = true;\n $(document).ready(function () {\n $('#IDshowModalForAuthorize').eq(0).focus();\n});\n this.ConfirmationMsg = \"Approve\"\n this.AuthorizeStatus = 2;\n this._AccountService.formData.RequestType = \"\";\n this._AccountService.formData.AccountStatus = \"1\";\n}\n\nRejectd(){\n this.showModalForAllDelete = true;\n $(document).ready(function () {\n $('#IDshowModalForAuthorize').eq(0).focus();\n});\n this.ConfirmationMsg = \"Reject\";\n this.AuthorizeStatus = 3;\n this._AccountService.formData.RequestType = \"\";\n this._AccountService.formData.AccountStatus = \"1\";\n}\n\nUncheckAllcheckbox(){\n this.AccountSelected=false;\n this.AddEditBulkApprovalLabel=false;\n for (var i = 0; i < this.FilteredAccountList.length; i++) {\n this.FilteredAccountList[i].IsAccountSelected = false;\n }\n for (var i = 0; i < this.FilterExportAccounts.length; i++) {\n this.FilterExportAccounts[i].IsAccountSelected = false;\n}\n}\n\n//#endregion Bulk Authorize -----------------------------------------\n\n//navigate to Accout audit ruport function\nAccounAuditHistory(AccountId){\n AccountId=this._encryption.encryptUsingAES256(AccountId)\n let navigationExtras: NavigationExtras = {\n queryParams: {\n AccountId\n }\n};\nthis.router.navigate([\"AccountAuditReportById\"], navigationExtras); \n //localStorage.setItem(\"AuditaccId\",String(acc.AccountId));\n // this.router.navigate(['/AccountAuditReport']);\n}\n\nGetHistoryPrivillage(){\n this.LoginAccessList= this._login.LoginAccessList;\n this.LoginAccessList.forEach(element => {\n if(element.menuName==\"Reports\")\n {\n element.moduleList.forEach(element => {\n if(element[\"moduleName\"]=='Account Audit Trail')\n { \n this.HistoryPrivllage=true;\n } \n });\n }\n });\n}\n\nfnOpengearMenu(){\n $(\".icon-cog\").trigger(\"click\"); \n}\n\nfnsubOpengearMenu(){\n $('[class=\"dropdown-menu\"]').trigger(\"click\").css('display','block');\n}\n\n\n\n//------------------method for pagination-------------------- \n//-------------------------pagination start------------------------------------------\n\n pageNo: any = 1; \n pageNumber: boolean[] = []; \n sortOrder: any = 'CreatedDate_DESC'; \n order:any='CreatedDate'; \n \n pageField = []; \n exactPageList: any; \n paginationData: number; \n orderBy: string='Desc'; \n \n totalCount: any; \n currentPage = 1; \n ComingFromLast:boolean = false;\n ComingFromFirst:boolean = false;\n\ntotalNoOfPages() { \n if(this.ComingFromLast == true){\n this.pageNumber = []; \n this.pageNumber[this._PaginationService.pageNumberShow - 1] = true; \n this.ComingFromLast = false;\n }\n if(this.ComingFromFirst == true){\n this.pageNumber = []; \n this.pageNumber[0] = true;\n this.ComingFromFirst = false;\n } \n this.filterCount = this.totalCount;\n this.paginationData = Number(this.totalCount/this.config.itemsPerPage); \n let tempPageData = this.paginationData.toFixed(); \n if (Number(tempPageData) < this.paginationData) { \n this.exactPageList = Number(tempPageData) + 1; \n this._PaginationService.exactPageList = this.exactPageList; \n } else { \n this.exactPageList = Number(tempPageData); \n this._PaginationService.exactPageList = this.exactPageList \n }\n if(this._PaginationService.exactPageList < 10){\n // this._PaginationService.temppage = 0;\n this._PaginationService.pageNumberShow = this._PaginationService.exactPageList;\n this._PaginationService.disabledPrevBtn = true;\n this._PaginationService.disabledNextBtn = true;\n }\n else{\n // this._PaginationService.temppage = 0;\n this._PaginationService.pageNumberShow = 10;\n } \n this._PaginationService.pageOnLoad(); \n this.pageField = this._PaginationService.pageField; \n\n if(this.pageField.length < 10){\n this._PaginationService.disabledNextBtn = true;\n this._PaginationService.disabledPrevBtn = true;\n }\n} \n\nshowAccountsByPageNumber(page, i,AccountName,AccountNumber,AccountType, BranchCode,CreatedBy,CreatedDate,CorporationCode,RequestType ,Status) { \n // this.FilteredAccountList = []; \n this.pageNumber = []; \n this.pageNumber[i] = true; \n this.pageNo = page; \n this.currentPage =page; \n\n if(CreatedDate == null || CreatedDate == undefined || CreatedDate == \"\")\n CreatedDate = \"\"; \n else if (CreatedDate != null && CreatedDate!=\"\") {\n CreatedDate = this.ngbDateParserFormatter.format(CreatedDate.singleDate.date);\n }\n\n this.AccountList(AccountName,AccountNumber,AccountType, BranchCode,CreatedBy,CreatedDate,CorporationCode,RequestType ,Status, this.sortOrder); \n this.pageChanged(this.pageNo); \n} \n\nshowPrevAccounts(AccountName,AccountNumber,AccountType, BranchCode,CreatedBy,CreatedDate,CorporationCode,RequestType ,Status) { \n \n if (this._PaginationService.showNoOfCurrentPage != 1) { \n this._PaginationService.pageNumberShow = 10;\n this._PaginationService.prevValue(); \n this.pageNumber = []; \n this.pageNumber[0] = true; \n this.currentPage = this._PaginationService.pageField[0]; \n this.pageNo = this._PaginationService.pageField[0];\n\n if(CreatedDate == null || CreatedDate == undefined || CreatedDate == \"\")\n CreatedDate = \"\"; \n else if (CreatedDate != null && CreatedDate!=\"\") {\n CreatedDate = this.ngbDateParserFormatter.format(CreatedDate.singleDate.date);\n }\n\n this.AccountList(AccountName,AccountNumber,AccountType, BranchCode,CreatedBy,CreatedDate,CorporationCode,RequestType ,Status, this.sortOrder); \n this.pageChanged(this.pageNo); \n } \n\n} \n\nshowFirstPage(AccountName,AccountNumber,AccountType, BranchCode,CreatedBy,CreatedDate,CorporationCode,RequestType ,Status){\n \n // if (this._PaginationService.showNoOfCurrentPage != 1) { \n this._PaginationService.temppage = 10;\n this._PaginationService.pageNumberShow = 10;\n this._PaginationService.showNoOfCurrentPage = 1;\n this._PaginationService.FirstValue(); \n // this.pageNumber = []; \n // this.pageNumber[0] = true; \n this.currentPage = this._PaginationService.pageField[0]; \n this.pageNo = this._PaginationService.pageField[0];\n\n if(CreatedDate == null || CreatedDate == undefined || CreatedDate == \"\")\n CreatedDate = \"\"; \n else if (CreatedDate != null && CreatedDate!=\"\") {\n CreatedDate = this.ngbDateParserFormatter.format(CreatedDate.singleDate.date);\n }\n\n this.AccountList(AccountName,AccountNumber,AccountType, BranchCode,CreatedBy,CreatedDate,CorporationCode,RequestType ,Status, this.sortOrder); \n this.pageChanged(this.pageNo);\n this.ComingFromFirst = true;\n // } \n}\n\nshowLastPage(AccountName,AccountNumber,AccountType, BranchCode,CreatedBy,CreatedDate,CorporationCode,RequestType ,Status){\n\n\n// if(this._PaginationService.disabledNextBtn == false){\n \n this._PaginationService.temppage = this._PaginationService.exactPageList;\n if(this._PaginationService.exactPageList%10 == 0)\n this._PaginationService.pageNumberShow = 10;\n else \n this._PaginationService.pageNumberShow = this._PaginationService.exactPageList%10;\n\n this._PaginationService.showNoOfCurrentPage = Math.ceil(this._PaginationService.exactPageList/10);\n this._PaginationService.comingFromPreAndNext = true;\n this._PaginationService.LastValue(); \n \n this.currentPage = this._PaginationService.pageField[this._PaginationService.pageNumberShow - 1]; \n this.pageNo = this._PaginationService.pageField[this._PaginationService.pageNumberShow - 1];\n\n if(CreatedDate == null || CreatedDate == undefined || CreatedDate == \"\")\n CreatedDate = \"\"; \n else if (CreatedDate != null && CreatedDate!=\"\") {\n CreatedDate = this.ngbDateParserFormatter.format(CreatedDate.singleDate.date);\n }\n \n this.AccountList(AccountName,AccountNumber,AccountType, BranchCode,CreatedBy,CreatedDate,CorporationCode,RequestType ,Status, this.sortOrder);\n this.pageChanged(this.pageNo); \n this.ComingFromLast = true;\n\n// }\n}\n\nsortByHeading(value: string, id , AccountName,AccountNumber,AccountType, BranchCode,CreatedBy,CreatedDate,CorporationCode,RequestType ,Status) { \n this.sortOrder = value; \n this.order =value; \n if (this.orderBy == \"Desc\") { \n this.orderBy = \"Asc\" \n this.sortOrder =this.sortOrder+'_ASC'; \n sortTableAccountMst(id,true);\n } else { \n this.orderBy = \"Desc\"; \n this.sortOrder =this.sortOrder+'_DESC';\n sortTableAccountMst(id,false); \n } \n\n if(CreatedDate == null || CreatedDate == undefined || CreatedDate == \"\")\n CreatedDate = \"\"; \n else if (CreatedDate != null && CreatedDate!=\"\") {\n CreatedDate = this.ngbDateParserFormatter.format(CreatedDate.singleDate.date);\n }\n\n this.AccountList(AccountName,AccountNumber,AccountType, BranchCode,CreatedBy,CreatedDate,CorporationCode,RequestType ,Status,\n this.sortOrder); \n this.pageChanged(this.pageNo); \n\n} \n\nshowNext(AccountName,AccountNumber,AccountType, BranchCode,CreatedBy,CreatedDate,CorporationCode,RequestType ,Status) { \n\n if (this._PaginationService.disabledNextBtn == false) { \n this.pageNumber = []; \n this._PaginationService.nextValue(); \n this.pageNumber[0] = true; \n this.currentPage = this._PaginationService.pageField[0]; \n this.pageNo = this._PaginationService.pageField[0]; \n\n if(CreatedDate == null || CreatedDate == undefined || CreatedDate == \"\")\n CreatedDate = \"\"; \n else if (CreatedDate != null && CreatedDate!=\"\") {\n CreatedDate = this.ngbDateParserFormatter.format(CreatedDate.singleDate.date);\n }\n\n this.AccountList(AccountName,AccountNumber,AccountType, BranchCode,CreatedBy,CreatedDate,CorporationCode,RequestType ,Status, this.sortOrder);\n this.pageChanged(this.pageNo); \n } \n} \n\nAuthorize(Account: AccountMaster) {\n Account.userId = +localStorage.getItem('LoginUserId');\n let viewMode = 'authorize';\n let navigationExtras: NavigationExtras = {\n queryParams: {\n viewMode\n }\n };\n if (viewMode == 'authorize') {\n localStorage.setItem('accountDataId',String(Account.AccountId));\n this.router.navigate([\"AddAccount\"], navigationExtras);\n }\n}\n}\n\n","
\n
\n \n
\n
\n
\n \n
\n
\n

Account Master

\n
\n
\n
\n
\n\n
\n
\n
\n ×\n Success! {{lblMessage}}\n
\n\n
\n
\n
\n ×\n {{lblMessage}}\n
\n
\n \n \n
\n
\n \n \n\n
\n Please Enter a valid Account Name\n
\n
\n\n
\n \n \n\n
\n Please Enter a valid Account Number\n
\n
\n\n
\n \n \n
\n\n
\n \n \n\n
\n Please Enter a valid Branch Name\n
\n
\n\n
\n \n \n\n
\n Please Enter a valid Name\n
\n
\n\n
\n \n
\n \n
\n \n
\n
\n
\n Please Enter a valid Date Format\n
\n
\n \n
\n \n
\n\n
\n \n \n\n
\n Please Enter a valid Corporation Code\n
\n
\n\n
\n
\n \n
\n \n
\n
\n \n
\n
\n \n \n \n \n
\n
\n
\n\n
\n\n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n\n\n
\n \n
\n \n \n
\n \n
\n \n \n\n
\n
\n \n \n \n
\n
\n \n \n \n \n
\n \n
\n\n
\n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n\n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Account NameAccount NumberAccount TypeCorporation CodeBalanceCreated ByCreated / Updated Date & TimeRequest TypeStatus\n \n Action\n \n \n
\n \n \n
\n
{{account.AccountName}}{{account.AccountNumber}}{{account.AccountType}}{{account.CorporationCode}}{{account.CurrentBalance}}{{account.UserName}}{{account.CreatedDate}}{{account.RequestType}}{{account.AccountStatus}}\n
\n \n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n
\n
\n \n \n
\n
No records found.
\n\n
\n
\n \n
\n
\n \n\n
\n
\n
\n \n
\n Page {{currentPage}} of Total page {{_PaginationService.exactPageList}} \n
\n\n
\n
\n
\n
\n
\n \" class=\"nav-link\" class=\"btn btn-primary btn-md text-white pull-right\" id=\"navbarDropdownMenuLink\" data-toggle=\"dropdown\" \n style=\"margin-top: -0.25em;margin-left: 2.5em;color:#4ad4e3;font-size: 15px;;\" aria-haspopup=\"true\" \n aria-expanded=\"false\"/>\n \n \n \n \n \n \n \n
\n \n
\n \n \n\n \n \n
\n
\n
\n\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Account NameAccount NumberAccount TypeCustomer NameBranch NameContact PersonMobile NumberEmail Id Current BalanceCurrency CodeBase CurrencyForeign CurrencyAccount DescriptionStatusCreated ByCreated DateUpdated ByUpdated Date
{{account.AccountName}}{{account.AccountNumber}}{{account.AccountType}}{{account.CustomerName}}{{account.BranchName}}{{account.ContactPerson}}{{account.MobileNumber}}{{account.EmailId}}{{account.CurrentBalance}}{{account.CurrencyCode}}{{account.BaseCurrency}}{{account.ForeignCurrency}}{{account.AccountDiscription}}{{account.AccountStatus}}{{account.UserName}}{{account.CreatedDate}}{{account.UpdatedName}}{{account.UpdatedDate}}
\n\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Account NameAccount NumberAccount TypeCorporation CodeBalanceCreated ByCreated Date & TimeRequest TypeStatus
{{account.AccountName}}{{account.AccountNumber}}{{account.AccountType}}{{account.CorporationCode}}{{account.CurrentBalance}}{{account.UserName}}{{account.CreatedDate}}{{account.RequestType}}{{account.AccountStatus}}
\n\n
\n\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Account NameAccount NumberAccount TypeCorporation CodeBalanceCreated ByCreated Date & TimeRequest TypeStatus
{{account.AccountName}}{{account.AccountNumber}}{{account.AccountType}}{{account.CorporationCode}}{{account.CurrentBalance}}{{account.UserName}}{{account.CreatedDate}}{{account.RequestType}}{{account.AccountStatus}}
\n\n
\n\n\n
\n
\n
\n
\n

Confirmation

\n \n
\n
\n

Are you sure you want to delete?

\n
\n
\n \n \n
\n
\n
\n
\n\n\n
\n
\n
\n
\n

Confirmation

\n \n
\n
\n

Are you sure you want to {{ConfirmationMsg}} All Selected Records?

\n
\n
\n \n \n
\n
\n
\n
\n\n \n ","import { Component, OnInit , ViewEncapsulation} from '@angular/core';\nimport { AccountLinkMaster, SweepMethodClass } from 'src/app/MasterService/AccountLinkMaster';\nimport { CustomerService } from 'src/app/MasterService/customer.service';\nimport { AccountLinkMasterService } from 'src/app/MasterService/account-link-master.service';\nimport { NgxSpinnerService } from 'ngx-spinner';\nimport { Router } from '@angular/router';\nimport { RoleAccess } from 'src/app/MasterService/RoleAccess';\nimport { RoleAccessService } from 'src/app/MasterService/role-access.service';\nimport { EncryptdecryptService } from 'src/app/MasterService/encryptdecrypt.service';\nimport { AccountlinkComponent } from '../accountlink/accountlink.component';\nimport { throwIfAlreadyLoaded } from 'src/app/@core/module-import-guard';\nimport { stat } from 'fs';\nimport { IfStmt } from '@angular/compiler';\nimport { IDropdownSettings } from 'ng-multiselect-dropdown';\nimport { event } from 'jquery';\nimport { runInNewContext } from 'vm';\n\ndeclare var sortTableAccountLinkMst: Function;\ndeclare var showCustomerDropdown: any;\ndeclare var showTriggerPointDropdown: any;\n\n@Component({\n selector: 'app-sweep-execution',\n templateUrl: './sweep-execution.component.html',\n styleUrls: ['./sweep-execution.component.css'],\n encapsulation: ViewEncapsulation.None\n})\nexport class SweepExecutionComponent implements OnInit {\n\n constructor(private router: Router, public _customerService: CustomerService, public _accountLinkMaster: AccountLinkMasterService, private _spinner: NgxSpinnerService, public _roleAccess: RoleAccessService, public _encrypt: EncryptdecryptService) { }\n\n //#region \n ddlshowStartValue: number;\n AccountLinkingList: AccountLinkMaster[];\n lblMessage: string;\n FilteredAccountLinkList: AccountLinkMaster[];\n lastSortedByField;\n ascendingOrder = true;\n showMsg: boolean;\n showErrorMsg: boolean;\n config: any;\n ddlshowvalue: number;\n searchCount: number;\n filterCount: string;\n allCustList: any = [];\n CustomerId: string = \"\";\n SelectStatus: number = 7;\n VerifyStatus: number = null;\n IsSubmitted: boolean = false;\n allStatus: any = [];\n\n showSweepModal: boolean;\n showReverseSweepModal: boolean;\n\n RoleAccess: RoleAccess;\n AddEditAccess: boolean = false;\n showSuccessModal: boolean;\n\n\n AccountLinkId: string;\n isCheckerBulkRequest: boolean = false;\n\n\n AllCustomerSelect: boolean = true;\n TriggerPointList: any = [];\n VerifyBulkApprovalLabel: boolean;\n isAlldisable: boolean;\n\n // #region \n CustselectedItems = [];\n TriggerPointselectedItems = [];\n CustomerdropdownSettings: IDropdownSettings = {};\n TriggerPointdropdownSettings: IDropdownSettings = {};\n // #endregion\n //#endregion\n\n ngOnInit(): void {\n this._spinner.show();\n this.onTop();\n this.GetPrivillageRoles(); // get role privillage\n this.fnGetSweepMethodSiteConfiguration(); //get sweep method from site config\n this.config = {\n itemsPerPage: 10,\n currentPage: 1,\n };\n this.ddlshowvalue = 10;\n\n sortTableAccountLinkMst(6, false); //sort the list in asc/desc order\n localStorage.setItem('BackPage', '');\n\n this.lblMessage = localStorage.getItem(\"Msg\");\n\n if (this.lblMessage == null || this.lblMessage == \"\") {\n\n } else {\n this.lblMessage == localStorage.getItem(\"Msg\");\n this.showMsg = true;\n this.showErrorMsg = false;\n localStorage.removeItem(\"Msg\");\n this.onTop();\n }\n\n //set a status dropdown value \n this.allStatus = [\n { 'status': 7, 'AccLinkStatusName': 'Pending Sweep Approval' },\n { 'status': 9, 'AccLinkStatusName': 'Sweep Balance Approved' },\n { 'status': 11, 'AccLinkStatusName': 'Sweep Balance Rejected' },\n { 'status': 10, 'AccLinkStatusName': 'Reverse Sweep Balance Approved' },\n { 'status': 12, 'AccLinkStatusName': 'Reverse Sweep Balance Rejected' }\n ]\n\n //customer dropdown setting\n this.CustomerdropdownSettings = {\n singleSelection: false,\n idField: 'CustPkId',\n textField: 'CustomerName',\n selectAllText: 'Select All',\n unSelectAllText: 'UnSelect All',\n itemsShowLimit: 1,\n allowSearchFilter: true,\n enableCheckAll: true,\n };\n\n }\n Opendropdown() {\n //$('.dropdown-list')[0].hidden=false;\n }\n\n onItemSelect(item: any) {\n console.log(item);\n }\n onSelectAll(items: any) {\n console.log(items);\n }\n\n showlbl() {\n this.showMsg = true;\n }\n hidelbl() {\n this.showMsg = false;\n }\n\n showErrorlbl() {\n this.showErrorMsg = true;\n }\n hideErrorlbl() {\n this.showErrorMsg = false;\n }\n\n AccountLinkList() {\n this.AccountLinkingList = [];\n this._accountLinkMaster.fnGetAccountLinkList(localStorage.getItem('LoginUserId')).subscribe(accountsLink => {\n\n if (this.RoleAccess.CheckerAccess == true) {\n accountsLink.forEach(ele => {\n if (\n (ele[\"status\"] == \"2\" || ele[\"status\"] == \"7\" || ele[\"status\"] == \"9\" || ele[\"status\"] == \"10\" || \n ele[\"status\"] == \"11\") || ele[\"status\"] == \"12\" || (ele[\"status\"] == \"5\" && ele[\"IsLastApproved\"] == 1) ||\n (ele[\"status\"] == \"3\" && ele[\"IsLastApproved\"] == 1))\n this.AccountLinkingList.push(ele);\n\n // if(ele[\"SweepApprovalRequestedBy\"] != +this._encrypt.decryptUsingAES256(localStorage.getItem(\"LoginUserId\")) && \n // (ele[\"status\"] == \"2\" || ele[\"status\"] == \"7\" || ele[\"status\"] == \"9\" || ele[\"status\"] == \"10\" || ele[\"status\"] == \"11\") || ele[\"status\"] == \"12\")\n // this.AccountLinkingList.push(ele);\n\n // if(this.ActionType == \"1\" && ele[\"SweepApprovalRequestedBy\"] != +this._encrypt.decryptUsingAES256(localStorage.getItem(\"LoginUserId\")) ){\n // this.AccountLinkingList.push(ele);\n // }\n });\n }\n else {\n //seema 13/01/2021 12:43 PM adding row.status == \"11\"\n //added condition for status=1\n this.AccountLinkingList = accountsLink.filter(row => {\n return ((row.status == \"2\") || (row.status == \"9\") || row.status == \"10\" || row.status == \"11\" || row.status == \"12\" || \n (row.status == \"5\" && row.IsLastApproved == 1) || (row.status == \"3\" && row.IsLastApproved == 1) || (row.status ==\"1\" && row.IsLastApproved == 1));\n });\n // this.AccountLinkingList = this.AccountLinkingList.filter(row => \n // { return (row.CreatedById == +this._encrypt.decryptUsingAES256(localStorage.getItem(\"LoginUserId\"))) \n // });\n }\n\n this.FilteredAccountLinkList = this.AccountLinkingList;\n this.listLengthForSelect = this.AccountLinkingList.length;\n\n\n // if(this.RoleAccess.CheckerAccess && !this.AddEditAccess){\n // this.SelectCustomerType(\"4\"); \n // }\n // else\n this.SelectCustomerType(\"2\");\n // this.OnSearch(\"Approved\",\"\",\"\");\n setTimeout(() => {\n this._spinner.hide();\n }, 500);\n })\n }\n\n GetPrivillageRoles() {\n this._roleAccess.fnGetRoleAccess(localStorage.getItem('LoginUserId'), '/AccountLinkList').subscribe(roleAccess => {\n this.RoleAccess = roleAccess[0];\n if (roleAccess[0].AddAccess && roleAccess[0].EditAccess) {\n this.AddEditAccess = true;\n }\n this.AccountLinkList(); //get account list\n });\n }\n\n is4EyeCustomer: boolean = false;\n OtherUserAccountLink: boolean = false;\n\n SelectCustomer() {\n this.showMsg = false;\n this.showErrorMsg = false;\n if (this.CustomerId != null && this.CustomerId != \"\") {\n // this.FilteredAccountLinkList = this.AccountLinkingList.filter(row => { return (row.CustomerId == this.CustomerId); });\n if (this.FilteredAccountLinkList[0].SweepExecutionApproval == 2)\n this.is4EyeCustomer = true;\n else\n this.is4EyeCustomer = false;\n }\n else {\n this.FilteredAccountLinkList = this.AccountLinkingList;\n this.is4EyeCustomer = false;\n }\n this.FilteredAccountLinkList.forEach(ele => {\n ele[\"IsAcLinkSelected\"] = false;\n var custObj = { CustPkId: 0, CustomerName: \"\", AccLinkStatusName: \"\", status: \"\", CreatedBy: \"\" };\n custObj.CustPkId = ele.CustomerId;\n custObj.CustomerName = ele.CustomerName;\n custObj.status = ele.status;\n custObj.AccLinkStatusName = ele[\"AccLinkStatusName\"];\n custObj.CreatedBy = this._encrypt.decryptUsingAES256(localStorage.getItem('LoginUserId'));\n });\n\n\n if (this.is4EyeCustomer && (this.allStatus.length > 1 || this.OtherUserAccountLink))\n if (this.RoleAccess.CheckerAccess == false || (this.allStatus.length > 1 || this.OtherUserAccountLink)) {\n this.SelectStatus = null;\n }\n else {\n this.SelectStatus = 0;\n }\n }\n\n showSweep(triggerPoint) {\n this.triggerPoint = triggerPoint;\n this.AccountLinkId = \"\";\n this.IsSubmitted = true;\n\n this.AccountLinkingList.forEach(element => {\n if (element[\"IsAcLinkSelected\"] == true) {\n if (this.AccountLinkId == \"\")\n this.AccountLinkId += element[\"AclinkId\"];\n else\n this.AccountLinkId += \",\" + element[\"AclinkId\"];\n }\n });\n\n if (this.AccountLinkId != null && this.AccountLinkId != \"\") {\n this.showSweepModal = true;\n }\n }\n hideSweep() { this.showSweepModal = false; }\n\n ShowReverseSweep() {\n this.IsSubmitted = true;\n if (this.CustomerId != null && this.CustomerId != \"\") {\n this.showReverseSweepModal = true;\n }\n }\n hideReverseSweep() { this.showReverseSweepModal = false; }\n\n ShowSuccessModal() {\n this.showSuccessModal = true;\n }\n\n HideSuccessModal() {\n this.showSuccessModal = false;\n }\n\n triggerPoint: string = \"\";\n Sweep(UserId) {\n debugger;\n if (UserId == \"0\")\n UserId = localStorage.getItem('LoginUserId');\n\n this.hideSweep();\n if (this.triggerPoint == \"MOD\") {\n this._accountLinkMaster.fnSweepExecute(this.AccountLinkId, UserId).subscribe(message => {\n this.lblMessage = message;\n if (message == 'Today is a non working day, therefore sweep can not be executed.') {\n this.showErrorlbl();\n this.AcLinkSelected = false;\n this.FilteredAccountLinkList.forEach(row=>{\n row.IsAcLinkSelected = false;\n });\n this.DisableSweepReverseButton = true;\n }\n else if (message == 'Customer is Inactive') {\n this.showErrorlbl();\n this.AcLinkSelected = false;\n this.FilteredAccountLinkList.forEach(row=>{\n row.IsAcLinkSelected = false;\n });\n this.DisableSweepReverseButton = true;\n }\n else {\n this.lblMessage = \"Accounts with trigger point as \" + this.triggerPoint + \" will be executed. Please check Sweep Summary Report for more details.\";\n this.showlbl();\n this.AcLinkSelected = false;\n this.FilteredAccountLinkList.forEach(row=>{\n row.IsAcLinkSelected = false;\n });\n this.DisableSweepReverseButton = true;\n }\n\n });\n }\n else {\n this._accountLinkMaster.fnBulkSweepExecute(this.AccountLinkId, this.triggerPoint).subscribe(message => {\n this.lblMessage = \"Accounts with trigger point as \" + this.triggerPoint + \" will be executed. Please check Sweep Summary Report for more details.\";\n this.showlbl();\n this.AcLinkSelected = false;\n this.FilteredAccountLinkList.forEach(row=>{\n row.IsAcLinkSelected = false;\n });\n this.DisableSweepReverseButton = true;\n });\n }\n\n }\n\n ReverseSweep(UserId) {\n if (UserId == \"0\") {\n UserId = localStorage.getItem('LoginUserId');\n }\n this.hideReverseSweep();\n this._accountLinkMaster.fnReverseSweepExecute(this.FilteredAccountLinkList, UserId).subscribe(message => {\n this.lblMessage = message;\n if (message == 'Today is a non working day, therefore Reverse sweep can not be executed.') {\n this.showErrorlbl();\n }\n else if (message == 'Customer is Inactive') {\n this.showErrorlbl();\n }\n else if (message == 'No transaction for Reverse Sweep') {\n this.showErrorlbl();\n }\n else {\n this.showlbl();\n }\n });\n }\n\n BankButton() {\n this.router.navigateByUrl('/', { skipLocationChange: true }).then(() => {\n this.router.navigate(['AccountLinkList']);\n });\n }\n\n pageChanged(event) {\n this.config.currentPage = event;\n this.ddlshowvalue = this.config.currentPage * this.config.itemsPerPage;\n this.ddlshowStartValue = this.ddlshowvalue - (this.config.itemsPerPage - 1);\n if (this.FilteredAccountLinkList.length <= this.ddlshowvalue) { this.ddlshowvalue = this.FilteredAccountLinkList.length; }\n }\n\n onTop() {\n window.scroll({\n top: 0,\n left: 0,\n behavior: 'smooth'\n })\n }\n\n fnShowonchange(newObj) {\n this.ddlshowvalue = 0;\n this.ddlshowvalue = newObj.target.value;\n this.config = {\n itemsPerPage: this.ddlshowvalue,\n currentPage: 1,\n };\n }\n\n fnSortAccountLinkMaster(field, obj) {\n //sortTableAccountLinkMst(obj);\n if (this.lastSortedByField === field) {\n this.ascendingOrder = !this.ascendingOrder;\n\n sortTableAccountLinkMst(obj, this.ascendingOrder);\n }\n else {\n this.lastSortedByField = field;\n this.ascendingOrder = true;\n\n sortTableAccountLinkMst(obj, this.ascendingOrder);\n }\n\n if (this.ascendingOrder) {\n this.FilteredAccountLinkList = this.FilteredAccountLinkList.sort((a, b) => {\n\n if (field === 'Priority') {\n if (Number(a[field]) < Number(b[field]))\n return -1;\n if (Number(a[field]) > Number(b[field]))\n return 1;\n }\n else if (field === 'CreatedDate') {\n if (a[\"DateCreated\"].toLowerCase() > b[\"DateCreated\"].toLowerCase())\n return -1;\n if (a[\"DateCreated\"].toLowerCase() < b[\"DateCreated\"].toLowerCase())\n return 1;\n }\n else {\n if (a[field].toLowerCase() < b[field].toLowerCase())\n return -1;\n if (a[field].toLowerCase() > b[field].toLowerCase())\n return 1;\n }\n return 0;\n });\n }\n else {\n this.FilteredAccountLinkList = this.FilteredAccountLinkList.sort((a, b) => {\n\n if (field === 'Priority') {\n if (Number(a[field]) < Number(b[field]))\n return 1;\n if (Number(a[field]) > Number(b[field]))\n return -1;\n }\n else if (field === 'CreatedDate') {\n if (a[\"DateCreated\"].toLowerCase() < b[\"DateCreated\"].toLowerCase())\n return -1;\n if (a[\"DateCreated\"].toLowerCase() > b[\"DateCreated\"].toLowerCase())\n return 1;\n }\n else {\n if (a[field].toLowerCase() < b[field].toLowerCase())\n return 1;\n if (a[field].toLowerCase() > b[field].toLowerCase())\n return -1;\n }\n return 0;\n });\n }\n\n }\n\n CustomerType: string = \"2\";\n SendforApprovalFunction(status) {\n\n var sts = \"\";\n this.AllDeletehide();\n for (var i = 0; i < this.FilteredAccountLinkList.length; i++) {\n if (this.FilteredAccountLinkList[i].IsAcLinkSelected == true) {\n this._accountLinkMaster.formData = this.FilteredAccountLinkList[i];\n this._accountLinkMaster.formData.UserId = localStorage.getItem('LoginUserId');\n if (status == 0) {\n if (this.ConfirmationMsg == \"Approve\" && this.FilteredAccountLinkList[i].status == \"7\") {\n this._accountLinkMaster.formData.status = \"9\";\n sts = \"9\";\n }\n if (this.ConfirmationMsg == \"Reject\" && this.FilteredAccountLinkList[i].status == \"7\") {\n this._accountLinkMaster.formData.status = \"11\";\n sts = \"11\";\n }\n }\n else {\n this._accountLinkMaster.formData.status = status.toString();\n }\n this.AccountlinkLists1.push(this._accountLinkMaster.formData);\n }\n }\n this._accountLinkMaster.fnUpdateBulkStatusOfAccountLink(this.AccountlinkLists1).subscribe(string => {\n if (status == \"7\") {\n this.lblMessage = \"Sweep Execution Approval Request Send Successfully.\";\n // localStorage.setItem(\"Msg\",this.lblMessage);\n // document.location.reload(); \n this.ShowSuccessModal();\n this.onTop();\n this.AccountLinkList();\n this.CustomerType = \"2\";\n }\n else if (this.SelectStatus == 7 && sts == \"9\") {\n this.lblMessage = \"Sweep Execution Approve Successfully.\";\n this.ShowSuccessModal();\n this.onTop();\n this.AccountLinkList();\n this.CustomerType = \"2\";\n this.VerifyBulkApprovalLabel = false;\n }\n else if (this.SelectStatus == 7 && sts == \"11\") {\n this.lblMessage = \"Sweep Execution Reject Successfully.\";\n this.ShowSuccessModal();\n this.onTop();\n this.AccountLinkList();\n this.CustomerType = \"2\";\n this.VerifyBulkApprovalLabel = false;\n }\n });\n\n\n\n // this.showlbl();\n // this.onTop();\n }\n\n\n showApprovalButton: boolean = false;\n fnSelectStatus(Status) {\n\n this.AccountLinkingList.forEach(ele => {\n ele[\"IsAcLinkSelected\"] = false;\n });\n\n this.FilteredAccountLinkList.forEach(ele => {\n ele[\"IsAcLinkSelected\"] = false;\n })\n\n this.AcLinkSelected = false;\n }\n\n AccountlinkLists1: any = [];\n\n fnVerifyFunction(SelectedStatus, status) {\n this.IsSubmitted = true;\n if (status == null) {\n return false;\n }\n else {\n if (SelectedStatus == \"7\" && status == \"1\")\n status = \"9\";\n else if (SelectedStatus == \"7\" && status == \"2\")\n status = \"11\";\n\n\n var userid = \"\";\n\n for (var i = 0; i < this.FilteredAccountLinkList.length; i++) {\n userid = this._encrypt.encryptUsingAES256(this.FilteredAccountLinkList[i].CreatedById.toString());\n this._accountLinkMaster.formData = this.FilteredAccountLinkList[i];\n this._accountLinkMaster.formData.UserId = localStorage.getItem('LoginUserId');\n this._accountLinkMaster.formData.status = status.toString();\n this.AccountlinkLists1.push(this._accountLinkMaster.formData);\n }\n\n\n if (status == \"9\") {\n this._accountLinkMaster.fnSweepExecute(this.CustomerId, userid).subscribe(message => {\n this.lblMessage = message;\n if (message == 'Today is a non working day, therefore sweep can not be executed.') {\n this.showErrorlbl();\n this.AcLinkSelected = false;\n this.FilteredAccountLinkList.forEach(ele => {\n ele[\"status\"] = \"7\";\n ele.IsAcLinkSelected = false;\n });\n }\n else if (message == 'Customer is Inactive') {\n this.showErrorlbl();\n this.AcLinkSelected = false;\n this.FilteredAccountLinkList.forEach(ele => {\n ele[\"status\"] = \"7\";\n ele.IsAcLinkSelected = false;\n });\n }\n else {\n // localStorage.setItem(\"Msg\",this.lblMessage);\n // document.location.reload(); \n this.ShowSuccessModal();\n this.fnUpdateStatus();\n this.onTop();\n this.AcLinkSelected = false;\n this.FilteredAccountLinkList.forEach(row=>{\n row.IsAcLinkSelected = false;\n });\n }\n });\n }\n\n\n if (status == \"11\") {\n this.lblMessage = \"Sweep Balance Rejected Successfully.\";\n // localStorage.setItem(\"Msg\",this.lblMessage);\n // document.location.reload();\n this.ShowSuccessModal();\n this.fnUpdateStatus();\n this.onTop();\n\n }\n }\n }\n\n\n fnUpdateStatus() {\n this._accountLinkMaster.fnUpdateBulkStatusOfAccountLink(this.AccountlinkLists1).subscribe(string => {\n });\n }\n\n isAccLinkApproved: boolean = false;\n fnFilterByStatus() {\n this.getCustomerList();\n\n if (this.SelectStatus == 9) {\n this.isAccLinkApproved = true;\n }\n else {\n this.isAccLinkApproved = false;\n }\n\n\n this.AccountLinkingList.forEach(ele => {\n ele[\"IsAcLinkSelected\"] = false;\n });\n this.FilteredAccountLinkList.forEach(ele => {\n ele[\"IsAcLinkSelected\"] = false;\n });\n this.AcLinkSelected = false;\n this.VerifyBulkApprovalLabel = false;\n this.DisableSweepReverseButton = true;\n }\n\n // #region \n SelectCustomers(Type, CustomerType) {\n this.FilteredAccountLinkList = [];\n if (Type == \"All\" && CustomerType == \"2\") {\n this.FilteredAccountLinkList = this.AccountLinkingList.filter(row => { return (row.SweepExecutionApproval == 1) });\n\n this.allCustList.forEach(element => {\n element[\"isCustomerSelected\"] = true;\n });\n\n }\n else if (Type == \"All\" && CustomerType == \"4\") {\n if ((this.RoleAccess.CheckerAccess && this.ActionType == \"1\") || (this.RoleAccess.CheckerAccess && !this.AddEditAccess)) {\n this.FilteredAccountLinkList = this.AccountLinkingList.filter(row => {\n return (row.SweepExecutionApproval == 2 && row.SweepApprovalRequestedBy != +this._encrypt.decryptUsingAES256(localStorage.getItem(\"LoginUserId\")) \n && row.status == this.SelectStatus.toString())\n });\n\n this.allCustList.forEach(element => {\n element[\"isCustomerSelected\"] = true;\n });\n\n }\n else {\n this.FilteredAccountLinkList = this.AccountLinkingList.filter(row => { return (row.SweepExecutionApproval == 2) });\n this.allCustList.forEach(element => {\n element[\"isCustomerSelected\"] = true;\n });\n\n }\n }\n else if (Type = \"AllUnselect\") {\n this.FilteredAccountLinkList = [];\n this.allCustList.forEach(element => {\n element[\"isCustomerSelected\"] = false;\n });\n this.AccountLinkingList.forEach(ele => {\n ele.IsAcLinkSelected = false;\n });\n this.AcLinkSelected = false;\n this.DisableSweepReverseButton = true;\n }\n\n if (this.FilteredAccountLinkList.length == 0)\n this.isAlldisable = true;\n else\n this.isAlldisable = false;\n\n this.pageChanged(event);\n this.ddlshowvalue = this.FilteredAccountLinkList.length;\n if (this.ddlshowvalue <= this.config.itemsPerPage) {\n this.ddlshowvalue = this.ddlshowvalue;\n this.ddlshowStartValue = 1;\n this.searchCount = this.FilteredAccountLinkList.length;\n this.filterCount = \"(filtered from \" + this.AccountLinkingList.length + \" total entries)\";;\n }\n else {\n this.ddlshowvalue = 0;\n this.ddlshowvalue = this.config.itemsPerPage;\n this.ddlshowStartValue = 1;\n this.searchCount = this.FilteredAccountLinkList.length;\n this.filterCount = \"(filtered from \" + this.AccountLinkingList.length + \" total entries)\";;\n }\n }\n\n CustomerSelect(event) {\n this.allCustList.forEach(element => {\n if (event.CustPkId == element[\"CustPkId\"]) {\n element[\"isCustomerSelected\"] = true;\n this.getCustomerList();\n }\n });\n }\n\n CustomerDeSelect(event) {\n\n this.allCustList.forEach(element => {\n if (event.CustPkId == element[\"CustPkId\"]) {\n element[\"isCustomerSelected\"] = false;\n this.getCustomerList();\n }\n });\n\n this.getCheckedBulkAuthorize();\n }\n\n getCustomerList() {\n this.FilteredAccountLinkList = [];\n\n if (!this.is4EyeCustomer || (!this.RoleAccess.CheckerAccess && this.is4EyeCustomer)) {\n this.allCustList.forEach(element => {\n if (element[\"isCustomerSelected\"] == true) {\n this.AccountLinkingList.filter(row => {\n return (row.CustomerId == element[\"CustPkId\"] && this.FilteredAccountLinkList.push(row));\n });\n }\n });\n }\n else if ((this.RoleAccess.CheckerAccess && this.ActionType == \"1\") || (this.RoleAccess.CheckerAccess && !this.AddEditAccess)) {\n this.allCustList.forEach(element => {\n if (element[\"isCustomerSelected\"] == true) {\n this.AccountLinkingList.filter(row => {\n if (this.SelectStatus != 10 && this.SelectStatus != 11 && this.SelectStatus != 12) {\n return (row.CustomerId == element[\"CustPkId\"] &&\n row.CreatedById != +this._encrypt.decryptUsingAES256(localStorage.getItem('LoginUserId'))\n && row.status == this.SelectStatus.toString() && this.FilteredAccountLinkList.push(row));\n }\n else {\n return (row.CustomerId == element[\"CustPkId\"] &&\n row.CreatedById != +this._encrypt.decryptUsingAES256(localStorage.getItem('LoginUserId'))\n && row.status == this.SelectStatus.toString() && (row.IsDisableCheckbox = true) && this.FilteredAccountLinkList.push(row));\n }\n });\n }\n });\n }\n else if (this.RoleAccess.CheckerAccess && this.ActionType == \"2\") {\n this.allCustList.forEach(element => {\n if (element[\"isCustomerSelected\"] == true) {\n this.AccountLinkingList.filter(row => {\n return (row.CustomerId == element[\"CustPkId\"]\n && this.FilteredAccountLinkList.push(row));\n //&& row.CreatedById == +this._encrypt.decryptUsingAES256(localStorage.getItem('LoginUserId'))\n });\n }\n });\n }\n\n if (this.FilteredAccountLinkList.length == 0 || (this.SelectStatus == 10 || this.SelectStatus == 11 || this.SelectStatus == 12)) {\n this.AcLinkSelected = false;\n this.AccountLinkingList.forEach(element => {\n element.IsAcLinkSelected = false;\n });\n this.isAlldisable = true;\n }\n else\n this.isAlldisable = false;\n\n this.pageChanged(event);\n this.ddlshowvalue = this.FilteredAccountLinkList.length;\n if (this.ddlshowvalue <= this.config.itemsPerPage) {\n this.ddlshowvalue = this.ddlshowvalue;\n this.ddlshowStartValue = 1;\n this.searchCount = this.FilteredAccountLinkList.length;\n this.filterCount = \"(filtered from \" + this.AccountLinkingList.length + \" total entries)\";;\n }\n else {\n this.ddlshowvalue = 0;\n this.ddlshowvalue = this.config.itemsPerPage;\n this.ddlshowStartValue = 1;\n this.searchCount = this.FilteredAccountLinkList.length;\n this.filterCount = \"(filtered from \" + this.AccountLinkingList.length + \" total entries)\";;\n }\n }\n //#endregion\n\n ActionType: string;\n\n // #region \n SelectCustomerType(CustomerType) {\n\n this.DisableSweepReverseButton = true;\n this.AccountLinkingList.forEach(element => {\n element[\"IsAcLinkSelected\"] = false;\n });\n this.AcLinkSelected = false;\n this.ActionType = \"1\";\n this.fnActionType();\n if (this.ActionType == \"2\") {\n this.isCheckerBulkRequest = true;\n }\n else\n this.isCheckerBulkRequest = false;\n this.SelectStatus = 7;\n\n\n if (CustomerType == \"2\") {\n this.allCustList = [];\n\n this.AccountLinkingList.forEach(ele => {\n var custObj = { CustPkId: 0, CustomerName: \"\" };\n custObj.CustPkId = ele.CustomerId;\n custObj.CustomerName = ele.CustomerName;\n\n var isExistCustomer = this.allCustList.filter(row => { return (row.CustPkId == custObj.CustPkId); });\n if (isExistCustomer.length == 0 && ele[\"SweepExecutionApproval\"] == 1) {\n this.allCustList.push(custObj);\n }\n\n });\n }\n else {\n this.allCustList = [];\n\n this.AccountLinkingList.forEach(ele => {\n var custObj = { CustPkId: 0, CustomerName: \"\" };\n custObj.CustPkId = ele.CustomerId;\n custObj.CustomerName = ele.CustomerName;\n\n var isExistCustomer = this.allCustList.filter(row => { return (row.CustPkId == custObj.CustPkId); });\n if (isExistCustomer.length == 0 && ele[\"SweepExecutionApproval\"] == 2\n && this.RoleAccess.CheckerAccess) {\n this.allCustList.push(custObj);\n }\n else if (isExistCustomer.length == 0 && !this.RoleAccess.CheckerAccess\n && ele[\"SweepExecutionApproval\"] == 2) {\n this.allCustList.push(custObj);\n }\n\n });\n }\n\n\n if (CustomerType == \"2\") {\n this.SelectCustomers(\"All\", \"2\");\n this.is4EyeCustomer = false;\n }\n else {\n this.SelectCustomers(\"All\", \"4\");\n this.is4EyeCustomer = true;\n }\n\n this.CustselectedItems = this.allCustList;\n\n if (this.allCustList.length > 0) {\n this.allCustList.forEach(element => {\n if (this.AllCustomerSelect == true) {\n element[\"isCustomerSelected\"] = true;\n }\n });\n }\n this.pageChanged(event);\n this.ddlshowvalue = this.FilteredAccountLinkList.length;\n if (this.ddlshowvalue <= this.config.itemsPerPage) {\n this.ddlshowvalue = this.ddlshowvalue;\n this.ddlshowStartValue = 1;\n this.searchCount = this.FilteredAccountLinkList.length;\n this.filterCount = \"(filtered from \" + this.AccountLinkingList.length + \" total entries)\";;\n }\n else {\n this.ddlshowvalue = 0;\n this.ddlshowvalue = this.config.itemsPerPage;\n this.ddlshowStartValue = 1;\n this.searchCount = this.FilteredAccountLinkList.length;\n this.filterCount = \"(filtered from \" + this.AccountLinkingList.length + \" total entries)\";;\n }\n }\n //#endregion\n\n // #region \n TriggerPointSelect(event) {\n this.TriggerPointList.forEach(element => {\n if (element[\"Id\"] == event.Id) {\n element[\"IsSelected\"] = true;\n }\n });\n }\n\n TriggerPointDeSelect(event) {\n this.TriggerPointList.forEach(element => {\n if (element[\"Id\"] == event.Id) {\n element[\"IsSelected\"] = false;\n }\n });\n }\n // #endregion \n\n // #region \n checkedBulkList: any[];\n checkedList: any = [];\n AcLinkSelected: boolean = false;\n listLengthForSelect: number;\n\n DisableSweepReverseButton: boolean = true;\n\n checkUncheckAllBulkApproval() {\n this.AcLinkSelected = !this.AcLinkSelected;\n if (this.FilteredAccountLinkList.length > 0) {\n for (var i = 0; i < this.FilteredAccountLinkList.length; i++) {\n // if(this.FilteredAccountLinkList[i].IsDisableCheckbox == false){\n this.FilteredAccountLinkList[i].IsAcLinkSelected = this.AcLinkSelected;\n // }\n }\n }\n else {\n for (var i = 0; i < this.listLengthForSelect; i++) {\n // if(this.AccountLinkingList[i].IsDisableCheckbox == false){\n this.AccountLinkingList[i].IsAcLinkSelected = this.AcLinkSelected;\n // }\n }\n }\n this.getCheckedBulkAuthorize();\n }\n\n IsaccountlinkCheck(acLinkId, status) {\n for (var i = 0; i < this.FilteredAccountLinkList.length; i++) {\n if (this.FilteredAccountLinkList[i].AclinkId == acLinkId)\n this.FilteredAccountLinkList[i].IsAcLinkSelected = !status;\n }\n this.getCheckedBulkAuthorize();\n }\n\n getCheckedBulkAuthorize() {\n\n this.checkedBulkList = [];\n for (var i = 0; i < this.FilteredAccountLinkList.length; i++) {\n if (this.FilteredAccountLinkList[i].IsAcLinkSelected == true)\n this.checkedBulkList.push(this.FilteredAccountLinkList[i]);\n } \n this.checkedList = JSON.stringify(this.checkedBulkList);\n if (this.checkedBulkList.length >= 1) {\n this.DisableSweepReverseButton = false;\n }\n else {\n this.DisableSweepReverseButton = true;\n }\n if (this.FilteredAccountLinkList.length == this.checkedBulkList.length){ \n this.AcLinkSelected=true;\n }else{\n this.AcLinkSelected=false;\n }\n if (((this.RoleAccess.CheckerAccess && this.ActionType == \"1\" ) || (this.RoleAccess.CheckerAccess && !this.AddEditAccess)) && this.checkedBulkList.length > 0 && this.SelectStatus == 7 && this.is4EyeCustomer)\n this.VerifyBulkApprovalLabel = true;\n else\n this.VerifyBulkApprovalLabel = false;\n\n \n }\n // #endregion\n\n\n\n showModalForAllDelete: boolean;\n ConfirmationMsg: string;\n\n Approved() {\n this.showModalForAllDelete = true;\n this.ConfirmationMsg = \"Approve\";\n }\n\n Rejectd() {\n this.showModalForAllDelete = true;\n this.ConfirmationMsg = \"Reject\";\n\n }\n\n\n AllDeletehide() {\n this.showModalForAllDelete = false;\n }\n AllDeleteShow() {\n this.showModalForAllDelete = true;\n }\n\n\n // #region \n fnActionType() {\n if (this.ActionType == \"2\") {\n this.isCheckerBulkRequest = true;\n }\n else\n this.isCheckerBulkRequest = false;\n\n this.FilteredAccountLinkList = [];\n\n if (this.ActionType == \"1\") {\n this.AccountLinkingList.filter(row => {\n return (row.SweepApprovalRequestedBy != +this._encrypt.decryptUsingAES256(localStorage.getItem('LoginUserId'))\n && row.SweepExecutionApproval == 2 && row.status == this.SelectStatus.toString()\n && this.FilteredAccountLinkList.push(row));\n });\n\n this.allCustList = [];\n this.AccountLinkingList.forEach(ele => {\n if (ele.SweepApprovalRequestedBy != +this._encrypt.decryptUsingAES256(localStorage.getItem('LoginUserId'))) {\n var custObj = { CustPkId: 0, CustomerName: \"\" };\n custObj.CustPkId = ele.CustomerId;\n custObj.CustomerName = ele.CustomerName;\n\n var isExistCustomer = this.allCustList.filter(row => { return (row.CustPkId == custObj.CustPkId); });\n if (isExistCustomer.length == 0 && ele[\"SweepExecutionApproval\"] == 2) {\n this.is4EyeCustomer = true;\n this.allCustList.push(custObj);\n }\n }\n });\n }\n else {\n this.AccountLinkingList.filter(row => {\n return (row.SweepExecutionApproval == 2 && row.status != \"7\" && this.FilteredAccountLinkList.push(row));\n });\n\n this.allCustList = [];\n this.FilteredAccountLinkList.forEach(ele => {\n // if(ele.CreatedById == +this._encrypt.decryptUsingAES256(localStorage.getItem('LoginUserId'))){\n var custObj = { CustPkId: 0, CustomerName: \"\" };\n custObj.CustPkId = ele.CustomerId;\n custObj.CustomerName = ele.CustomerName;\n\n var isExistCustomer = this.allCustList.filter(row => { return (row.CustPkId == custObj.CustPkId); });\n if (isExistCustomer.length == 0 && ele[\"SweepExecutionApproval\"] == 2) {\n this.is4EyeCustomer = true;\n this.allCustList.push(custObj);\n }\n // }\n });\n }\n\n\n\n this.allCustList.forEach(element => {\n if (this.AllCustomerSelect == true) {\n element[\"isCustomerSelected\"] = true;\n }\n });\n this.CustselectedItems = this.allCustList;\n this.ddlshowvalue = this.FilteredAccountLinkList.length;\n if (this.ddlshowvalue <= this.config.itemsPerPage) {\n this.ddlshowvalue = this.ddlshowvalue;\n this.ddlshowStartValue = 1;\n this.searchCount = this.FilteredAccountLinkList.length;\n this.filterCount = \"(filtered from \" + this.AccountLinkingList.length + \" total entries)\";;\n }\n else {\n this.ddlshowvalue = 0;\n this.ddlshowvalue = this.config.itemsPerPage;\n this.ddlshowStartValue = 1;\n this.searchCount = this.FilteredAccountLinkList.length;\n this.filterCount = \"(filtered from \" + this.AccountLinkingList.length + \" total entries)\";;\n }\n\n }\n //#endregion\n\n sweepmethodList: SweepMethodClass;\n fnGetSweepMethodSiteConfiguration() {\n this._accountLinkMaster.fnGetSweepMethodSiteConfiguration().subscribe(data => {\n this.sweepmethodList = data[0];\n });\n }\n\n\n\n viewAccountLink(accountLinkMaster: AccountLinkMaster) {\n localStorage.setItem('ViewMode', 'view');\n localStorage.setItem('BackPage', 'sweepExecution');\n localStorage.setItem('AcLinkId', accountLinkMaster.AclinkId.toString());\n localStorage.setItem('CustomerId', accountLinkMaster.CustomerId.toString());\n this._accountLinkMaster.CustomerId = accountLinkMaster.CustomerId;\n this.router.navigateByUrl('/', { skipLocationChange: true }).then(() => {\n this.router.navigate(['AccountLinkMaster']);\n });\n\n }\n\n}\n\n\n\n","
\n
\n
\n \n\n
\n
\n
\n \n
\n
\n

Bulk Sweep Execution

\n
\n
\n
\n
\n

* Marked Fields Are Mandatory.

\n\n
\n
\n
\n
\n
\n
\n ×\n Success! {{lblMessage}}\n
\n
\n

\n
\n
\n
\n
\n ×\n Error! {{lblMessage}}\n
\n
\n

\n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n \n
\n
\n \n \n
\n
\n \n \n
\n\n
\n \" class=\"nav-link\"\n class=\"btn btn-primary btn-md text-white pull-right\" id=\"navbarDropdownMenuLink\"\n data-toggle=\"dropdown\" aria-haspopup=\"true\" [disabled]=\"DisableSweepReverseButton\"\n aria-expanded=\"false\" />\n \n
\n\n
\n \n \" class=\"nav-link\"\n class=\"btn btn-primary btn-md text-white pull-right\" id=\"navbarDropdownMenuLink\"\n data-toggle=\"dropdown\" aria-haspopup=\"true\" [disabled]=\"DisableSweepReverseButton\"\n aria-expanded=\"false\" />\n
    \n
  • BOD
  • \n
  • MOD
  • \n
  • EOD
  • \n
\n
\n\n
\n \n \n
\n\n
\n \n
\n
\n
\n
\n\n
\n \n
\n
\n \n
\n
\n \n
\n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
CustomerAccount Link\n NameStructure Type\n PriorityStatusCreated ByCreated /\n Updated Date & Time\n
\n \n \n
\n
{{accountlink.CustomerName}}{{accountlink.AccLinkName}}{{accountlink.StructorName}}{{accountlink.Priority}}{{accountlink.AccLinkStatusName}}{{accountlink.CreatedBy}}{{accountlink.CreatedDate}}\n \n
\n \n \n
\n
No records found.
\n
\n
\n \n \n
\n\n
\n \n \n
\n\n
\n \" class=\"nav-link\"\n class=\"btn btn-primary btn-md text-white pull-right\" id=\"navbarDropdownMenuLink\"\n data-toggle=\"dropdown\"\n style=\"margin-top: -0.65em;margin-left: 2.5em;color:#4ad4e3;font-size: 15px;;\"\n aria-haspopup=\"true\" aria-expanded=\"false\" />\n \n
\n
\n
\n
\n
\n\n\n
\n
\n
\n
\n

Confirmation

\n \n
\n
\n

Are you sure you want to execute Sweep?

\n
\n
\n \n \n
\n
\n
\n
\n\n
\n
\n
\n
\n

Confirmation

\n \n
\n
\n

Are you sure you want to execute Reverse Sweep?

\n
\n
\n \n \n
\n
\n
\n
\n\n
\n
\n
\n
\n

Confirmation

\n \n
\n
\n

{{lblMessage}}

\n
\n
\n \n
\n
\n
\n
\n\n\n
\n
\n
\n
\n

Confirmation

\n \n
\n
\n

Are you sure you want to\n {{ConfirmationMsg}} All Selected Records?\n

\n
\n
\n \n \n
\n
\n
\n
\n\n\n\n","export class LoginDetails {\n\n public static UserId: number =0;\n public static Email: string='' ;\n public static FirstName: string='' ;\n public static LastName:string='';\n //public static LoginAccessData:[];\n \n}\n","export class Constants {\n public static apiURL: string = localStorage.getItem('baseUriLMS') + \"api/\";\n public static tokenURL: string = localStorage.getItem('baseUriLMS');\n public static InvoiceCopyUrl: string = localStorage.getItem('baseUriLMS') + \"/InvoiceCopy/\";\n public static TTUMUrl: string = localStorage.getItem('baseUriLMS') + \"/api/\";\n public static tokenExpiryTime: string = localStorage.getItem('tokenExpiryTimeForCalutation');//This valuse is in minutes.\n}\n","import { Directive, Input } from '@angular/core';\nimport { NG_VALIDATORS, Validator, ValidationErrors, FormGroup } from '@angular/forms';\n\nimport { MustMatch } from './must-match.validator';\n\n@Directive({\n selector: '[mustMatch]',\n providers: [{ provide: NG_VALIDATORS, useExisting: MustMatchDirective, multi: true }]\n})\nexport class MustMatchDirective implements Validator {\n @Input('mustMatch') mustMatch: string[] = [];\n\n validate(formGroup: FormGroup): ValidationErrors {\n return MustMatch(this.mustMatch[0], this.mustMatch[1])(formGroup);\n }\n}","import { FormGroup } from '@angular/forms';\n\n// custom validator to check that two fields match\nexport function MustMatch(controlName: string, matchingControlName: string) {\n return (formGroup: FormGroup) => {\n const control = formGroup.controls[controlName];\n const matchingControl = formGroup.controls[matchingControlName];\n\n // return null if controls haven't initialised yet\n if (!control || !matchingControl) {\n return null;\n }\n\n // return null if another validator has already found an error on the matchingControl\n if (matchingControl.errors && !matchingControl.errors.mustMatch) {\n return null;\n }\n\n // set error on matchingControl if validation fails\n if (control.value !== matchingControl.value) {\n matchingControl.setErrors({ mustMatch: true });\n } else {\n matchingControl.setErrors(null);\n }\n }\n}","import { Directive, ElementRef, HostListener, Input } from '@angular/core';\nimport { NgControl } from '@angular/forms';\n\n@Directive({\n selector: 'input[numbersOnly]'\n})\nexport class NumberDirective {\n\n constructor(private _el: ElementRef) { }\n\n @HostListener('input', ['$event']) onInputChange(event) {\n const initalValue = this._el.nativeElement.value;\n this._el.nativeElement.value = initalValue.replace(/[^0-9]*/g, '');\n if ( initalValue !== this._el.nativeElement.value) {\n event.stopPropagation();\n }\n }\n\n}","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-error-page',\n templateUrl: './error-page.component.html',\n styleUrls: ['./error-page.component.css']\n})\nexport class ErrorPageComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","\n\n\n \n \n \n \n
\n
4
\n \n
4
\n
Sorry, we have technical issue at moment.

Let's go home and try from there.

\n
\n ","import { Component, OnInit } from '@angular/core';\nimport { HolidayService } from 'src/app/MasterService/Holiday.service';\nimport { LoginDetails } from 'src/app/Common/LoginDetail';\nimport { LoginService } from 'src/app/MasterService/Login.service';\n\n@Component({\n selector: 'app-index',\n templateUrl: './index.component.html',\n styleUrls: ['./index.component.css']\n})\nexport class IndexComponent implements OnInit {\n\n constructor( public _login: LoginService) { }\n public userID = LoginDetails.UserId ;\n public UserName= LoginDetails.FirstName+ ' '+LoginDetails.LastName; \n\n ngOnInit(): void {\n \n this.onTop();\n //this._login.fnGetLoginUserID(localStorage.getItem('LoginUserId'));\n \n \n if((localStorage.getItem('LoginUserId'))==null)\n {\n // this._login.fnGetLoginUserID(localStorage.getItem('LoginUserId'));\n this.UserName= ''; \n\n // LoginDetails.LoginAccessData=[];\n this._login.displaystart=true;\n this._login.displayLogin=false;\n \n }\n if((localStorage.getItem('LoginUserId'))!=null)\n {\n this._login.displaystart=false;\n this._login.displayLogin=true;\n this._login.fnGetLoginUserID(localStorage.getItem('LoginUserId'));\n //this.ngOnInit();\n this.UserName= localStorage.getItem('LoginFirstName')+ ' '+localStorage.getItem('LoginLastName'); \n // this.ngOnInit();\n \n \n }\n \n }\n\n onTop(){\n window.scroll({\n top: 0,\n left: 0,\n behavior:'smooth'\n })\n }\n}\n","\n
\n
\n
\n \n
\n

co-operate fund management system

\n \n
\n
\n\n \n\n \n
\n
\n
\n\n \n \n \n \n \n
\n\n\n","import { Component, OnInit } from '@angular/core';\nimport { __values } from 'tslib';\nimport { HttpClientModule, HttpClient, HttpHeaders } from '@angular/common/http';\nimport { NgModule } from '@angular/core';\nimport { FormControl, FormsModule, NgForm } from '@angular/forms';\nimport { Router, NavigationExtras } from '@angular/router';\nimport { Constants } from 'src/app/Common/constant';\nimport { LoginService } from 'src/app/MasterService/Login.service';\nimport { CookieService } from 'ngx-cookie-service';\nimport { Login, ForgotPassword } from 'src/app/MasterService/Login';\nimport { NgxSpinnerService } from \"ngx-spinner\";\nimport { TokenService } from 'src/app/MasterService/token.service';\nimport * as CryptoJS from 'crypto-js';\nimport { THIS_EXPR } from '@angular/compiler/src/output/output_ast';\nimport{UserService} from 'src/app/MasterService/user.service';\n\n\ndeclare var OTPtimer:Function;\n\n@Component({\n selector: 'app-login-page',\n templateUrl: './login-page.component.html',\n styleUrls: ['./login-page.component.css'],\n})\nexport class LoginPageComponent implements OnInit {\n http: any;\n readonly rootURL = Constants.apiURL;\n constructor(\n private httpService: HttpClient,\n private router: Router,\n public _login: LoginService,\n private _cookie: CookieService,\n private _spinner: NgxSpinnerService,\n public _token:TokenService,\n private _user:UserService\n ) {}\n LoginData = [];\n public isLogin = '';\n public Invalid = '';\n public DisbaleID = '';\n public errorMsg = '';\n emailpattern = \"^\\w+([\\.-]?\\w+)*@\\w+([\\.-]?\\w+)*(\\.\\w{2,3})+$\";\n mobNumberPattern = \"^((\\\\+91-?)|0)?[0-9]{10}$\";\n //ok\n\n ///\n isRememberme: boolean = false;\n loginUserName: string = '';\n dateTime: Date;\n InvaidAttempt = [];\n loginUserType: string = '1';\n isCorporateUser: boolean = false;\n userOtp: number = null;\n showOTPSuccess: boolean = false;\n\n // Declare this key and iv values in declaration\n private key = CryptoJS.enc.Utf8.parse('MAKV2SPBNI992121');\n private iv = CryptoJS.enc.Utf8.parse('MAKV2SPBNI992121');\n\n // Methods for the encrypt and decrypt Using AES\n encryptUsingAES256(password: string) {\n var encrypted = CryptoJS.AES.encrypt(CryptoJS.enc.Utf8.parse(JSON.stringify(password)), this.key, {\n keySize: 128 / 8,\n iv: this.iv,\n mode: CryptoJS.mode.CBC,\n padding: CryptoJS.pad.Pkcs7\n });\n return encrypted.toString();\n }\n encryptPass: string;\n\n async onSubmit(form: NgForm) {\n debugger;\n if((document.getElementById('actPswd')).value.includes(\"|\")){\n (document.getElementById('actPswd')).value=(document.getElementById('actPswd')).value.slice(0, -1);\n }\n\n form.value.username = form.value.username.replace(/\\s/g, \"\");\n form.value.username = form.value.username.toString().trim();\n\n this.encryptPass = this.encryptUsingAES256((document.getElementById('actPswd')).value);\n try {\n debugger;\n let data = await this._token.GetToken(form.value.username, this.encryptPass, form.value.usertype);\n if (data != null) {\n localStorage.setItem('TID', data.access_token);\n this._token.token = data.token_type + ' ' + data.access_token;\n this.dateTime = new Date();\n sessionStorage.setItem('TExp', this.dateTime.toString());\n sessionStorage.setItem('UID', form.value.username);\n localStorage.setItem('UID', form.value.username);\n localStorage.setItem('UType', form.value.usertype);\n localStorage.setItem('PID',this.encryptPass);\n //this._user.fnUpdateTokenInDb(form.value.username, data.access_token).subscribe(data=>{\n this.Login(form.value.username, this.encryptPass, form.value.usertype);\n //});\n }\n } catch (error) {\n this.Invalid = '';\n this.errorMsg = error\n }\n}\n\n Login(username, password, usertype) {\n debugger;\n if (this.isRememberme) {\n this._cookie.delete('LMSUserName');\n this._cookie.delete('LMSPassword');\n this._cookie.set('LMSUserName', username);\n this._cookie.set('LMSPassword', password, 50);\n } else {\n this._cookie.delete('LMSUserName');\n this._cookie.delete('LMSPassword');\n }\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token,\n 'Cache-Control': 'no-store' \n })\n };\n // this._login.fnGetLohinData(username).subscribe()\n return this.httpService\n .post(this.rootURL + 'UserLoginAPi/GetLoginData?username=' + this.encryptUsingAES256(username) + '&usertype=' + this.encryptUsingAES256(usertype) + '&password=' + password,null, httpOptions)\n .subscribe((data) => {\n debugger;\n this.LoginData = data as [];\n if (this.LoginData['ErrorMsg'] != '' && this.LoginData['ErrorMsg'] != null) {\n this.errorMsg = this.LoginData['ErrorMsg'];\n } else {\n var Return_Device;\n if (/(up.browser|up.link|mmp|symbian|smartphone|midp|wap|phone|android|iemobile|w3c|acs\\-|alav|alca|amoi|audi|avan|benq|bird|blac|blaz|brew|cell|cldc|cmd\\-|dang|doco|eric|hipt|inno|ipaq|java|jigs|kddi|keji|leno|lg\\-c|lg\\-d|lg\\-g|lge\\-|maui|maxo|midp|mits|mmef|mobi|mot\\-|moto|mwbp|nec\\-|newt|noki|palm|pana|pant|phil|play|port|prox|qwap|sage|sams|sany|sch\\-|sec\\-|send|seri|sgh\\-|shar|sie\\-|siem|smal|smar|sony|sph\\-|symb|t\\-mo|teli|tim\\-|tosh|tsm\\-|upg1|upsi|vk\\-v|voda|wap\\-|wapa|wapi|wapp|wapr|webc|winw|winw|xda|xda\\-) /i.test(navigator.userAgent)) {\n if (/(tablet|ipad|playbook)|(android(?!.*(mobi|opera mini)))/i.test(navigator.userAgent)) {\n Return_Device = 'Tablet';\n }\n else {\n Return_Device = 'Mobile';\n }\n }\n else if (/(tablet|ipad|playbook)|(android(?!.*(mobi|opera mini)))/i.test(navigator.userAgent)) {\n Return_Device = 'Tablet';\n }\n else {\n Return_Device = 'Desktop';\n }\n debugger;\n\n if (this.LoginData['Email'] != null) {\n // if (this.LoginData['Email'].lowercase == username.lowercase) {\n\n if (this.LoginData['IsActive'] == 1) {\n debugger;\n localStorage.setItem('UserTypeVal', this.LoginData['UserType'].toString()); // get user type for sweep charges report\n if (this.LoginData['UserType'] == 2 && this.LoginData['IsIDBI'] == true) {\n this.errorMsg = '';\n localStorage.setItem('LoginUserIdForOTP', this.LoginData[\"UserId\"]);\n localStorage.setItem('LoginMobileNoForOTP', this.LoginData[\"MobileNumber\"]);\n localStorage.setItem('LastLoginDate', this.LoginData[\"LastLoginDate\"]);\n localStorage.setItem('LoginUser', \"Yes\");\n this.isCorporateUser = true;\n this.showOTPSuccess = true;\n this.timer(120);\n this.Invalid = '';\n }\n else {\n this.isLogin = 'Login Successfull';\n //this._login.currentUser();\n localStorage.setItem('LoginUserId', this.encryptUsingAES256(this.LoginData[\"UserId\"]) );\n localStorage.setItem('LoginFirstName', this.LoginData[\"FirstName\"]);\n localStorage.setItem('LoginLastName', this.LoginData[\"LastName\"]);\n localStorage.setItem('LoginRoleName', this.LoginData[\"RoleName\"]);\n localStorage.setItem('PID', this.LoginData[\"encryptPassword\"]);\n localStorage.setItem('LoginUser', \"Yes\");\n localStorage.setItem('LastLoginDate', this.LoginData[\"LastLoginDate\"]);\n this._login.fnGetLoginUserID(\n localStorage.getItem('LoginUserId')\n );\n this.Invalid = '';\n this.errorMsg = '';\n //This when device is mobile redirect to dashboard.\n if (Return_Device == 'Mobile') {\n this.router.navigate(['Dashboard/dashboard']);\n } else {\n this.NavigateToIndex();\n }\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n this.httpService.get(this.rootURL + '/UnSuccessAtmApi/RemoveUnSuccess?username=' + username, httpOptions).subscribe((data) => { });\n // } else {\n // this.Invalid = 'Invalid Credential';\n // this.httpService.get(this.rootURL + '/UnSuccessAtmApi/AddInavlidAttempt?username=' + username + '&password=' + password)\n // .subscribe((data) => {\n // if (data == 1) {\n // this.errorMsg = '';\n // this.DisbaleID =\n // 'Your UserId is disable please contact with system adminstrator';\n // this.isLogin = '';\n // this.Invalid = '';\n // }\n // });\n // }\n }\n } else {\n this.errorMsg = '';\n this.DisbaleID =\n \"Your UserId is inactive, please contact System Administrator.\";\n this.isLogin = '';\n this.Invalid = '';\n }\n }\n else {\n if (usertype == \"0\") {\n this.errorMsg = '';\n this.Invalid = 'Entered User Id is not Corporate customer'; //Invalid Credential\n this.isLogin = '';\n this.DisbaleID = '';\n } else if (usertype == \"1\") {\n this.errorMsg = '';\n this.Invalid = 'Entered User Id is not Bank User'; //Invalid Credential\n this.isLogin = '';\n this.DisbaleID = '';\n }\n else{\n this.errorMsg = '';\n this.Invalid = 'Invalid Credential'; //Invalid Credential\n this.isLogin = '';\n this.DisbaleID = '';\n }\n }\n }\n });\n }\n\n\n VerifyOTP() {\n\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n // this._login.fnGetLohinData(username).subscribe()\n return this.httpService\n .get(this.rootURL + 'UserLoginAPi/VerifyOTPNumber?UserId=' + localStorage.getItem(\"LoginUserIdForOTP\") + '&otpNumber=' + this.userOtp, httpOptions)\n .subscribe((data) => {\n\n\n this.LoginData = data as [];\n if (this.LoginData['ErrorMsg'] != '' && this.LoginData['ErrorMsg'] != null) {\n this.errorMsg = this.LoginData['ErrorMsg'];\n } else {\n this.isLogin = 'Login Successfull';\n //this._login.currentUser();\n localStorage.setItem('LoginUserId', this.encryptUsingAES256(this.LoginData[\"UserId\"]));\n localStorage.setItem('LoginFirstName', this.LoginData[\"FirstName\"]);\n localStorage.setItem('LoginLastName', this.LoginData[\"LastName\"]);\n localStorage.setItem('LoginRoleName', this.LoginData[\"RoleName\"]);\n localStorage.setItem('PID', this.LoginData[\"encryptPassword\"]);\n this._login.fnGetLoginUserID(\n localStorage.getItem('LoginUserId')\n );\n this.Invalid = '';\n this.errorMsg = '';\n this.NavigateToIndex();\n }\n });\n }\n\n ResendOTP() {\n this.errorMsg = null;\n this.userOtp = null;\n this.showOTPSuccess = false;\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n\n return this.httpService\n .get(this.rootURL + 'UserLoginAPi/ResendOTPNumber?UserId=' + localStorage.getItem(\"LoginUserIdForOTP\") + '&mobileNumber=' + localStorage.getItem(\"LoginMobileNoForOTP\"), httpOptions)\n .subscribe((data) => {\n this.showOTPSuccess = true;\n });\n }\n\n checkCheckBoxvalue(event) {\n if (event.currentTarget.checked) {\n this.isRememberme = true;\n }\n }\n decryptUsingAES256(decString) {\n var decrypted = CryptoJS.AES.decrypt(decString, this.key, {\n keySize: 128 / 8,\n iv: this.iv,\n mode: CryptoJS.mode.CBC,\n padding: CryptoJS.pad.Pkcs7\n }); \n return decrypted.toString(CryptoJS.enc.Utf8);\n}\n\n userNameFromCookie: string = '';\n passwordFromCookie: string = '';\n loginPassword: string = '';\n showForgotPass:boolean;\n ngOnInit(): void {\n this.onTop(); \n // localStorage.setItem(\n // 'LoginDataAccess',\n // JSON.stringify(this._login.LoginAccessList)\n // );\n this.showForgotPass=false;\n this.userNameFromCookie = this._cookie.get('LMSUserName');\n this.passwordFromCookie = this._cookie.get('LMSPassword');\n if (this.userNameFromCookie != '') {\n this.loginUserName = this.userNameFromCookie;\n this.loginPassword = this.decryptUsingAES256(this.passwordFromCookie);\n this.loginPassword=this.loginPassword.slice(1, -1);\n var element = document.getElementById('chkRememberMe');\n element.checked = true;\n this.isRememberme = true;\n }\n }\n ChangeUserType(usertype){\n if(usertype==0){\n this.showForgotPass=true;\n }\n else if(usertype==1){\n this.showForgotPass=false;\n }\n }\n NavigateToIndex() {\n this.router.navigate(['/']).then(() => {\n localStorage.setItem('Refresh', 'true');\n location.reload();\n });\n }\n\n // NavigateToIndex() {\n\n // this.router.navigate([\"/\"], );\n // }\n\n onTop() {\n window.scroll({\n top: 0,\n left: 0,\n behavior: 'smooth',\n });\n }\n forgotPasswordShowModal: boolean = false;\n forgotPasswordMobileNumber: number;\n forgotPasswordUserName: string;\n ForgotPassWord(username: string,username1:any,MobileNumber:any) {\n username1.control.markAsUntouched();\n MobileNumber.control.markAsUntouched();\n this.forgotPasswordShowModal = true;\n }\n\n ForgotPasswordHideModal() {\n this.forgotPasswordShowModal = false;\n this.forgotPasswordUserName = '';\n this.validationMessage = '';\n this.forgotPasswordMobileNumber = null;\n }\n\n userExist: boolean;\n resetUserid: number;\n validationMessage: string = '';\n forgotPassWordModal = ForgotPassword;\n\n ForgotPasswordValidation(username: string, mobileNumber: number,UserName:any,MobileNumber:any) {\n UserName.control.markAsTouched();\n MobileNumber.control.markAsTouched();\n\n this._spinner.show();\n\n if ((username == undefined && mobileNumber == undefined) || (username === \"\" && mobileNumber.toString() == \"0\")) {\n this._spinner.hide();\n // this.validationMessage = 'Please enter Email Id and Mobile Number.';\n return false;\n }\n \n if (username == undefined || username === \"\") {\n this._spinner.hide();\n // this.validationMessage = 'Email Id is required.';\n return false;\n }\n \n if (mobileNumber == undefined || mobileNumber.toString() === \"0\" || mobileNumber.toString() === \"\") {\n this._spinner.hide();\n // this.validationMessage = 'Mobile Number is required.';\n return false;\n }\n\n // if(this.emailpattern.match(username)){\n // this._spinner.hide();\n // this.validationMessage='Please provide a valid email address.';\n // return false;\n // }\n\n // if(!this.mobNumberPattern.match(mobileNumber.toString())){\n // this._spinner.hide();\n // this.validationMessage='Please provide a valid Mobile Number.';\n // return false;\n // }\n\n\n if (username == undefined && mobileNumber == undefined) {\n this._spinner.hide();\n // this.validationMessage = 'Please enter Email-Id and Mobile Number.';\n }\n \n \n this._login.fnForgotPassword(username,mobileNumber.toString()).subscribe(data => { \n this.forgotPassWordModal=data[0];\n this.resetUserid=data.userId;\n this.userExist=data.userExist;\n if(!this.userExist)\n this.validationMessage='Email Id and Mobile Number does not match.';\n else{\n this.validationMessage='';\n localStorage.setItem(\"resetUserId\",String( this.resetUserid));\n this.ForgotPasswordHideModal();\n this.resetOTPShowmodal();\n }\n this._spinner.hide();\n });\n }\n\n resetOTPModal: boolean;\n resetOTPValue: number;\n resetOTPHideModal() {\n this.resetOTPModal = false;\n }\n\n resetOTPShowmodal() {\n this.resetOTPModal = true;\n }\n\n tokenMatched: boolean;\n _tokenMsg: string;\n ValidateToken(token: number) {\n debugger;\n if (token != undefined) {\n this._tokenMsg = \"\";\n this._login.fnValidateToken(token.toString(), localStorage.getItem(\"resetUserId\")).subscribe(data => {\n\n this.tokenMatched = data.tokenMatched;\n\n if (this.tokenMatched) {\n this.router.navigate(['/ResetPassword']);\n }\n else {\n this._tokenMsg = \"Invalid OTP. Please check your code\";\n }\n });\n }\n else {\n this._tokenMsg = \"OTP is required\";\n }\n }\n\n numberOnly(event): boolean {\n const charCode = (event.which) ? event.which : event.keyCode;\n if (charCode > 31 && (charCode < 48 || charCode > 57)) {\n return false;\n }\n return true;\n }\n\n timer(obj){\n OTPtimer(obj);\n }\n\n passwordToStar(){\n var pswd = (document.getElementById('pswdField'));\n var actpswd = (document.getElementById('actPswd'));\n var fval = '';\n for(var i = 0;i\n
\n
\n
\n
\n\n
\n

Login

\n
\n \n \n
\n
\n \n \n
\n
\n \n \n Please enter User Name\n
\n\n \n
\n \n \n
\n Password is required\n \n \n
\n \n
\n
\n \n Remember me\n
\n \n
\n
\n \n
\n \n \n \n \n \n
\n
\n \n
\n

OTP Authentication

\n \n
\n
\n
\n \n \n OTP sent Successfully.\n
\n
\n
\n \n
\n Time Remaining = \n
\n
\n
\n \n \n
\n \n \n \n \n \n
\n
\n
\n
\n
\n
\n
\n\n\n
\n
\n
\n

Forgot Password

\n \n
\n
\n
\n \n
\n
\n
\n \n
\n \n \n \n
\n
\n Email Id is required.\n
\n
\n Please provide a valid email address.\n
\n
\n
\n
\n
\n \n
\n \n Mobile Number is required\n
\n
\n
\n \n\n \n
\n
\n
\n\n\n
\n\n
\n
\n\n
\n

Reset Password

\n\n \n
\n\n
\n
\n \n
\n\n
\n\n \n\n \n\n
\n \n
\n\n \n
\n\n
\n\n
\n \n\n \n
\n\n
\n
\n\n
\n\n\n
\n
\n
\n
\n

Confirmation

\n \n
\n
\n Timeout for OTP\n
\n
\n \n\n \n
\n
\n
\n
\n\n\n \n","import { Component, OnInit } from '@angular/core';\nimport { NgForm } from '@angular/forms';\nimport { LoginService } from 'src/app/MasterService/Login.service';\nimport { Router } from '@angular/router';\n\n@Component({\n selector: 'app-reset-password',\n templateUrl: './reset-password.component.html',\n styleUrls: ['./reset-password.component.css']\n})\nexport class ResetPasswordComponent implements OnInit {\n\n constructor(\n public _login: LoginService,\n public router:Router\n ) { }\n //confirmPassword:string;\n Password:string;\n\n ngOnInit(): void {\n }\n\n onSubmit(form:NgForm){\n this._login.fnUpdatePassword(form.value.password,localStorage.getItem(\"resetUserId\")).subscribe(data => { \n localStorage.removeItem(\"resetUserId\");\n this.router.navigate([\"/LoginPage\"]); \n }); \n }\n}\n","
\n
\n
\n
\n
\n
\n\n
\n
\n \n\n \n\n \n Password is required\n \n\n
\n\n
\n\n \n\n \n\n
\n Confirm Password is required\n Confirm Password do not match\n
\n\n
\n
\n\n
\n \n
\n\n
\n
\n
\n
\n
\n
\n","import { Component, OnInit } from '@angular/core';\nimport {FormControl,FormGroup} from '@angular/forms';\nimport { UserService} from '../../MasterService/user.service';\n\n@Component({\n selector: 'app-sign-up',\n templateUrl: './sign-up.component.html',\n styleUrls: ['./sign-up.component.css']\n})\nexport class SignUpComponent implements OnInit {\n\n signUpForm:FormGroup;\n\n constructor(private _userServive:UserService) { }\n\n ngOnInit(): void {\n this.onTop();\n\n this.signUpForm = new FormGroup({\n FirstName:new FormControl(),\n MiddleName:new FormControl(),\n LastName:new FormControl(),\n Password:new FormControl(),\n CnfrmPassword:new FormControl(),\n Gender:new FormControl(),\n BirthDate:new FormControl(),\n EmailId:new FormControl(),\n MobileNumber:new FormControl(),\n AltMobileNumber:new FormControl(),\n Address:new FormControl(),\n AltAddress:new FormControl(),\n CountryId:new FormControl(),\n StateId:new FormControl(),\n CityId:new FormControl(),\n Pincode:new FormControl(),\n });\n }\n\n onSubmit():void{\n this._userServive.fnUserRegisteration(this.signUpForm.value).subscribe(data=>{\n alert(\"User Register Successful.\");\n });\n }\n\n onTop(){\n window.scroll({\n top: 0,\n left: 0,\n behavior:'smooth'\n })\n }\n}\n","
\n \n
\n
\n
\n
\n \n

SignUp

\n

* Marked Fields Are Mandatory.

\n \n
\n
\n \n \n
\n\n
\n \n \n
\n \n
\n \n \n
\n
\n \n
\n
\n \n \n
\n \n
\n \n \n
\n\n
\n \n
\n \n
\n \n
\n \n
\n \n
\n
\n
\n
\n \n
\n
\n \n \n
\n\n
\n \n \n
\n\n
\n \n \n
\n
\n \n
\n
\n \n \n
\n\n
\n \n \n
\n \n
\n \n \n
\n
\n \n
\n
\n \n \n
\n \n
\n \n \n
\n\n
\n \n \n
\n
\n \n
\n
\n \n \n
\n
\n \n
\n
\n \n \n
\n
\n
\n
\n
\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { IAngularMyDpOptions } from 'angular-mydatepicker';\nimport { Router } from '@angular/router';\nimport { SiteConfigurationService } from 'src/app/MasterService/SiteConfiguration.Service';\nimport { NgForm } from '@angular/forms';\nimport { data } from 'jquery';\nimport * as moment from 'moment';\nimport { SiteConfigCreatedUpdated } from 'src/app/MasterService/SiteConfiguration';\n\n@Component({\n selector: 'app-site-configuration',\n templateUrl: './site-configuration.component.html',\n styleUrls: ['./site-configuration.component.css']\n})\nexport class SiteConfigurationComponent implements OnInit {\n myDpOptions: IAngularMyDpOptions = {\n dateRange: false,\n dateFormat: 'dd-mm-yyyy'\n // other options are here...\n };\n FinancialCalender:string;\n newdate1: string;\n newdate2: string;\n showMsg:boolean;\n showerrormsg:boolean;\n lblMessage:string;\n SweepTransaction:boolean=false;\n BODTimeTrue:boolean;\n EODTimeTrue: boolean;\n ModalForBOD:boolean;\n Message:string;\n newBODTime: string;\n newEODTime: string;\n BODSweepExecution_value: string;\n EODSweepExecution_value: string;\n\n // created and updated:\n createdDate:string;\n userNameCreated:string;\n usernameUpdte:string;\n updtedDate:string;\n showCreatedDiv:boolean=false;\n showUpdatedDiv:boolean=false;\n SiteconfigCreatedUpdated: SiteConfigCreatedUpdated[];\n EditSiteconfig: number;\n\n constructor(private router: Router,public _Siteconfig: SiteConfigurationService) { }\n ngOnInit(): void {\n if(localStorage.getItem('LoginUserId')==null){\n this.router.navigate([\"\"]);\n return;\n }\n this.GetSiteConfiguration();\n this.GetSiteConfigurationDetail();\n this.showMsg = false;\n }\n hidelbl(){\n this.showMsg = false;\n }\n close(){\n this.ModalForBOD=false;\n }\n BODchangeToAuto(BODvalue){debugger\n if(BODvalue==\"1\"){\n this.BODTimeTrue=false;\n // this.ModalForBOD=true;\n } \n if(BODvalue==\"2\"){\n this.BODTimeTrue=true;\n this._Siteconfig.formData.BODTime =null;\n }\n if(BODvalue==\"0\"){\n this.BODTimeTrue=true;\n this._Siteconfig.formData.BODExecutionType=\"2\";\n // this.ModalForBOD=true;\n } \n }\n BODSweepExecutionchange(BODvalue){\n this.showMsg=false;\n this.showerrormsg=false;\n if(BODvalue==\"1\"){\n this.BODTimeTrue=false;\n var defaultBODTime=\"09:30\"\n var _savedTimeBOD = defaultBODTime.split(\":\");\n var _savedBODTimeObject = {hour: 0, minute: 0};\n _savedBODTimeObject.hour = +_savedTimeBOD[0];\n _savedBODTimeObject.minute = +_savedTimeBOD[1];\n this._Siteconfig.formData.BODTime =_savedBODTimeObject;\n } \n if(BODvalue==\"2\"){\n this.BODTimeTrue=true;\n this._Siteconfig.formData.BODTime =null;\n }\n }\n EODchangeToAuto(EODvalue){debugger\n if(EODvalue==\"1\"){\n this.EODTimeTrue=false;\n } \n if(EODvalue==\"2\"){\n this.EODTimeTrue=true;\n this._Siteconfig.formData.EODTime =null;\n }\n if(EODvalue==\"0\"){\n this.EODTimeTrue=true;\n this._Siteconfig.formData.EODExecutionType=\"2\";\n // this.ModalForBOD=true;\n } \n }\n EODSweepExecutionchange(EODvalue){\n this.showMsg=false;\n this.showerrormsg=false;\n if(EODvalue==\"1\"){\n this.EODTimeTrue=false;\n var defaultEODTime=\"17:30\"\n var _savedTimeEOD = defaultEODTime.split(\":\");\n var _savedEODTimeObject = {hour: 0, minute: 0};\n _savedEODTimeObject.hour = +_savedTimeEOD[0];\n _savedEODTimeObject.minute = +_savedTimeEOD[1];\n this._Siteconfig.formData.EODTime =_savedEODTimeObject;\n }\n if(EODvalue==\"2\"){\n this.EODTimeTrue=true;\n this._Siteconfig.formData.EODTime =null;\n }\n }\n showerror(){\n this.showerrormsg = true;\n }\n hideerror(){\n this.showerrormsg = false;\n }\n GetSiteConfiguration(){\n this._Siteconfig.formData = {\n SiteConfId: 0,\n SweepMethod: null,\n SweepTransactionToCustomer: false,\n DateFrom:'',\n DateTo:'',\n IsFinancialYear:'yes',\n CBSIntegration:'',\n CreatedBy:'',\n CreatedDate:'',\n UpdatedBy:'',\n UpdatedDate:'',\n message:'',\n BODExecutionType:\"2\",\n BODTime: '',\n EODExecutionType:\"2\",\n EODTime: ''\n }\n }\n checkUncheckSweepTransaction(value){\n debugger\n if(value==true || value==\"Yes\"){\n this._Siteconfig.formData.SweepTransactionToCustomer=true;\n this.SweepTransaction=true;\n }\n if(value==false || value==\"no\"){\n this._Siteconfig.formData.SweepTransactionToCustomer=false;\n this.SweepTransaction=false;\n }\n}\nCalenderchecklabel(value){\n if(value=='Yes'){ this.FinancialCalender='Financial Year'}\n if(value=='No'){this.FinancialCalender='Calender Year';}\n \n}\nCalendercheck(value){\n this.showMsg=false;\n this.showerrormsg=false;\n if(value=='Yes'){\n debugger;\n this.FinancialCalender='Financial Year'\n var _savedStartDateFROM = { \n isRange : false, \n singleDate : { date : { year :0, month :0, day :0}, jsDate:\"\",formatted:\"\",epoc:\"\"},\n dateRange:null\n };\n var Datefrom=\"04-01-2019\";\n var newObj = moment(Datefrom).toObject();\n _savedStartDateFROM.singleDate.date.day = newObj.date;\n _savedStartDateFROM.singleDate.date.month = newObj.months+1;\n _savedStartDateFROM.singleDate.date.year = newObj.years;\n this._Siteconfig.formData.DateFrom =_savedStartDateFROM; \n var _savedStartDateTO = { \n isRange : false, \n singleDate : { date : { year :0, month :0, day :0}, jsDate:\"\",formatted:\"\",epoc:\"\"},\n dateRange:null\n };\n var DateTo=\"03-31-2020\";\n var newObj1 = moment(DateTo).toObject();\n _savedStartDateTO.singleDate.date.day = newObj1.date;\n _savedStartDateTO.singleDate.date.month = newObj1.months+1;\n _savedStartDateTO.singleDate.date.year = newObj1.years;\n this._Siteconfig.formData.DateTo =_savedStartDateTO; \n }\n if(value=='No'){\n this.FinancialCalender='Calender Year';\n var _savedStartDateFROM = { \n isRange : false, \n singleDate : { date : { year :0, month :0, day :0}, jsDate:\"\",formatted:\"\",epoc:\"\"},\n dateRange:null\n };\n var Datefrom=\"01-01-2020\";\n var newObj = moment(Datefrom).toObject();\n _savedStartDateFROM.singleDate.date.day = newObj.date;\n _savedStartDateFROM.singleDate.date.month = newObj.months+1;\n _savedStartDateFROM.singleDate.date.year = newObj.years;\n this._Siteconfig.formData.DateFrom =_savedStartDateFROM; \n var _savedStartDateTO = { \n isRange : false, \n singleDate : { date : { year :0, month :0, day :0}, jsDate:\"\",formatted:\"\",epoc:\"\"},\n dateRange:null\n };\n var DateTo=\"12-31-2020\";\n var newObj1 = moment(DateTo).toObject();\n _savedStartDateTO.singleDate.date.day = newObj1.date;\n _savedStartDateTO.singleDate.date.month = newObj1.months+1;\n _savedStartDateTO.singleDate.date.year = newObj1.years;\n this._Siteconfig.formData.DateTo =_savedStartDateTO; \n \n }\n}\n GetSiteConfigurationDetail()\n {\n this._Siteconfig.fnGetSiteConfigurationDetails(localStorage.getItem('LoginUserId')).subscribe(data=>{\n this._Siteconfig.formData=data;\n //localStorage.setItem('Siteconfig',this._Siteconfig.formData.SiteConfId.toString());\n this.BODSweepExecution_value=this._Siteconfig.formData.BODExecutionType;\n this.EODSweepExecution_value=this._Siteconfig.formData.EODExecutionType;\n if(this._Siteconfig.formData.SiteConfId!=0){\n this.fnGetCreatedNUpdatedSiteconfigutaion(this._Siteconfig.formData.SiteConfId.toString());\n if (data.DateTo != \"\") {\n var _savedStartDate = { \n isRange : false, \n singleDate : { date : { year :0, month :0, day :0}, jsDate:\"\",formatted:\"\",epoc:\"\"},\n dateRange:null\n };\n this._Siteconfig.formData.DateTo = data.DateTo;\n var newObj = moment(data.DateTo).toObject();\n _savedStartDate.singleDate.date.day = newObj.date;\n _savedStartDate.singleDate.date.month = newObj.months+1;\n _savedStartDate.singleDate.date.year = newObj.years;\n this._Siteconfig.formData.DateTo =_savedStartDate; \n }\n if (this._Siteconfig.formData.DateFrom != \"\") {\n var _savedStartDate = { \n isRange : false, \n singleDate : { date : { year :0, month :0, day :0}, jsDate:\"\",formatted:\"\",epoc:\"\"},\n dateRange:null\n };\n this._Siteconfig.formData.DateFrom = data.DateFrom;\n var newObj = moment(data.DateFrom).toObject();\n _savedStartDate.singleDate.date.day = newObj.date;\n _savedStartDate.singleDate.date.month = newObj.months+1;\n _savedStartDate.singleDate.date.year = newObj.years;\n this._Siteconfig.formData.DateFrom =_savedStartDate; \n }\n this.Calenderchecklabel(this._Siteconfig.formData.IsFinancialYear);\n this.checkUncheckSweepTransaction(this._Siteconfig.formData.SweepTransactionToCustomer);\n this.BODchangeToAuto(this._Siteconfig.formData.BODExecutionType);\n this.EODchangeToAuto(this._Siteconfig.formData.EODExecutionType);\n \n if (this._Siteconfig.formData.BODTime != null) {\n var _savedStartTime = this._Siteconfig.formData.BODTime.split(\":\");\n var _savedStartTimeObject = {hour: 0, minute: 0};\n _savedStartTimeObject.hour = +_savedStartTime[0];\n _savedStartTimeObject.minute = +_savedStartTime[1];\n this._Siteconfig.formData.BODTime =_savedStartTimeObject; \n }\n if (this._Siteconfig.formData.EODTime != null) {\n var _savedStartTime1 = this._Siteconfig.formData.EODTime.split(\":\");\n var _savedStartTimeObject1 = {hour: 0, minute: 0};\n _savedStartTimeObject1.hour = +_savedStartTime1[0];\n _savedStartTimeObject1.minute = +_savedStartTime1[1];\n this._Siteconfig.formData.EODTime =_savedStartTimeObject1; \n }\n }\n else{\n this.GetSiteConfiguration();\n this.Calenderchecklabel('Yes');\n this.checkUncheckSweepTransaction(false);\n debugger;\n this.BODchangeToAuto(this._Siteconfig.formData.BODExecutionType);\n this.EODchangeToAuto(this._Siteconfig.formData.EODExecutionType);\n }\n\n });\n }\n BankButton(){\n this.router.navigate(['']);\n }\n onTop(){\n window.scroll({\n top: 0,\n left: 0,\n behavior:'smooth'\n })\n }\n onSubmit(form: NgForm){\n debugger;\n this.BODSweepExecution_value;\n this.EODSweepExecution_value;\n if(this._Siteconfig.formData.SiteConfId === 0)\n form.value[\"CreatedBy\"]=localStorage.getItem('LoginUserId');\n else\n form.value[\"UpdatedBy\"]=localStorage.getItem('LoginUserId');\n // this._Siteconfig.formData.SweepTransactionToCustomer.checker\nif(this.SweepTransaction==true){\n form.value.SweepTransactionToCustomer='Yes'\n}\nif(this.SweepTransaction==false){\n form.value.SweepTransactionToCustomer='No'\n}\n if (form.value.DateFrom.singleDate.date.month >= \"10\") {\n this.newdate1 = form.value.DateFrom.singleDate.date.year+\"-\"+form.value.DateFrom.singleDate.date.month+\"-\"+form.value.DateFrom.singleDate.date.day;\n form.value.DateFrom = this.newdate1;\n }\n else {\n this.newdate1 = form.value.DateFrom.singleDate.date.year+\"-0\"+form.value.DateFrom.singleDate.date.month+\"-\"+form.value.DateFrom.singleDate.date.day;\n form.value.DateFrom = this.newdate1;\n }\n \n if (form.value.DateTo.singleDate.date.month >= \"10\") {\n this.newdate2 = form.value.DateTo.singleDate.date.year+\"-\"+form.value.DateTo.singleDate.date.month+\"-\"+form.value.DateTo.singleDate.date.day;\n form.value.DateTo = this.newdate2;\n }\n else {\n this.newdate2 = form.value.DateTo.singleDate.date.year+\"-0\"+form.value.DateTo.singleDate.date.month+\"-\"+form.value.DateTo.singleDate.date.day;\n form.value.DateTo = this.newdate2;\n }\n debugger;\n if(this._Siteconfig.formData.BODTime==null || this._Siteconfig.formData.BODTime==\"\"){ form.value[\"BODTime\"] =\"\"}\n if(this._Siteconfig.formData.EODTime==null || this._Siteconfig.formData.EODTime==\"\"){ form.value[\"EODTime\"] =\"\"}\n \n if (form.value.BODTime != \"\") {\n if(form.value.BODTime.minute==0){form.value.BODTime.minute=\"00\"}\n this.newBODTime = form.value.BODTime.hour+\":\"+form.value.BODTime.minute;\n\n form.value[\"BODTime\"] = this.newBODTime;\n }\n else{ form.value[\"BODTime\"] = \"\";}\n if (form.value.EODTime != \"\") {\n if(form.value.EODTime.minute==0){form.value.EODTime.minute=\"00\"}\n this.newEODTime = form.value.EODTime.hour+\":\"+form.value.EODTime.minute;\n form.value[\"EODTime\"] = this.newEODTime;\n }\n else{ form.value[\"EODTime\"] = \"\";}\n \n debugger\n this._Siteconfig.fnSaveSiteConfigurationDetails(form.value).subscribe(res => {\n // this.lblMessage='Added Successfully';\n this.lblMessage=res.message;\n this._Siteconfig.formData.SiteConfId=res.SiteConfId;\n this.showMsg=true;\n this.onTop();\n var _savedStartTime = res.BODTime.split(\":\");\n var _savedStartTimeObject = {hour: 0, minute: 0};\n _savedStartTimeObject.hour = +_savedStartTime[0];\n _savedStartTimeObject.minute = +_savedStartTime[1];\n form.value.BODTime =_savedStartTimeObject;\n\n var _savedStartTime1 = res.EODTime.split(\":\");\n var _savedStartTimeObject1 = {hour: 0, minute: 0};\n _savedStartTimeObject1.hour = +_savedStartTime1[0];\n _savedStartTimeObject1.minute = +_savedStartTime1[1];\n form.value.EODTime =_savedStartTimeObject1;\n if(this.BODSweepExecution_value!=this._Siteconfig.formData.BODExecutionType &&\n this.EODSweepExecution_value!=this._Siteconfig.formData.EODExecutionType){\n this.ModalForBOD=true;\n this.Message=\"Changes made to BOD/EOD Sweep Execution will effect post 24 hours.\"; \n }\n else if(this.BODSweepExecution_value!=this._Siteconfig.formData.BODExecutionType){\n this.ModalForBOD=true;\n this.Message=\"Changes made to BOD Sweep Execution will effect post 24 hours.\";\n }\n else if(this.EODSweepExecution_value!=this._Siteconfig.formData.EODExecutionType){\n this.ModalForBOD=true;\n this.Message=\"Changes made to EOD Sweep Execution will effect post 24 hours\";\n }\n this.GetSiteConfigurationDetail();\n // this.fnGetCreatedNUpdatedSiteconfigutaion();\n });\n debugger\n this._Siteconfig.formData.SiteConfId\n }\n\n \n CancelButton(){\n this.router.navigate(['']);\n }\n fnGetCreatedNUpdatedSiteconfigutaion(Siteconfig){ \n this._Siteconfig.fnGetCreatedUpdateSiteConfig(Siteconfig.toString()).subscribe(userdates=>{\n this.SiteconfigCreatedUpdated=userdates;\n if(this.SiteconfigCreatedUpdated[0].CreatedDate != ''){\n this.showCreatedDiv = true;\n this.createdDate = this.SiteconfigCreatedUpdated[0].CreatedDate;\n this.userNameCreated = this.SiteconfigCreatedUpdated[0].UserName;\n }\n if(this.SiteconfigCreatedUpdated[1].UpdatedDate != ''){\n this.showUpdatedDiv = true;\n this.usernameUpdte = this.SiteconfigCreatedUpdated[1].UserName;\n this.updtedDate = this.SiteconfigCreatedUpdated[1].UpdatedDate;\n }\n }, (err) => {\n this.router.navigate([\"404\"]);\n });\n }\n}\n","
\n
\n\n
\n
\n
\n \n \n
\n
\n

Site Configuration

\n
\n
\n
\n
\n\n
\n\n \n
\n \n\n
\n
\n\n
\n ×\n Success! {{ lblMessage }}.\n
\n\n
\n ×\n Error! {{ lblMessage }}.\n
\n\n
\n
\n \n
\n \n
\n
\n \n
\n
\n \n
Sweep Method is required
\n
\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n
\n\n
\n
\n \n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n Year Selection is required\n
\n
\n \n
\n
\n
\n \n
\n
\n
\n \n
\n \n
\n
\n
\n From Date is required\n
\n
\n
\n \n
\n
\n
\n \n
\n \n
\n
\n
\n To Date is required\n
\n
\n
\n
\n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n CBS Integration Selection is required\n
\n
\n \n
\n\n
\n \n
\n \n
\n \n
\n
\n \n
\n \n
\n \n
\n
\n \n
\n\n \n
\n \n \n
\n BOD Time is required.\n
\n
\n\n
\n
\n\n\n
\n\n
\n \n
\n \n
\n \n
\n
\n \n
\n \n
\n \n
\n
\n \n
\n\n \n
\n \n \n
\n EOD Time is required.\n
\n
\n\n
\n \n
\n
\n \n \n
\n
\n\n\n \n
\n Created By {{ userNameCreated }} on {{ createdDate }}\n
\n
\n Updated By {{ usernameUpdte }} on {{ updtedDate }}\n
\n \n
\n
\n
\n\n
\n
\n
\n
\n

Confirmation

\n \n
\n
\n

{{Message}}

\n
\n
\n \n
\n
\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { BranchService} from '../../MasterService/branch.service';\nimport {BranchMaster, BranchCreatedUpdated} from '../../MasterService/branch-master';\nimport { FormGroup,FormControl,Validators, NgForm} from '@angular/forms';\nimport { AllMasterApiService } from 'src/app/MasterService/all-master-api.service';\nimport {ActivatedRoute} from \"@angular/router\";\nimport { Router,NavigationExtras } from '@angular/router';\nimport { NgxSpinnerService } from \"ngx-spinner\";\nimport { toInteger } from '@ng-bootstrap/ng-bootstrap/util/util';\nimport {RoleAccessService}from '../../MasterService/role-access.service';\nimport { EncryptdecryptService} from '../../MasterService/encryptdecrypt.service';\nimport { delay } from 'rxjs/operators';\nimport { throwIfAlreadyLoaded } from 'src/app/@core/module-import-guard';\nimport { formatNumber } from '@angular/common';\nimport { isFunction } from 'jquery';\n\n@Component({\n selector: 'app-branch-master',\n templateUrl: './branch-master.component.html',\n styleUrls: ['./branch-master.component.css']\n})\nexport class BranchMasterComponent implements OnInit {\n bankNameDisable :boolean=true;\n buttonvalue:string;\n submitted = false;\n disbankNameDisable:boolean;\n CorrespondentBank=\"No\";\n branchForm:FormGroup;\n disableButton: boolean;\n disableClear:boolean;\n HiddenClr:boolean = false;\n lblMessage:string;\n showModal: boolean;\n showMsg:boolean;\n showerrormsg:boolean;\n countryList:any = [];\n stateList:any = [];\n cityList:any =[];\n viewMode:boolean;\n isDisabledState:boolean=false;\n branchFlag:string;\n disableStatus:boolean;\n BranchCreatedUpdated1:BranchCreatedUpdated[];\n createdBy:number;\n createdDate:string;\n userNameCreated:string;\n usernameUpdte:string;\n updtedDate:string;\n showCreatedDiv:boolean=false;\n showUpdatedDiv:boolean=false;\n isValidbank: boolean=true;\n CheckerPrivillage:boolean;\n reviewStatus:number;\n showStatusDiv:boolean = false;\n editedBranchInfo:any=[];\n iUserId:number;\n showApprovalInfo:string;\n lblTitle:string;\n\n // ifsc code\n showIfscCode:boolean;\n// FilterIFSCCode:any;\n IFSCCodes:any;\n validStatus: boolean=true;\n IsAnyOneSelected: boolean=false;\n NoOneSelected: string;\n\n constructor(public _branchService:BranchService,private router: Router ,public _allServiceMasterApi:AllMasterApiService,\n private _routeWithQuerystring:ActivatedRoute,public _spinner:NgxSpinnerService,private _roleAccess:RoleAccessService,\n public _encreptdecrept:EncryptdecryptService) {}\n editedBranchId:number;\n\n ngOnInit(): void {\n // If LoginUserId is null then it will return\n if(localStorage.getItem('LoginUserId') == null){\n this.router.navigate([\"\"]);\n return;\n }\n \n this._spinner.show();\n this.iUserId = +this._encreptdecrept.decryptUsingAES256(localStorage.getItem('LoginUserId'));\n this.editedBranchId = +localStorage.getItem('branchDataId');\n this.branchFlag = localStorage.getItem('branchFlag');\n this.disableButton = false;\n this.onTop();\n \n if(this.editedBranchId >0){\n // Getting created and updated history\n this.fnGetCreatedNUpdatedBranch();\n }\n else{\n this.lblTitle='Add Branch Master';\n this.disableStatus = true;\n this.editedBranchInfo.BankName = 'IDBI Bank';\n this.editedBranchInfo.Correspondent = this.editedBranchInfo.Correspondent == undefined ? 'No':this.editedBranchInfo.Correspondent;\n this.editedBranchInfo.RTGS = this.editedBranchInfo.RTGS == undefined ? '1' : this.editedBranchInfo.RTGS;\n this.editedBranchInfo.CountryId = null;\n this.editedBranchInfo.StateId = null;\n this.editedBranchInfo.CityId = null;\n this.buttonvalue = \"Submit\";\n this.NewBranchMaster();\n }\n //Getting country data from database\n this.fncountry();\n\n this.lblMessage = localStorage.getItem(\"Msg\");\n \n if (this.lblMessage == null || this.lblMessage == \"\") {\n \n }else{\n this.lblMessage == localStorage.getItem(\"Msg\");\n this.showMsg = true;\n this.showerrormsg = false;\n localStorage.removeItem(\"Msg\");\n this.onTop();\n }\n // Getting Privillage based on id\n this.GetPrivillageRoles();\n }\n OLDRTGS:string='';\n IsAuthorize:boolean=false;\n IsCheckerCustomer: boolean = false;\n //Getting branch data from database\n GetBranchInformation(){\n if(this.editedBranchId > 0){\n this._branchService.fnGetBranchData(this.editedBranchId.toString()).subscribe(allbranchdetails=>{\n debugger;\n this._branchService.formData = allbranchdetails[0];\n\n if(this.branchFlag == \"edit\"){\n this.lblTitle='Edit Branch Master';\n this.viewMode=false;\n this.HiddenClr = true;\n }\n else if(this.branchFlag == \"view\"){\n this.lblTitle= 'View Branch Master';\n this.isDisabledState=true;\n this.disableButton=true; \n this.disableClear=true;\n this.viewMode=true;\n this.bankNameDisable = true;\n }\n if(this.branchFlag == \"authorize\")\n this.IsAuthorize = true;\n this.lblTitle='Edit Branch Master';\n\n if (this._branchService.formData.Correspondent == \"No\" || (this.editedBranchId > 0 && this.editedBranchInfo.Correspondent == \"No\")) {\n this.bankNameDisable=true;\n }\n if (this._branchService.formData.Correspondent == \"Yes\" || (this.editedBranchId > 0 && this.editedBranchInfo.Correspondent == \"Yes\") ) {\n this.bankNameDisable=false;\n }\n\n this.reviewStatus = +this._branchService.formData.ReviewStatus;\n\n if(this.reviewStatus==1 || this.reviewStatus==4 || this.reviewStatus==7 ){\n this.showStatusDiv = true;\n }\n\n if(this._branchService.formData.Status == \"InActive\"){\n this._branchService.formData.Status = \"0\";\n }\n else if(this._branchService.formData.Status==\"Active\"){\n this._branchService.formData.Status = \"1\";\n }\n else{\n this._branchService.formData.Status=\"2\";\n }\n\n if(this._branchService.formData.RTGS == \"1\")\n this.OLDRTGS = \"Yes\"\n else\n this.OLDRTGS = \"No\";\n\n if(!this.CheckerPrivillage && this._branchService.formData.Status==\"2\"){\n this.disableButton = true;\n }\n else if(this.CheckerPrivillage && this._branchService.formData.Status != \"2\" && (this._branchService.formData.CreatedBy != +this._encreptdecrept.decryptUsingAES256(localStorage.getItem(\"LoginUserId\")))){\n this.disableButton = true;\n }\n else if(this.branchFlag == \"edit\" && this.CheckerPrivillage && (this._branchService.formData.CreatedBy != +this._encreptdecrept.decryptUsingAES256(localStorage.getItem(\"LoginUserId\")))){\n this.disableButton = true;\n }\n else\n this.disableButton = false;\n \n if (this.CheckerPrivillage && (this._branchService.formData.CreatedBy == +this._encreptdecrept.decryptUsingAES256(localStorage.getItem(\"LoginUserId\")))\n && this._branchService.formData.Status == '2') {\n this.disableButton = true;\n this.IsCheckerCustomer = true;\n }\n\n if(this.CheckerPrivillage == true && (this._branchService.formData.CreatedBy != +this._encreptdecrept.decryptUsingAES256(localStorage.getItem(\"LoginUserId\")))){\n this.buttonvalue = \"Verify\";\n this.showApprovalInfo = \"Pending\";\n }\n else{\n this.buttonvalue = \"Submit\";\n this.showApprovalInfo = \"\";\n }\n\n if(this.CheckerPrivillage && this._branchService.formData.Status == \"2\" && (this._branchService.formData.CreatedBy == +this._encreptdecrept.decryptUsingAES256(localStorage.getItem(\"LoginUserId\")))){\n this.showStatusDiv = true;\n this.disableStatus = true;\n this.disableButton = true;\n }\n\n if(this.CheckerPrivillage && this._branchService.formData.Status==\"2\")\n this._branchService.formData.Status = \"2\";\n\n if (this.reviewStatus == 8) {\n this.disableButton = true;\n }\n\n }, (err) => {\n this.router.navigate([\"404\"]);\n }); \n // Getting edited data from database\n this.GetEditedBranchMasterValues(this.editedBranchId);\n }\n else{\n this._branchService.formData = {\n\n BranchId:0,\n Correspondent:'No',\n BankName:'IDBI Bank',\n BranchCode:'',\n BranchName:'',\n BICCode:'',\n IFSCCode:'',\n MICRCode:'',\n Address1:'',\n Address2:'',\n CountryId:null,\n Country:'',\n StateId:null,\n State:'',\n CityId:null,\n City:'',\n lblTitle:'Add Branch Master',\n msg:'',\n CurrentBranchId:null,\n IsBranchExistInAccount:true, \n CreatedBy:0,\n UpdatedBy:0,\n CreatedDate:'',\n UpdatedDate:'',\n UserName:'',\n CreatedName :'',\n DateCreated :'',\n UpdatedName:'',\n Status:'2',\n ReviewStatus:null,\n LoggedInUser:null,\n RequestType:'',\n BranchNewStatus:'Active',\n RTGS:'1'\n }\n this.viewMode=false;\n }\n this._spinner.hide();\n }\n\n EnableTextbox(){\n this.bankNameDisable = false;\n this._branchService.formData.BankName = '';\n this.editedBranchInfo.BankName = '';\n // this.editedBranchInfo.RTGS = \"\";\n }\n\n DisableTextbox(){\n this.bankNameDisable = true;\n this._branchService.formData.BankName = 'IDBI Bank';\n this.editedBranchInfo.BankName = 'IDBI Bank';\n this.editedBranchInfo.RTGS = \"1\";\n }\n \n EnableDisableTextBox(_val){\n if (_val == \"Yes\") {\n this.disbankNameDisable = false;\n }\n else{\n this.disbankNameDisable = true;\n }\n }\n //get lblTitle() { return this._br77anchService.formData.lblTitle }\n \n show()\n {\n this.showModal = true; // Show-Hide Modal Check \n }\n\n hide(){\n this.showModal = false;\n }\n\n showlbl(){\n this.showMsg = true;\n }\n hidelbl(){\n this.showMsg = false;\n }\n\n showerror(){\n this.showerrormsg = true;\n }\n hideerror(){\n this.showerrormsg = false;\n }\n\n showIfscModal(){\n this.showIfscCode = true;\n $(document).ready(function () {\n $('#ModalIfscCode').eq(0).focus();\n });\n }\n hideIfscModal(){\n this.showIfscCode = false;\n $(document).ready(function () {\n $('#BICCode').eq(0).focus();\n });\n }\n\n get f() {\n return this.branchForm.controls; \n }\n// after submit page refresh method is called\n fnPageRefresh(form){\n if (this.branchFlag == \"edit\" && this.editedBranchId>0) { \n this.resetForm(form);\n this.onTop();\n } \n else {\n this.resetForm(form)\n this.onTop();\n\n document.location.reload();\n // setTimeout(function(){\n // this.document.location.reload();\n // }, 1000);\n }\n }\n // To reset form\n resetForm(form?: NgForm) {\n \n if (this.branchFlag == \"edit\" && this.editedBranchId > 0) {\n if (form != null) \n // form.resetForm();\n this._branchService.formData = {\n BranchId:this.editedBranchId,\n Correspondent:'No',\n BankName:'IDBI Bank',\n BranchCode:'',\n BranchName:'',\n BICCode:'',\n IFSCCode:'',\n MICRCode:'',\n Address1:'',\n Address2:'',\n CountryId:null,\n Country:'',\n StateId:null,\n State:'',\n CityId:null,\n City:'',\n lblTitle:'Edit Branch Master',\n msg:'',\n CurrentBranchId:null,\n IsBranchExistInAccount:true, \n CreatedBy:0,\n UpdatedBy:0,\n CreatedDate:'',\n UpdatedDate:'',\n UserName:'',\n CreatedName :'',\n DateCreated :'',\n UpdatedName:'',\n Status:'2',\n ReviewStatus:null,\n LoggedInUser:null,\n RequestType:'',\n BranchNewStatus:'Active',\n RTGS:'1'\n }\n this.showMsg=false;\n this.showerrormsg = false;\n\n if (this.editedBranchId == 0) {\n this.editedBranchId == this._branchService.formData.BranchId;\n }\n if(this._branchService.formData.Correspondent==\"No\")\n {\n this.bankNameDisable=true;\n }\n else{\n this.bankNameDisable=false;\n }\n \n }\n else{\n if (form != null) \n form.resetForm();\n this._branchService.formData = {\n BranchId:0,\n Correspondent:'No',\n BankName:'IDBI Bank',\n BranchCode:'',\n BranchName:'',\n BICCode:'',\n IFSCCode:'',\n MICRCode:'',\n Address1:'',\n Address2:'',\n CountryId:null,\n Country:'',\n StateId:null,\n State:'',\n CityId:null,\n City:'',\n lblTitle:'Add Branch Master',\n msg:'',\n CurrentBranchId:null,\n IsBranchExistInAccount:true, \n CreatedBy:0,\n UpdatedBy:0,\n CreatedDate:'',\n UpdatedDate:'',\n UserName:'',\n CreatedName :'',\n DateCreated :'',\n UpdatedName:'',\n Status:'2',\n ReviewStatus:null,\n LoggedInUser:null,\n RequestType:'',\n BranchNewStatus:'Active',\n RTGS:'1'\n } \n }\n }\n// submitting form data into database\n onSubmit(form: NgForm){\n form.value[\"BranchCode\"] = this.editedBranchInfo.BranchCode; \n form.value[\"IFSCCode\"] = this.editedBranchInfo.IFSCCode;\n if(form.value[\"CountryId\"] == undefined)\n form.value[\"CountryId\"] = this.editedBranchInfo.CountryId;\n if(form.value[\"StateId\"] == undefined)\n form.value[\"StateId\"] = this.editedBranchInfo.StateId;\n if(form.value[\"CityId\"] == undefined)\n form.value[\"CityId\"] = this.editedBranchInfo.CityId;\n if(form.value[\"Correspondent\"] == undefined)\n form.value[\"Correspondent\"] = this.editedBranchInfo.Correspondent;\n \n if (form.controls.BranchId.value > 0 && this.CheckerPrivillage && this._branchService.formData.Status == \"2\") {\n this.validStatus = false;\n return;\n }\n if(form.valid && this.validStatus){\n if(form.value[\"Correspondent\"] == \"Yes\" && form.value[\"BankName\"].toLowerCase() == \"idbi bank\")\n {\n this.showerrormsg = true;\n this.lblMessage = \"If Correspondent Bank is YES then Bank Name should not be IDBI Bank\";\n this.onTop();\n this.disableButton = false;\n return false;\n } \n this.disableButton = true;\n\n if(!this.CheckerPrivillage){\n form.value[\"Status\"] = 2;\n\n if(this.reviewStatus ==5 || this.reviewStatus==6){\n form.value[\"ReviewStatus\"]=4;//Edit approval pending\n }\n else if(this.reviewStatus==2 || this.reviewStatus==3){ \n form.value[\"ReviewStatus\"]=4;\n }\n else if(this.reviewStatus==8 || this.reviewStatus==9){ \n form.value[\"ReviewStatus\"]=4;\n }\n else{ \n form.value[\"ReviewStatus\"]=1;\n }\n }\n else{\n debugger;\n if(form.value[\"Status\"] ==1 && this.reviewStatus ==undefined ){\n form.value[\"ReviewStatus\"]=2;\n }\n else if(form.value[\"Status\"]==0 && this.reviewStatus ==undefined){\n form.value[\"ReviewStatus\"]=3;\n }\n if(form.value[\"Status\"] ==1 && this.reviewStatus==1){\n form.value[\"ReviewStatus\"]=2;\n }\n else if(form.value[\"Status\"]==0 && this.reviewStatus==1){\n form.value[\"ReviewStatus\"]=3;\n }\n \n if(form.value[\"Status\"] ==1 && this.reviewStatus==4){\n form.value[\"ReviewStatus\"]=5;\n }\n else if(form.value[\"Status\"]==0 && this.reviewStatus==4){\n form.value[\"ReviewStatus\"]=6;\n }\n \n if(form.value[\"Status\"] ==1 && this.reviewStatus==7){\n form.value[\"ReviewStatus\"]=8;\n form.value[\"Status\"] = 0;\n }\n else if(form.value[\"Status\"]==0 && this.reviewStatus==7){\n form.value[\"ReviewStatus\"]=9;\n form.value[\"Status\"] = 1;\n }\n\n // for add by checker add\n if(form.value[\"Status\"] == undefined && this.reviewStatus == undefined){\n form.value[\"ReviewStatus\"]= 1;\n form.value[\"Status\"] = 2;\n }\n if(form.value[\"Status\"] == 1 && (this.reviewStatus==2 || this.reviewStatus==3)){\n form.value[\"ReviewStatus\"]= 4;\n form.value[\"Status\"] = 2;\n }\n if(form.value[\"Status\"] == 1 && (this.reviewStatus==5 || this.reviewStatus==6)){\n form.value[\"ReviewStatus\"]= 4;\n form.value[\"Status\"] = 2;\n }\n if(form.value[\"Status\"] == 0 && this.reviewStatus==3){\n form.value[\"ReviewStatus\"]= 4;\n form.value[\"Status\"] = 2;\n }\n if(form.value[\"Status\"] == 0 && (this.reviewStatus==5 || this.reviewStatus==6)){\n form.value[\"ReviewStatus\"]= 4;\n form.value[\"Status\"] = 2;\n }\n if(form.value[\"Status\"] == 0 && this.reviewStatus==8){\n form.value[\"ReviewStatus\"]= 4;\n form.value[\"Status\"] = 2;\n }\n if(form.value[\"Status\"] == 1 && this.reviewStatus==9){\n form.value[\"ReviewStatus\"]= 4;\n form.value[\"Status\"] = 2;\n }\n if(form.value[\"Status\"] == 2 && (this.reviewStatus == undefined || this.reviewStatus == 1 || this.reviewStatus == null)){\n form.value[\"ReviewStatus\"] = 1;\n form.value[\"Status\"] = 2;\n }\n if(form.value[\"Status\"] == 1 && this.reviewStatus == 2){\n form.value[\"ReviewStatus\"] = 4;\n form.value[\"Status\"] = 2;\n }\n }\n\n form.value[\"LoggedInUser\"] = +this._encreptdecrept.decryptUsingAES256(localStorage.getItem('LoginUserId'));\n\n this.isValidbank=true;\n this.submitted = true;\n\n if(this.editedBranchId === 0){\n this._branchService.fnIsBranchCodeExists(form.controls.BranchCode.value).subscribe(data=>{\n \n if (data == 0) {\n\n if(this.isValidbank==true && this.validStatus==true){\n\n if (form.valid){\n let a =localStorage.getItem('LoginUserId');\n form.value[\"RTGS\"]=this.editedBranchInfo.RTGS;\n form.value[\"BranchCode\"]=this.editedBranchInfo.BranchCode;\n form.value[\"IFSCCode\"]=this.editedBranchInfo.IFSCCode;\n form.value[\"BankName\"]=this.editedBranchInfo.BankName;\n if(this.editedBranchId === 0)\n form.value.CreatedBy = +this._encreptdecrept.decryptUsingAES256(localStorage.getItem('LoginUserId'));\n else\n form.value.UpdatedBy = +this._encreptdecrept.decryptUsingAES256(localStorage.getItem('LoginUserId'));\n \n this._branchService.fnSaveBranchMasterDetails(form.value).subscribe(data=>{\n \n if(this.CheckerPrivillage && this.editedBranchId > 0 && (data.ReviewStatus == 2 || data.ReviewStatus == 3 || \n data.ReviewStatus == 5 || data.ReviewStatus == 6 || data.ReviewStatus == 8 || data.ReviewStatus == 9)){\n this.disableButton = true;\n }\n else{\n this.disableButton = false; \n }\n\n this.fnPageRefresh(form);\n this.lblMessage=data.BranchName+ \" \"+ data.msg;\n localStorage.setItem(\"Msg\",this.lblMessage);\n this.onTop();\n\n this._branchService.formData.Correspondent === \"No\";\n },(error)=>{\n this.showMsg = false;\n //this.showerrormsg = true;\n //this.lblMessage = 'An error occured.';\n this.onTop();\n this.router.navigate([\"404\"]);\n });\n \n }\n } // isvalid bank\n }\n else{\n this.disableButton = false;\n this.lblMessage = \"Branch Code already exists\";\n this.showMsg = false;\n this.showerrormsg = true;\n this.onTop(); \n }\n\n }, (err) => {\n this.router.navigate([\"404\"]);\n });//\n}\nelse{\n if(this.isValidbank==true && this.validStatus==true){\n this._branchService.fnIsBranchCodeExistsEditMode(this.editedBranchId.toString(), form.controls.BranchCode.value).subscribe(data=>{\n if (data == 0) {\n if (form.valid){\n let a =localStorage.getItem('LoginUserId');\n form.value[\"RTGS\"]=this.editedBranchInfo.RTGS;\n //seema 18/12/2020 \n form.value[\"BranchCode\"]=this.editedBranchInfo.BranchCode;\n form.value[\"IFSCCode\"]=this.editedBranchInfo.IFSCCode;\n if(this.editedBranchId === 0)\n form.value.CreatedBy = +this._encreptdecrept.decryptUsingAES256(localStorage.getItem('LoginUserId'));\n else\n form.value.UpdatedBy = +this._encreptdecrept.decryptUsingAES256(localStorage.getItem('LoginUserId'));\ndebugger;\n this._branchService.fnSaveBranchMasterDetails(form.value).subscribe(data=>{\n debugger;\n if(this.CheckerPrivillage && this.editedBranchId > 0 && (data.ReviewStatus == 2 || data.ReviewStatus == 3 || \n data.ReviewStatus == 5 || data.ReviewStatus == 6 || data.ReviewStatus == 8 || data.ReviewStatus == 9)){\n this.disableButton = true;\n }\n else if(this.editedBranchId > 0 && data.ReviewStatus == 4){\n this.disableButton = true;\n }\n else{\n this.disableButton = false;\n }\n this._branchService.formData.BranchId=data.CurrentBranchId;\n this.editedBranchId = data.CurrentBranchId;\n this.fnGetCreatedNUpdatedBranch()\n this.lblMessage=data.BranchName+ \" \"+ data.msg;\n this.showMsg = true;\n this.showerrormsg = false;\n this.onTop();\n },\n (error)=>{\n this.showMsg = false;\n //this.showerrormsg = true;\n //this.lblMessage = 'An error occured.';\n this.onTop();\n this.router.navigate([\"404\"]);\n});\n} //ntn\n }\n else{\n this.disableButton = false;\n this.lblMessage = \"Branch Code already exists\";\n this.showMsg = false;\n this.showerrormsg = true;\n this.onTop(); \n }\n}, (err) => {\n this.router.navigate([\"404\"]);\n});\n} // isvalid bank\n}\n}\n\n}\n\n onTop(){\n window.scroll({\n top: 0,\n left: 0,\n behavior:'smooth'\n })\n }\n\n StateCity(){\n this.editedBranchInfo.StateId = null;\n this.editedBranchInfo.CityId = null;\n this.cityList =null;\n }\n\n OnStatechange(){\n this.editedBranchInfo.CityId = null;\n }\n // Getting country data\n fncountry(){\n debugger;\n this._allServiceMasterApi.fnGetCountryMaster().subscribe(allCountry => {\n this.countryList = allCountry;\n }, (err) => {\n this.router.navigate([\"404\"]);\n });\n }\n// Getting state data\n fnstate(id){\n debugger;\n if (id != null) {\n this._allServiceMasterApi.fnGetStateMaster(id).subscribe(allState => {\n this.stateList = allState;\n }, (err) => {\n this.router.navigate([\"404\"]);\n }); \n }\n else{\n this.stateList.length=0;\n }\n }\n // Getting city data\n fncity(id){\n if (id != null) {\n this._allServiceMasterApi.fnGetCityMaster(id).subscribe(allCity => {\n this.cityList = allCity;\n }, (err) => {\n this.router.navigate([\"404\"]);\n }); \n }\n else{\n this.cityList.length=0;\n }\n }\n\n omit_special_char(event){ \n this.showMsg = false;\n this.showerrormsg = false;\n var k; \n k = event.charCode; //k = event.keyCode; (Both can be used)\n return((k > 64 && k < 91) || (k > 96 && k < 123) || k == 8 || k == 32 || (k >= 48 && k <= 57)); \n \n\n }\n\n BackButton(){\n localStorage.removeItem('branchDataId');\n this.router.navigate(['/ManageBranchMaster']);\n }\n// Getting created and updated history\n fnGetCreatedNUpdatedBranch(){ \n this._branchService.fnGetCreatedUpdateBranchc(this.editedBranchId.toString()).subscribe(userdates=>{\n this.BranchCreatedUpdated1=userdates;\n\n if(this.BranchCreatedUpdated1[0].CreatedDate != ''){\n this.showCreatedDiv = true;\n this.createdDate = this.BranchCreatedUpdated1[0].CreatedDate;\n this.userNameCreated = this.BranchCreatedUpdated1[0].UserName;\n }\n if(this.BranchCreatedUpdated1[1].UpdatedDate != ''){\n this.showUpdatedDiv = true;\n this.usernameUpdte = this.BranchCreatedUpdated1[1].UserName;\n this.updtedDate = this.BranchCreatedUpdated1[1].UpdatedDate;\n }\n\n }, (err) => {\n this.router.navigate([\"404\"]);\n });\n }\n \n NewBranchMaster() {\n this._branchService.formData = {\n \n BranchId:0,\n Correspondent:'No',\n BankName:'IDBI Bank',\n BranchCode:'',\n BranchName:'',\n BICCode:'',\n IFSCCode:'',\n MICRCode:'',\n Address1:'',\n Address2:'',\n CountryId:null,\n Country:'',\n StateId:null,\n State:'',\n CityId:null,\n City:'',\n lblTitle:'Add Branch Master',\n msg:'',\n CurrentBranchId:null,\n IsBranchExistInAccount:true, \n CreatedBy:0,\n UpdatedBy:0,\n CreatedDate:'',\n UpdatedDate:'',\n UserName:'',\n CreatedName :'',\n DateCreated :'',\n UpdatedName:'',\n Status:null,\n ReviewStatus:null,\n LoggedInUser:null,\n RequestType:'',\n BranchNewStatus:'Active',\n RTGS:'1'\n }\n }\n//Getting privillage based on id\n GetPrivillageRoles(){\n this._roleAccess.fnGetRoleAccess(localStorage.getItem('LoginUserId'),'/ManageBranchMaster').subscribe(roleAccess=>{ \n this.CheckerPrivillage = roleAccess[0].CheckerAccess; \n // Getting branch data from database\n this.GetBranchInformation();\n this._branchService.formData.Correspondent = '';\n }, (err) => {\n this.router.navigate([\"404\"]);\n }) ;\n }\n// Getting edited data from database\n GetEditedBranchMasterValues(editedBranchId){ \n if(editedBranchId > 0){\n return this._branchService.fnGetEditedBranchValue(editedBranchId).subscribe(data=>{\n this.editedBranchInfo = data;\n \n if (this.editedBranchInfo.Correspondent == \"No\") {\n this.bankNameDisable=true;\n }\n if (this.editedBranchInfo.Correspondent == \"Yes\") {\n this.bankNameDisable=false;\n }\n\n this.GetBranchStateNCountry();\n }, (err) => {\n this.router.navigate([\"404\"]);\n });\n }\n else{\n return this.editedBranchInfo = this._branchService.formData;\n }\n }\n\n GetBranchStateNCountry() {\n if (this.editedBranchInfo.StateId != null)\n this.fnstate(this.editedBranchInfo.CountryId);\n \n if (this.editedBranchInfo.CityId != null)\n this.fncity(this.editedBranchInfo.StateId);\n }\n RemoveIFSCCOde(){\n if(this.editedBranchInfo.BankName != null && this.editedBranchInfo.BankName != \"\" \n && this.editedBranchInfo.BranchName != null && this.editedBranchInfo.BranchName != \"\"){\n this.editedBranchInfo.IFSCCode='';\n // this.editedBranchInfo.RTGS='';\n this.editedBranchInfo.BranchCode = '';\n }\n }\n fnIFSCCodeList(){\n debugger\n this.IFSCCodes = [];\n if(this.editedBranchInfo.BankName != null && this.editedBranchInfo.BankName != \"\" \n && this.editedBranchInfo.BranchName != null && this.editedBranchInfo.BranchName != \"\"){\n this._branchService.fnGetIFSCCode(this.editedBranchInfo.BankName, this.editedBranchInfo.BranchName).subscribe(ifscData=>{\n this.IFSCCodes = ifscData[\"Table\"];\n for (var i = 0; i < this.IFSCCodes.length; i++) {\n this.IFSCCodes[i].IsSelected = false;\n if(this.editedBranchInfo.IFSCCode == this.IFSCCodes[i].IDI_IFSC_CODE){\n this.IFSCCodes[i].IsSelected = true;\n }\n } \n });\n }\n this.showIfscModal();\n }\n\n // filterIfscCodeList(){\n // this.FilterIFSCCode = [];\n // this.showIfscModal();\n // for (var i = 0; i < this.IFSCCode.length; i++) {\n // if(this.IFSCCode[i].IDI_BANK_NAME == this.editedBranchInfo.BankName && this.IFSCCode[i].IDI_BRANCH_NAME == this.editedBranchInfo.BranchName){\n // this.FilterIFSCCode.push(this.IFSCCode[i]);\n // } \n // }\n\n // for (var i = 0; i < this.FilterIFSCCode.length; i++) {\n // if(this.FilterIFSCCode[i].IDI_BANK_NAME == this.editedBranchInfo.BankName && \n // this.FilterIFSCCode[i].IDI_BRANCH_NAME == this.editedBranchInfo.BranchName &&\n // this.editedBranchInfo.IFSCCode == this.FilterIFSCCode[i].IDI_IFSC_CODE){\n // this.FilterIFSCCode[i].IsSelected = true;\n // } \n // }\n // }\n\n isChecked(ifsccode){\n debugger\n for (var i = 0; i < this.IFSCCodes.length; i++) {\n if(this.IFSCCodes[i].IsSelected == true){\n this.IFSCCodes[i].IsSelected = false;\n this.IsAnyOneSelected=false;\n }\n else if(this.IFSCCodes[i].IDI_IFSC_CODE == ifsccode){\n this.IFSCCodes[i].IsSelected = true;\n this.NoOneSelected=\"\";\n // this.IsAnyOneSelected=false;\n } \n else{\n this.IFSCCodes[i].IsSelected = false;\n } \n }\n }\n\n isselect(res){\n //this.hideIfscModal();\n debugger\n if(res == \"1\"){\n for (var i = 0; i < this.IFSCCodes.length; i++) {\n if(this.IFSCCodes[i].IsSelected == true){\n this.hideIfscModal();\n this.NoOneSelected=\"\";\n this.IsAnyOneSelected=true;\n this.editedBranchInfo.IFSCCode = this.IFSCCodes[i].IDI_IFSC_CODE;\n // if(this.editedBranchInfo.BranchCode == \"\" || this.editedBranchInfo.BranchCode == null)\n this.editedBranchInfo.BranchCode = this.IFSCCodes[i].IDI_BRANCH_CODE\n this._branchService.fnselectIFSCCode(this.IFSCCodes[i].IDI_IFSC_CODE, \"RTGS\").subscribe(ifscData=>{\n var ifscData1 = ifscData[0][\"bankIfscStatus\"];\n if(ifscData1 == \"VALID\")\n this.editedBranchInfo.RTGS = \"1\"\n else\n this.editedBranchInfo.RTGS = \"0\"\n });\n }\n }\n if(this.IsAnyOneSelected == false){\n this.NoOneSelected=\"please Select IFSC Code\";\n }\n if(this.IsAnyOneSelected == true){\n this.NoOneSelected=\"\";\n }\n }\n else{\n if(this.IFSCCodes.length>0){\n for (var i = 0; i < this.IFSCCodes.length; i++) {\n this.IFSCCodes[i].IsSelected == false;\n this.editedBranchInfo.IFSCCode = \"\";\n this.hideIfscModal();\n // if(this.editedBranchInfo.BranchCode == \"\" || this.editedBranchInfo.BranchCode == null)\n this.editedBranchInfo.BranchCode = \"\";\n }\n }\n else{\n this.hideIfscModal();\n }\n }\n }\n\n ifsccodevalue(){\n if(this.editedBranchInfo.BankName == \"\" || this.editedBranchInfo.BranchName == \"\"){\n this.editedBranchInfo.IFSCCode = \"\";\n // this.editedBranchInfo.RTGS = \"\";\n this.editedBranchInfo.BranchCode = \"\";\n }\n }\n checkStatusVlidaity(status) {\n this._branchService.formData.Status = status;\n if (this.CheckerPrivillage == true) {\n if (status == \"2\") {\n this.validStatus = false;\n }\n else {\n this.validStatus = true;\n }\n }\n }\n CorrespondentRadio(){\n \n jQuery('input:radio[value=Yes]').prop('checked', true);\n this._branchService.formData.Correspondent='Yes'\n this.EnableTextbox();\n //\n jQuery('input:radio[value=M]').blur(function() {\n \n });\n }\n handleKeyboardEvent(event) {\n event.returnValue = false;\n event.preventDefault();\n }\n}\n","
\n
\n
\n
\n \n
\n
\n \n \n
\n
\n

\n {{ lblTitle }}\n

\n
\n
\n
\n
\n \n \n \n \n\n
\n
\n

\n * Marked Fields Are Mandatory.\n

\n
\n \n\n \n ×\n Error! {{ lblMessage }}.\n
\n
\n
\n\n
\n
\n \n
\n \n
\n \n
\n \n\n
\n \n\n \n
\n
\n \n
\n
\n \n
\n \n
\n \n
\n \n\n
\n \n\n \n
\n
\n \n
\n
\n\n
\n
\n \n \n
\n \n \n \n \n \n
\n
\n Bank Name is required.\n
\n
\n Please provide a valid Bank Name.\n
\n
\n
\n\n \n
\n\n
\n \n\n \n\n \n\n
\n
\n Branch Name is required.\n
\n
\n Please provide a valid Branch Name.\n
\n
\n
\n\n \n
\n \n\n \n\n \n\n
\n
\n Branch Code is required.\n
\n
\n Please provide a valid Branch Code.\n
\n
\n
\n
\n\n
\n
\n \n \n \n \n\n \n\n
\n
\n IFSC Code is required.\n
\n
\n Please provide a valid IFSC Code.\n
\n
\n
\n
\n \n
\n\n\n
\n \n \n\n \n\n
\n
\n BIC Code should be 8 To 11 digit.\n
\n\n
\n Please provide a valid BIC Code.\n
\n
\n
\n\n
\n \n\n \n \n \n\n
\n
\n MICR Code should be only numbers.\n
\n
\n MICR Code should be 9 digit.\n
\n
\n
\n
\n\n
\n
\n \n\n \n\n \n\n
\n Country is required\n
\n
\n\n
\n \n\n \n\n \n\n
\n State is required\n
\n
\n\n
\n \n \n\n \n\n
\n City is required\n
\n
\n
\n\n
\n
\n \n\n \n\n \n\n
\n \n
\n Please provide a valid Address.\n
\n
\n
\n\n
\n \n \n \n
\n
\n Please provide a valid Address.\n
\n
\n
\n\n
\n \n\n \n\n \n \n
\n Status is required\n
\n\n
\n
\n\n
\n
\n\n \n\n
\n \n \n
\n\n
\n
\n\n
\n Created By {{ userNameCreated }} on {{ createdDate }}\n
\n
\n Updated By {{ usernameUpdte }} on {{ updtedDate }}\n
\n \n
\n \n \n\n\n\n\n
\n
\n
\n

Confirmation

\n \n ×\n \n
\n
\n {{ lblMessage }}\n
\n
\n \n Close\n \n
\n
\n
\n\n\n
\n
\n
\n
\n

Select IFSC Code

\n \n ×\n \n
\n
\n
\n \n
\n \n \n
\n
\n\n
\n
\n
No IFSC code found.
\n
\n
\n \n\n
\n
\n {{NoOneSelected}}\n
\n \n
\n \n Select\n \n \n Cancel\n \n
\n
\n
\n
\n\n\n\n","import { Component, OnInit } from '@angular/core';\nimport { UserCustomerService } from '../../MasterService/user-customer.service'\nimport { AllMasterApiService } from '../../MasterService/all-master-api.service';\nimport {ActivatedRoute} from \"@angular/router\";\nimport { isBoolean } from 'util';\nimport { Router } from '@angular/router';\nimport { parse } from 'path';\nimport { StateMaster } from '../../MasterService/state-master';\nimport * as CryptoJS from 'crypto-js';\n\n@Component({\n selector: 'app-customer-mapping',\n templateUrl: './customer-mapping.component.html',\n styleUrls: ['./customer-mapping.component.css']\n})\nexport class CustomerMappingComponent implements OnInit {\n CustomersForSelect:any =[];\n FilterCustomer:any=[];\n AllSelectedFilterCustomer:any=[];\n cityList: any=[];\n StateList: StateMaster[];\n _custfillter:any=[];\n userId :number=0;\n UserName:string;\n customerSelected:boolean;\n IsCustomerSelected:boolean;\n listLengthForSelect: 0;\n _mapCutomerType:Boolean;\n checkedList:any=[];\n config: any;\n lblMessage:string;\n showMsg:boolean;\n showerrormsg:boolean;\n showValidation:boolean;\n disableButton:boolean;\n mspCustomer :boolean = false;\n ddlshowvalue:number;\n decryptUserId:string;\n \n constructor(public _UserCustomerService : UserCustomerService,private route: ActivatedRoute, public _allMasterApiService:AllMasterApiService,public router:Router) { }\n\n // Declare this key and iv values in declaration\n private key = CryptoJS.enc.Utf8.parse('MAKV2SPBNI992121');\n private iv = CryptoJS.enc.Utf8.parse('MAKV2SPBNI992121');\n\n decryptUsingAES256(decString) {\n var decrypted = CryptoJS.AES.decrypt(decString, this.key, {\n keySize: 128 / 8,\n iv: this.iv,\n mode: CryptoJS.mode.CBC,\n padding: CryptoJS.pad.Pkcs7\n }); \n return decrypted.toString(CryptoJS.enc.Utf8);\n}\nencryptUserId:string;\n\n ngOnInit(): void {\n if(localStorage.getItem('LoginUserId')==null){\n this.router.navigate([\"\"]);\n return;\n }\n this.disableButton=false;\n this.onTop();\n this.fnGetAllCity(\"\");\n this.fnGetAllState();\n\n this.route.queryParams.subscribe(params => {\n this.encryptUserId=params[\"id\"];\n this.decryptUserId=this.decryptUsingAES256(params[\"id\"])\n this.userId = (+this.decryptUserId);\n this.UserName = params[\"name\"];\n });\n\n this.fnGetAllCustomer();\n this.customerSelected = false;\n \n this.config = {\n itemsPerPage: 10,\n currentPage: 1,\n };\n this.ddlshowvalue =10;\n }\n\n BackButton(){\n this.router.navigate(['/ManageUserMaster']);\n }\n\n pageChanged(event) {\n this.config.currentPage = event;\n }\n\n fnGetAllCustomer(){\n this._UserCustomerService.fnGetCustomerListForUser(this.encryptUserId).subscribe(data=>{\n this.CustomersForSelect = data;\n // for (var i = 0; i < this.CustomersForSelect.length; i++) {\n // if(this.CustomersForSelect[i].isCustomerSelected == true){\n // this.CustomersForSelect[i].isCustomerCheckboxhide = true;\n // this.CustomersForSelect[i].isCustomerDeletehide = false;\n // }\n // else{\n // this.CustomersForSelect[i].isCustomerCheckboxhide = false;\n // this.CustomersForSelect[i].isCustomerDeletehide = true;\n // }\n // }\n\n this.FilterCustomer = this.CustomersForSelect;\n this.listLengthForSelect = this.CustomersForSelect.length;\n\n this.AllSelectedFilterCustomer = this.FilterCustomer.filter(row=>{\n return row.isCustomerSelected == true;\n });\n\n if(this.AllSelectedFilterCustomer.length == this.FilterCustomer.length)\n this.customerSelected = true;\n\n\n this.OnSearch(\"\",\"\",\"\",\"\",\"\",\"\");\n }, (err) => {\n this.router.navigate([\"404\"]);\n });\n }\n\n OnSearch(Name,CorpCode,State,City,mapCustomer,Status){\n debugger;\n this.pageChanged(event);\n var StateN = [];\n\n if(mapCustomer == \"\"){\n if ((Name != \"\" || CorpCode != \"\" || State != \"\" || City != \"\" || Status!=\"\") && mapCustomer == \"\") {\n this.mspCustomer = true;\n }\n else {\n this.mspCustomer = false;\n }\n }\n\n if(mapCustomer == \"true\")\n this.mspCustomer = true;\n else if(mapCustomer == \"false\")\n this.mspCustomer = false;\n\n if(!Name && !CorpCode && !City && State==0 && !mapCustomer && !Status){\n this.FilterCustomer = this.CustomersForSelect;\n } \n else{\n this.FilterCustomer = this.CustomersForSelect.filter(row=>{\n return row.CustomerName.toLocaleLowerCase().match(Name.toLocaleLowerCase());\n });\n this.FilterCustomer = this.FilterCustomer.filter(row=>{\n return row.CorporationCode.toLocaleLowerCase().match(CorpCode.toLocaleLowerCase());\n });\n \n \n StateN = this.StateList.filter(row=>{\n return row.StateId == parseInt(State);\n })\n if(State>0){\n this.FilterCustomer = this.FilterCustomer.filter(row=>{\n return row.State.match(StateN[0][\"StateName\"]);\n });\n }\n \n if(mapCustomer!=\"\"){\n this.FilterCustomer = this.FilterCustomer.filter(row=>{\n this._mapCutomerType = row.isCustomerSelected;\n if(this._mapCutomerType == false){\n if(mapCustomer == \"true\"){\n this.mspCustomer = true;\n }\n else{\n this.mspCustomer = false;\n }\n }\n return row.isCustomerSelected === this.mspCustomer;\n });\n }\n // this.FilterCustomer = this.FilterCustomer.filter(row=>{\n // return row.StateId==State;\n // });\n this.FilterCustomer = this.FilterCustomer.filter(row=>{\n return row.City.match(City);\n });\n this.FilterCustomer = this.FilterCustomer.filter(row=>{\n return row.Status.match(Status);\n });\n }\n}\n\n checkUncheckAllCustomer() {\n this.customerSelected != this.customerSelected;\n\n if (this.FilterCustomer.length > 0) {\n for (var i = 0; i < this.FilterCustomer.length; i++) {\n this.FilterCustomer[i].isCustomerSelected = this.customerSelected; \n }\n }\n else\n {\n for (var i = 0; i < this.listLengthForSelect; i++) {\n this.CustomersForSelect[i].isCustomerSelected = this.customerSelected; \n }\n }\n\n this.getCheckedItemList();\n }\n\n isChecked(CustomerId,status){\n debugger;\n this.IsCustomerSelected != status;\n for (var i = 0; i < this.listLengthForSelect; i++) {\n this.CustomersForSelect[i].isCustomerSelected == this.IsCustomerSelected; \n }\n this.getCheckedItemList();\n }\n\n\n getCheckedItemList(){\n this.checkedList = [];\n for (var i = 0; i < this.listLengthForSelect; i++) {\n if(this.CustomersForSelect[i].isCustomerSelected == true)\n this.checkedList.push(this.CustomersForSelect[i]);\n }\n this.checkedList = JSON.stringify(this.checkedList);\n}\n\n showlbl(){\n this.showMsg = true;\n}\nhidelbl(){\n this.showMsg = false;\n}\nshowerror(){\n this.showerrormsg = true;\n}\nhideerror(){\n this.showerrormsg = false;\n}\nshowValidationmsg(){\n this.showValidation = true;\n}\nhideValidationmsg(){\n this.showValidation = false;\n}\n\n Save(){\n debugger;\n this.disableButton=true;\n var postData = {};\n var custList = [];\n\n for (var i = 0; i < this.listLengthForSelect; i++) {\n if(this.CustomersForSelect[i].isCustomerSelected == true){\n var CustObj = {};\n CustObj[\"UserId\"] = this.userId;\n CustObj[\"CustomerId\"] = this.CustomersForSelect[i].CustomerId;\n custList.push(CustObj);\n }\n }\n\n if (custList.length > 0) {\n postData[\"UserId\"]= this.userId;\n postData[\"CustomerId\"]= 0;\n // postData[\"flag\"]= \"INSERT\";\n postData[\"UserCustomerlist\"]= custList;\n // if(custList.length != 0){\n \n this._UserCustomerService.fnAddUserCustomer(postData).subscribe(data=>{\n this.disableButton=false;\n this.lblMessage= data.msg;\n this.fnGetAllCustomer();\n this.showMsg = true;\n this.showerrormsg = false;\n this.hideValidationmsg();\n this.onTop(); \n}, (error)=>{\n this.disableButton=false;\n this.showMsg = false;\n this.router.navigate([\"404\"]);\n //this.showerrormsg = true;\n //this.lblMessage = 'An error occured.';\n this.onTop();\n}); \n }\n else {\n this.disableButton=false;\n //this.showValidationmsg();\n this.lblMessage= \"Select atleast one customer for mapping\";\n this.showMsg =false;\n this.showerrormsg = true;\n this.onTop();\n }\n \n // }\n // else{\n // this.disableButton=false;\n // this.showValidationmsg();\n // // this.lblMessage= \"Please select Customer.\";\n // this.onTop();\n // }\n debugger;\n this.customerSelected = false;\n\n }\n\n// Delete(customerID){\n// debugger;\n// var postData = {};\n// var custList = [];\n\n// postData[\"UserId\"]= this.userId;\n// postData[\"CustomerId\"]= customerID;\n// postData[\"flag\"]= \"DELETE\";\n// postData[\"UserCustomerlist\"]= custList;\n\n// this._UserCustomerService.fnAddUserCustomer(postData).subscribe(data=>{\n// this.lblMessage= \"Customer mapping delete successful.\";\n// this.fnGetAllCustomer();\n// this.showMsg = true;\n// this.showerrormsg = false;\n// this.onTop(); \n// },\n// (error)=>{\n// this.showMsg = false;\n// this.showerrormsg = true;\n// this.lblMessage = 'An error occured.';\n// this.onTop();\n// });\n// }\n\n\n onTop(){\n window.scroll({\n top: 0,\n left: 0,\n behavior:'smooth'\n })\n}\n\n\nfnGetAllCity(State){\n if(State == \"\")\n this._allMasterApiService.fnGetAllCityMaster().subscribe(AllCity => {\n this.cityList = AllCity;\n }, (err) => {\n this.router.navigate([\"404\"]);\n });\n else{\n this._allMasterApiService.fnGetCityMaster(+State).subscribe(allCity => {\n this.cityList = allCity;\n }, (err) => {\n this.router.navigate([\"404\"]);\n });\n }\n}\n\nfnGetAllState(){\n this._allMasterApiService.fnGetAllStateMaster().subscribe(AllState => {\n this.StateList = AllState;\n }, (err) => {\n this.router.navigate([\"404\"]);\n });\n}\n\nfnShowonchange(newObj){\n this.ddlshowvalue = 0;\n this.ddlshowvalue = newObj.target.value;\n this.config = {\n itemsPerPage: this.ddlshowvalue,\n currentPage: 1,\n };\n}\n}\n","\n
\n
\n\n \n\n
\n
\n
\n \n
\n
\n

Customer Mapping for User {{UserName}}

\n
\n \n
\n\n
\n\n
\n
\n
\n ×\n Success! {{lblMessage}}.\n
\n \n
\n ×\n Error! {{lblMessage}}.\n
\n\n
\n
\n\n
\n
\n \n \n
\n \n\n
\n \n \n
\n \n
\n \n
\n\n
\n \n \n
\n
\n
\n
\n \n
\n
\n \n
\n \n \n \n
\n
\n \n \n \n
\n
\n
\n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n
\n
\n
\n
\n \n validation! {{lblMessage}}.\n
\n
\n \n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Customer NameCorporation CodeStateCityStatus\n
\n \n \n
\n Action
{{_cust.CustomerName}}{{_cust.CorporationCode}}{{_cust.State}}{{_cust.City}}{{_cust.Status}}\n
\n \n \n \n
\n
No records found.
\n
\n
\n \n
\n\n
\n \n
\n
\n \n
\n \n \n
\n \n
\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { FormGroup, FormControl, NgForm } from '@angular/forms';\nimport { CustomerService } from '../../MasterService/customer.service';\nimport { Router } from '@angular/router';\nimport { RoleAccessService } from '../../MasterService/role-access.service';\nimport { RoleAccess } from 'src/app/MasterService/RoleAccess';\nimport { ActivatedRoute } from \"@angular/router\";\nimport { AllMasterApiService } from 'src/app/MasterService/all-master-api.service';\nimport { NgxSpinnerService } from \"ngx-spinner\";\nimport { CustomerCreatedUpdated } from '../../MasterService/customer';\nimport * as moment from 'moment';\nimport { NgbDateCustomParserFormatter } from '../../MasterService/date-format';\nimport { NgbDateParserFormatter, NgbDateStruct } from '@ng-bootstrap/ng-bootstrap';\nimport { IAngularMyDpOptions, IMyDateModel } from 'angular-mydatepicker';\nimport { UserService } from 'src/app/MasterService/user.service';\nimport { EncryptdecryptService } from 'src/app/MasterService/encryptdecrypt.service';\n\n@Component({\n selector: 'app-customer-master',\n templateUrl: './customer-master.component.html',\n styleUrls: ['./customer-master.component.css'],\n})\nexport class CustomerMasterComponent implements OnInit {\n\n myDpOptions: IAngularMyDpOptions = {\n dateRange: false,\n dateFormat: 'dd-mm-yyyy'\n // other options are here...\n };\n\n model: IMyDateModel = null;\n\n validDate: boolean = true;\n maxDate: object;\n inputDate: any;\n IsCheckerCustomer: boolean = false;\n\n constructor(public _customerService: CustomerService, private router: Router, public _roleAccess: RoleAccessService\n , public _allServiceMasterApi: AllMasterApiService, private _roleQuerystring: ActivatedRoute,\n public _spinner: NgxSpinnerService, private _routeWithQuerystring: ActivatedRoute, public _userService: UserService,public _encrypt:EncryptdecryptService) {\n this.maxDate = { year: new Date().getFullYear(), month: new Date().getMonth() + 1, day: new Date().getDate() }\n }\n\n showModal: boolean;\n showMsg: boolean;\n showerrormsg: boolean;\n lblMessage: string;\n EmptyDataMsg: string;\n ViewPrivllage: boolean;\n disableButton: boolean;\n disableClear: boolean = false;\n viewMode: boolean = false;\n countryList: any = [];\n stateList: any = [];\n cityList: any = [];\n today: any;\n error: any = { isError: false, errorMessage: '' };\n isCodeExist: any;\n futureDateError: boolean = false;\n editedCustomerId: number;\n CustomerFlag: string;\n lblTitle: string;\n newdate: string;\n EshtablishmentDate: string;\n EditedEshtablishmentDate: string;\n HideClr: boolean = false;\n CheckerPrivillage: boolean = false;\n viewModeValue: string;\n IsPendingStatus: string;\n pendingStatus: boolean = false;\n showApprovalInfo: string;\n deletePending: boolean = false;\n buttonvalue: string = 'Submit';\n disableStatus: boolean;\n editedCustomerInfo: any = [];\n validStatus: boolean = true;\n UserId: number;\n sweepapproval:string;\n fundapproval:string;\n\n BankButton() {\n localStorage.removeItem('CustomerDataId');\n this.router.navigate(['/ManageCustomer']);\n }\n ngOnInit(): void {\n // If LoginUserId is null then it will return\n if (localStorage.getItem('LoginUserId') == null) {\n this.router.navigate([\"\"]);\n return;\n }\n this._spinner.show();\n this.UserId = +this._encrypt.decryptUsingAES256(localStorage.getItem('LoginUserId'));\n this.editedCustomerId = +localStorage.getItem('CustomerDataId');\n this.CustomerFlag = localStorage.getItem('CustomerFlag');\n this.disableButton = false;\n // getting view mode value from query string\n this._routeWithQuerystring.queryParams.subscribe(params => {\n this.viewModeValue = params[\"viewMode\"];\n });\n if (this.viewModeValue == 'view') {\n this.disableButton = true;\n this.disableClear = true;\n }\n //Getting country data from database\n this.fncountry();\n // Getting Privillage based on id\n this.GetPrivillageRoles();\n // Getting customer data from database\n this.GeCustomerInfo();\n // Getting customer created and updated history\n this.GetEditedCustomerInfo();\n\n this.onTop();\n // this._roleQuerystring.queryParams.subscribe(params => { \n // this.viewMode = params[\"viewMode\"];\n // }); \n // if(this.viewMode=='view'){\n // this.disableButton=true; \n // } \n\n this.lblMessage = localStorage.getItem(\"Msg\");\n if (this.lblMessage == null || this.lblMessage == \"\") {\n\n } else {\n this.lblMessage == localStorage.getItem(\"Msg\");\n this.showMsg = true;\n this.showerrormsg = false;\n localStorage.removeItem(\"Msg\");\n this.onTop();\n }\n\n if (this.editedCustomerId > 0) {\n if (this.viewModeValue == 'view') {\n this.lblTitle = \"View Customer Master\";\n this.viewMode = true;\n this.disableButton = true;\n this.disableClear = true;\n } else {\n this.lblTitle = \"Edit Customer Master\";\n //this.viewMode = false;\n //this.disableButton = false;\n this.disableClear = false;\n }\n }\n else {\n this.lblTitle = \"Add Customer Master\";\n this.disableButton = false;\n this.disableClear = false;\n this._spinner.hide();\n }\n\n // if(this.editedCustomerId ===0){\n // //this.GetCustomerStateNCountry();\n // this.lblTitle='Add Customer Master';\n // this._spinner.hide();\n // } \n }\n createdBy: number;\n createdDate: string;\n userNameCreated: string;\n usernameUpdte: string;\n updtedDate: string;\n showCreatedDiv: boolean = false;\n showUpdatedDiv: boolean = false;\n\n CustomerCreatedUpdated: CustomerCreatedUpdated[];\n // Getting privillage based on id\n GetPrivillageRoles() {\n this._roleAccess.fnGetRoleAccess(localStorage.getItem('LoginUserId'), '/ManageCustomer').subscribe(roleAccess => {\n this.CheckerPrivillage = roleAccess[0].CheckerAccess;\n // Getting user edited data from database\n this.GetEditedCustomerMasterValues();\n }\n , (err) => {\n this.router.navigate([\"404\"]);\n }\n );\n }\n// Getting user edited data from database\n GetEditedCustomerMasterValues() {\n\n if (this.editedCustomerId > 0) {\n return this._customerService.fnGetEditedCustomerMasterValues(this.editedCustomerId).subscribe(data => {\n \n this.editedCustomerInfo = data;\n\n if (this.editedCustomerInfo.Status == \"Pending\" && this.CheckerPrivillage && this._customerService.formData.CreatedBy == this.UserId) {\n this.buttonvalue = \"Submit\";\n }\n else if (this.editedCustomerInfo.Status == \"Pending\" && this.CheckerPrivillage && this._customerService.formData.CreatedBy != this.UserId) {\n this.buttonvalue = \"Verify\";\n }\n\n if (this.editedCustomerInfo.Status == \"Pending\") {\n this.editedCustomerInfo.Status = \"2\";\n }\n\n if (this.editedCustomerInfo.DateOfEshtablishment != null) {\n var _savedStartDate = {\n isRange: false,\n singleDate: { date: { year: 0, month: 0, day: 0 }, jsDate: \"\", formatted: \"\", epoc: \"\" },\n dateRange: null\n };\n\n var newObj = moment(this.editedCustomerInfo.DateOfEshtablishment).toObject();\n _savedStartDate.singleDate.date.day = newObj.date;\n _savedStartDate.singleDate.date.month = newObj.months + 1;\n _savedStartDate.singleDate.date.year = newObj.years;\n\n this.editedCustomerInfo.DateOfEshtablishment = _savedStartDate;\n }\n if (this.editedCustomerInfo.DateOfEshtablishment.singleDate.date.month >= \"10\") {\n this.EditedEshtablishmentDate = this.editedCustomerInfo.DateOfEshtablishment.singleDate.date.day + \"-\" +\n this.editedCustomerInfo.DateOfEshtablishment.singleDate.date.month + \"-\" + this.editedCustomerInfo.DateOfEshtablishment.singleDate.date.year;\n }\n else {\n this.EditedEshtablishmentDate = this.editedCustomerInfo.DateOfEshtablishment.singleDate.date.day + \"-0\" +\n this.editedCustomerInfo.DateOfEshtablishment.singleDate.date.month + \"-\" + this.editedCustomerInfo.DateOfEshtablishment.singleDate.date.year;\n }\n \n if (this.CheckerPrivillage && this.UserId == this.editedCustomerInfo.CreatedBy && this.editedCustomerInfo.Status == '2') {\n this.disableButton = true;\n this.IsCheckerCustomer = true;\n }\n else if (this.CheckerPrivillage && this.UserId != this.editedCustomerInfo.CreatedBy\n && this.editedCustomerInfo.Status != '2') {\n this.disableButton = true;\n // this.viewMode = true;\n this.buttonvalue = \"Verify\";\n }\n else if (!this.CheckerPrivillage && this.editedCustomerInfo.Status == \"2\") {\n this.disableButton = true;\n }\n\n if(this.CustomerFlag == \"edit\" && this.CheckerPrivillage && this.UserId != this.editedCustomerInfo.CreatedBy){\n this.disableButton = true;\n }\n //Defect 1979 checker to chekcer flow ---01/02/2021 --Rubina \n if(this.CustomerFlag == \"edit\" && this.CheckerPrivillage && \n this.UserId == this.editedCustomerInfo.CreatedBy && this.editedCustomerInfo.Status != \"2\"){\n this.disableButton = false;\n }\n \n \n \n this.GetCustomerStateNCountry();\n }\n , (err) => {\n this.router.navigate([\"404\"]);\n }\n );\n }\n else {\n return this.editedCustomerInfo = this._customerService.formData;\n }\n }\n\n GetEditedCustomerInfo() {\n if (this.editedCustomerId != null && this.editedCustomerId != 0) {\n this._customerService.fnGetCreatedNUpatedDateOfCustomerMaster(this.editedCustomerId).subscribe(data => {\n this.CustomerCreatedUpdated = data;\n\n if (this.CustomerCreatedUpdated[0].CreatedDate != '') {\n this.showCreatedDiv = true;\n this.createdDate = this.CustomerCreatedUpdated[0].CreatedDate;\n this.userNameCreated = this.CustomerCreatedUpdated[0].UserName;\n }\n\n if (this.CustomerCreatedUpdated[1].UpdatedDate != '') {\n this.showUpdatedDiv = true;\n this.usernameUpdte = this.CustomerCreatedUpdated[1].UserName;\n this.updtedDate = this.CustomerCreatedUpdated[1].UpdatedDate;\n }\n }\n , (err) => {\n this.router.navigate([\"404\"]);\n }\n );\n }\n }\n\n IsAuthorize:boolean=false;\n GeCustomerInfo() {\n if (this.editedCustomerId != null && this.editedCustomerId != 0) {\n this._customerService.fnGetCustomerData(localStorage.getItem(\"LoginUserId\"), this.editedCustomerId,\"1\",\"100\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\").subscribe(allCustomers => {\n this._customerService.formData = allCustomers[0];\n\n if (allCustomers[0].DateOfEshtablishment != null) {\n\n var _savedStartDate = {\n isRange: false,\n singleDate: { date: { year: 0, month: 0, day: 0 }, jsDate: \"\", formatted: \"\", epoc: \"\" },\n dateRange: null\n };\n\n var newObj = moment(allCustomers[0].DateOfEshtablishment).toObject();\n _savedStartDate.singleDate.date.day = newObj.date;\n _savedStartDate.singleDate.date.month = newObj.months + 1;\n _savedStartDate.singleDate.date.year = newObj.years;\n\n this._customerService.formData.DateOfEshtablishment = _savedStartDate;\n\n //var _savedStartDate = moment(allCustomers[0].DateOfEshtablishment).toObject();\n\n //var _savedStartDateObject = {day:0,month:0,year:0};\n\n //_savedStartDateObject.day = _savedStartDate.date;\n //_savedStartDateObject.month = _savedStartDate.months+1;\n //_savedStartDateObject.year = _savedStartDate.years;\n //this._customerService.formData.DateOfEshtablishment=_savedStartDateObject; \n\n\n if (this._customerService.formData.DateOfEshtablishment.singleDate.date.month >= \"10\") {\n this.EshtablishmentDate = this._customerService.formData.DateOfEshtablishment.singleDate.date.day + \"-\" +\n this._customerService.formData.DateOfEshtablishment.singleDate.date.month + \"-\" + this._customerService.formData.DateOfEshtablishment.singleDate.date.year;\n }\n else {\n this.EshtablishmentDate = this._customerService.formData.DateOfEshtablishment.singleDate.date.day + \"-0\" +\n this._customerService.formData.DateOfEshtablishment.singleDate.date.month + \"-\" + this._customerService.formData.DateOfEshtablishment.singleDate.date.year;\n }\n\n }\n\n this.showApprovalInfo = this._customerService.formData.Status;\n\n if (this._customerService.formData.Status.toLocaleLowerCase() == \"inactive\") {\n this._customerService.formData.Status = \"0\";\n }\n else if (this._customerService.formData.Status == \"Active\") {\n this._customerService.formData.Status = \"1\"\n }\n else {\n this._customerService.formData.Status = \"2\";\n }\n\n this.IsPendingStatus = String(this._customerService.formData.ReviewStatus);\n\n if (this.IsPendingStatus == \"1\" || this.IsPendingStatus == \"4\" || this.IsPendingStatus == \"7\") {\n this.pendingStatus = true;\n this.showApprovalInfo = this.showApprovalInfo;\n }\n\n if(this._customerService.formData.SweepExecutionApproval == \"1\")\n this.sweepapproval = \"2 Eye\";\n else\n this.sweepapproval = \"4 Eye\";\n\n if(this._customerService.formData.FundDisbursementApproval == \"1\")\n this.fundapproval = \"4 Eye\";\n else\n this.fundapproval = \"6 Eye\";\n \n // if(this.viewModeValue == \"view\")\n // this.disableButton = true;\n // else{\n // if((this.IsPendingStatus ==\"4\" || this.IsPendingStatus ==\"7\" || this.IsPendingStatus ==\"1\") && this._customerService.formData.CreatedBy == +localStorage.getItem(\"LoginUserId\"))\n // this.disableButton = true;\n // else if(!this.CheckerPrivillage && allCustomers[0][\"checkerAccess\"] && !allCustomers[0][\"adminAccess\"]){\n // this.disableButton = true;\n // }\n // else \n // this.disableButton = false; \n // }\n\n if (this.IsPendingStatus == \"7\") {\n this.deletePending = true;\n }\n\n if (this.IsPendingStatus == \"8\") {\n this.disableButton = true;\n }\n // if(this.CheckerPrivillage == true && (this._customerService.formData.CreatedBy != +localStorage.getItem(\"LoginUserId\")))\n // this.buttonvalue = \"Verify\";\n // else\n // this.buttonvalue = \"Submit\"; \n\n // this._userService.fnGetUserData(+localStorage.getItem('LoginUserId'),'Edit').subscribe(Users=>{\n // if(this.CheckerPrivillage){\n // if(this.CheckerPrivillage && (this.IsPendingStatus == \"2\" || this.IsPendingStatus == \"3\" || this.IsPendingStatus == \"5\" || this.IsPendingStatus == \"6\"\n // || this.IsPendingStatus == \"8\" || this.IsPendingStatus == \"9\") && this._customerService.formData.CreatedBy != +localStorage.getItem(\"LoginUserId\") && !allCustomers[0][\"adminAccess\"]){\n // this.disableButton = true;\n // }\n // else if(this.CheckerPrivillage && (this._customerService.formData.CreatedBy == +localStorage.getItem(\"LoginUserId\")) && (this.IsPendingStatus ==\"4\" || this.IsPendingStatus ==\"7\" || this.IsPendingStatus ==\"1\") && !allCustomers[0][\"adminAccess\"]){\n // this.disableButton = true;\n // this.disableStatus = true;\n // }\n // else if(!this.CheckerPrivillage && (this._customerService.formData.CreatedBy == +localStorage.getItem(\"LoginUserId\")) && (this.IsPendingStatus ==\"4\" || this.IsPendingStatus ==\"7\" || this.IsPendingStatus ==\"1\") && !allCustomers[0][\"adminAccess\"])\n // {\n // this.disableButton = true;\n // }\n // else{\n // this.disableButton = false;\n // }\n // }\n // });\n\n if (this.CustomerFlag == \"edit\") {\n this.lblTitle = 'Edit Customer Master';\n // if(this._customerService.formData.Status==\"Active\"){\n // this._customerService.formData.Status=\"1\"\n // }\n // else{\n // this._customerService.formData.Status=\"0\"\n // }\n //this.viewMode = false;\n this.HideClr = true;\n }\n else if(this.CustomerFlag == \"authorize\")\n this.IsAuthorize = true;\n else {\n this.lblTitle = 'View Customer Master';\n this.viewMode = true;\n this.disableButton = true;\n this.disableClear = true;\n }\n // this.GetCustomerStateNCountry();\n this._spinner.hide();\n }\n , (err) => {\n this.router.navigate([\"404\"]);\n }\n );\n }\n else {\n this._customerService.formData = {\n Status: '2',\n CustPkId: 0,\n CustomerId: '',\n BranchName: '',\n UserName: '',\n CustomerName: '',\n ContactPerson: '',\n CorporationCode: '',\n DateOfEshtablishment: '',\n EmailId: '',\n MobileNumber: '',\n Address1: '',\n Address2: '',\n CountryId: null,\n StateId: null,\n CityId: null,\n Country: '',\n State: '',\n City: '',\n Pincode: '',\n lblTitle: 'Add Customer Master',\n Description: '',\n SweepChargeId: 0,\n SweepChargeType: '',\n Rate: 0,\n msg: '',\n CreatedBy: 0,\n UpdatedBy: 0,\n CreatedDate: '',\n UpdatedDate: '',\n CreatedName: '',\n UpdatedName: '',\n DateCreated: '',\n IsCustomerSelected: false,\n ReviewStatus: 1,\n LoggedInUser: 0,\n RequestType: '',\n SweepExecutionApproval:'1',\n FundDisbursementApproval:'2',\n SweepChargeStatus:'',\n SweepChargereviewstatus:0,\n }\n //this.viewMode = false;\n this.buttonvalue = \"Submit\";\n }\n this._spinner.hide();\n }\n\n GetCustomerStateNCountry() {\n\n // if(this._customerService.formData.StateId != null)\n // this.fnstate(this._customerService.formData.CountryId);\n\n // if(this._customerService.formData.CityId != null)\n // this.fncity(this._customerService.formData.StateId);\n\n if (this.editedCustomerInfo.StateId != null)\n this.fnstate(this.editedCustomerInfo.CountryId);\n\n if (this.editedCustomerInfo.CityId != null)\n this.fncity(this.editedCustomerInfo.StateId);\n\n var d = new Date(),\n month = ('0' + (d.getMonth() + 1)).slice(-2),\n day = ('0' + d.getDate()).slice(-2),\n year = d.getFullYear();\n\n this.today = year + \"-\" + month + \"-\" + day;\n }\n\n\n checkDateValidity(date) {\n\n const mxDate = new Date();\n this.inputDate = date.singleDate.jsDate;\n\n if (this.inputDate > mxDate) {\n this.futureDateError = true;\n }\n else {\n this.futureDateError = false;\n }\n return this.futureDateError\n\n }\n\n show() {\n this.showModal = true;\n }\n hide() {\n this.showModal = false;\n }\n\n showlbl() {\n this.showMsg = true;\n }\n hidelbl() {\n this.showMsg = false;\n }\n\n showerror() {\n this.showerrormsg = true;\n }\n hideerror() {\n this.showerrormsg = false;\n }\n // after submit page refresh method is called\n fnPageRefresh(form) {\n if (this.CustomerFlag == \"edit\" && this.editedCustomerId > 0) {\n this.resetForm(form);\n this.onTop();\n }\n else {\n this.resetForm(form)\n this.onTop();\n setTimeout(function () {\n this.document.location.reload();\n }, 1000);\n }\n }\n // To reset form\n resetForm(form?: NgForm) {\n if (this.CustomerFlag == \"edit\" && this.editedCustomerId > 0) {\n if (form != null)\n // form.resetForm();\n this._customerService.formData = {\n Status: '2',\n CustPkId: this.editedCustomerId,\n CustomerId: '',\n BranchName: '',\n UserName: '',\n CustomerName: '',\n ContactPerson: '',\n CorporationCode: '',\n DateOfEshtablishment: '',\n EmailId: '',\n MobileNumber: '',\n Address1: '',\n Address2: '',\n CountryId: null,\n StateId: null,\n CityId: null,\n Country: '',\n State: '',\n City: '',\n Pincode: '',\n Description: '',\n lblTitle: '',\n SweepChargeId: 0,\n SweepChargeType: '',\n Rate: 0,\n msg: '',\n CreatedBy: 0,\n UpdatedBy: 0,\n CreatedDate: '',\n UpdatedDate: '',\n CreatedName: '',\n UpdatedName: '',\n DateCreated: '',\n IsCustomerSelected: false,\n ReviewStatus: 1,\n LoggedInUser: 0,\n RequestType: '',\n SweepExecutionApproval:'1',\n FundDisbursementApproval:'2',\n SweepChargeStatus:'',\n SweepChargereviewstatus:0,\n }\n this.showMsg = false;\n this.showerrormsg = false;\n\n }\n else {\n if (form != null)\n form.resetForm();\n this._customerService.formData = {\n Status: '2',\n CustPkId: 0,\n CustomerId: '',\n BranchName: '',\n UserName: '',\n CustomerName: '',\n ContactPerson: '',\n CorporationCode: '',\n DateOfEshtablishment: '',\n EmailId: '',\n MobileNumber: '',\n Address1: '',\n Address2: '',\n CountryId: null,\n StateId: null,\n CityId: null,\n Country: '',\n State: '',\n City: '',\n Pincode: '',\n Description: '',\n lblTitle: '',\n SweepChargeId: 0,\n SweepChargeType: '',\n Rate: 0,\n msg: '',\n CreatedBy: 0,\n UpdatedBy: 0,\n CreatedDate: '',\n UpdatedDate: '',\n CreatedName: '',\n UpdatedName: '',\n DateCreated: '',\n IsCustomerSelected: false,\n ReviewStatus: 1,\n LoggedInUser: 0,\n RequestType: '',\n SweepExecutionApproval:'1',\n FundDisbursementApproval:'2',\n SweepChargeStatus:'',\n SweepChargereviewstatus:0,\n }\n }\n }\n getDate(date) {\n if (date.year >= 9999 || date.year <= 999) {\n this.validDate = false;\n }\n else {\n this.validDate = true;\n }\n }\n\n checkStatusVlidaity(status) {\n this._customerService.formData.Status = status;\n if (this.CheckerPrivillage == true) {\n if (status == \"2\") {\n this.validStatus = false;\n }\n else {\n this.validStatus = true;\n }\n }\n }\n\n // submitting form data into database\n isValueChange: boolean = false;\n checkFormData: any = [];\n onSubmit(form: NgForm) {\n \n var CustomerId = this.editedCustomerInfo.CustomerId;\n var CorporationCode = this.editedCustomerInfo.CorporationCode;\n var ContactPerson = this.editedCustomerInfo.ContactPerson;\n var Address1 = this.editedCustomerInfo.Address1;\n var Address2 = this.editedCustomerInfo.Address2;\n var Description = this.editedCustomerInfo.Description;\n \n CustomerId = CustomerId.replace(/\\s/g, \"\");\n CorporationCode = CorporationCode.replace(/\\s/g, \"\"); \n ContactPerson = ContactPerson.replace(/\\s/g, \"\");\n Address1 = Address1.replace(/\\s/g, \"\");\n Address2 = Address2.replace(/\\s/g, \"\");\n Description = Description.replace(/\\s/g, \"\");\n\n if (CustomerId == \"\") { this.editedCustomerInfo.CustomerId = CustomerId; }\n if (CorporationCode == \"\") { this.editedCustomerInfo.CorporationCode = CorporationCode; }\n if (ContactPerson == \"\") { this.editedCustomerInfo.ContactPerson = ContactPerson; }\n if (Address1 == \"\") { this.editedCustomerInfo.Address1 = Address1; }\n if (Address2 == \"\") { this.editedCustomerInfo.Address2 = Address2; }\n if (Description == \"\") { this.editedCustomerInfo.Description = Description; }\n \n if (this.editedCustomerInfo.CustomerId == \"\" || this.editedCustomerInfo.CorporationCode == \"\" ||\n this.editedCustomerInfo.ContactPerson == \"\" || this.editedCustomerInfo.Address1 == \"\") {\n (Object).values(form.controls).forEach(control => {\n control.markAsTouched();\n });\n return false;\n }\n else{\n this.validStatus == true;\n if (form.controls.CustPkId.value > 0 && this.CheckerPrivillage && this._customerService.formData.Status == \"2\") {\n this.validStatus = false;\n return;\n }\n\n if (form.valid) {\n if (this.validStatus == true) {\n this.disableButton = true;\n }\n }\n\n //Maker flow\n if (!this.CheckerPrivillage) {\n form.value.Status = 2;//pending\n if (this._customerService.formData.ReviewStatus == 2 || this._customerService.formData.ReviewStatus == 3 || this._customerService.formData.ReviewStatus == 5 ||\n this._customerService.formData.ReviewStatus == 6 || this._customerService.formData.ReviewStatus == 8 || this._customerService.formData.ReviewStatus == 9) {\n form.value.ReviewStatus = 4;//Edit approval pending\n }\n else {\n form.value.ReviewStatus = 1;//Add approval pending\n }\n }\n else {\n //checker flow\n //this when checker is creating an user\n if (this._customerService.formData.Status == \"2\" && this._customerService.formData.ReviewStatus == 1) {\n form.value[\"ReviewStatus\"] = 1;//add approved\n form.value[\"Status\"] = 2;\n }\n else if (this._customerService.formData.Status == \"1\" && (this._customerService.formData.ReviewStatus == 2\n || this._customerService.formData.ReviewStatus == 5 || this._customerService.formData.ReviewStatus == 6\n || this._customerService.formData.ReviewStatus == 9)) {\n form.value.ReviewStatus = 4;\n form.value.Status = 2;\n }\n else if (this._customerService.formData.Status == \"0\" && this._customerService.formData.ReviewStatus == 3) {\n form.value.ReviewStatus = 4;\n form.value.Status = 2;\n }\n else if(this._customerService.formData.Status == \"0\" && this._customerService.formData.ReviewStatus == 6) {\n form.value.ReviewStatus = 4;//edit approval pendingb for edit rejected and Inactive status\n form.value.Status = 2;\n }\n\n //IsActive is approved\n if (this._customerService.formData.Status == \"1\" && this._customerService.formData.ReviewStatus == 1) {\n form.value.ReviewStatus = 2;//Add approved \n form.value.Status = 1;\n }\n else if (this._customerService.formData.Status == \"0\" && this._customerService.formData.ReviewStatus == 1) {\n form.value.ReviewStatus = 3;//Add rejected\n form.value.Status = 0;\n }\n\n if (this._customerService.formData.Status == \"1\" && this._customerService.formData.ReviewStatus == 4) {\n form.value.ReviewStatus = 5;//edit approved\n form.value.Status = 1;\n }\n else if (this._customerService.formData.Status == \"0\" && this._customerService.formData.ReviewStatus == 4) {\n form.value.ReviewStatus = 6;//edit rejected\n form.value.Status = 1;\n }\n if (this._customerService.formData.Status == \"1\" && this._customerService.formData.ReviewStatus == 7) {\n form.value.ReviewStatus = 8;//delete approved\n form.value.Status = 0;\n }\n else if (this._customerService.formData.Status == \"0\" && this._customerService.formData.ReviewStatus == 7) {\n form.value.ReviewStatus = 9;//deleted rejected\n form.value.Status = 1;\n }\n }\n\n\n if (form.valid && this.futureDateError == false && this.validDate == true) {\n this.disableButton = true;\n }\n\n if (form.value.DateOfEshtablishment.singleDate.date.month >= \"10\") {\n this.newdate = form.value.DateOfEshtablishment.singleDate.date.year + \"-\" + form.value.DateOfEshtablishment.singleDate.date.month + \"-\" + form.value.DateOfEshtablishment.singleDate.date.day;\n }\n else {\n this.newdate = form.value.DateOfEshtablishment.singleDate.date.year + \"-0\" + form.value.DateOfEshtablishment.singleDate.date.month + \"-\" + form.value.DateOfEshtablishment.singleDate.date.day;\n }\n\n form.value[\"DateOfEshtablishment\"] = this.newdate;\n if (form.valid && this.futureDateError == false && this.validDate == true) {\n\n\n\n if (this.editedCustomerId == undefined && this.editedCustomerId == null) {\n this.editedCustomerId = 0;\n }\n\n // if(this.CheckerPrivillage){\n // if(this._customerService.formData.CustomerId != this.editedCustomerInfo.CustomerId){\n // this.isValueChange=true;\n // form.value.CustomerId=this.editedCustomerInfo.CustomerId;\n // }\n // if(this._customerService.formData.CustomerName != this.editedCustomerInfo.CustomerName){\n // this.isValueChange=true;\n // form.value.CustomerName=this.editedCustomerInfo.CustomerName;\n // }\n // if(this._customerService.formData.CorporationCode != this.editedCustomerInfo.CorporationCode){\n // this.isValueChange=true;\n // form.value.CorporationCode=this.editedCustomerInfo.CorporationCode;\n // }\n // if(this._customerService.formData.DateOfEshtablishment != this.editedCustomerInfo.DateOfEshtablishment){\n // form.value.DateOfEshtablishment=this.editedCustomerInfo.DateOfEshtablishment;\n // this.isValueChange=true;\n // }\n // if(this._customerService.formData.ContactPerson != this.editedCustomerInfo.ContactPerson){\n // form.value.ContactPerson=this.editedCustomerInfo.ContactPerson;\n // this.isValueChange=true;\n // }\n // if(this._customerService.formData.MobileNumber != this.editedCustomerInfo.MobileNumber){\n // form.value.MobileNumber=this.editedCustomerInfo.MobileNumber;\n // this.isValueChange=true;\n // }\n // if(this._customerService.formData.EmailId != this.editedCustomerInfo.EmailId){\n // form.value.EmailId=this.editedCustomerInfo.EmailId;\n // this.isValueChange=true;\n // } \n // if(this._customerService.formData.Address1 != this.editedCustomerInfo.Address1){\n // form.value.Address1=this.editedCustomerInfo.Address1;\n // this.isValueChange=true;\n // } \n // if(this._customerService.formData.Address2 != this.editedCustomerInfo.Address2){\n // form.value.Address2=this.editedCustomerInfo.Address2;\n // this.isValueChange=true;\n // } \n // if(this._customerService.formData.CountryId != this.editedCustomerInfo.CountryId){\n // this.isValueChange=true;\n // form.value.CountryId=this.editedCustomerInfo.CountryId;\n // }\n // if(this._customerService.formData.StateId != this.editedCustomerInfo.StateId){\n // this.isValueChange=true;\n // form.value.StateId=this.editedCustomerInfo.StateId;\n // }\n // if(this._customerService.formData.City != this.editedCustomerInfo.City){\n // this.isValueChange=true;\n // form.value.City=this.editedCustomerInfo.City;\n // }\n // if(this._customerService.formData.Pincode != this.editedCustomerInfo.Pincode){\n // this.isValueChange=true;\n // form.value.Pincode=this.editedCustomerInfo.Pincode;\n // }\n // if(this._customerService.formData.Description != this.editedCustomerInfo.Description){\n // this.isValueChange=true;\n // form.value.Description=this.editedCustomerInfo.Description;\n // }\n // }\n\n // if(!this.isValueChange && this.viewModeValue==\"edit\" && !this.CheckerPrivillage)\n // form.value.ReviewStatus=4;\n // if(this.isValueChange && this.CheckerPrivillage && this._customerService.formData.Status==\"Active\") \n // form.value.ReviewStatus=5;\n // if( this.viewModeValue==\"edit\" && this.CheckerPrivillage && this._customerService.formData.Status==\"Pending\") \n // form.value.ReviewStatus=1\n\n // if(this.CheckerPrivillage && this._customerService.formData.Status==\"Active\")\n // form.value.ReviewStatus=3;\n\n // if(!this.CheckerPrivillage && this.viewModeValue==undefined){\n // form.value.Status=\"2\";\n // form.value.ReviewStatus=1;\n // }\n // if(this._customerService.formData.CustPkId>0)\n // form.value.ReviewStatus=2; \n\n // if(this.viewModeValue==\"edit\" && this.CheckerPrivillage &&\n // this._customerService.formData.Status==\"Pending\" && this._customerService.formData.ReviewStatus==1)\n // form.value.ReviewStatus=1;\n\n // if(!this.isValueChange && this.viewModeValue==\"edit\" && !this.CheckerPrivillage)\n // form.value.ReviewStatus=4;\n\n // if(form.value.ReviewStatus==4 ){\n // if(this.CheckerPrivillage && this._customerService.formData.Status==\"Pending\")\n // form.value.ReviewStatus=4;\n // }\n\n // if(form.value.ReviewStatus==0 ){\n // if(this.CheckerPrivillage && this._customerService.formData.Status==\"Active\")\n // form.value.ReviewStatus=3;\n // }\n\n // if(this.CheckerPrivillage && this._customerService.formData.Status==\"Pending\")\n // form.value.ReviewStatus=2;\n\n\n\n form.value.LoggedInUser = localStorage.getItem('LoginUserId');\n this.checkFormData = form.value;\n this._customerService.fnCheckCorporationCodeExists(form.controls.CorporationCode.value,\n this.editedCustomerId).subscribe(res => {\n this.isCodeExist = res;\n form.value.Status = this.checkFormData.Status;\n form.value.ReviewStatus = this.checkFormData.ReviewStatus;\n form.value.LoggedInUser = this.checkFormData.LoggedInUser;\n\n if (form.controls.CustPkId.value == null || form.controls.CustPkId.value === 0)\n form.value.createdBy = this.UserId;\n else\n form.value.UpdatedBy = this.UserId;\n\n if (this.isCodeExist == '0') {\n form.value[\"DateOfEshtablishment\"] = this.newdate;\n form.value[\"CorporationCode\"] = form.controls.CorporationCode.value;\n form.value[\"CustomerId\"] = form.controls.CustomerId.value;\n form.value[\"CustomerName\"] = form.controls.CustomerName.value;\n form.value[\"UserId\"] = localStorage.getItem(\"LoginUserId\");\n\n if (this.validStatus == true) {\n if(form.value[\"CountryId\"] == undefined)\n form.value[\"CountryId\"] = this.editedCustomerInfo.CountryId;\n if(form.value[\"StateId\"] == undefined)\n form.value[\"StateId\"] = this.editedCustomerInfo.StateId;\n if(form.value[\"CityId\"] == undefined)\n form.value[\"CityId\"] = this.editedCustomerInfo.CityId;\n if(form.value[\"SweepExecutionApproval\"] == undefined)\n form.value[\"SweepExecutionApproval\"] = this.editedCustomerInfo.SweepExecutionApproval;\n if(form.value[\"FundDisbursementApproval\"] == undefined)\n form.value[\"FundDisbursementApproval\"] = this.editedCustomerInfo.FundDisbursementApproval;\n this._customerService.fnSaveCustomerMasterDetails(form.value).subscribe(data => { \n // this.disableButton=false;\n if (this.CheckerPrivillage && (data.ReviewStatus == 2 || data.ReviewStatus == 3 || data.ReviewStatus == 5 || data.ReviewStatus == 6\n || data.ReviewStatus == 8 || data.ReviewStatus == 9)) {\n this.disableButton = true;\n }\n else if (data.ReviewStatus == 4) {\n this.disableButton = true;\n }\n else {\n this.disableButton = false;\n }\n // this._customerService.formData.CustPkId = data.CustPkId;\n\n this.lblMessage = data.CustomerName + \" \" + data.msg;\n //this.editedCustomerId = data.CustPkId;\n\n if (this.editedCustomerId > 0) {\n this.GetEditedCustomerInfo();\n\n\n var _savedStartDate = {\n isRange: false,\n singleDate: { date: { year: 0, month: 0, day: 0 }, jsDate: \"\", formatted: \"\", epoc: \"\" },\n dateRange: null\n };\n\n var newObj = moment(data.DateOfEshtablishment).toObject();\n\n _savedStartDate.singleDate.date.day = newObj.date;\n _savedStartDate.singleDate.date.month = newObj.months + 1;\n _savedStartDate.singleDate.date.year = newObj.years;\n form.value.DateOfEshtablishment = _savedStartDate;\n this.showMsg = true;\n this.showerrormsg = false;\n this.onTop();\n }\n else {\n document.location.reload();\n localStorage.setItem(\"Msg\", this.lblMessage);\n this.onTop();\n }\n\n this.error = { isError: false, errorMessage: '' };\n },\n (error) => {\n this.showMsg = false;\n this.showerrormsg = true;\n this.lblMessage = 'An error occured.';\n this.onTop();\n this.router.navigate([\"404\"]);\n }\n );\n }\n }\n else {\n this.disableButton = false;\n this.showMsg = false;\n this.showerrormsg = true;\n this.lblMessage = 'Customer with same Corporation Code already exists, please enter unique Corporation Code';\n this.onTop();\n }\n });\n }\n }\n }\n\n fnHideSuccessMsg(event) {\n this.showMsg = false;\n this.showerrormsg = false;\n\n }\n\n // Scroll function\n onTop() {\n window.scroll({\n top: 0,\n left: 0,\n behavior: 'smooth'\n })\n }\n\n //get lblTitle() { return this._customerService.formData.lblTitle }\n StateCity() {\n this.editedCustomerInfo.StateId = null;\n this.editedCustomerInfo.CityId = null;\n this.cityList = null;\n }\n OnStatechange() {\n this.editedCustomerInfo.CityId = null;\n }\n // Getting country\n fncountry() {\n this._allServiceMasterApi.fnGetCountryMaster().subscribe(allCountry => {\n this.countryList = allCountry;\n }, (err) => {\n this.router.navigate([\"404\"]);\n });\n }\n //Getting state\n fnstate(id){\n if (id != null) {\n this._allServiceMasterApi.fnGetStateMaster(id).subscribe(allState => {\n this.stateList = allState;\n },(err)=>{\n this.router.navigate([\"404\"]);\n });\n\n if(id=\"\"){\n this.fncity(0);\n }\n }\n else{\n this.stateList.length=0;\n }\n }\n//Getting city\n fncity(id){\n if (id != null) {\n this._allServiceMasterApi.fnGetCityMaster(id).subscribe(allCity => {\n this.cityList = allCity;\n },(err)=>{\n this.router.navigate([\"404\"]);\n }); \n }\n else{\n this.cityList.length=0;\n }\n }\n \n onKeyDown(event: KeyboardEvent) { let a = (event.charCode == 8 || event.charCode == 45 || event.charCode == 0) ? null : event.charCode >= 48 && event.charCode <= 57;\n return a;\n }\n\n // Pincode validation function\n isnum:boolean = false;\n fnzipcode(Pincode){\n this.isnum = false; \n if(/^\\d+$/.test(Pincode))\n this.isnum = true; \n }\n}","
\n
\n
\n\n
\n\n
\n
\n
\n \n \n
\n
\n

{{lblTitle}}

\n
\n
\n
\n
\n\n
\n\n\n\n
\n\n
\n
\n

* Marked Fields Are Mandatory.

\n\n
\n
{{error.errorMessage}}
\n
\n\n \n\n
\n
\n
\n ×\n Success! {{lblMessage}}.\n
\n\n
\n ×\n {{lblMessage}}.\n
\n\n
\n \n
\n\n\n\n
\n \n \n\n
\n
\n \n \n\n {{_customerService.formData.CustomerId}} \n \n\n
\n
\n Customer Id is required.\n
\n
\n Please provide a valid Customer Id.\n
\n
\n \n \n
\n
\n \n \n \n\n {{_customerService.formData.CustomerName}} \n \n\n
\n
\n Customer Name is required.\n
\n
\n Please provide a valid Customer Name.\n
\n
\n \n \n
\n \n
\n \n \n\n {{_customerService.formData.CorporationCode}} \n \n\n
\n
\n Corporation Code is required.\n
\n
\n Please provide a valid Corporation Code.\n
\n
\n \n \n
\n \n\n
\n
\n \n
\n \n\n \n\n \n\n
\n \n\n
\n \n
\n \n
\n\n \n \n {{EshtablishmentDate}} \n \n \n
\n Date of Establishment should be less than or equal to current date\n
\n
\n
\n Enter a valid date in DD-MM-YYYY format \n
\n
\n
\n Enter a valid date in YYYY-MM-DD format \n
\n\n
\n
\n Date of Establishment is required\n
\n
\n
\n\n
\n \n \n \n \n {{_customerService.formData.ContactPerson}} \n \n\n
\n
\n Contact Person is required.\n
\n \n
\n Please provide a valid Contact Person.\n
\n
\n \n
\n \n
\n \n \n \n \n {{_customerService.formData.MobileNumber}} \n \n\n
\n
\n Phone Number field is required.\n
\n
\n Phone number should be only numbers.\n
\n
\n Phone number should be 10 digit.\n
\n
\n
\n\n
\n
\n \n \n
\n \n \n \n \n \n
\n
\n EmailId is required.\n
\n
\n Please provide a valid email address.\n
\n
\n
\n \n \n \n \n\n
\n \n \n
\n
\n This Address is required.\n
\n
\n Please provide a valid Address.\n
\n
\n \n {{_customerService.formData.Address1}} \n \n \n
\n\n
\n \n \n \n {{_customerService.formData.Address2}} \n \n
\n
\n Please provide a valid Address.\n
\n
\n
\n
\n\n
\n \n \n
\n
\n \n\n {{_customerService.formData.Country}} \n \n\n
Country is required
\n
\n
\n \n \n\n {{_customerService.formData.State}} \n \n\n
State is required
\n
\n\n
\n \n \n\n {{_customerService.formData.City}} \n \n\n
City is required
\n
\n \n \n
\n
\n
\n \n \n\n {{_customerService.formData.Pincode}} \n \n\n
\n
\n Zip Code should be 6 digit.\n
\n
\n Please provide a valid Zip Code .\n
\n
\n\n
\n
\n \n
\n
\n \n
\n \n \n
\n \n\n \n
\n \n
\n
\n
\n \n
\n
\n \n
\n \n
\n \n\n \n
\n \n
\n
\n
\n
\n
\n \n \n \n {{_customerService.formData.Description}} \n \n
\n
\n Please provide a valid Description.\n
\n
\n
\n\n
\n \n \n
\n \n {{showApprovalInfo}} \n
\n This Status is required
\n
\n \n
\n \n \n
\n \n {{showApprovalInfo}} \n
\n This Status is required
\n
\n
\n \n\n \n \n
\n
\n \n \n \n \n
\n \n
\n\n
\n
\n \n Created By {{ userNameCreated }} on {{ createdDate }}\n
\n \n Updated By {{ usernameUpdte }} on {{ updtedDate }}\n
\n \n
\n
\n \n\n\n \n","import { Component, OnInit } from '@angular/core';\nimport { BranchService} from '../../MasterService/branch.service';\nimport {BranchMaster} from '../../MasterService/branch-master';\nimport { FormGroup,FormControl} from '@angular/forms';\nimport {ActivatedRoute} from \"@angular/router\";\nimport { Router } from '@angular/router';\n\n@Component({\n selector: 'app-edit-branch-master',\n templateUrl: './edit-branch-master.component.html',\n styleUrls: ['./edit-branch-master.component.css']\n})\nexport class EditBranchMasterComponent implements OnInit {\n\n branchForm:FormGroup;\n disableButton: boolean;\n lblMessage:string;\n showModal: boolean;\n _BranchId:string;\n showMsg:boolean;\n showerrormsg:boolean;\n\n constructor(private _branchService:BranchService,private router: Router ,private route: ActivatedRoute) { }\n\n ngOnInit(): void { \n if(localStorage.getItem('LoginUserId')==null){\n this.router.navigate([\"\"]);\n return;\n }\n this.onTop();\n\n this.disableButton = false;\n\n this.branchForm = new FormGroup({\n BranchId:new FormControl(),\n Correspondent:new FormControl(),\n BankName:new FormControl(),\n BranchCode:new FormControl(),\n BranchName:new FormControl(),\n BICCode:new FormControl(),\n IFSCCode:new FormControl(),\n MICRCode:new FormControl(),\n Address1:new FormControl(),\n Address2:new FormControl(),\n CountryId:new FormControl(),\n StateId:new FormControl(),\n CityId:new FormControl(),\n });\n\n this.route.queryParams.subscribe(params => {\n this._BranchId = params[\"id\"];\n });\n\n this.fnViewBranchMaster();\n }\n\n show()\n {\n this.showModal = true; // Show-Hide Modal Check \n }\n hide(){\n this.showModal = false;\n }\n\n showlbl(){\n this.showMsg = true;\n }\n hidelbl(){\n this.showMsg = false;\n }\n\n showerror(){\n this.showerrormsg = true;\n }\n hideerror(){\n this.showerrormsg = false;\n }\n\n fnViewBranchMaster(){\n this._branchService.fnGetBranchDetailsById(this._BranchId).subscribe(data=>{\n this.branchForm.setValue({\n BranchId:data.BranchId,\n Correspondent:data.Correspondent,\n BankName:data.BankName,\n BranchCode:data.BranchCode,\n BranchName:data.BranchName,\n BICCode:data.BICCode,\n IFSCCode:data.IFSCCode,\n MICRCode:data.MICRCode,\n Address1:data.Address1,\n Address2:data.Address2,\n CountryId:data.CountryId,\n StateId:data.StateId,\n CityId:data.CityId,\n });\n });\n }\n\n onSubmit():void{\n this._branchService.fnSaveBranchMasterDetails(this.branchForm.value).subscribe(data=>{\n this.disableButton = true;\n this.lblMessage=\"Branch Details Update Successful.\";\n this.showMsg = true;\n this.showerrormsg = false;\n this.onTop();\n },\n (error)=>{\n debugger;\n this.showMsg = false;\n this.showerrormsg = true;\n this.lblMessage = 'An error occured.';\n this.onTop();\n });\n }\n\n onTop(){\n window.scroll({\n top: 0,\n left: 0,\n behavior:'smooth'\n })\n }\n\n}\n","
\n
\n
\n
\n
\n

Edit Branch Master

\n \n\n
\n
\n
\n ×\n Success! {{lblMessage}}.\n
\n\n
\n ×\n Error! {{lblMessage}}.\n
\n\n
\n
\n

* Marked Fields Are Mandatory.

\n
\n
\n \n
\n
\n \n
\n \n
\n \n
\n\n \n
\n \n
\n
\n
\n
\n\n
\n\n
\n \n \n
\n\n
\n \n \n
\n \n
\n \n \n
\n\n
\n \n \n
\n
\n\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n

Address Details

\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n
\n \n
\n
\n
\n \n
\n
\n
\n \n
\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n
\n
\n\n\n\n\n
\n
\n
\n
\n

Confirmation

\n \n
\n
\n {{lblMessage}}\n
\n
\n \n
\n
\n
\n
","import { Component, OnInit, DebugElement } from '@angular/core';\nimport { NgForm } from '@angular/forms';\nimport { FormGroup, FormControl } from '@angular/forms';\nimport { HolidayService } from 'src/app/MasterService/Holiday.service';\nimport { CustomerService } from 'src/app/MasterService/customer.service';\nimport { AllMasterApiService } from 'src/app/MasterService/all-master-api.service';\nimport { Router,NavigationExtras,ActivatedRoute } from '@angular/router';\nimport { HolidayCreatedUpdated } from 'src/app/MasterService/Holiday';\nimport * as moment from 'moment';\nimport { truncate } from 'fs';\nimport { NgbDateCustomParserFormatter} from '../../MasterService/date-format';\nimport { NgbDateParserFormatter } from '@ng-bootstrap/ng-bootstrap';\nimport {IAngularMyDpOptions, IMyDateModel} from 'angular-mydatepicker';\nimport {RoleAccessService}from '../../MasterService/role-access.service';\nimport { debug } from 'console';\nimport { EncryptdecryptService } from 'src/app/MasterService/encryptdecrypt.service';\n\n@Component({\n selector: 'app-holiday-master-setup',\n templateUrl: './holiday-master-setup.component.html',\n styleUrls: ['./holiday-master-setup.component.css'],\n})\nexport class HolidayMasterSetupComponent implements OnInit {\n myDpOptions: IAngularMyDpOptions = {\n dateRange: false,\n dateFormat: 'dd-mm-yyyy'\n };\n\npublic fromDate=\"\";OnInit\npublic toDate=\"\";\npublic NoOfDays;\npublic disbaleName=false;\nbankNameDisable :boolean=true;\npublic oneDayOption;\npublic moreDayOption;\nHolidayWorkingDisable:true;\nshowModal: boolean;\ndisableButton:boolean;\ndisableClear:boolean;\ncountryList:any = [];\nstateList:any = [];\ncityList:any =[];\nlblMessage:string;\nYESWorkingHoliday:boolean;\nshowMsg:boolean;\nshowerrormsg:boolean;\ntoday:any;\nerror:any={isError:false,errorMessage:''};\nisValidDate:boolean=true;\nisAllDataValid:boolean=true;\nIsViewMode:boolean;\nviewMode: string;\nHolidayEditView: string;\nnewdate:string;\nnewdate1:string;\nnewdate2:string;\nvalidDate: boolean=true;\nvalidDateFrom: boolean=true;\nvalidDateTo: boolean=true;\nFirst: string;\nSecond: string;\nfirstDate: string;\nsecondDate: string;\nHideClr :boolean= false;\nisValidbank: boolean=true;\ndisableStatus:boolean;\nCheckerPrivillage:boolean;\nIsPendingStatus:string;\npendingStatus:boolean;\nshowApprovalInfo:string;\ndeletePending:boolean;\neditedHolidayInfo:any=[];\neditemail:string;\nUserId:number;\nisValueChange:boolean=false; \nallBranchList:any=[];\nfilterBranchList:any=[];\nvBranchCode:boolean;\nbuttonvalue:string;\nreviewStatus:number;\nshowStatusDiv:boolean = false;\nshowModalWoking:boolean;\nlblMessageWorking:string;\nlblTitle:string;\neditedHolidayId:number;\ncreatedBy:number;\ncreatedDate:string;\nuserNameCreated:string;\nusernameUpdte:string;\nupdtedDate:string;\nholidayDate:HolidayCreatedUpdated[];\nshowUpdatedDiv:boolean=false;\nshowCreatedDiv:boolean=false;\niUserId:number;\nIsSingleDay:boolean=false;\nIsMultiDay:boolean=false;\nleave:string=\"\";\n \n public display: true; \n inputDate: any;\n futureDateError: boolean=true;\n futureDateErrorTo: boolean=true;\n futureDateErrorFrom: boolean=true;\n validStatus: boolean=true;\n DupHolidayId: any;\n DunLeanve: any;\n DubBankName: any;\n Date: any;\n DubBranchName: any;\n DubLeave: any;\n HolidayExist: boolean;\n dubDateFrom: any;\n dubDateTo: any;\n DecryptUserId: number;\n constructor(public _holidayService: HolidayService,private router: Router,private _routeWithQuerystring: ActivatedRoute,\n public _encryption: EncryptdecryptService, public _customerService: CustomerService,public _allServiceMasterApi:AllMasterApiService,private _roleAccess:RoleAccessService) { }\n\n\n ngOnInit(): void {\n if(localStorage.getItem('LoginUserId')==null){\n this.router.navigate([\"\"]);\n return;\n }\n this.iUserId = +localStorage.getItem('LoginUserId');\n this.DecryptUserId = +this._encryption.decryptUsingAES256(localStorage.getItem('LoginUserId'));\n this.showMsg = false;\n this.showerrormsg = false;\n this.hidelbl();\n this.hideerror();\n this.disableButton = false; \n this.disableClear=false;\n this.editedHolidayId = +localStorage.getItem('HoildayDataId');\n this.HolidayEditView = localStorage.getItem('HolidayViewMode');\n this._routeWithQuerystring.queryParams.subscribe(params => {\n this.viewMode = params[\"viewMode\"];\n });\n\n if (this.viewMode == 'view') {\n this.disableButton = true;\n this.disableClear=true;\n }\n //this.GetHoildayDetails();\n this.onTop();\n this.fncountry();\n this.lblMessage = localStorage.getItem(\"Msg\"); \n if (this.lblMessage == null || this.lblMessage == \"\") {\n \n }\n else{\n this.lblMessage == localStorage.getItem(\"Msg\");\n this.showMsg = true;\n this.showerrormsg = false;\n localStorage.removeItem(\"Msg\");\n this.onTop();\n }\n if(this.editedHolidayId == 0){\n \n this.lblTitle='Add Holiday Master';\n this.disableStatus = true;\n this.editedHolidayInfo.CorrespondentBank = \"0\";\n this.editedHolidayInfo.IsHolidayWorking = \"0\";\n this.editedHolidayInfo.BankName='IDBI Bank';\n this.buttonvalue = \"Submit\";\n this.editedHolidayInfo.BranchId = null;\n this.editedHolidayInfo.CountryId = null;\n this.editedHolidayInfo.StateId = null;\n this.editedHolidayInfo.CityId = null;\n this.editedHolidayInfo.HolidayType = \"\";\n }\n this.GetPrivillageRoles();\n this.UserId = +localStorage.getItem('LoginUserId');\n this.vBranchCode = true;\n }\n\n show() { this.showModal = true; }\n hide() { this.showModal = false; }\n\n showwoking() { this.showModalWoking = true; }\n hidewoking() { this.showModalWoking = false; }\n//------------IDBI Textbox Enabel--------------------------------\n EnableTextbox()\n { this.showMsg = false;\n this.showerrormsg = false;\n\n this.bankNameDisable = false;\n this.editedHolidayInfo.BranchId=null;\n this.editedHolidayInfo.BranchCode=null;\n //this._holidayService.formData.BankName='';\n this.editedHolidayInfo.BankName = '';\n this.filterBranchList = this.allBranchList.filter(row => { return row.Correspondent == \"Yes\"; });\n }\n //------------IDBI Textbox Disable--------------------------------\n DisableTextbox()\n { this.showMsg = false;\n this.showerrormsg = false;\n this.editedHolidayInfo.BranchId=null;\n this.editedHolidayInfo.BranchCode=null;\n\n this.bankNameDisable =true;\n //this._holidayService.formData.BankName='IDBI Bank'\n this.editedHolidayInfo.BankName='IDBI Bank';\n this.filterBranchList = this.allBranchList.filter(row => { return row.Correspondent == \"No\"; });\n }\n //-----------------When Multiple holiday select------------------\n morechk()\n {this.showMsg = false;\n this.showerrormsg = false;\n \n // this._holidayService.formData.Date=null\n // this._holidayService.formData.DateFrom=''\n // this._holidayService.formData.DateTo=''\n // this._holidayService.formData.NoDays=0\n // this._holidayService.formData.HolidayType=''\n // this._holidayService.formData.Holiday=''\n // this.moreDayOption=true;\n // this.oneDayOption=false;\n this.editedHolidayInfo.Date=''\n this.editedHolidayInfo.DateFrom=''\n this.editedHolidayInfo.DateTo=''\n this.editedHolidayInfo.NoDays=0\n this.editedHolidayInfo.HolidayType=''\n this.editedHolidayInfo.Holiday=''\n this.moreDayOption = true;\n this.oneDayOption = false;\n this.futureDateError=true;\n this.futureDateErrorTo=true;\n this.futureDateErrorFrom=true;\n\n }\n//------------------When single Holiday Select---------------------\n onechk(){\n this.showMsg = false;\n this.showerrormsg = false;\n \n // this._holidayService.formData.Date=null\n // this._holidayService.formData.DateFrom=''\n // this._holidayService.formData.DateTo=''\n // this._holidayService.formData.NoDays=0\n // this._holidayService.formData.HolidayType=''\n // this._holidayService.formData.Holiday=''\n // this.moreDayOption=false\n // this.oneDayOption=true;\n this.editedHolidayInfo.Date=''\n this.editedHolidayInfo.DateFrom=''\n this.editedHolidayInfo.DateTo=''\n this.editedHolidayInfo.NoDays=0\n this.editedHolidayInfo.HolidayType=''\n this.editedHolidayInfo.Holiday=''\n this.moreDayOption = false\n this.oneDayOption = true;\n this.futureDateError=true;\n this.futureDateErrorTo=true;\n this.futureDateErrorFrom=true;\n\n }\n //-------------------Count Number Of Days----------------------------------\n CountDays(fromDate,toDate){\n const oneDay = 24 * 60 * 60 * 1000; // hours*minutes*seconds*milliseconds\n // this.validateDates(fromDate,toDate);\n if(fromDate==null || toDate==null ){ this.editedHolidayInfo.NoDays=null}\n \n if (fromDate.singleDate.date.month >= \"10\") {\n this.First = fromDate.singleDate.date.year+\"-\"+fromDate.singleDate.date.month+\"-\"+ fromDate.singleDate.date.day;\n this.firstDate = this.First;\n }\n else {\n this.First = fromDate.singleDate.date.year+\"-0\"+fromDate.singleDate.date.month+\"-\"+fromDate.singleDate.date.day;\n this.firstDate = this.First;\n }\n\n if (toDate.singleDate.date.month >= \"10\") {\n this.Second = toDate.singleDate.date.year+\"-\"+toDate.singleDate.date.month+\"-\"+ toDate.singleDate.date.day;\n this.secondDate = this.Second;\n }\n else {\n this.Second = toDate.singleDate.date.year+\"-0\"+toDate.singleDate.date.month+\"-\"+toDate.singleDate.date.day;\n this.secondDate = this.Second;\n }\n\n const firstDateFrom = new Date(this.firstDate);\n const secondDateTo = new Date(this.secondDate);\n this.validateDates(firstDateFrom,secondDateTo);\n if(this.isValidDate == true){\n \n this._holidayService.formData.NoDays = (Math.round(Math.abs((+firstDateFrom- +secondDateTo) / oneDay)))+1;\n this.editedHolidayInfo.NoDays=this._holidayService.formData.NoDays\n }\n };\n\n HolidayAsWorkingDay(){\n this.lblMessageWorking=\"Are you sure, you want to mark Holiday as working day?\";\n this.YESWorkingHoliday=true;\n this.showwoking();\n\n }\n//------------------------------get holiday data method----------------------------\nIsAuthorize:boolean=false;\n GetHoildayDetails(){\n if(this.editedHolidayId>0){ \n if (this.viewMode == 'view') {\n this.lblTitle='View Holiday Master';\n this.IsViewMode = true;\n }\n else{\n this.lblTitle='Edit Holiday Master';\n this.IsViewMode = false;\n this.HideClr=true;\n }\n\n if(this.HolidayEditView == \"authorize\")\n this.IsAuthorize = true;\n\n this.getHolidayHistory();\n this._holidayService.fnGetHolidayData(localStorage.getItem('HoildayDataId')).subscribe(allHoliday => {\n this._holidayService.formData = allHoliday[0];\n this.reviewStatus = +this._holidayService.formData.ReviewStatus;\n if(this.reviewStatus==1 || this.reviewStatus==4 || this.reviewStatus==7 ){\n this.showStatusDiv = true; \n }\n if (this._holidayService.formData.Status == \"InActive\") {\n this._holidayService.formData.Status = \"0\";\n }\n else if (this._holidayService.formData.Status == \"Active\") {\n this._holidayService.formData.Status = \"1\"\n }\n else {\n this._holidayService.formData.Status = \"2\";\n }\n\n if(!this.CheckerPrivillage && this._holidayService.formData.Status==\"2\"){\n this.disableButton = true;\n }\n else if(this.CheckerPrivillage && this._holidayService.formData.Status != \"2\" && ((this._encryption.encryptUsingAES256(this._holidayService.formData.CreatedBy) != localStorage.getItem(\"LoginUserId\")))){\n this.disableButton = true;\n }\n // else{\n // this.disableButton = false;\n // }\n\n if(this.HolidayEditView == \"edit\" && this.CheckerPrivillage && ((this._encryption.encryptUsingAES256(this._holidayService.formData.CreatedBy) != localStorage.getItem(\"LoginUserId\"))))\n this.disableButton = true;\n\n if(this.CheckerPrivillage == true && (this._encryption.encryptUsingAES256(this._holidayService.formData.CreatedBy) != localStorage.getItem(\"LoginUserId\"))){\n this.buttonvalue = \"Verify\";\n this.showApprovalInfo = \"Pending\";\n }\n else{\n this.buttonvalue = \"Submit\";\n this.showApprovalInfo = \"\";\n }\n\n if(this.CheckerPrivillage && this._holidayService.formData.Status==\"2\" && ((this._encryption.encryptUsingAES256(this._holidayService.formData.CreatedBy) == localStorage.getItem(\"LoginUserId\")))){\n this.showStatusDiv = false;\n this.disableButton = true;\n }\n \n // if (this._holidayService.formData.Status==\"2\") {\n\n // if (this._holidayService.formData.Leave === \"Single\") {\n // this.IsSingleDay = false;\n // this.IsMultiDay = true;\n // }\n\n // if (this._holidayService.formData.Leave === \"Multiple\") {\n // this.IsMultiDay = false;\n // this.IsSingleDay = true;\n // }\n\n // }\n if(this.CheckerPrivillage && this._holidayService.formData.Status == \"2\" && (this._holidayService.formData.CreatedBy == +this._encryption.decryptUsingAES256(localStorage.getItem(\"LoginUserId\")))){\n this.showStatusDiv = true;\n this.disableStatus = true;\n this.disableButton = true;\n }\n\n if(this.CheckerPrivillage && this._holidayService.formData.Status==\"2\")\n this._holidayService.formData.Status = null;\n\n if (this.reviewStatus == 8) {\n this.disableButton = true;\n }\n\n if(this.viewMode == \"view\"){\n this.disableButton = true;\n }\n else{\n \n // if((this.IsPendingStatus ==\"4\" || this.IsPendingStatus ==\"7\" || this.IsPendingStatus ==\"1\") && this._holidayService.formData.CreatedBy == +localStorage.getItem(\"LoginUserId\"))\n // this.disableButton = true;\n // else if(!this.CheckerPrivillage && allHoliday[0][\"checkerAccess\"] && !allHoliday[0][\"adminAccess\"]){\n // this.disableButton = true;\n // }\n // else if(!this.CheckerPrivillage && this._holidayService.formData.Status==\"2\"){\n // this.disableButton = true;\n // }\n // else{\n // //this.disableButton = false;\n // }\n }\n\n\n this._holidayService.formData.CountryName = allHoliday[0].CountryName;\n if (allHoliday[0].Date != \"\") {\n\n var _savedStartDate = { \n isRange : false, \n singleDate : { date : { year :0, month :0, day :0}, jsDate:\"\",formatted:\"\",epoc:\"\"},\n dateRange:null\n };\n this._holidayService.formData.formatedDate = allHoliday[0].formatedDate;\n var newObj = moment(allHoliday[0].Date).toObject();\n _savedStartDate.singleDate.date.day = newObj.date;\n _savedStartDate.singleDate.date.month = newObj.months+1;\n _savedStartDate.singleDate.date.year = newObj.years;\n\n this._holidayService.formData.Date =_savedStartDate; \n }\n\n if (allHoliday[0].DateFrom != \"\") {\n\n var _savedStartDate = { \n isRange : false, \n singleDate : { date : { year :0, month :0, day :0}, jsDate:\"\",formatted:\"\",epoc:\"\"},\n dateRange:null\n };\n this._holidayService.formData.formatedFrDate = allHoliday[0].formatedFrDate;\n var newObj = moment(allHoliday[0].formatedFrDate).toObject();\n _savedStartDate.singleDate.date.day = newObj.date;\n _savedStartDate.singleDate.date.month = newObj.months+1;\n _savedStartDate.singleDate.date.year = newObj.years;\n\n this._holidayService.formData.DateFrom =_savedStartDate;\n }\n\n if (allHoliday[0].DateTo != \"\") {\n\n var _savedStartDate = { \n isRange : false, \n singleDate : { date : { year :0, month :0, day :0}, jsDate:\"\",formatted:\"\",epoc:\"\"},\n dateRange:null\n };\n this._holidayService.formData.formatedToDate = allHoliday[0].formatedToDate;\n var newObj = moment(allHoliday[0].formatedToDate).toObject();\n _savedStartDate.singleDate.date.day = newObj.date;\n _savedStartDate.singleDate.date.month = newObj.months+1;\n _savedStartDate.singleDate.date.year = newObj.years;\n\n this._holidayService.formData.DateTo =_savedStartDate; \n }\n\n\n if(this._holidayService.formData.CorrespondentBank==\"0\"){\n this.bankNameDisable =true;\n this.filterBranchList = this.allBranchList.filter(row => { return row.Correspondent == \"No\"; });\n }\n if(this._holidayService.formData.CorrespondentBank==\"1\"){\n this.bankNameDisable =false;\n this.filterBranchList = this.allBranchList.filter(row => { return row.Correspondent == \"Yes\"; });\n }\n\n // if(this.editedHolidayInfo.StateId != null)\n // this.fnstate(this.editedHolidayInfo.CountryId);\n \n // if(this.editedHolidayInfo.CityId != null)\n // this.fncity(this.editedHolidayInfo.StateId);\n\n var d = new Date(),\n month = ('0' + (d.getMonth() + 1)).slice(-2),\n day = ('0' + d.getDate()).slice(-2),\n year = d.getFullYear();\n \n this.today = year + \"-\" + month + \"-\" + day; \n } ,(err)=>{\n this.router.navigate([\"404\"]);\n });\n this.GetEditedHolidayMasterValues(this.editedHolidayId);\n }\n else{\n this._holidayService.formData = {\n HolidayId: 0,\n CountryId: null,\n StateId: null,\n CityId: null,\n CorrespondentBank: '0',\n BankName: 'IDBI BANK',\n BranchName: '',\n BranchCode: '',\n Correspondent:'',\n\n Leave: '',\n Date: null,\n HolidayType: \"\",\n Holiday: '',\n\n DateFrom: '',\n DateTo: '',\n NoDays: 0,\n IsHolidayWorking: '0',\n displaycheckboxForHoliday:true,\n lblTitle:'Add Holiday Master',\n CreatedBy:0,\n UpdatedBy:0,\n CreatedDate:'',\n UpdatedDate:'',\n UserName:'',\n CreatedName:'',\n DateCreated:'',\n UpdatedName:'',\n IsHolidaySelected : null,\n Status:null,\n ReviewStatus:null,\n UserId:'',\n Message:'',\n formatedDate:'',\n formatedFrDate:'',\n formatedToDate:'',\n CountryName:'',\n StateName:'',\n CityName:'',\n BranchId:null,\n CorrespondentName:'',\n IsHolidayWorkingName:'',\n HolidayNewStatus:'Active',RequestType :''\n }\n this.filterBranchList = this.allBranchList.filter(row => { return row.Correspondent == \"No\"; });\n }\n }\n//---------------------------Get Created and Last updated by ------------------------\n getHolidayHistory(){\n this._holidayService.fnGetCreatedNUpatedDateOfHolidayMaster(this.editedHolidayId.toString()).subscribe(data => {\n this.holidayDate=data; \n if(this.holidayDate[0].CreatedDate != ''){\n this.showCreatedDiv=true;\n this.createdDate=this.holidayDate[0].CreatedDate;\n this.userNameCreated=this.holidayDate[0].UserName;\n }\n if(this.holidayDate[1].UpdatedDate != ''){\n this.showUpdatedDiv=true;\n this.usernameUpdte=this.holidayDate[1].UserName;\n this.updtedDate=this.holidayDate[1].UpdatedDate;\n }\n \n // this.YESWorking=true;\n\n } ,(err)=>{\n this.router.navigate([\"404\"]);\n });\n }\n//-------------------Hide success & Error Message---------------------------------\n fnHideSuccessMsg()\n { \n this.showMsg = false;\n this.showerrormsg = false;\n }\n //---------------Back Button code-----------------------------------------\n BankButton(){\n localStorage.removeItem('HoildayDataId');\n localStorage.removeItem('HolidayViewMode');\n this.router.navigate(['/HolidayMaster']);\n }\n\n YESWorking(holidayId){\n this.YESWorkingHoliday=false;\n this._holidayService.fnSaveHolidayAsWorking(holidayId).subscribe(res => {\n this.YESWorkingHoliday=true;\n });\n this.hidewoking();\n }\n YesHoliday()\n {\n this.YESWorkingHoliday=false;\n this.hidewoking();\n }\n hidelbl(){\n this.showMsg = false;\n }\n showerror(){\n this.showerrormsg = true;\n }\n hideerror(){\n this.showerrormsg = false;\n }\n\n getDate(date){\n if(date.year >= 9999 || date.year<=999){ this.validDate=false; }\n else{this.validDate = true;}\n }\n\n getDateFrom(date){\n if(date.year >= 9999 || date.year<=999){ this.validDateFrom=false; }\n else{this.validDateFrom = true;}\n }\n\n getDateTo(date){\n if(date.year >= 9999 || date.year<=999){ this.validDateTo=false; }\n else{this.validDateTo = true;}\n }\n\n onSubmit(form: NgForm) {\n debugger;\n form.value[\"BranchCode\"] = this.editedHolidayInfo.BranchCode;\n if(form.value[\"BranchId\"] == undefined)\n form.value[\"BranchId\"] = this.editedHolidayInfo.BranchId;\n if(form.value[\"CountryId\"] == undefined)\n form.value[\"CountryId\"] = this.editedHolidayInfo.CountryId;\n if(form.value[\"StateId\"] == undefined)\n form.value[\"StateId\"] = this.editedHolidayInfo.StateId;\n if(form.value[\"CityId\"] == undefined)\n form.value[\"CityId\"] = this.editedHolidayInfo.CityId;\n if(form.value[\"HolidayType\"] == undefined)\n form.value[\"HolidayType\"] = this.editedHolidayInfo.HolidayType;\n if(form.value[\"Leave\"] == undefined)\n form.value[\"Leave\"] = this.editedHolidayInfo.Leave;\n if(form.value[\"CorrespondentBank\"] == undefined)\n form.value[\"CorrespondentBank\"] = this.editedHolidayInfo.CorrespondentBank;\n if(form.value[\"IsHolidayWorking\"] == undefined)\n form.value[\"IsHolidayWorking\"] = this.editedHolidayInfo.IsHolidayWorking;\n\n var BankName = this.editedHolidayInfo.BankName;\n var Holiday = this.editedHolidayInfo.Holiday;\n BankName = BankName.replace(/\\s/g, \"\");\n Holiday = Holiday.replace(/\\s/g, \"\");\n if (BankName == \"\") {\n this.editedHolidayInfo.BankName= BankName ;\n }\n if (Holiday == \"\") {\n this.editedHolidayInfo.Holiday= Holiday ;\n }\n if (this.editedHolidayInfo.Holiday == \"\" ) {\n (Object).values(form.controls).forEach(control => {\n control.markAsTouched();\n });\n return false;\n }\n else if (this.editedHolidayInfo.BankName == \"\" ) {\n (Object).values(form.controls).forEach(control => {\n control.markAsTouched();\n });\n return false;\n }\n else {\n this.isValidbank = true;\n\n if((form.value[\"CorrespondentBank\"] === \"1\") && (form.value[\"BankName\"].toLowerCase() === \"idbi bank\" || form.value[\"BankName\"].toLowerCase() === \"idbi\")){\n this.isValidbank = false;\n this.showMsg = false;\n this.showerrormsg = true;\n this.lblMessage = 'If Correspondent Bank is YES then Bank Name should not be IDBI Bank';\n this.disableButton = false;\n this.onTop();\n }\n\n if (form.valid && this.validStatus == true && this.isValidDate == true && this.futureDateError == true && this.futureDateErrorFrom == true && this.futureDateErrorTo == true && this.isValidbank == true) {\n this.disableButton = true;\n\n if (this.editedHolidayInfo.Leave === \"Single\") {\n\n if (form.value.Date.singleDate.date.month >= \"10\") {\n this.newdate = form.value.Date.singleDate.date.year+\"-\"+form.value.Date.singleDate.date.month+\"-\"+form.value.Date.singleDate.date.day;\n form.value.Date = this.newdate;\n }\n else {\n this.newdate = form.value.Date.singleDate.date.year+\"-0\"+form.value.Date.singleDate.date.month+\"-\"+form.value.Date.singleDate.date.day;\n form.value.Date = this.newdate;\n }\n\n }\n\n if (this.editedHolidayInfo.Leave === \"Multiple\") {\n\n if (form.value.DateFrom.singleDate.date.month >= \"10\") {\n this.newdate1 = form.value.DateFrom.singleDate.date.year+\"-\"+form.value.DateFrom.singleDate.date.month+\"-\"+form.value.DateFrom.singleDate.date.day;\n form.value.DateFrom = this.newdate1;\n }\n else {\n this.newdate1 = form.value.DateFrom.singleDate.date.year+\"-0\"+form.value.DateFrom.singleDate.date.month+\"-\"+form.value.DateFrom.singleDate.date.day;\n form.value.DateFrom = this.newdate1;\n }\n \n if (form.value.DateTo.singleDate.date.month >= \"10\") {\n this.newdate2 = form.value.DateTo.singleDate.date.year+\"-\"+form.value.DateTo.singleDate.date.month+\"-\"+form.value.DateTo.singleDate.date.day;\n form.value.DateTo = this.newdate2;\n }\n else {\n this.newdate2 = form.value.DateTo.singleDate.date.year+\"-0\"+form.value.DateTo.singleDate.date.month+\"-\"+form.value.DateTo.singleDate.date.day;\n form.value.DateTo = this.newdate2;\n }\n } \n \n\n \n if(!this.CheckerPrivillage){\n form.value[\"Status\"] = 2;\n\n if(this.reviewStatus ==5 || this.reviewStatus==6){\n form.value[\"ReviewStatus\"]=4;//Edit approval pending\n }\n else if(this.reviewStatus==2 || this.reviewStatus==3){ \n form.value[\"ReviewStatus\"]=4;\n }\n else if(this.reviewStatus==8 || this.reviewStatus==9){ \n form.value[\"ReviewStatus\"]=4;\n }\n else{ \n form.value[\"ReviewStatus\"]=1;\n }\n }\n else{\n if(form.value[\"Status\"] ==1 && this.reviewStatus ==undefined ){\n form.value[\"ReviewStatus\"]=2;\n }\n else if(form.value[\"Status\"]==0 && this.reviewStatus ==undefined){\n form.value[\"ReviewStatus\"]=3;\n }\n if(form.value[\"Status\"] ==1 && this.reviewStatus==1){\n form.value[\"ReviewStatus\"]=2;\n }\n else if(form.value[\"Status\"]==0 && this.reviewStatus==1){\n form.value[\"ReviewStatus\"]=3;\n }\n\n if(form.value[\"Status\"] ==1 && this.reviewStatus==4){\n form.value[\"ReviewStatus\"]=5;\n }\n else if(form.value[\"Status\"]==0 && this.reviewStatus==4){\n form.value[\"ReviewStatus\"]=6;\n }\n\n if(form.value[\"Status\"] ==1 && this.reviewStatus==7){\n form.value[\"ReviewStatus\"]=8;\n form.value[\"Status\"] = 0;\n }\n else if(form.value[\"Status\"]==0 && this.reviewStatus==7){\n form.value[\"ReviewStatus\"]=9;\n form.value[\"Status\"] = 1;\n }\n\n // for add by checker add\n if(form.value[\"Status\"] == undefined && this.reviewStatus == undefined){\n form.value[\"ReviewStatus\"]= 1;\n form.value[\"Status\"] = 2;\n }\n if(form.value[\"Status\"] == 1 && (this.reviewStatus==2 || this.reviewStatus==3)){\n form.value[\"ReviewStatus\"]= 4;\n form.value[\"Status\"] = 2;\n }\n if(form.value[\"Status\"] == 1 && (this.reviewStatus==5 || this.reviewStatus==6)){\n form.value[\"ReviewStatus\"]= 4;\n form.value[\"Status\"] = 2;\n }\n if(form.value[\"Status\"] == 0 && this.reviewStatus==3){\n form.value[\"ReviewStatus\"]= 4;\n form.value[\"Status\"] = 2;\n }\n if(form.value[\"Status\"] == 0 && (this.reviewStatus==5 || this.reviewStatus==6)){\n form.value[\"ReviewStatus\"]= 4;\n form.value[\"Status\"] = 2;\n }\n if(form.value[\"Status\"] == 0 && this.reviewStatus==8){\n form.value[\"ReviewStatus\"]= 4;\n form.value[\"Status\"] = 2;\n }\n if(form.value[\"Status\"] == 1 && this.reviewStatus==9){\n form.value[\"ReviewStatus\"]= 4;\n form.value[\"Status\"] = 2;\n }\n \n }\n \n \n if (form.valid && this.validStatus == true && this.isValidDate == true && this.futureDateError == true && this.futureDateErrorFrom == true && this.futureDateErrorTo == true && this.isValidbank == true) \n {\n this.DupHolidayId=form.value.HolidayId;\n this.DubLeave= form.value.Leave;\n this.DubBankName=form.value.BankName;\n this.DubBranchName=form.value.BranchCode;\n this.Date=form.value.Date;\n this.dubDateFrom=form.value.DateFrom;\n this.dubDateTo=form.value.DateTo;\n \n this._holidayService.fnGHolidayAlreadyExist(this.DupHolidayId.toString(),this.DubLeave.toString(),this.DubBankName.toString(),\n this.DubBranchName.toString(), this.Date,this.dubDateFrom,this.dubDateTo).subscribe(IsHolidayExist=>{\n debugger\n if(IsHolidayExist==1){\n debugger;\n this.showMsg = false;\n this.showerrormsg = true;\n this.lblMessage = 'Holiday already exists.';\n this.onTop();\n this.disableButton = false;\n this.HolidayExist=true;\n // return false;\n }\n else{\n if(this._holidayService.formData.IsHolidayWorking==\"1\") {\n this.YESWorkingHoliday=false;\n this._holidayService.fnSaveHolidayAsWorking(this._holidayService.formData.HolidayId.toString()).subscribe(res => {\n } ,(err)=>{\n this.router.navigate([\"404\"]);\n });\n }\n\n if(this.editedHolidayId === 0)\n form.value.CreatedBy=localStorage.getItem('LoginUserId');\n else\n form.value.UpdatedBy=localStorage.getItem('LoginUserId');\n form.value.UserId = localStorage.getItem('LoginUserId');\n \n this._holidayService.fnSaveHolidayMasterDetails(form.value).subscribe(res => {\n\n if(this.editedHolidayId > 0){\n var _savedStartDate = { \n isRange : false, \n singleDate : { date : { year :0, month :0, day :0}, jsDate:\"\",formatted:\"\",epoc:\"\"},\n dateRange:null\n };\n \n var newObj = moment(res.DateFrom).toObject();\n \n _savedStartDate.singleDate.date.day = newObj.date;\n _savedStartDate.singleDate.date.month = newObj.months+1;\n _savedStartDate.singleDate.date.year = newObj.years;\n form.value.DateFrom = _savedStartDate;\n \n \n var _savedStartDate1 = { \n isRange : false, \n singleDate : { date : { year :0, month :0, day :0}, jsDate:\"\",formatted:\"\",epoc:\"\"},\n dateRange:null\n };\n \n var newObj1 = moment(res.DateTo).toObject();\n \n _savedStartDate1.singleDate.date.day = newObj1.date;\n _savedStartDate1.singleDate.date.month = newObj1.months+1;\n _savedStartDate1.singleDate.date.year = newObj1.years;\n form.value.DateTo = _savedStartDate1;\n \n var _savedStartDate2 = { \n isRange : false, \n singleDate : { date : { year :0, month :0, day :0}, jsDate:\"\",formatted:\"\",epoc:\"\"},\n dateRange:null\n };\n \n var newObj2 = moment(res.Date).toObject();\n \n _savedStartDate2.singleDate.date.day = newObj2.date;\n _savedStartDate2.singleDate.date.month = newObj2.months+1;\n _savedStartDate2.singleDate.date.year = newObj2.years;\n form.value.Date = _savedStartDate2;\n \n this.getHolidayHistory();\n \n this.lblMessage = res.Holiday+' '+ res.Message; //\" Holiday Updated Successfully\";\n this.showMsg = true;\n \n this.showerrormsg = false;\n }\n else{ \n this.lblMessage = res.Holiday+' '+ res.Message;//\" Holiday Added Successfully\";\n localStorage.setItem(\"Msg\",this.lblMessage); \n document.location.reload(); \n this.DisableTextbox();\n }\n \n if(this.CheckerPrivillage && this.editedHolidayId > 0 && (res.ReviewStatus == 2 || res.ReviewStatus == 3 || \n res.ReviewStatus == 5 || res.ReviewStatus == 6 || res.ReviewStatus == 8 || res.ReviewStatus == 9)){\n this.disableButton = true;\n }\n else if (res.ReviewStatus == 4) {\n this.disableButton = true;\n }else{\n this.disableButton = false;\n }\n this.onTop();\n }\n ,(err)=>{\n this.router.navigate([\"404\"]);\n });\n }\n }); \n \n}\n }\n }// closing line no 413\n}\n\n//--------------------On Top Method-------------------------\nonTop(){\n window.scroll({\n top: 0,\n left: 0,\n behavior:'smooth'\n })\n}\n//------------------page Refresh Method---------------------\nfnPageRefresh(form){\n \n if (this.HolidayEditView == \"edit\" && this.editedHolidayId > 0) { \n this.resetForm(form);\n this.onTop();\n } \n else {\n this.resetForm(form)\n this.onTop();\n setTimeout(function(){\n this.document.location.reload();\n }, 1000);\n }\n}\n//---------------------Reset Method------------------------------\nresetForm(form?: NgForm) {\n \n if (this.HolidayEditView == \"edit\" && this.editedHolidayId > 0) {\n if (form != null) \n // form.resetForm();\n this._holidayService.formData = {\n HolidayId: this.editedHolidayId,\n CountryId: null,\n StateId: null,\n CityId: null,\n CorrespondentBank: '0',\n BankName: 'IDBI BANK',\n BranchName: '',\n BranchCode: '',\n Correspondent:'',\n Leave: '',\n Date: null,\n HolidayType: \"\",\n Holiday: '',\n DateFrom: '',\n DateTo: '',\n NoDays: 0,\n IsHolidayWorking: '0',\n displaycheckboxForHoliday:true,\n lblTitle:'Edit Holiday Master',\n CreatedBy:0,\n UpdatedBy:0,\n CreatedDate:'',\n UpdatedDate:'',\n UserName:'',\n CreatedName:'',\n DateCreated:'',\n UpdatedName:'',\n IsHolidaySelected:null,\n Status:null,\n ReviewStatus:null,\n UserId:'',\n Message:'',\n formatedDate:'',\n formatedFrDate:'',\n formatedToDate:'',\n CountryName:'',\n StateName:'',\n CityName:'',\n BranchId:null,\n CorrespondentName:'',\n IsHolidayWorkingName:'',\n HolidayNewStatus:'Active',RequestType:''\n }\n this.showMsg = false;\n this.showerrormsg = false;\n if (this.editedHolidayId == 0) {\n this.editedHolidayId == this._holidayService.formData.HolidayId;\n }\n if(this._holidayService.formData.CorrespondentBank==\"0\"){\n this.bankNameDisable=true;\n this.filterBranchList = this.allBranchList.filter(row => { return row.Correspondent == \"No\"; });\n }\n else{\n this.bankNameDisable=false;\n this.filterBranchList = this.allBranchList.filter(row => { return row.Correspondent == \"Yes\"; });\n }\n this._holidayService.formData;\n }\n else{\n if (form != null) \n form.resetForm();\n this._holidayService.formData = {\n HolidayId: 0,\n CountryId: null,\n StateId: null,\n CityId: null,\n CorrespondentBank: '0',\n BankName: 'IDBI BANK',\n BranchName: '',\n BranchCode: '',\n Correspondent:'',\n Leave: '',\n Date: null,\n HolidayType: \"\",\n Holiday: '',\n DateFrom: '',\n DateTo: '',\n NoDays: 0,\n IsHolidayWorking: '0',\n displaycheckboxForHoliday:true,\n lblTitle:'Add Holiday Master',\n CreatedBy:0,\n UpdatedBy:0,\n CreatedDate:'',\n UpdatedDate:'',\n UserName:'',\n CreatedName:'',\n DateCreated:'',\n UpdatedName:'',\n IsHolidaySelected: null,\n Status:null,\n ReviewStatus:null,\n UserId:'',\n Message:'',\n formatedDate:'',\n formatedFrDate:'',\n formatedToDate:'',\n CountryName:'',\n StateName:'',\n CityName:'',\n BranchId:null,\n CorrespondentName:'',\n IsHolidayWorkingName:'',\n HolidayNewStatus:'Active',RequestType:''\n }\n }\n }\n//---------------------country State & City Method--------------------\n StateCity(){\n this.editedHolidayInfo.StateId = null;\n this.editedHolidayInfo.CityId = null;\n this.cityList =null;\n}\nOnStatechange(){\n this.editedHolidayInfo.CityId = null;\n}\nfncountry(){\n this._allServiceMasterApi.fnGetCountryMaster().subscribe(allCountry => {\n this.countryList = allCountry;\n }\n ,(err)=>{\n this.router.navigate([\"404\"]);\n });\n}\n\nfnstate(id){ this.showMsg = false;\n this.showerrormsg = false;\n\n if (id != null) {\n this._allServiceMasterApi.fnGetStateMaster(id).subscribe(allState => {\n this.stateList = allState;\n } ,(err)=>{\n this.router.navigate([\"404\"]);\n }); \n }\n else{\n this.stateList.length=0;\n }\n}\n\nfncity(id){ this.showMsg = false;\n this.showerrormsg = false;\n\n if (id != null) {\n this._allServiceMasterApi.fnGetCityMaster(id).subscribe(allCity => {\n this.cityList = allCity;\n } ,(err)=>{\n this.router.navigate([\"404\"]);\n }); \n }\n else{\n this.cityList.length=0;\n }\n}\n//------------------From date to date vlaidation-------------\nvalidateDates(sDate, eDate){\n if((sDate != null && eDate !=null) && ((eDate) <= (sDate) || (eDate) == (sDate))){\n this.error={isError:true,errorMessage:'To date should be greater than From date.'};\n this.isValidDate = false;\n }\n else{\n this.error={isError:true,errorMessage:\"\"};\n this.isValidDate = true;\n }\n return this.isValidDate;\n}\n//-------------------GetPrivillageRoles Method------------------\nGetPrivillageRoles(){\n this._roleAccess.fnGetRoleAccess(localStorage.getItem('LoginUserId').toString(),'/HolidayMaster').subscribe(roleAccess=>{ \n this.CheckerPrivillage = roleAccess[0].CheckerAccess; \n this.fnGetBranchName();\n \n } ,(err)=>{\n this.router.navigate([\"404\"]);\n }) ;\n}\n//-----------------Get Holiday By ID---------------------\nGetEditedHolidayMasterValues(editedHolidayId){ \n \n if(editedHolidayId > 0){\n \n return this._holidayService.fnGetEditedHolidayValue(editedHolidayId.toString()).subscribe(data=>{ \n \n this.editedHolidayInfo = data;\n\n if(this.editedHolidayInfo.CorrespondentBank==\"0\"){\n this.bankNameDisable = true;\n this.filterBranchList = this.allBranchList.filter(row => { return row.Correspondent == \"No\"; });\n }\n if(this.editedHolidayInfo.CorrespondentBank==\"1\"){\n this.bankNameDisable = false;\n this.filterBranchList = this.allBranchList.filter(row => { return row.Correspondent == \"Yes\"; });\n }\n\n // \n // if (this.editedHolidayInfo.Status == \"2\") {\n // if (this.editedHolidayInfo.Leave === \"Single\") {\n // this.IsSingleDay = false;\n // this.IsMultiDay = true;\n // }\n // if (this.editedHolidayInfo.Leave === \"Multiple\") {\n // this.IsMultiDay = false;\n // this.IsSingleDay = true;\n // }\n // }\n\n if (this.editedHolidayInfo.Date != null) {\n var _savedStartDate = { \n isRange : false, \n singleDate : { date : { year :0, month :0, day :0}, jsDate:\"\",formatted:\"\",epoc:\"\"},\n dateRange:null\n };\n\n var newObj = moment(this.editedHolidayInfo.Date).toObject();\n _savedStartDate.singleDate.date.day = newObj.date;\n _savedStartDate.singleDate.date.month = newObj.months+1;\n _savedStartDate.singleDate.date.year = newObj.years;\n\n this.editedHolidayInfo.Date =_savedStartDate; \n }\n\n if (this.editedHolidayInfo.DateFrom != null) {\n\n var _savedStartDate = { \n isRange : false, \n singleDate : { date : { year :0, month :0, day :0}, jsDate:\"\",formatted:\"\",epoc:\"\"},\n dateRange:null\n };\n\n var newObj = moment(this.editedHolidayInfo.DateFrom).toObject();\n _savedStartDate.singleDate.date.day = newObj.date;\n _savedStartDate.singleDate.date.month = newObj.months+1;\n _savedStartDate.singleDate.date.year = newObj.years;\n\n this.editedHolidayInfo.DateFrom =_savedStartDate;\n }\n\n if (this.editedHolidayInfo.DateTo != null) {\n\n var _savedStartDate = { \n isRange : false, \n singleDate : { date : { year :0, month :0, day :0}, jsDate:\"\",formatted:\"\",epoc:\"\"},\n dateRange:null\n };\n\n var newObj = moment(this.editedHolidayInfo.DateTo).toObject();\n _savedStartDate.singleDate.date.day = newObj.date;\n _savedStartDate.singleDate.date.month = newObj.months+1;\n _savedStartDate.singleDate.date.year = newObj.years;\n\n this.editedHolidayInfo.DateTo =_savedStartDate; \n }\n\n if(this.editedHolidayInfo.StateId != null)\n this.fnstate(this.editedHolidayInfo.CountryId);\n\n if(this.editedHolidayInfo.CityId != null)\n this.fncity(this.editedHolidayInfo.StateId);\n\n this.editemail = this.editedHolidayInfo.EmailId;\n } ,(err)=>{\n this.router.navigate([\"404\"]);\n });\n }\n else{\n return this.editedHolidayInfo = this._holidayService.formData;\n }\n}\n//-------Get Branch Name----------------------------------\nfnGetBranchName(){\n return this._holidayService.fnGetBranchName().subscribe(data =>{\n this.allBranchList = data;\n this.filterBranchList = data;\n // this.allBranchList = this.allBranchList.filter(row=>{\n // return row.BranchId == +this.loginUser_UserTypeBranchId;\n // });\n\n this.GetHoildayDetails();\n this._holidayService.formData.BankName = \"\";\n this._holidayService.formData.NoDays = null;\n \n } ,(err)=>{\n this.router.navigate([\"404\"]);\n });\n}\n//-------Get Branch Code Method---------------------------\nfnBranchCode(brcId){\n this.showMsg = false;\n this.showerrormsg = false;\n if (brcId != 'null') {\n return this._holidayService.fnBranchCode(brcId.toString()).subscribe(data =>{\n this.editedHolidayInfo.BranchCode = data;\n });\n }else{\n this.editedHolidayInfo.BranchCode = null;\n this.editedHolidayInfo.BranchId = null;\n }\n}\n\n//---------------------Only Number On key Press-----------\nonKeyDown(event: KeyboardEvent) {\n let a= (event.charCode == 8 || event.charCode == 0 || event.charCode == 45 ) ? null : event.charCode >= 48 && event.charCode <= 57;\n return a;\n}\n//------------- Date validation---------------------------\ncheckDateValidity(date){ \n const mxDate = new Date();\n this.inputDate =date.singleDate.jsDate;\n if (this.inputDate <= mxDate) {\n this.futureDateError = false;\n }\n else{\n this.futureDateError = true;\n }\n return this.futureDateError\n}\n\n//--------------From Date validation----------------------\ncheckFromDateValidity(date){ \n const mxDate = new Date();\n this.inputDate =date.singleDate.jsDate;\n\n if (this.inputDate <= mxDate) {\n this.futureDateErrorFrom = false;\n }\n else{\n this.futureDateErrorFrom = true;\n }\n return this.futureDateErrorFrom\n \n} \n//--------------To Date validation-------------------------\n checkToDateValidity(date){ \n const mxDate = new Date();\n this.inputDate =date.singleDate.jsDate;\n if (this.inputDate <= mxDate) {\n this.futureDateErrorTo = false;\n }\n else{\n this.futureDateErrorTo = true;\n }\n return this.futureDateErrorTo \n}\n//-------------------Check status is valid or Not----------\ncheckStatusVlidaity(status) {\n this._holidayService.formData.Status = status;\n if (this.CheckerPrivillage == true) {\n if (status == \"null\") {\n this.validStatus = false;\n }\n else {\n this.validStatus = true;\n }\n }\n}\n//--------------------------------------------\nCorrespondentRadio(){\n jQuery('CorrespondentBank:radio[value=1]').prop('checked', true);\n this._holidayService.formData.CorrespondentBank='1'\n this.EnableTextbox();\n}\n//------------------------------\nhandleKeyboardEvent(event) {\n event.returnValue = false;\n event.preventDefault();\n }\n}","
\n
\n
\n
\n
\n\n
\n
\n \n
\n
\n\n

\n {{ lblTitle }}\n

\n
\n
\n
\n
\n\n
\n
\n
\n

\n * Marked Fields Are Mandatory.\n

\n
\n
\n\n
\n
\n\n
\n ×\n Success! {{ lblMessage }}.\n
\n\n
\n ×\n Error! {{ lblMessage }}.\n
\n\n
\n
\n\n
\n\n
\n \n
\n \n
\n \n
\n\n \n
\n \n\n \n
\n
\n
\n\n
\n \n\n
\n \n\n
\n \n
\n\n \n
\n \n\n \n
\n
\n
\n\n
\n \n\n \n\n \n
\n Status is required\n
\n\n
\n\n
\n\n
\n
\n \n \n\n {{_holidayService.formData.BankName}} \n\n
\n
\n Bank Name is required.\n
\n
\n Please provide a valid Bank Name.\n
\n
\n\n
\n\n
\n \n\n \n\n {{_holidayService.formData.BranchName}} \n\n
\n
\n Branch Name is required.\n
\n
\n Please provide a valid Branch Name.\n
\n
\n
\n\n
\n \n\n \n\n {{_holidayService.formData.BranchCode}} \n\n \n \n \n \n
\n
\n\n
\n
\n \n\n \n\n {{_holidayService.formData.CountryName}} \n\n
\n Country is required\n
\n
\n\n
\n \n\n \n\n {{_holidayService.formData.StateName}} \n\n
\n State is required\n
\n
\n\n
\n \n\n \n\n {{_holidayService.formData.CityName}} \n \n
\n City is required\n
\n
\n
\n\n
\n
\n
\n \n
One Day
\n
\n
\n
\n\n
\n\n
\n \n\n
\n \n\n
\n \n
\n
\n\n {{_holidayService.formData.formatedDate}} \n\n
\n Date is required\n
\n
\n Enter a valid date in DD-MM-YYYY format \n
\n
\n Enter a valid date in YYYY-MM-DD format \n
\n
\n Date should be greater than current date\n
\n
\n\n
\n \n\n \n\n {{_holidayService.formData.HolidayType}} \n\n
\n Holiday Type is required\n
\n
\n\n
\n \n \n\n {{_holidayService.formData.Holiday}} \n \n
\n
\n Holiday is required.\n
\n
\n Please provide a valid Holiday.\n
\n
\n
\n
\n\n
\n\n
\n\n
\n\n \n\n
Multi Day
\n \n
\n\n
\n Leave Selection is required\n
\n\n
\n
\n\n
\n\n
\n\n \n
\n \n\n
\n \n
\n
\n {{_holidayService.formData.formatedFrDate}} \n\n
\n From Date is required\n
\n
\n Enter a valid date in DD-MM-YYYY format\n
\n
\n Enter a valid date in YYYY-MM-DD format \n
\n
\n From Date should be greater than current date\n
\n
\n\n
\n\n \n
\n \n\n
\n \n
\n
\n\n {{_holidayService.formData.formatedToDate}} \n\n
\n To Date is required\n
\n
\n Enter a valid date in DD-MM-YYYY format\n
\n
\n Enter a valid date in YYYY-MM-DD format \n
\n
\n To Date should be greater than to current date\n
\n
\n {{ error.errorMessage }}\n
\n\n
\n\n
\n \n\n \n\n \n\n
\n Number of days is required\n
\n
\n\n
\n \n\n \n {{_holidayService.formData.HolidayType}} \n\n
\n Holiday Type is required\n
\n
\n\n
\n \n \n \n\n {{_holidayService.formData.Holiday}} \n \n
\n
\n Holiday is required.\n
\n
\n Please provide a valid Holiday.\n
\n
\n
\n
\n\n
\n\n
\n
\n \n\n
\n \n
\n
\n
\n\n
\n Created By {{ userNameCreated }} on {{ createdDate }}\n
\n\n
\n Updated By {{ usernameUpdte }} on {{ updtedDate }}\n
\n
\n
\n
\n
\n
\n\n\n
\n
\n
\n

Confirmation

\n \n ×\n \n
\n
\n {{ lblMessage }}\n
\n
\n \n Close\n \n
\n
\n
\n\n\n\n
\n
\n
\n

Confirmation

\n \n ×\n \n
\n
\n {{ lblMessageWorking }}\n
\n
\n \n OK\n \n \n Cancel\n \n
\n
\n
\n\n","import { Component, OnInit,ViewChild, ElementRef, ViewContainerRef } from '@angular/core';\nimport { Router,NavigationExtras } from '@angular/router';\nimport { Holiday } from 'src/app/MasterService/Holiday';\nimport { HolidayService } from 'src/app/MasterService/Holiday.service';\nimport { NgxPaginationModule } from 'ngx-pagination';\nimport { AllMasterApiService } from 'src/app/MasterService/all-master-api.service';\nimport { format } from 'path';\nimport { NgxSpinnerService } from \"ngx-spinner\";\nimport {RoleAccessService}from '../../MasterService/role-access.service';\nimport{RoleAccess}from'src/app/MasterService/RoleAccess';\nimport * as XLSX from 'xlsx';\nimport * as jsPDF from 'jspdf';\nimport html2Canavas from 'html2canvas';\nimport { saveAs } from 'file-saver';\nimport { IAngularMyDpOptions } from 'angular-mydatepicker';\nimport { StateService } from 'src/app/@core/utils';\nimport * as $ from 'jquery';\nimport { EncryptdecryptService } from 'src/app/MasterService/encryptdecrypt.service';\nimport { PaginationService } from 'src/app/Paging/pagination.service';\nimport { NgbDateParserFormatter } from '@ng-bootstrap/ng-bootstrap';\n\ndeclare var sortTableHolidayMst: Function;\n\n@Component({\n selector: 'app-holiday-master',\n templateUrl: './holiday-master.component.html',\n styleUrls: ['./holiday-master.component.css']\n})\nexport class HolidayMasterComponent implements OnInit {\n today = new Date();\n myDpOptions: IAngularMyDpOptions = {\n dateRange: false,\n dateFormat: 'dd-mm-yyyy',\n disableSince: {year: this.today.getFullYear(), month: this.today.getMonth() + 1, day: this.today.getDate() + 1}\n };\n myDpOptions1: IAngularMyDpOptions = {\n dateRange: false,\n dateFormat: 'dd-mm-yyyy'\n };\n todayDate : Date = new Date();\n public oneDayOption;\n public moreDayOption;\n public HolidayId;\n HolidayWorkingDisable: boolean;\n showModal: boolean;\n lblMessage: string;\n showMsg:boolean;\n lblMessageDeletesuccess:string;\n countryList:any = [];\n FilteredHolidayList:any=[];\n allHoliday:any=[];\n lastSortedByField;\n ascendingOrder = true;\n isActive: boolean;\n AllHolidayCheck: boolean;\n showModalForAllDelete: boolean;\n BulkDelete:boolean = true;\n HolidaySelected:boolean;\n listLengthForSelect: 0;\n IsHolidaySelected:boolean;\n checkedList:any=[];\n redlblMessage:string;\n p: number = 1;\n config: any;\n ddlshowStartValue:number;\n ddlshowvalue:number;\n searchCount:string;\n filterCount:string;\n ///chnagessss...................\n\n public display: true;\n EditPriv:boolean;\n DeletePrivllage:boolean;\n AddPrivillage:boolean;\n ViewPrivllage:boolean;\n MappingPriv:boolean;\n AddImportAccess:boolean;\n AddExportAccess:boolean;\n RoleAccess:RoleAccess;\n fileName:string;\n PrivillageImportExportdv:boolean;\n inputDate: any;\n futureDateError: boolean;\n AllSelected: boolean;\n ConfirmationMsg: string;\n ///Bulk Approval...................\n AddEditBulkApproval:boolean;\n AddEditBulkApprovalLabel: boolean;\n AuthorizeStatus: number;\n CheckerPrivillage:boolean;\n showerrormsg: boolean;\n HolidayReviewstatus: number;\n HolidayStatus: string;\n deleteDisable:boolean;\n checkedBulkList: any[];\n selectHolidayList:any[];\n ddlDropdownValue: any;\n DateFroExportSearch: any;\n HolidayDateFroExportSearch: any;\n constructor(public _holidayService: HolidayService, private router: Router, public _spinner:NgxSpinnerService,public _allServiceMasterApi:AllMasterApiService,\n public _roleAccess:RoleAccessService,private _encryption:EncryptdecryptService,\n public _PaginationService:PaginationService, private ngbDateParserFormatter: NgbDateParserFormatter) { }\n\n ngOnInit(): void {\n if(localStorage.getItem('LoginUserId')==null){\n this.router.navigate([\"\"]);\n return;\n }\n if(!$('.js-sticky-header').is(':visible')){\n $('.js-sticky-header').css('display','block');\n }\n this._spinner.show();\n this.Holiday();\n localStorage.removeItem('HoildayDataId');\n this.onTop();\n this.GetPrivillageRoles();\n // this.fncountry();\n this.config = {\n itemsPerPage: 10,\n currentPage: 1,\n };\n this.ddlshowvalue =10;\n this.ddlshowStartValue = 1;\n this.pageNumber[0] = true; \n this._PaginationService.temppage = 0; \n sortTableHolidayMst(8,false);\n }\n\n show() { this.showModal = true; \n $(document).ready(function () {\n $('#idshowModal').eq(0).focus();\n });}\n hide() { this.showModal = false; }\n showlbl(){ this.showMsg = true;}\n hidelbl(){ this.showMsg = false;}\n showerror(){this.showerrormsg=true;}\n hideerror() {this.showerrormsg=false;}\n\n//---------------------on page load NgModel bind---------------------\n Holiday() {\n this.display = true;\n this._holidayService.formData = {\n HolidayId: 0,\n CountryId: null,\n StateId: null,\n CityId: null,\n CorrespondentBank: '0',\n BankName: '',\n BranchName: '',\n BranchCode: '',\n Correspondent:'',\n Leave: '',\n Date: null,\n HolidayType: \"\",\n Holiday: '',\n DateFrom: '',\n DateTo: '',\n NoDays: 0,\n IsHolidayWorking: '0',\n displaycheckboxForHoliday:true,\n lblTitle:'',\n CreatedBy:0,\n UpdatedBy:0,\n CreatedDate:'',\n UpdatedDate:'',\n UserName:'',\n CreatedName:'',\n DateCreated:'',\n UpdatedName:'',\n IsHolidaySelected: null,\n Status:\"1\",\n ReviewStatus:null,\n UserId:'',\n Message:'',\n formatedDate:'',\n formatedFrDate:'',\n formatedToDate:'',\n CountryName:'',\n StateName:'',\n CityName:'',\n BranchId:null,\n CorrespondentName:'',\n IsHolidayWorkingName:'',\n HolidayNewStatus:'Active',\n RequestType:''\n }\n } \n//-------------On Add Holday Button On Click--------------------------\n NewHoliday() {\n this.display = true;\n this._holidayService.formData = {\n HolidayId: 0,\n CountryId: null,\n StateId: null,\n CityId: null,\n CorrespondentBank: '0',\n BankName: 'IDBI BANK',\n BranchName: '',\n BranchCode: '',\n Correspondent:'',\n Leave: '',\n Date: null,\n HolidayType: \"\",\n Holiday: '',\n DateFrom: '',\n DateTo: '',\n NoDays: 0,\n IsHolidayWorking: '0',\n displaycheckboxForHoliday:true,\n lblTitle:'Add Holiday Master',\n CreatedBy:0,\n UpdatedBy:0,\n CreatedDate:'',\n UpdatedDate:'',\n UserName:'',\n CreatedName:'',\n DateCreated:'',\n UpdatedName:'',\n IsHolidaySelected: null,\n Status:'1',\n ReviewStatus:null,\n UserId:'',\n Message:'',\n formatedDate:'',\n formatedFrDate:'',\n formatedToDate:'',\n CountryName:'',\n StateName:'',\n CityName:'',\n BranchId:null,\n CorrespondentName:'',\n IsHolidayWorkingName:'',\n HolidayNewStatus:'Active',RequestType:''\n }\n this.router.navigate([\"/AddHolidayMaster\"])\n }\n\n//---------------On EDIT Icon on Click---------------------------------\n EditHoliday(holiday: Holiday) {\n localStorage.setItem('HoildayDataId',String( holiday.HolidayId));\n localStorage.setItem('HolidayViewMode',String(\"edit\"));\n this.router.navigate(['/AddHolidayMaster']);\n }\n\n//----------------on Authorize icon click------------------------------------\nAuthorize(holiday: Holiday) {\n localStorage.setItem('HoildayDataId',String( holiday.HolidayId));\n localStorage.setItem('HolidayViewMode',String(\"authorize\"));\n this.router.navigate(['/AddHolidayMaster']);\n} \n\n//----------------On VIEW Icon on Click------------------------------\n ViewHolidayDetails(holiday: Holiday){\n localStorage.setItem('HoildayDataId',String( holiday.HolidayId));\n let viewMode = 'view';\n let navigationExtras: NavigationExtras = {\n queryParams: {\n viewMode\n }\n };\n if(viewMode == 'view'){\n this.router.navigate(['/AddHolidayMaster'], navigationExtras);\n }\n }\n\n//-------------Closed Model Popup of Bulk Authorize--------------------\n AllDeletehide(){\n this.showModalForAllDelete=false;\n this.isActive = false;\n this.AllHolidayCheck=false;\n }\n\n//-------------After delete confirrmation =>delete Method-------------\n DeleteHolidayMethod() {\n this._holidayService.fnDeleteHoliday(this.HolidayId.toString(),localStorage.getItem('LoginUserId').toString(),this.HolidayReviewstatus.toString()).subscribe(res => {\n //(res);\n //this.fnGetAllHolidayDetails('', '', '','','','','','1'); \n this._holidayService.formData.BankName=\"\",this._holidayService.formData.Holiday=\"\",\n this._holidayService.formData.HolidayType=\"\",this._holidayService.formData.CreatedDate=\"\",\n this._holidayService.formData.Date=\"\",this._holidayService.formData.CreatedName=\"\",\n this._holidayService.formData.RequestType=\"\",this._holidayService.formData.Status=\"1\"\n this.showFirstPage(this._holidayService.formData.BankName,this._holidayService.formData.Holiday,\n this._holidayService.formData.HolidayType,this._holidayService.formData.CreatedDate,\n this._holidayService.formData.Date,this._holidayService.formData.CreatedName,\n this._holidayService.formData.RequestType,this._holidayService.formData.Status);\n this.hide();\n if (res == 'Holiday Deleted Successfully') {\n this.showlbl();\n this.lblMessageDeletesuccess = res;\n //\"Holiday Deleted Successfully\"\n \n }else{\n this.redlblMessage = res;\n this.showerror();\n }\n this.onTop();\n //this.redlblMessage = res;//\"Holiday Deleted Successfully\"\n //this.showerror();\n \n } ,(err)=>{\n this.router.navigate([\"404\"]);\n });\n}\n\n//---------------On Top method------------------------------------------\n onTop(){\n window.scroll({\n top: 0,\n left: 0,\n behavior:'smooth'\n })\n }\n//----------- Delete Icon On Click------------------------------------------\n DeleteHolidayMaster(holiday: Holiday) {\n this.HolidayId = holiday.HolidayId;\n this.HolidayReviewstatus=holiday.ReviewStatus;\n this.lblMessage = \"Are you sure you want to delete?\";\n this.show();\n }\n\n//----------pageChanged => -------------------------------------------\n pageChanged(event) {\n this.config.currentPage = event;\n this.ddlshowvalue = this.config.currentPage*this.config.itemsPerPage;\n this.ddlshowStartValue = this.ddlshowvalue - (this.config.itemsPerPage-1);\n // if(this.FilteredHolidayList.length<=this.ddlshowvalue)\n // this.ddlshowvalue = this.FilteredHolidayList.length;\n }\n//-------------------Get Holiday data in grid ------------------------------------------\n fnGetAllHolidayDetails(BankName, HolidayName, HolidayType,CreatedDate,HolidayDate,CreatedName,RequestType,Status,SortOrder = \"\",pageNumber=\"\") {\n if(pageNumber != \"\")\n this.pageNo=pageNumber;\n this._holidayService.fnGetHolidayData('0',this.pageNo, this.config.itemsPerPage.toString(),\n BankName,HolidayName,HolidayType,CreatedName,CreatedDate, HolidayDate,RequestType,Status,this.sortOrder).subscribe(allHoliday => {\n this.allHoliday = allHoliday;\n this.FilteredHolidayList = this.allHoliday;\n for (var i = 0; i < this.allHoliday.length; i++) {\n \n if(this.allHoliday[i].CreatedBy== this._encryption.decryptUsingAES256(localStorage.getItem('LoginUserId'))){\n this.allHoliday[i].IsholidayDisabled = true;\n }//this.allHoliday[i].IsUserSelected = false;\n if(this.checkedList.length > 0){ \n for (var j = 0; j < this.checkedList.length; j++) {\n if(this.checkedList[j].HolidayId == this.allHoliday[i].HolidayId){\n this.allHoliday[i].IsHolidaySelected = true; \n } \n }\n } \n\n // if(this.allHoliday[i].CreatedBy == localStorage.getItem('LoginUserId')){ \n // this.allHoliday[i].makerchecherDisabled = true;\n // } else \n if(this.allHoliday[i].RequestType == 'Add Approval Pending' || this.allHoliday[i].RequestType == 'Edit Approval Pending'){\n this.allHoliday[i].makerchecherDisabled = true;\n }\n else if(this.allHoliday[i].RequestType == 'Delete Approval Pending' && \n (!this.CheckerPrivillage || this.allHoliday[i].CreatedBy == +this._encryption.decryptUsingAES256(localStorage.getItem('LoginUserId')))){\n this.allHoliday[i].makerchecherDisabled = true;\n }\n else{\n this.allHoliday[i].makerchecherDisabled = false;\n\n if(this.allHoliday[i].RequestType == 'Add Approval Pending' || this.allHoliday[i].RequestType == 'Edit Approval Pending' || this.allHoliday[i].RequestType == 'Delete Approval Pending'){\n this.allHoliday[i].IsAuthorizeDisable = false;\n }\n else\n this.allHoliday[i].IsAuthorizeDisable = true;\n } } \n this.listLengthForSelect = this.allHoliday.length;\n if(this.allHoliday.length > 0){ \n this.totalCount = this.allHoliday[0].HolidayListCount;\n this.totalNoOfPages(); \n } else if(this.allHoliday.length == 0){\n this.totalCount = 0;\n this.totalNoOfPages(); \n }\n if(this._holidayService.formData.ReviewStatus==1 || this._holidayService.formData.ReviewStatus==4){this.deleteDisable=true;}\n \n \n if(this.ddlDropdownValue==10 || this.ddlDropdownValue == undefined ){\n if(this.FilteredHolidayList.length <10 ){\n this.ddlshowvalue = this.totalCount;\n }\n else if(this.FilteredHolidayList.length==0){\n this.ddlshowvalue = 0;\n }\n }\n else if(this.ddlDropdownValue== 25 ){\n if(this.FilteredHolidayList.length < 25 ){\n this.ddlshowvalue = this.totalCount;\n }\n else if(this.FilteredHolidayList.length==0){\n this.ddlshowvalue = 0;\n }\n }\n else if(this.ddlDropdownValue== 50 ){\n if(this.FilteredHolidayList.length < 50){\n this.ddlshowvalue = this.totalCount;\n }\n else if(this.FilteredHolidayList.length==0){\n this.ddlshowvalue = 0;\n }\n }\n else if(this.ddlDropdownValue== 100 ){\n if(this.FilteredHolidayList.length < 100){\n this.ddlshowvalue = this.totalCount;\n }\n else if(this.FilteredHolidayList.length==0){\n this.ddlshowvalue = 0;\n }\n }\n //-------------------checker side Bulk Authorize---------------------\n this.getCheckedBulkAuthorize();\n if ( this.FilteredHolidayList.length!=0 && this.CheckerPrivillage==true &&\n (this._holidayService.formData.RequestType ==\"1\" || this._holidayService.formData.RequestType ==\"4\")\n && (this._holidayService.formData.Status==\"2\" || this._holidayService.formData.Status==\"\")){\n this.AddEditBulkApproval=true;\n }\n else{\n this.AddEditBulkApproval=false;\n this.AddEditBulkApprovalLabel=false;\n }\n //End-- checker side bulk Authorize---------------------------\n // this.OnSearch(this._holidayService.formData.BankName,this._holidayService.formData.Holiday\n // ,this._holidayService.formData.HolidayType,this._holidayService.formData.CreatedDate,\n // this._holidayService.formData.Date,\n // this._holidayService.formData.CreatedName,\n // this._holidayService.formData.RequestType,this._holidayService.formData.Status); \n }\n ,(err)=>{\n this.router.navigate([\"404\"]);\n }\n );\n setTimeout(() => {\n this._spinner.hide(); \n }, 500);\n }\n //-----Get Branch Data for Export----------------\n ExportHoliday:any = [];\n FilterExportHoliday: any = [];\n HolidayListForExport(){\n this._holidayService.fnGetHolidayDataForExport().subscribe(Holiday=>{\n this.ExportHoliday = Holiday;\n this.FilterExportHoliday = Holiday;\n this.FilterExportHoliday = this.FilterExportHoliday.filter(row=>{\n return row.Status == \"Active\"; \n });\n this.FilterExportHoliday.length;\n for(var i = 0; i < this.ExportHoliday.length; i++){\n if(this.ExportHoliday[i].CreatedBy== this._encryption.decryptUsingAES256(localStorage.getItem('LoginUserId'))){\n this.ExportHoliday[i].IsUserDisabled = true;\n }\n // this.ExportUsers[i].RoleName=this.decryptUsingAES256(this.ExportUsers[i].RoleName);\n // this.ExportUsers[i].RoleNames=this.decryptUsingAES256(this.ExportUsers[i].RoleNames);\n }\n },(err)=>{\n this.router.navigate([\"404\"]);\n });\n }\n //-----------------Search Method----------------------------------------\n OnSearch(BankName,Holiday,HolidayType,CreatedDate,HolidayDate,CreatedName,ReqType,status){\n this.currentPage = 1;\n this.pageNumber = [];\n this.pageNumber[0] = true;\n this._PaginationService.comingFromPreAndNext = false;\n this.DateFroExportSearch=CreatedDate;\n this.HolidayDateFroExportSearch=HolidayDate;\n if(CreatedDate == null || CreatedDate == undefined || CreatedDate == \"\")\n CreatedDate = \"\"; \n else if (CreatedDate != null && CreatedDate!=\"\") {\n CreatedDate = this.ngbDateParserFormatter.format(CreatedDate.singleDate.date);\n }\n if(HolidayDate == null || HolidayDate == undefined || HolidayDate == \"\")\n HolidayDate = \"\"; \n else if (HolidayDate != null && HolidayDate!=\"\") {\n HolidayDate = this.ngbDateParserFormatter.format(HolidayDate.singleDate.date);\n }\n this.fnGetAllHolidayDetails(BankName,Holiday,HolidayType,CreatedDate,HolidayDate,CreatedName,ReqType,status,this.sortOrder,\"1\");\n this.pageChanged(1); \n //--------------Export search------------------------------------\n this.FilterExportHoliday = this.ExportHoliday.filter(row=>{\n return row.BankName.toLocaleLowerCase().match(BankName.toLocaleLowerCase());\n });\n this.FilterExportHoliday = this.FilterExportHoliday.filter(row=>{\n return row.Holiday.toLocaleLowerCase().match(Holiday.toLocaleLowerCase());\n }); \n if (HolidayType != \"\") {\n this.FilterExportHoliday = this.FilterExportHoliday.filter(row=>{\n return row.HolidayType == HolidayType;\n });\n }\n this.FilterExportHoliday = this.FilterExportHoliday.filter(row=>{\n return row.CreatedName.toLocaleLowerCase().match(CreatedName.toLocaleLowerCase());\n });\n if (this.DateFroExportSearch != \"\" && this.DateFroExportSearch!=null) {\n this.FilterExportHoliday = this.FilterExportHoliday.filter(row=>{\n return row.CreatedDate.toLocaleLowerCase().match(this.DateFroExportSearch.singleDate.formatted.toLocaleLowerCase());\n }); \n }\n if(status != \"\"){\n if(status ==\"1\"){\n status=\"Active\"\n } \n else if(status ==\"0\"){\n status=\"InActive\"\n }\n else if(status==\"2\"){\n status=\"Pending\"}\n else status=\"\";\n this.FilterExportHoliday = this.FilterExportHoliday.filter(row => {\n return row.Status == status;\n });\n }\n if(ReqType != \"\"){\n if(ReqType==\"1\"){ReqType =\"Add Approval Pending\"}\n else if(ReqType==\"2\"){ReqType =\"Add Approved\"} \n else if(ReqType==\"3\"){ReqType =\"Add Rejected\"}\n else if(ReqType==\"4\"){ReqType =\"Edit Approval Pending\"}\n else if(ReqType==\"5\"){ReqType =\"Edit Approved\"}\n else if(ReqType=\"6\"){ReqType =\"Edit Rejected\"}\n else if(ReqType==\"7\"){ReqType =\"Delete Approval Pending\"}\n else if(ReqType==\"8\"){ReqType =\"Delete Approved\"} \n else if(ReqType==\"9\"){ReqType =\"Delete Rejected\"}\n else ReqType=\"\"\n this.FilterExportHoliday = this.FilterExportHoliday.filter(row => {\n return row.RequestType == ReqType;\n });\n }\n if (this.HolidayDateFroExportSearch != \"\" && this.HolidayDateFroExportSearch != null) {\n this.FilterExportHoliday = this.FilterExportHoliday.filter(row=>{\n return row.formatedDate.toLocaleLowerCase().match(this.HolidayDateFroExportSearch.singleDate.formatted.toLocaleLowerCase()\n ) || \n row.formatedFrDate.toLocaleLowerCase().match(this.HolidayDateFroExportSearch.singleDate.formatted.toLocaleLowerCase()\n ) \n }); \n }\n debugger;\n this.FilterExportHoliday.length;\n\n \n // debugger;\n // this.removeonchange();//this.AddEditBulkApprovalLabel=false;\n // this.pageChanged(event);\n // // if(City==\"null\"){\n // // City = \"\";\n // // }\n \n // if(!BankName && !Holiday && !HolidayType && (!CreatedDate || CreatedDate==null) && (!HolidayDate || HolidayDate==null) && !CreatedName && ReqType==null && !status){\n // this.FilteredHolidayList = this.allHoliday;\n // }\n // else{\n // this.FilteredHolidayList = this.allHoliday.filter(row=>{\n // return row.BankName.toLocaleLowerCase().match(BankName.toLocaleLowerCase());\n // });\n // this.FilteredHolidayList = this.FilteredHolidayList.filter(row=>{\n // return row.Holiday.toLocaleLowerCase().match(Holiday.toLocaleLowerCase());\n // });\n // // this.FilteredHolidayList = this.FilteredHolidayList.filter(row=>{\n // // return row.City.match(City);\n // // });\n // if (HolidayType != \"\") {\n // this.FilteredHolidayList = this.FilteredHolidayList.filter(row=>{\n // return row.HolidayType == HolidayType;\n // });\n // }\n // else {\n // this.FilteredHolidayList = this.FilteredHolidayList.filter(row=>{\n // return row.HolidayType.toLocaleLowerCase().match(HolidayType.toLocaleLowerCase());\n // });\n // }\n // this.FilteredHolidayList = this.FilteredHolidayList.filter(row=>{\n // return row.CreatedName.toLocaleLowerCase().match(CreatedName.toLocaleLowerCase());\n // });\n // if (CreatedDate != \"\" && CreatedDate!=null) {\n // this.FilteredHolidayList = this.FilteredHolidayList.filter(row=>{\n // return row.CreatedDate.toLocaleLowerCase().match(CreatedDate.singleDate.formatted.toLocaleLowerCase());\n // }); \n // }\n // if(status != \"\"){\n // this.FilteredHolidayList = this.FilteredHolidayList.filter(row => {\n // return row.Status == status;\n // });\n // }\n // else{\n // this.FilteredHolidayList = this.FilteredHolidayList.filter(row => {\n // return row.Status.toLocaleLowerCase().match(status.toLocaleLowerCase());\n // });\n \n // }\n\n // if(ReqType != \"\"){\n // this.FilteredHolidayList = this.FilteredHolidayList.filter(row => {\n // return row.RequestType == ReqType;\n // });\n // }\n // else{\n // this.FilteredHolidayList = this.FilteredHolidayList.filter(row => {\n // return row.RequestType.toLocaleLowerCase().match(ReqType.toLocaleLowerCase());\n // });\n // }\n // if (HolidayDate != \"\" && HolidayDate != null) {\n // this.FilteredHolidayList = this.FilteredHolidayList.filter(row=>{\n // return row.formatedDate.toLocaleLowerCase().match(HolidayDate.singleDate.formatted.toLocaleLowerCase()\n // ) || \n // row.formatedFrDate.toLocaleLowerCase().match(HolidayDate.singleDate.formatted.toLocaleLowerCase()\n // ) \n // }); \n // }\n // }\n // if (BankName !=\"\" || Holiday !=\"\" || HolidayType != \"\" || CreatedDate!= \"\"|| CreatedName != \"\" || ReqType!=\"\"||status!=\"\") {\n // this.ddlshowvalue = this.FilteredHolidayList.length;\n // if (this.ddlshowvalue <= this.config.itemsPerPage) {\n // // this.ddlshowvalue = 0;\n // this.ddlshowvalue = this.ddlshowvalue;\n // this.ddlshowStartValue = 1;\n // }\n // else {\n // this.ddlshowvalue = 0;\n // this.ddlshowvalue = this.config.itemsPerPage; \n // this.ddlshowStartValue = 1;\n // }\n // // this.ddlshowStartValue = 1;\n // // this.ddlshowvalue = 0;\n // // this.ddlshowvalue = this.config.itemsPerPage; \n // this.searchCount = \"\";\n // this.searchCount = this.FilteredHolidayList.length;\n // this.filterCount = \"(filtered from \"+ this.allHoliday.length +\" total entries)\";\n // }else{\n // if (this.ddlshowvalue <= this.config.itemsPerPage) {\n // // this.ddlshowvalue = 0;\n // this.ddlshowvalue = this.ddlshowvalue;\n // this.ddlshowStartValue = 1;\n // this.searchCount = this.allHoliday.length.toString();\n // this.filterCount =\"\";\n // }\n // else {\n // this.ddlshowvalue = 0;\n // this.ddlshowvalue = this.config.itemsPerPage; \n // this.ddlshowStartValue = 1;\n // this.searchCount = this.allHoliday.length.toString();\n // this.filterCount =\"\";\n // } //this.ddlshowStartValue = 1;\n // // this.ddlshowvalue = 0;\n // // this.ddlshowvalue = this.config.itemsPerPage; \n \n // // // this.ddlshowvalue = this.config.currentPage*this.config.itemsPerPage;\n // // //this.ddlshowStartValue = this.ddlshowvalue - (this.config.itemsPerPage-1);\n // // this.searchCount = this.allHoliday.length;\n // // this.filterCount =\"\";\n // }\n // this.getCheckedBulkAuthorize();\n // if ( this.FilteredHolidayList.length!=0 && this.CheckerPrivillage==true && (ReqType==\"Add Approval Pending\" || ReqType==\"Edit Approval Pending\") && (status==\"Pending\" || status==\"\")){\n // this.AddEditBulkApproval=true;\n // }\n // else{\n // this.AddEditBulkApproval=false;\n // this.AddEditBulkApprovalLabel=false;\n // }\n\n }\n \n //----------------Pagination DropDown -------------------------------\n fnShowonchange(newObj,BankName, HolidayName, HolidayType,CreatedDate,HolidayDate,CreatedName,RequestType,Status){\n this.ddlDropdownValue= newObj.target.value;\n this.ddlshowvalue = 0;\n this.ddlshowvalue = newObj.target.value;\n this.currentPage= 1;\n this.ddlshowStartValue = 1;\n this.config = {\n itemsPerPage: this.ddlshowvalue,\n currentPage: 1,\n };\n this.pageNumber = [];\n this.pageNumber[0] = true;\n this._PaginationService.comingFromPreAndNext = false;\n if(CreatedDate == null || CreatedDate == undefined || CreatedDate == \"\")\n CreatedDate = \"\"; \n else if (CreatedDate != null && CreatedDate!=\"\") {\n CreatedDate = this.ngbDateParserFormatter.format(CreatedDate.singleDate.date);\n } \n if(HolidayDate == null || HolidayDate == undefined || HolidayDate == \"\")\n HolidayDate = \"\"; \n else if (HolidayDate != null && HolidayDate!=\"\") {\n HolidayDate = this.ngbDateParserFormatter.format(HolidayDate.singleDate.date);\n } \n this.fnGetAllHolidayDetails(BankName, HolidayName, HolidayType,CreatedDate,HolidayDate,CreatedName,\n RequestType,Status,this.sortOrder,\"1\");\n }\n //------------Open Holiday Import page----------------------------------\n AddbulkHoliday() {\n this.router.navigate(['/UploadBulkHoliday']);\n }\n\n //-------------GetPrivillage Method-------------------------------------\n GetPrivillageRoles(){\n this._roleAccess.fnGetRoleAccess(localStorage.getItem('LoginUserId'),this.router.url).subscribe(roleAccess=>{\n this.RoleAccess=roleAccess[0];\n this.CheckerPrivillage = roleAccess[0].CheckerAccess; \n this.EditPriv =this.RoleAccess.EditAccess;\n this.DeletePrivllage=this.RoleAccess.DeleteAccess;\n this.AddPrivillage=this.RoleAccess.AddAccess;\n this.MappingPriv=this.RoleAccess.MappingPriv;\n this.AddImportAccess = this.RoleAccess.AddImportAccess;\n this.AddExportAccess=this.RoleAccess.AddExportAccess;\n this.fnGetAllHolidayDetails('', '', '','','','','','1');\n this.HolidayListForExport();\n if(this.AddImportAccess || this.AddExportAccess){\n this.PrivillageImportExportdv=true;\n }\n else{\n this.PrivillageImportExportdv=false;\n }\n if(!this.EditPriv && this.RoleAccess.ViewAccess)\n this.ViewPrivllage=true;\n } ,(err)=>{\n this.router.navigate([\"404\"]);\n });\n }\n\n//-------------For HTML ,RTF anf Excel Dwonload----------------------------\n @ViewChild('tblHolidayMasterhide') tblHolidayMasterhide:ElementRef;\n fndownloadReport(ddlValue){\n if(ddlValue === \"excel\"){\n this.fileName= 'HolidayMasterReport.xlsx';\n //let element = document.getElementById('tblAccountMaster'); \n const ws: XLSX.WorkSheet = XLSX.utils.table_to_sheet(this.tblHolidayMasterhide.nativeElement);\n\n /* generate workbook and add the worksheet */\n const wb: XLSX.WorkBook = XLSX.utils.book_new();\n XLSX.utils.book_append_sheet(wb, ws, 'Sheet1');\n\n /* save to file */\n XLSX.writeFile(wb, this.fileName);\n }\n\n // if(ddlValue === \"pdf\"){\n // this._spinner.show();\n // $(\"#dvholidayMasterhide\").css(\"display\", \"block\");\n // this.fileName = 'HolidayMasterReport.pdf';\n // var data = document.getElementById('tblHolidayMasterhide');\n // html2Canavas(data).then(canvas => {\n // // Few necessary setting options \n // var imgWidth = 208;\n // var pageHeight = 295;\n // var imgHeight = canvas.height * imgWidth / canvas.width;\n // var heightLeft = imgHeight;\n\n // const contentDataURL = canvas.toDataURL('image/png')\n // let pdf = new jsPDF('p', 'mm', 'a4'); // A4 size page of PDF \n // var position = 0;\n // pdf.addImage(contentDataURL, 'PNG', 0, position, imgWidth, imgHeight)\n // pdf.save(this.fileName); // Generated PDF \n // $(\"#dvholidayMasterhide\").css(\"display\", \"none\");\n // this._spinner.hide();\n // });\n // }\n\n if(ddlValue === \"rtf\"){\n this.fileName = 'HolidayMasterReport.rtf';\n var ele = document.getElementById('tblHolidayMasterhideRTF');\n var blob = new Blob([\"

Holiday Master's Report.


\"+ele.innerHTML+\"
\"], {\n type: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8\"\n });\n saveAs(blob, this.fileName);\n }\n\n if(ddlValue === \"html\"){\n this.fileName = 'HolidayMasterReport.html';\n var ele = document.getElementById('tblHolidayMasterhide');\n var blob = new Blob([\"

Holiday Master's Report.


\"+ele.innerHTML+\"
\"], {\n type: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8\"\n });\n saveAs(blob, this.fileName);\n }\n } \n\n//-------------For PDF Dwonload----------------------------------------\n @ViewChild('tblHolidayMasterhidepdf', {static: false}) tblHolidayMasterhidepdf: ElementRef;\nfndownloadReportPdf(ddlValue){\n if(ddlValue === \"pdf\"){\n\n let DATA = this.tblHolidayMasterhidepdf.nativeElement;\n var ele = document.getElementById('tblHolidayMasterhidepdf');\n let doc = new jsPDF('l','mm',[2700,1300]);\n var blob = new Blob([], {\n });\n let handleElement = {\n '#editor':function(element,renderer){\n return true;\n }\n };\n doc.fromHTML(\"

Holiday Master's Report.


\"+DATA.innerHTML+\"
\",15,15,{\n 'width':1300,\n 'elementHandlers': handleElement\n });\n doc.save('HolidayMasterReport.pdf');\n \n }\n\n\n}\n\n//--------------------Grid Sorting Method-----------------------------------\n fnSortHolidayMaster(field,obj){\n //sortTableHolidayMst(obj);\n if(this.lastSortedByField === field) {\n this.ascendingOrder = !this.ascendingOrder;\n sortTableHolidayMst(obj,this.ascendingOrder);\n }\n else {\n this.lastSortedByField = field;\n this.ascendingOrder = true;\n sortTableHolidayMst(obj,this.ascendingOrder);\n }\n if(this.ascendingOrder) {\n this.FilteredHolidayList = this.FilteredHolidayList.sort((a, b) => {\n if(field=='CreatedDate'){\n if (a[\"DateCreated\"].toLowerCase() < b[\"DateCreated\"].toLowerCase())\n return -1;\n if (a[\"DateCreated\"].toLowerCase() > b[\"DateCreated\"].toLowerCase())\n return 1;\n }\n else{\n if (a[field].toLowerCase() < b[field].toLowerCase())\n return -1;\n if (a[field].toLowerCase() > b[field].toLowerCase())\n return 1;\n }\n return 0;\n });\n } else {\n this.FilteredHolidayList = this.FilteredHolidayList.sort((a, b) => {\n if(field=='CreatedDate'){\n if (a[\"DateCreated\"].toLowerCase() > b[\"DateCreated\"].toLowerCase())\n return -1;\n if (a[\"DateCreated\"].toLowerCase() < b[\"DateCreated\"].toLowerCase())\n return 1;\n }\n else{\n if (a[field].toLowerCase() < b[field].toLowerCase())\n return 1;\n if (a[field].toLowerCase() > b[field].toLowerCase())\n return -1;\n }\n return 0;\n });\n }\n\n }\n\n//---------------------Only Number on key press-------------------------------\n onKeyDown(event: KeyboardEvent) {\n let a= (event.charCode == 8 || event.charCode == 45 || event.charCode == 0 ) ? null : event.charCode >= 48 && event.charCode <= 57;\n return a;\n }\n\n checkDateValidity(date){\n const mxDate = new Date();\n this.inputDate =date.singleDate.jsDate;\n if (this.inputDate > mxDate) {\n this.futureDateError = true;\n }\n else{\n this.futureDateError = false;\n }\n return this.futureDateError\n \n }\n//---------------Bulk Authorize Methods ---------------------------------------\n//----------------Select All Checkbox for Bulk Authorize------------------------\n checkUncheckAllBulkApproval() {\n this.HolidaySelected != this.HolidaySelected; \n if (this.FilteredHolidayList.length > 0) {\n for (var i = 0; i < this.FilteredHolidayList.length; i++) {\n if(this.FilteredHolidayList[i].IsholidayDisabled != true){\n this.FilteredHolidayList[i].IsHolidaySelected = this.HolidaySelected; \n }\n }\n }\n else\n {\n for (var i = 0; i < this.listLengthForSelect; i++) {\n if(this.allHoliday[i].IsholidayDisabled != true){\n this.allHoliday[i].IsHolidaySelected = this.HolidaySelected; \n }\n }\n }\n if (this.FilterExportHoliday.length > 0) {\n for (var j = 0; j < this.FilterExportHoliday.length; j++) {\n if(this.FilterExportHoliday[j].IsholidayDisabled != true){\n this.FilterExportHoliday[j].IsHolidaySelected = this.HolidaySelected; \n }\n }\n }\n else\n {\n for (var j = 0; j < this.ExportHoliday.length; j++) {\n if(this.ExportHoliday[j].IsholidayDisabled != true){\n this.ExportHoliday[j].IsHolidaySelected = this.HolidaySelected; \n }\n }\n }\n this.getCheckedBulkAuthorize();\n // if (this.FilteredHolidayList.length > 0) {\n // for (var i = 0; i < this.FilteredHolidayList.length; i++) {\n // this.FilteredHolidayList[i].IsHolidaySelected = this.HolidaySelected; \n // }\n // }\n // if(this.HolidaySelected==true){\n // this.AddEditBulkApprovalLabel=true;\n // }\n // else{\n // this.AddEditBulkApprovalLabel=false;\n // }\n}\n\n//----------------Select Only One Checkbox for Bulk Authorize---------------------\nIsBulkAutherizeCheck(HolidayId,status){\n this.AllSelected=false;\n status!= this.IsHolidaySelected ;\n for (var i = 0; i < this.FilteredHolidayList; i++) {\n this.FilteredHolidayList[i].IsHolidaySelected == this.IsHolidaySelected; \n}\nfor (var j = 0; j < this.FilterExportHoliday.length; j++) {\n if(this.FilterExportHoliday[j].HolidayId ==HolidayId){\n this.FilterExportHoliday[j].IsHolidaySelected = status; \n }\n} \nthis.getCheckedBulkAuthorize();\n// for (var i = 0; i < this.FilteredHolidayList; i++) {\n// if(this.FilteredHolidayList[i].IsHolidaySelected == true){\n// this.AddEditBulkApprovalLabel=true;\n// }\n// }\n \n \n// if(this.IsHolidaySelected==true){\n// this.AddEditBulkApprovalLabel=true;\n// }\n// else{\n// this.AddEditBuslkApprovalLabel=false;\n// }\n}\n\n//--------------Bulk Authorize Method---------------------------------------------\nBulkAuthorizeConfirm(){\n this.FilteredHolidayList;\n this.selectHolidayList=[];\n for(var i=0;i0){\n this._holidayService.fnBulkUHolidayAuthorize(this.selectHolidayList,localStorage.getItem('LoginUserId'),this.AuthorizeStatus).subscribe(res => { \n // this.fnGetAllHolidayDetails('', '', '','','','','','1');\n this.AddEditBulkApprovalLabel=false;\n this.showModalForAllDelete=false;\n this.onTop();\n this.showMsg=true;\n this.HolidayListForExport();\n this.UncheckAllcheckbox();\n this._holidayService.formData.BankName=\"\",this._holidayService.formData.Holiday=\"\",\n this._holidayService.formData.HolidayType=\"\",this._holidayService.formData.CreatedDate=\"\",\n this._holidayService.formData.Date=\"\",this._holidayService.formData.CreatedName=\"\",\n this._holidayService.formData.RequestType=\"\",this._holidayService.formData.Status=\"1\"\n this.showFirstPage(this._holidayService.formData.BankName,this._holidayService.formData.Holiday,\n this._holidayService.formData.HolidayType,this._holidayService.formData.CreatedDate,\n this._holidayService.formData.Date,this._holidayService.formData.CreatedName,\n this._holidayService.formData.RequestType,this._holidayService.formData.Status);\n this.lblMessageDeletesuccess=\"Bulk Authorize Completed For All Selected Records Succesfully\";\n // this.lblMessage=\"All Account Deleted Successfully except Account Number used in Other Master. \n }\n ,(err)=>{\n this.router.navigate([\"404\"]);\n });\n }\n\n \n} \n\n//---------If Any Checkbox is checked then Bulk Authrize Button is display--------\ngetCheckedBulkAuthorize(){\n // this.checkedBulkList = [];\n // for (var i = 0; i < this.listLengthForSelect; i++) {\n // if(this.allHoliday[i].IsHolidaySelected == true)\n // this.checkedBulkList.push(this.allHoliday[i]);\n // }\n // this.checkedList= JSON.stringify(this.checkedBulkList);\n // if(this.checkedBulkList.length >= 1){\n // this.AddEditBulkApprovalLabel=true;\n // }\n // else{\n // this.AddEditBulkApprovalLabel=false;\n // }\n this.checkedBulkList = [];\n for (var i = 0; i < this.FilterExportHoliday.length; i++) {\n if(this.FilterExportHoliday[i].IsHolidaySelected == true)\n this.checkedBulkList.push(this.FilterExportHoliday[i]);\n }\n this.checkedList = this.checkedBulkList;;\n if(this.checkedBulkList.length >= 1){\n this.AddEditBulkApprovalLabel=true; }\n else{\n this.AddEditBulkApprovalLabel=false;\n }\n}\n\n//--------------Un-Check All checkbox after bulk approved or Reject---------------\nUncheckAllcheckbox(){\n this.HolidaySelected=false;\n this.AddEditBulkApprovalLabel=false;\n for (var i = 0; i < this.FilteredHolidayList.length; i++) {\n this.FilteredHolidayList[i].IsHolidaySelected = false;\n }\n for (var i = 0; i < this.FilterExportHoliday.length; i++) {\n this.FilterExportHoliday[i].IsHolidaySelected = false;\n }\n}\n\n//--------------------If Bulk Authorize => Approved then ---------------------\nApproved(){\n this.showModalForAllDelete=true;\n $(document).ready(function () {\n $('#IDshowModalForAuthorize').eq(0).focus();\n });\n this.ConfirmationMsg=\"Approve\"\n this.AuthorizeStatus=2;\n this._holidayService.formData.RequestType = \"\";\n this._holidayService.formData.Status = \"1\";\n}\n\n//--------------------If Bulk Authorize => Reject then ------------------------\nRejectd(){\n this.showModalForAllDelete=true;\n $(document).ready(function () {\n $('#IDshowModalForAuthorize').eq(0).focus();\n });\n this.ConfirmationMsg=\"Reject\";\n this.AuthorizeStatus=3;\n this._holidayService.formData.RequestType = \"\";\n this._holidayService.formData.Status = \"1\";\n}\n\n//---------------Hide error & Successfull Massage ----------------------------\nremoveonchange(){\n this.showMsg = false;this.showerrormsg=false;\n}\n\n//---------------Open Gear menu & SubMenu on tab Event ------------------------\nfnOpengearMenu(){\n $(\".icon-cog\").trigger(\"click\");\n}\nfnsubOpengearMenu(){\n $('[class=\"dropdown-menu\"]').trigger(\"click\").css('display','block');\n}\n//--------------------Pagination Start --------------------------------------\npageNo: any = 1; \npageNumber: boolean[] = []; \nsortOrder: any = 'CreatedDate_DESC'; \norder:any='CreatedDate';\n\npageField = []; \nexactPageList: any; \npaginationData: number; \norderBy: string='Desc'; \n\ntotalCount: any; \ncurrentPage = 1; \nComingFromLast:boolean = false;\nComingFromFirst:boolean = false;\n\ntotalNoOfPages() { \n if(this.ComingFromLast == true){\n this.pageNumber = []; \n this.pageNumber[this._PaginationService.pageNumberShow - 1] = true; \n this.ComingFromLast = false;\n }\n if(this.ComingFromFirst == true){\n this.pageNumber = []; \n this.pageNumber[0] = true;\n this.ComingFromFirst = false;\n } \n this.filterCount = this.totalCount;\n this.paginationData = Number(this.totalCount/this.config.itemsPerPage); \n let tempPageData = this.paginationData.toFixed(); \n if (Number(tempPageData) < this.paginationData) { \n this.exactPageList = Number(tempPageData) + 1; \n this._PaginationService.exactPageList = this.exactPageList; \n } else { \n this.exactPageList = Number(tempPageData); \n this._PaginationService.exactPageList = this.exactPageList \n }\n if(this._PaginationService.exactPageList < 10){\n // this._PaginationService.temppage = 0;\n this._PaginationService.pageNumberShow = this._PaginationService.exactPageList;\n this._PaginationService.disabledPrevBtn = true;\n this._PaginationService.disabledNextBtn = true;\n }\n else{\n // this._PaginationService.temppage = 0;\n this._PaginationService.pageNumberShow = 10;\n } \n this._PaginationService.pageOnLoad(); \n this.pageField = this._PaginationService.pageField; \n\n if(this.pageField.length < 10){\n this._PaginationService.disabledNextBtn = true;\n this._PaginationService.disabledPrevBtn = true;\n }\n} \n\nsortByHeading(value: string, id, BankName, HolidayName, HolidayType,CreatedDate,HolidayDate,CreatedName,RequestType,Status) { \n this.sortOrder = value; \n this.order =value; \n if (this.orderBy == \"Desc\") { \n this.orderBy = \"Asc\" \n this.sortOrder =this.sortOrder+'_ASC'; \n sortTableHolidayMst(id,true);\n } else { \n this.orderBy = \"Desc\"; \n this.sortOrder =this.sortOrder+'_DESC';\n sortTableHolidayMst(id,false); \n } \n if(CreatedDate == null || CreatedDate == undefined || CreatedDate == \"\")\n CreatedDate = \"\"; \n else if (CreatedDate != null && CreatedDate!=\"\") {\n CreatedDate = this.ngbDateParserFormatter.format(CreatedDate.singleDate.date);\n }\n if(HolidayDate == null || HolidayDate == undefined || HolidayDate == \"\")\n HolidayDate = \"\"; \n else if (HolidayDate != null && HolidayDate!=\"\") {\n HolidayDate = this.ngbDateParserFormatter.format(HolidayDate.singleDate.date);\n }\n this.fnGetAllHolidayDetails(BankName, HolidayName, HolidayType,CreatedDate,HolidayDate,CreatedName,RequestType,Status,this.sortOrder); \n this.pageChanged(this.pageNo); \n\n} \n\nshowFirstPage(BankName, HolidayName, HolidayType,CreatedDate,HolidayDate,CreatedName,RequestType,Status){\n // if (this._PaginationService.showNoOfCurrentPage != 1) { \n this._PaginationService.temppage = 10;\n this._PaginationService.pageNumberShow = 10;\n this._PaginationService.showNoOfCurrentPage = 1;\n this._PaginationService.FirstValue(); \n // this.pageNumber = []; \n // this.pageNumber[0] = true; \n this.currentPage = this._PaginationService.pageField[0]; \n this.pageNo = this._PaginationService.pageField[0];\n if(CreatedDate == null || CreatedDate == undefined || CreatedDate == \"\")\n CreatedDate = \"\"; \n else if (CreatedDate != null && CreatedDate!=\"\") {\n CreatedDate = this.ngbDateParserFormatter.format(CreatedDate.singleDate.date);\n }\n if(HolidayDate == null || HolidayDate == undefined || HolidayDate == \"\")\n HolidayDate = \"\"; \n else if (HolidayDate != null && HolidayDate!=\"\") {\n HolidayDate = this.ngbDateParserFormatter.format(HolidayDate.singleDate.date);\n }\n this.fnGetAllHolidayDetails(BankName, HolidayName, HolidayType,CreatedDate,HolidayDate,CreatedName,RequestType,Status,this.sortOrder); \n this.pageChanged(this.pageNo);\n this.ComingFromFirst = true;\n // } \n}\n\nshowPrevAccounts( BankName, HolidayName, HolidayType,CreatedDate,HolidayDate,CreatedName,RequestType,Status) { \n if (this._PaginationService.showNoOfCurrentPage != 1) { \n this._PaginationService.pageNumberShow = 10;\n this._PaginationService.prevValue(); \n this.pageNumber = []; \n this.pageNumber[0] = true; \n this.currentPage = this._PaginationService.pageField[0]; \n this.pageNo = this._PaginationService.pageField[0];\n if(CreatedDate == null || CreatedDate == undefined || CreatedDate == \"\")\n CreatedDate = \"\"; \n else if (CreatedDate != null && CreatedDate!=\"\") {\n CreatedDate = this.ngbDateParserFormatter.format(CreatedDate.singleDate.date);\n }\n if(HolidayDate == null || HolidayDate == undefined || HolidayDate == \"\")\n HolidayDate = \"\"; \n else if (HolidayDate != null && HolidayDate!=\"\") {\n HolidayDate = this.ngbDateParserFormatter.format(HolidayDate.singleDate.date);\n }\n this.fnGetAllHolidayDetails(BankName, HolidayName, HolidayType,CreatedDate,HolidayDate,CreatedName,RequestType,Status,this.sortOrder); \n this.pageChanged(this.pageNo); \n } \n\n}\n\nshowAccountsByPageNumber(page, i, BankName, HolidayName, HolidayType,CreatedDate,HolidayDate,CreatedName,RequestType,Status) { \n //this.FilteredUserList = []; \n this.pageNumber = []; \n this.pageNumber[i] = true; \n this.pageNo = page; \n this.currentPage =page; \n if(CreatedDate == null || CreatedDate == undefined || CreatedDate == \"\")\n CreatedDate = \"\"; \n else if (CreatedDate != null && CreatedDate!=\"\") {\n CreatedDate = this.ngbDateParserFormatter.format(CreatedDate.singleDate.date);\n } \n if(HolidayDate == null || HolidayDate == undefined || HolidayDate == \"\")\n HolidayDate = \"\"; \n else if (HolidayDate != null && HolidayDate!=\"\") {\n HolidayDate = this.ngbDateParserFormatter.format(HolidayDate.singleDate.date);\n }\n this.fnGetAllHolidayDetails(BankName, HolidayName, HolidayType,CreatedDate,HolidayDate,CreatedName,RequestType,Status,this.sortOrder); \n this.pageChanged(this.pageNo); \n} \n\nshowNext(BankName, HolidayName, HolidayType,CreatedDate,HolidayDate,CreatedName,RequestType,Status) { \n if (this._PaginationService.disabledNextBtn == false) { \n this.pageNumber = []; \n this._PaginationService.nextValue(); \n this.pageNumber[0] = true; \n this.currentPage = this._PaginationService.pageField[0]; \n this.pageNo = this._PaginationService.pageField[0];\n if(CreatedDate == null || CreatedDate == undefined || CreatedDate == \"\")\n CreatedDate = \"\"; \n else if (CreatedDate != null && CreatedDate!=\"\") {\n CreatedDate = this.ngbDateParserFormatter.format(CreatedDate.singleDate.date);\n } \n if(HolidayDate == null || HolidayDate == undefined || HolidayDate == \"\")\n HolidayDate = \"\"; \n else if (HolidayDate != null && HolidayDate!=\"\") {\n HolidayDate = this.ngbDateParserFormatter.format(HolidayDate.singleDate.date);\n }\n this.fnGetAllHolidayDetails(BankName, HolidayName, HolidayType,CreatedDate,HolidayDate,CreatedName,RequestType,Status,this.sortOrder); \n this.pageChanged(this.pageNo); \n } \n} \n\nshowLastPage(BankName, HolidayName, HolidayType,CreatedDate,HolidayDate,CreatedName,RequestType,Status){\n //if(this._PaginationService.disabledNextBtn == false){\n \n this._PaginationService.temppage = this._PaginationService.exactPageList;\n if(this._PaginationService.exactPageList%10 == 0)\n this._PaginationService.pageNumberShow = 10;\n else \n this._PaginationService.pageNumberShow = this._PaginationService.exactPageList%10;\n \n this._PaginationService.showNoOfCurrentPage = Math.ceil(this._PaginationService.exactPageList/10);\n this._PaginationService.comingFromPreAndNext = true;\n this._PaginationService.LastValue(); \n \n this.currentPage = this._PaginationService.pageField[this._PaginationService.pageNumberShow - 1]; \n this.pageNo = this._PaginationService.pageField[this._PaginationService.pageNumberShow - 1];\n if(CreatedDate == null || CreatedDate == undefined || CreatedDate == \"\")\n CreatedDate = \"\"; \n else if (CreatedDate != null && CreatedDate!=\"\") {\n CreatedDate = this.ngbDateParserFormatter.format(CreatedDate.singleDate.date);\n }\n if(HolidayDate == null || HolidayDate == undefined || HolidayDate == \"\")\n HolidayDate = \"\"; \n else if (HolidayDate != null && HolidayDate!=\"\") {\n HolidayDate = this.ngbDateParserFormatter.format(HolidayDate.singleDate.date);\n }\n this.fnGetAllHolidayDetails(BankName, HolidayName, HolidayType,CreatedDate,HolidayDate,CreatedName,RequestType,Status,this.sortOrder); \n this.pageChanged(this.pageNo); \n this.ComingFromLast = true;\n // }\n}\n//------------------------------------------------------------------------------\nisChecked(holiday: Holiday) {\n if (confirm(\"are you sure you want to make holiday as working\")) {\n this._holidayService.fnHolidayasWorking(holiday.HolidayId.toString()).subscribe(res => {\n (res);\n this._holidayService.fnGetHolidayData();\n // this.YESWorking=true;\n\n } ,(err)=>{\n this.router.navigate([\"404\"]);\n });\n }\n\n}\n\nfncountry(){\n this._allServiceMasterApi.fnGetCountryMaster().subscribe(allCountry => {\n this.countryList = allCountry;\n } ,(err)=>{\n this.router.navigate([\"404\"]);\n });\n}\nAllDeleteConfirmation(){\n if(this.AllSelected==true){\n this.ConfirmationMsg=\"Are you sure you want to delete All records?\"\n }\n if(this.AllSelected==false){\n this.ConfirmationMsg=\"Are you sure you want to delete selected records?\"\n }\n this.AllDeleteShow();\n }\n\nAllDeleteShow() {\n this.showModalForAllDelete = true;\n}\nAllDeleteConfirm() {\n this.FilteredHolidayList.forEach(element => {\n if (element.IsHolidaySelected == true) {\n this._holidayService.fnDeleteHoliday(element.HolidayId.toString(),localStorage.getItem('LoginUserId').toString(),element.ReviewStatus.toString()).subscribe(res => {\n this.fnGetAllHolidayDetails('', '', '','','','','','1');\n // this.lblMessage=\"All Account Deleted Successfully except Account Number used in Other Master. \"\n this.lblMessageDeletesuccess = res;//\"All Holiday Deleted Successfully\"\n this.showlbl();\n this.onTop();\n this.AllDeletehide();\n this.BulkDelete = true;\n this.HolidaySelected = false;\n },(err)=>{\n this.router.navigate([\"404\"]);\n });\n }\n });\n}\n\ncheckUncheckAllUser() {\n this.AllSelected=true;\n this.isActive = true;\n // this.chkValue=true;\n\n this.HolidaySelected != this.HolidaySelected;\n\n if (this.FilteredHolidayList.length > 0) {\n for (var i = 0; i < this.FilteredHolidayList.length; i++) {\n this.FilteredHolidayList[i].IsHolidaySelected = this.HolidaySelected; \n }\n }\n else\n {\n for (var i = 0; i < this.listLengthForSelect; i++) {\n this.allHoliday[i].IsHolidaySelected = this.HolidaySelected; \n }\n }\n\n this.getCheckedItemList();\n}\n\nisCheckedDelete(UserId,status){\n this.AllSelected=false;\n this.IsHolidaySelected != status;\n for (var i = 0; i < this.listLengthForSelect; i++) {\n this.allHoliday[i].IsHolidaySelected == this.IsHolidaySelected; \n}\n this.getCheckedItemList();\n}\n\ngetCheckedItemList(){\n this.checkedList = [];\n for (var i = 0; i < this.listLengthForSelect; i++) {\n if(this.allHoliday[i].IsHolidaySelected == true)\n this.checkedList.push(this.allHoliday[i]);\n }\n this.checkedList = JSON.stringify(this.checkedList);\n\n if(this.checkedList.length > 2){\n this.BulkDelete = false;\n }\n else{\n this.BulkDelete = true;\n }\n}\n\nSelectAllHoliday() {\n this.isActive = true;\n this.AllHolidayCheck = true;\n this.AllDeleteShow();\n}\n\n}\n\n\n\n","
\n
\n
\n
\n

\n Holiday Master\n

\n
\n \n
\n\n \n \n
\n\n
\n ×\n Success! {{ lblMessageDeletesuccess }}.\n
\n\n
\n ×\n {{ redlblMessage }}.\n
\n\n
\n\n
\n
\n \n \n
\n\n
\n \n \n
\n\n
\n \n \n \n \n \n \n
\n \n \n \n
\n
\n \n
\n \n
\n \n
\n
\n
\n Please Enter a valid Date Format\n
\n
\n
\n \n
\n \n
\n \n
\n
\n
\n Please Enter valid Date Format\n
\n
\n
\n\n
\n \n\n
\n
\n \n
\n \n
\n
\n \n
\n\n
\n \n Search\n \n
\n
\n\n
\n\n \n
\n\n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n
\n \n
\n\n \n
\n
\n \n
\n
\n \n
\n \n
\n
\n \n
\n \n
\n \n \n
\n
\n\n \n \n \n Holiday Name\n Holiday Type\n Leave Type\n Bank /Correspondent Bank Name\n Holiday Date\n \n \n Request Type\n Status\n \n Created By\n Created / Updated Date & Time\n \n Holiday as Working\n Action\n \n \n \n
\n \n \n
\n \n \n \n \n \n \n {{ holiday.Holiday }}\n {{ holiday.HolidayType }}\n {{ holiday.Leave }}\n\n {{ holiday.BankName }}\n \n {{ holiday.Date | date: \"mediumDate\"\n }}{{ holiday.DateFrom | date: \"mediumDate\" }}\n \n \n {{ holiday.RequestType }}\n {{ holiday.Status }}\n \n {{ holiday.CreatedName }}\n {{ holiday.CreatedDate }}\n \n
\n
\n \n \n
\n \n\n \n
\n \n
\n \n
\n
\n \n
\n
\n \n
\n\n
\n \n
\n
\n \n \n
\n \n \n
\n \n \n \n \n No records found.\n \n \n \n\n \n \n\n
\n
\n \n
\n \n \n
\n \n\n
\n
\n
\n \n
\n Page {{currentPage}} of Total page {{_PaginationService.exactPageList}} \n
\n\n
\n
\n
\n
\n\n
\n \" class=\"nav-link\" class=\"btn btn-primary btn-md text-white pull-right\" id=\"navbarDropdownMenuLink\" data-toggle=\"dropdown\" \n style=\"margin-top: -0.65em;margin-left: 2.5em;color:#4ad4e3;font-size: 15px;;\" aria-haspopup=\"true\" \n aria-expanded=\"false\"/>\n \n \n \n \n \n \n
\n \n
\n\n \n
\n
\n
\n\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
StatusHoliday NameHoliday TypeLeave TypeBank /Correspondent Bank NameRequest TypeBranch NameBranch CodeHoliday DateHoliday As WorkingCountryStateCityCreated ByCreated DateUpdated ByUpdated Date
{{ holiday.Status }}{{ holiday.Holiday }}{{ holiday.HolidayType }}{{ holiday.Leave }}{{ holiday.BankName }}{{ holiday.RequestType }}{{ holiday.BranchName }}{{ holiday.BranchCode }}\n {{ holiday.Date | date: \"mediumDate\"\n }}{{ holiday.DateFrom | date: \"mediumDate\" }}\n {{ holiday.IsHolidayWorkingName }}{{holiday.CountryName}}{{holiday.StateName}}{{holiday.CityName}}{{ holiday.CreatedName }}{{ holiday.CreatedDate }}{{ holiday.UpdatedName }}{{ holiday.UpdatedDate }}
\n\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n
Holiday NameHoliday TypeLeave TypeBank /Correspondent Bank NameHoliday DateRequest TypeStatusCreated ByCreated Date & TimeHoliday as WorkingUpdated ByUpdated Date
{{ holiday.Holiday }}{{ holiday.HolidayType }}{{ holiday.Leave }}{{ holiday.BankName }}\n {{ holiday.Date | date: \"mediumDate\"\n }}{{ holiday.DateFrom | date: \"mediumDate\" }}\n {{ holiday.RequestType }}{{ holiday.Status }}{{ holiday.CreatedName }}{{ holiday.CreatedDate }}{{ holiday.IsHolidayWorkingName }}{{ holiday.UpdatedName }}{{ holiday.UpdatedDate }}
\n\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n -->\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Holiday NameHoliday TypeLeave TypeBank /Correspondent Bank NameHoliday DateRequest TypeStatusCreated ByCreated Date & TimeHoliday as WorkingUpdated ByUpdated Date
{{ holiday.Holiday }}{{ holiday.HolidayType }}{{ holiday.Leave }}{{ holiday.BankName }}\n {{ holiday.Date | date: \"mediumDate\"\n }}{{ holiday.DateFrom | date: \"mediumDate\" }}\n {{ holiday.RequestType }}{{ holiday.Status }}{{ holiday.CreatedName }}{{ holiday.CreatedDate }}{{ holiday.IsHolidayWorkingName }}{{ holiday.UpdatedName }}{{ holiday.UpdatedDate }}
\n\n
\n\n
\n\n
\n
\n
\n

Confirmation

\n \n
\n
\n {{ lblMessage }}\n
\n
\n \n\n \n
\n
\n
\n
\n \n\n\n
\n
\n
\n
\n

Confirmation

\n \n
\n
\n

Are you sure you want to {{ConfirmationMsg}} All Selected Records?

\n
\n
\n \n \n
\n
\n
\n
\n","import { Component, OnInit } from '@angular/core';\nimport { HttpClientModule, HttpClient } from '@angular/common/http'; \nimport {ActivatedRoute} from \"@angular/router\";\nimport {Constants } from 'src/app/Common/constant';\nimport { Router } from '@angular/router';\n\n\n@Component({\n selector: 'app-manage-access',\n templateUrl: './manage-access.component.html',\n styleUrls: ['./manage-access.component.css']\n})\nexport class ManageAccessComponent implements OnInit {\n\n \n listLength: 0;\n\n makerSelected:boolean;\n CheckerSelected:boolean;\n\n Accounts:any =[];\n FilterAccountList:any =[];\n\n checkedList:any;\n userId :0;\n\n showModal:boolean;\n showMsg:boolean;\n\n lblMessage:string;\n\n EmptyDataMsg:string;\n \n constructor(private httpService : HttpClient,private router: Router,private route: ActivatedRoute) { \n }\n\n ngOnInit(): void {\n if(localStorage.getItem('LoginUserId')==null){\n this.router.navigate([\"\"]);\n return;\n }\n this.makerSelected = false;\n this.CheckerSelected = false;\n this.getCheckedItemList();\n\n this.route.queryParams.subscribe(params => {\n this.userId = params[\"id\"];\n });\n\n this.AccountList();\n this.hidelbl();\n }\n\n AccountList(){\n this.httpService.get(Constants.apiURL + 'UserMasterApi/GetAcccountListForUserRole?id='+ this.userId).subscribe(\n data=>{\n this.Accounts = data as []; \n this.FilterAccountList = this.Accounts;\n this.OnSearch(\"\",\"\",\"\",\"\");\n this.listLength = this.Accounts.length;\n }\n )\n }\n\n isChecked(id,val){\n for (var i = 0; i < this.listLength; i++) {\n if(this.Accounts[i].AccountId == id && val == 2){\n this.Accounts[i].MakerValue = 2;\n this.Accounts[i].isCheckerSelected = false;\n this.Accounts[i].CheckerValue = 0;\n }\n if(this.Accounts[i].AccountId == id && val == 4){\n this.Accounts[i].CheckerValue = 4;\n this.Accounts[i].isMakerSelected = false;\n this.Accounts[i].MakerValue = 0;\n } \n }\n this.getCheckedItemList();\n }\n\n checkUncheckAllMaker() {\n for (var i = 0; i < this.listLength; i++) {\n this.Accounts[i].isMakerSelected = this.makerSelected;\n if(this.makerSelected == true){\n this.Accounts[i].MakerValue = 2;\n this.CheckerSelected = false;\n this.Accounts[i].isCheckerSelected = false;\n this.Accounts[i].CheckerValue = 0;\n }\n else\n this.Accounts[i].MakerValue = 0;\n }\n this.getCheckedItemList();\n }\n\n checkUncheckAllChecker() {\n for (var i = 0; i < this.listLength; i++) {\n this.Accounts[i].isCheckerSelected = this.CheckerSelected;\n if(this.CheckerSelected == true){\n this.Accounts[i].CheckerValue = 4;\n this.makerSelected = false;\n this.Accounts[i].isMakerSelected = false;\n this.Accounts[i].MakerValue = 0;\n }\n else\n this.Accounts[i].CheckerValue = 0;\n }\n this.getCheckedItemList();\n }\n\n // isAllSelected() {\n // this.makerSelected = this.Accounts.every(function(item:any) {\n // return item.isMakerSelected == true;\n // })\n // this.getCheckedItemList();\n // }\n \n getCheckedItemList(){\n debugger;\n this.checkedList = [];\n for (var i = 0; i < this.listLength; i++) {\n if(this.Accounts[i].isMakerSelected == true && this.Accounts[i].MakerValue == 2 || this.Accounts[i].isCheckerSelected == true && this.Accounts[i].CheckerValue == 4)\n this.checkedList.push(this.Accounts[i]);\n }\n this.checkedList = JSON.stringify(this.checkedList);\n\n }\n\n show()\n {\n this.showModal = true; \n }\n hide(){\n this.showModal = false;\n }\n\n showlbl(){\n this.showMsg = true;\n }\n hidelbl(){\n this.showMsg = false;\n }\n\n Save(){\n \n\n var UserRoleAccessAccountList = [];\n\n this.Accounts.forEach(element => {\n if(element.isMakerSelected == true && element.MakerValue == 2 || element.isCheckerSelected == true && element.CheckerValue == 4){\n var UserAccessObj = {};\n UserAccessObj[\"UserId\"] = this.userId;\n UserAccessObj[\"AccountId\"] = element.AccountId;\n if(element.isMakerSelected == true)\n UserAccessObj[\"RoleId\"] = 2;\n else\n UserAccessObj[\"RoleId\"] = 4;\n UserRoleAccessAccountList.push(UserAccessObj);\n }\n }); \n \n\n var postData = {};\n postData[\"UserRoleAccessDetails\"] = UserRoleAccessAccountList;\n\n \n return this.httpService.post(Constants.apiURL + 'UserMasterApi/AddUserRoleAccessForAccount',postData)\n .subscribe((response) => {\n this.lblMessage=\"User Role Access Save Successful.\";\n // this.hide();\n this.showMsg = true;\n this.AccountList();\n }\n ,(error) => 'There was an error!');\n\n }\n\n OnSearch(AccountName,AccountNumber,BranchCode,CorporationCode){\n this.EmptyDataMsg = \"\";\n if(!AccountName && !AccountNumber && !BranchCode && !CorporationCode){\n this.FilterAccountList = this.Accounts;\n }\n else{\n this.FilterAccountList = this.Accounts.filter(row=>{\n return row.AccountName.toLocaleLowerCase().match(AccountName.toLocaleLowerCase());\n });\n this.FilterAccountList = this.FilterAccountList.filter(row=>{\n return row.AccountNumber.toLocaleLowerCase().match(AccountNumber.toLocaleLowerCase());\n });\n this.FilterAccountList = this.FilterAccountList.filter(row=>{\n return row.BranchCode.toLocaleLowerCase().match(BranchCode.toLocaleLowerCase());\n });\n this.FilterAccountList = this.FilterAccountList.filter(row=>{\n return row.CorporationCode.toLocaleLowerCase().match(CorporationCode.toLocaleLowerCase());\n });\n\n if(this.FilterAccountList.length <1){\n this.EmptyDataMsg = \"No data Found\";\n }\n else{\n this.EmptyDataMsg=\"\";\n }\n } \n\n }\n \n}\n","
\n
\n
\n
\n

Manage Access

\n
\n
\n
\n ×\n Success! {{lblMessage}}.\n
\n
\n
\n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {{EmptyDataMsg}}\n \n
Account NameAccount NumberBranch CodeCorporation CodeAction
\n \n \n
\n
\n \n \n
{{account.AccountName}}{{account.AccountNumber}}{{account.BranchCode}}{{account.CorporationCode}}\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n {{checkedList}}\n
\n
\n \n \n \n
\n
\n
\n
\n
\n \n \n\n\n \n\n\n\n
\n
\n
\n
\n
Select Role
\n \n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n
\n\n\n\n ","import { Component, OnInit,ViewChild, ElementRef, ViewContainerRef } from '@angular/core';\nimport { BranchService} from '../../MasterService/branch.service';\nimport { BranchMaster } from 'src/app/MasterService/branch-master';\nimport {Router, NavigationExtras} from \"@angular/router\";\nimport {RoleAccessService}from '../../MasterService/role-access.service';\nimport{RoleAccess}from'src/app/MasterService/RoleAccess';\nimport { NgxSpinnerService } from \"ngx-spinner\";\nimport * as XLSX from 'xlsx';\nimport * as jsPDF from 'jspdf';\nimport html2Canavas from 'html2canvas';\nimport { saveAs } from 'file-saver';\nimport { IAngularMyDpOptions } from 'angular-mydatepicker';\nimport * as $ from 'jquery';\nimport { EncryptdecryptService } from 'src/app/MasterService/encryptdecrypt.service';\nimport { PaginationService } from 'src/app/Paging/pagination.service';\nimport { NgbDateParserFormatter } from '@ng-bootstrap/ng-bootstrap';\n\ndeclare var sortTableBranchMst: Function;\n\n@Component({\n selector: 'app-manage-branch-master',\n templateUrl: './manage-branch-master.component.html',\n styleUrls: ['./manage-branch-master.component.css']\n})\nexport class ManageBranchMasterComponent implements OnInit {\n today = new Date();\n myDpOptions: IAngularMyDpOptions = {\n dateRange: false,\n dateFormat: 'dd-mm-yyyy',\n disableSince: {year: this.today.getFullYear(), month: this.today.getMonth() + 1, day: this.today.getDate() + 1}\n \n // other options are here...\n };\n allbranchdetails:any=[];\n public _Name:string;\n\n public BranchId;\n config: any;\n\n FilteredBranchList:any=[];\n RoleAccess:RoleAccess;\n showModal:boolean;\n showMsg:boolean;\n showModalDelete: boolean;\n showModalInformation:boolean;\n\n lblMessage:string;\n lblMessageDelete:string;\n EditPriv:boolean;\n DeletePrivllage:boolean;\n AddPrivillage:boolean;\n ViewPrivllage:boolean;\n ddlshowvalue:number;\n SelectedCorrespondent:string = '';\n ddlshowStartValue:number;\n searchCount:string;\n filterCount:string;\n IsBranchInUsed:any;\n AddImportAccess:boolean;\n AddExportAccess:boolean;\n PrivillageImportExportdv:boolean;\n fileName:string; \n showerrormsg: boolean;\n lastSortedByField;\n ascendingOrder = true;\n isActive: boolean;\n AllBranchCheck: boolean;\n showModalForAllDelete: boolean;\n\n // Bulk Delete fields\n BranchSelected:boolean;\n IsBranchSelected:boolean;\n checkedList:any=[];\n listLengthForSelect: 0;\n BulkDelete:boolean = true;\n LoginId:string;\n AllSelected: boolean;\n ConfirmationMsg: string;\n AllDeleteCheck: boolean;\n BranchStatus: number;\n ///Bulk Authorize\n BulkApprovalAuthorize:boolean;\n AddEditBulkApprovalLabel:boolean;\n CheckerPrivillage: boolean;\n AuthorizeStatus: number;\n checkedBulkList: any[];\n ddlDropdownValue: any;\n dateForExport: any;\n IsComingFromExport: boolean=false;\n\n\n constructor(public _branchService:BranchService,private router: Router,private _roleAccess:RoleAccessService,\n private _spinner:NgxSpinnerService, public _encreptdecrept:EncryptdecryptService,\n public _PaginationService:PaginationService, private ngbDateParserFormatter: NgbDateParserFormatter) { \n this._Name = \"Bank Name\";\n }\n\n ngOnInit(): void {\n // If LoginUserId is null then it will return\n if(localStorage.getItem('LoginUserId')==null){\n this.router.navigate([\"\"]);\n return;\n }\n// To display header\n if(!$('.js-sticky-header').is(':visible')){\n $('.js-sticky-header').css('display','block');\n }\n \n this.BranchMaster();\n\n this._spinner.show();\n localStorage.removeItem('branchDataId');\n localStorage.removeItem('branchFlag');\n\n this.onTop();\n // Getting Privillage based on userid\n this.GetPrivillageRoles();\n // Getting branch data from database\n //this.fnGetBranchDetails();\n\n this.config = {\n itemsPerPage: 10,\n currentPage: 1,\n };\n this.ddlshowvalue =10;\n this.ddlshowStartValue = 1;\n this.filterCount = \"\";\n this.pageNumber[0] = true; \n this._PaginationService.temppage = 0; \n// sorting table data\n sortTableBranchMst(8,false);\n \n }\n// On page change this event is called\n pageChanged(event) {\n this.config.currentPage = event;\n this.ddlshowvalue = this.config.currentPage*this.config.itemsPerPage;\n this.ddlshowStartValue = this.ddlshowvalue - (this.config.itemsPerPage-1);\n // if(this.FilteredBranchList.length<=this.ddlshowvalue)\n // this.ddlshowvalue = this.FilteredBranchList.length;\n }\n\n EditBranchMaster(branch:BranchMaster){\n branch.lblTitle = \"Edit Branch Master\";\n localStorage.setItem('branchDataId',String(branch.BranchId));\n localStorage.setItem('branchFlag',String(\"edit\"));\n this.router.navigate(['/BranchMaster']);\n }\n\n ViewBranchMaster(branch:BranchMaster){\n localStorage.setItem('branchDataId',String(branch.BranchId));\n localStorage.setItem('branchFlag',String(\"view\"));\n this.router.navigate(['/BranchMaster']); \n }\n\n Authorize(branch:BranchMaster){\n branch.lblTitle = \"Edit Branch Master\";\n localStorage.setItem('branchDataId',String(branch.BranchId));\n localStorage.setItem('branchFlag',String(\"authorize\"));\n this.router.navigate(['/BranchMaster']);\n }\n// Getting Privillage based on id\n GetPrivillageRoles(){ \n \n this._roleAccess.fnGetRoleAccess(localStorage.getItem('LoginUserId'),this.router.url).subscribe(roleAccess=>{ \n this.RoleAccess=roleAccess[0]; \n this.CheckerPrivillage = roleAccess[0].CheckerAccess; \n \n this.EditPriv =this.RoleAccess.EditAccess; \n this.DeletePrivllage=this.RoleAccess.DeleteAccess;\n this.AddPrivillage=this.RoleAccess.AddAccess;\n this.AddImportAccess = this.RoleAccess.AddImportAccess;\n this.AddExportAccess=this.RoleAccess.AddExportAccess;\n if(this.AddImportAccess || this.AddExportAccess){\n this.PrivillageImportExportdv=true;\n }\n else{\n this.PrivillageImportExportdv=false;\n }\n //this.ViewPrivllage=this.RoleAccess.ViewAccess;\n if(!this.EditPriv && this.RoleAccess.ViewAccess)\n this.ViewPrivllage = true;\n // Getting branch data from database\n this.fnGetBranchDetails('','','','','No','','','','1');\n // this.BranchListForExport();\n }, (err) => {\n this.router.navigate([\"404\"]);\n });\n }\n\n show(){\n this.showModal = true; \n }\n hide(){\n this.showModal = false;\n }\n showlbl(){\n this.showMsg = true;\n }\n hidelbl(){\n this.showMsg = false;\n }\n showerror(){\n this.showerrormsg=true;\n }\n hideerror() {this.showerrormsg=false;}\n showDelete() { this.showModalDelete = true;\n $(document).ready(function () {\n $('#IDshowModalDelete').eq(0).focus();\n });\n }\n hideDelete() { this.showModalDelete = false; }\n showInformation() { this.showModalInformation = true;\n $(document).ready(function () {\n $('#IDshowModalInformation').eq(0).focus();\n }); }\n hideInformation() { this.showModalInformation = false;\n this.showModalDelete = false; }\n\n fnRadioClick(_Val){\n if (_Val == \"Yes\") {\n this._Name=\"Correspondent Bank\";\n _Val='';\n } else {\n this._Name=\"Bank Name\";\n }\n }\n\n fnGetBranchDetails(BankName,BranchName,BranchCode,BICCode,Correspondent,CreatedDate,CreatedName,RequestType,BranchNewStatus,SortOrder = \"\",pageNumber=\"\"){\n if(pageNumber != \"\")\n this.pageNo=pageNumber;\n this._branchService.fnGetBranchData('0',this.pageNo, this.config.itemsPerPage.toString(),\n BankName,BranchName,BranchCode,BICCode,Correspondent,CreatedDate,CreatedName,RequestType,BranchNewStatus ,this.sortOrder\n ).subscribe(allbranchdetails=>{\n \n this.allbranchdetails = allbranchdetails;\n //this.searchCount = this.allbranchdetails.length;\n this.FilteredBranchList = allbranchdetails;\n\n // for (var i = 0; i < this.allbranchdetails.length; i++) {\n // if(this.allbranchdetails[i].IsBranchDisabled){\n // this.allbranchdetails[i].IsBranchDisabled = true;\n \n //Dor Dsibale\n \n \n for (var i = 0; i < this.allbranchdetails.length; i++) {\n if(this.checkedList.length > 0){ \n for (var j = 0; j < this.checkedList.length; j++) {\n if(this.checkedList[j].BranchId == this.allbranchdetails[i].BranchId){\n this.allbranchdetails[i].IsBranchSelected = true; \n } \n }} \n if(this.allbranchdetails[i].CreatedBy == +this._encreptdecrept.decryptUsingAES256(localStorage.getItem('LoginUserId'))){\n this.allbranchdetails[i].IsBranchDisabled = true;\n }\n //\n this.allbranchdetails[i].IsUserSelected = false;\n\n if(this.allbranchdetails[i].ReviewStatus == 1 || this.allbranchdetails[i].ReviewStatus == 4){\n this.allbranchdetails[i].makerchecherDisabled = true;\n }\n else if(this.allbranchdetails[i].ReviewStatus == 7 && (!this.CheckerPrivillage || this.allbranchdetails[i].CreatedBy == +this._encreptdecrept.decryptUsingAES256(localStorage.getItem('LoginUserId')))){\n this.allbranchdetails[i].makerchecherDisabled = true;\n }\n else{\n this.allbranchdetails[i].makerchecherDisabled = false;\n } \n\n if(this.allbranchdetails[i].ReviewStatus == 1 || this.allbranchdetails[i].ReviewStatus == 4 || this.allbranchdetails[i].ReviewStatus == 7){\n this.allbranchdetails[i].IsAuthorizeDisable = false;\n }\n else\n this.allbranchdetails[i].IsAuthorizeDisable = true;\n }\n\n this.FilteredBranchList = this.allbranchdetails;\n this.listLengthForSelect = this.allbranchdetails.length;\n\n // this.OnSearch(\"\",\"\",\"\",\"\",\"No\",\"\",\"\",\"\",\"Active\");\n // this._branchService.formData.BankName=\"\";\n // this._branchService.formData.BranchName=\"\";\n // this._branchService.formData.BranchCode=\"\";\n // this._branchService.formData.BICCode=\"\";\n // this._branchService.formData.Correspondent=\"No\";\n // this._branchService.formData.CreatedDate=\"\";\n // this._branchService.formData.CreatedBy=null;\n // this._branchService.formData.RequestType=\"\";\n // this._branchService.formData.Status=\"Active\";\n if(this.allbranchdetails.length > 0){ \n this.totalCount = this.FilteredBranchList[0].BranchListCount;\n this.totalNoOfPages(); \n } else if(this.allbranchdetails.length == 0){\n this.totalCount = 0;\n this.totalNoOfPages(); \n }\n if(this.ddlDropdownValue==10 || this.ddlDropdownValue == undefined ){\n if(this.FilteredBranchList.length <10 ){\n this.ddlshowvalue = this.totalCount;\n }\n else if(this.FilteredBranchList.length==0){\n this.ddlshowvalue = 0;\n }\n }\n else if(this.ddlDropdownValue== 25){\n if(this.FilteredBranchList.length < 25 ){\n this.ddlshowvalue = this.totalCount;\n }\n else if(this.FilteredBranchList.length==0){\n this.ddlshowvalue = 0;\n }\n }\n else if(this.ddlDropdownValue== 50){\n if(this.FilteredBranchList.length < 50 ){\n this.ddlshowvalue = this.totalCount;\n }\n else if(this.FilteredBranchList.length==0){\n this.ddlshowvalue = 0;\n }\n }\n else if(this.ddlDropdownValue == 100){\n if(this.FilteredBranchList.length < 100 ){\n this.ddlshowvalue = this.totalCount;\n }\n else if(this.FilteredBranchList.length==0){\n this.ddlshowvalue = 0;\n }\n }\n //-------------------checker side Bulk Authorize---------------------\n this.getCheckedBulkAuthorize();\n if (this.FilteredBranchList.length!=0 && this.CheckerPrivillage==true &&\n (this._branchService.formData.RequestType==\"1\" || this._branchService.formData.RequestType==\"4\")\n && (this._branchService.formData.BranchNewStatus ==\"2\" || this._branchService.formData.BranchNewStatus ==\"\" )){\n this.BulkApprovalAuthorize=true;\n }\n else{\n this.BulkApprovalAuthorize=false;\n this.AddEditBulkApprovalLabel=false;\n }\n //End-- checker side bulk Authorize---------------------------\n this._spinner.hide();\n }, (err) => {\n this.router.navigate([\"404\"]);\n });\n }\n\n //-----Get Branch Data for Export----------------\n ExportBranch:any = [];\n FilterExportBranch: any = [];\n // BranchListForExport(){\n // this._branchService.fnGetBranchDataForExport().subscribe(Branch=>{\n // this.ExportBranch = Branch;\n // this.FilterExportBranch = Branch;\n // this.FilterExportBranch = this.FilterExportBranch.filter(row=>{\n // return row.Status == \"Active\" && row.Correspondent == \"No\";\n \n // });\n\n // this.FilterExportBranch.length;\n // for(var i = 0; i < this.ExportBranch.length; i++){\n // if(this.ExportBranch[i].CreatedBy== this._encreptdecrept.decryptUsingAES256(localStorage.getItem('LoginUserId'))){\n // this.ExportBranch[i].IsUserDisabled = true;\n // }\n // // this.ExportUsers[i].RoleName=this.decryptUsingAES256(this.ExportUsers[i].RoleName);\n // // this.ExportUsers[i].RoleNames=this.decryptUsingAES256(this.ExportUsers[i].RoleNames);\n // }\n // },(err)=>{\n // this.router.navigate([\"404\"]);\n // });\n // }\n NewBranchMaster() {\n this._branchService.formData = {\n\n BranchId:0,\n Correspondent:'No',\n BankName:'IDBI Bank',\n BranchCode:'',\n BranchName:'',\n BICCode:'',\n IFSCCode:'',\n MICRCode:'',\n Address1:'',\n Address2:'',\n CountryId:null,\n Country:'',\n StateId:null,\n State:'',\n CityId:null,\n City:'',\n lblTitle:'Add Branch Master',\n msg:'',\n CurrentBranchId:null,\n IsBranchExistInAccount:true, \n CreatedBy:0,\n UpdatedBy:0,\n CreatedDate:'',\n UpdatedDate:'',\n UserName:'',\n CreatedName :'',\n DateCreated :'',\n UpdatedName:'',\n Status:null,\n ReviewStatus:null,\n LoggedInUser:null,\n RequestType:'',\n BranchNewStatus:'1',\n RTGS:''\n }\n this.router.navigate([\"/BranchMaster\"])\n }\n\n BranchMaster() {\n this._branchService.formData = {\n \n BranchId:0,\n Correspondent:'No',\n BankName:'',\n BranchCode:'',\n BranchName:'',\n BICCode:'',\n IFSCCode:'',\n MICRCode:'',\n Address1:'',\n Address2:'',\n CountryId:null,\n Country:'',\n StateId:null,\n State:'',\n CityId:null,\n City:'',\n lblTitle:'',\n msg:'',\n CurrentBranchId:null,\n IsBranchExistInAccount:true, \n CreatedBy:0,\n UpdatedBy:0,\n CreatedDate:'',\n UpdatedDate:'',\n UserName:'',\n CreatedName :'',\n DateCreated :'',\n UpdatedName:'',\n Status:'Active',\n ReviewStatus:null,\n LoggedInUser:null,\n RequestType:'',\n BranchNewStatus:'1',\n RTGS:''\n }\n }\n\n public NavigateToViewBranchMaster(id,flag) {\n let navigationExtras: NavigationExtras = {\n queryParams: {\n id\n }\n };\n\n if(flag == 'view'){\n this.router.navigate([\"ViewBranchMst\"], navigationExtras);\n }\n\n if(flag == 'edit'){\n this.router.navigate([\"EditBranchMst\"], navigationExtras);\n }\n }\n\n AllDeletehide(){\n this.showModalForAllDelete=false;\n this.isActive = false;\n this.AllBranchCheck=false;\n }\n\n AllDeleteShow(){\n if(this.AllSelected==true){\n this.ConfirmationMsg=\"Are you sure you want to delete All records?\"\n }\n if(this.AllSelected==false){\n this.ConfirmationMsg=\"Are you sure you want to delete selected records?\"\n }\n this.showModalForAllDelete=true;\n }\n\n AllDeleteConfirm(){\n this.LoginId = localStorage.getItem('LoginUserId');\n\n this.FilteredBranchList.forEach(element => {\n if(element.IsBranchSelected == true){\n\n this._branchService.fnDeleteBulkBranchDataById(element.BranchId).subscribe(data=>{\n // this.fnGetBranchDetails();\n this.hide(); \n this.lblMessage=\"All Selected Branch Deleted Successfully\"\n //this.showlbl();\n this.hidelbl();\n this.showerror();\n this.onTop();\n this.AllDeletehide();\n this.BulkDelete = true;\n this.BranchSelected = false;\n }, (err) => {\n this.router.navigate([\"404\"]);\n});\n\n // this._branchService.fnIsBranchInUsed(element.BranchId).subscribe(data=>{\n // this.IsBranchInUsed = data;\n // if(this.IsBranchInUsedf == 0){\n // //if(confirm('Are you sure you want to delete ' + _roleID)){\n \n // }\n // });\n\n }\n \n });\n\n }\n\n SelectAllBranch(){\n this.isActive = true;\n this.AllBranchCheck=true;\n this.AllDeleteShow();\n }\n\n fnDeleteBranchById(branch:BranchMaster){\n this.BranchId=branch.BranchId;\n this.BranchStatus=branch.ReviewStatus\n this.lblMessageDelete = \"Are you sure you want to delete?\";\n this.showDelete(); \n }\n \n fnConfirmDelete(){ \n this._branchService.fnIsBranchInUsed(this.BranchId).subscribe(data=>{\n this.IsBranchInUsed = data;\n this.LoginId = localStorage.getItem('LoginUserId');\n if(this.IsBranchInUsed == 0){\n this._branchService.fnDeleteBranchDetailsById(this.BranchId,this.LoginId,this.BranchStatus.toString()).subscribe(data=>{\n this._branchService.formData.BankName=\"\";\n this._branchService.formData.BranchName=\"\";\n this._branchService.formData.BranchCode=\"\";\n this._branchService.formData.BICCode=\"\";\n this._branchService.formData.Correspondent=\"No\";\n this._branchService.formData.CreatedDate=\"\";\n this._branchService.formData.CreatedName=\"\";\n this._branchService.formData.RequestType=\"\";\n this._branchService.formData.BranchNewStatus=\"1\";\n this.currentPage = 1;\n this.pageNumber = [];\n this.pageNumber[0] = true;\n \n this.showFirstPage(\n this._branchService.formData.BankName,this._branchService.formData.BranchName,\n this._branchService.formData.BranchCode,this._branchService.formData.BICCode,\n this._branchService.formData.Correspondent,this._branchService.formData.CreatedDate,\n this._branchService.formData.CreatedName,this._branchService.formData.RequestType,\n this._branchService.formData.BranchNewStatus\n );\n //this.fnGetBranchDetails('','','','','No','','','','1');\n this.hideDelete();\n this.hideerror();\n if (data == \"Branch Deleted Successfully.\") {\n this.lblMessage = data;\n this.hideerror();\n this.showlbl();\n \n }else{\n this.lblMessage = data;\n this.hidelbl();\n this.showerror();\n }\n this.onTop();\n }, (err) => {\n this.router.navigate([\"404\"]);\n });\n }\n else{\n if(this.IsBranchInUsed == 1) {\n this.hideDelete();\n this.showerror();\n this.lblMessage = \"You can not delete this Branch,as it is being used in Account Master\"\n this.hidelbl();\n } \n else if(this.IsBranchInUsed == 2) {\n this.hideDelete();\n this.showerror();\n this.lblMessage = \"You can not delete this Branch,as it is being used in User Master\"\n this.hidelbl();\n }\n this.onTop();\n }\n }); \n }\n\n // scroll function\n onTop(){\n window.scroll({\n top: 0,\n left: 0,\n behavior:'smooth'\n })\n }\n\n // fnDeleteBranchById(_branchID){\n // if(confirm('Are you sure you want to delete ' + _branchID)){\n // this._branchService.fnDeleteBranchDetailsById(_branchID).subscribe(data=>{\n // \n // this.fnGetBranchDetails();\n // });\n // }\n // }\n// Filtering data from list\n OnSearch(BankName,BrachName,BranchCode,BicCode,Correspondent,CreatedDate,CreatedBy,ReqType,status){\n this._spinner.show();\n this.currentPage = 1;\n this.pageNumber = [];\n this.pageNumber[0] = true;\n this._PaginationService.comingFromPreAndNext = false;\n this.dateForExport=CreatedDate;\n if(CreatedDate == null || CreatedDate == undefined || CreatedDate == \"\")\n CreatedDate = \"\"; \n else if (CreatedDate != null && CreatedDate!=\"\") {\n CreatedDate = this.ngbDateParserFormatter.format(CreatedDate.singleDate.date);\n }\n if(this.IsComingFromExport == false){\n this.fnGetBranchDetails(BankName,BrachName,BranchCode,BicCode,Correspondent,CreatedDate,CreatedBy,ReqType,status,this.sortOrder,\"1\");\n this.pageChanged(1); \n }\n if(this.IsComingFromExport == true){\n this.FilterExportBranch = this.ExportBranch.filter(row=>{\n return row.BankName.toLocaleLowerCase().match(BankName.toLocaleLowerCase());\n });\n this.FilterExportBranch = this.FilterExportBranch.filter(row=>{\n return row.BranchName.toLocaleLowerCase().match(BrachName.toLocaleLowerCase());\n });\n this.FilterExportBranch = this.FilterExportBranch.filter(row=>{\n return row.BranchCode.toLocaleLowerCase().match(BranchCode.toLocaleLowerCase());\n });\n this.FilterExportBranch = this.FilterExportBranch.filter(row=>{\n return row.BICCode.toLocaleLowerCase().match(BicCode.toLocaleLowerCase());\n });\n this.FilterExportBranch = this.FilterExportBranch.filter(row => {\n return row.Correspondent.toLocaleLowerCase().match(Correspondent.toLocaleLowerCase());\n });\n this.FilterExportBranch = this.FilterExportBranch.filter(row=>{\n return row.CreatedName.toLocaleLowerCase().match(CreatedBy.toLocaleLowerCase());\n });\n if(this.dateForExport!=\"\" && this.dateForExport!=null){\n this.FilterExportBranch = this.FilterExportBranch.filter(row=>{\n return row.CreatedDate.toLocaleLowerCase().match(this.dateForExport.singleDate.formatted.toLocaleLowerCase());\n });\n }\n if(ReqType!=\"\"){\n if(ReqType==\"1\"){ReqType =\"Add Approval Pending\"}\n else if(ReqType==\"2\"){ReqType =\"Add Approved\"} \n else if(ReqType==\"3\"){ReqType =\"Add Rejected\"}\n else if(ReqType==\"4\"){ReqType =\"Edit Approval Pending\"}\n else if(ReqType==\"5\"){ReqType =\"Edit Approved\"}\n else if(ReqType=\"6\"){ReqType =\"Edit Rejected\"}\n else if(ReqType==\"7\"){ReqType =\"Delete Approval Pending\"}\n else if(ReqType==\"8\"){ReqType =\"Delete Approved\"} \n else if(ReqType==\"9\"){ReqType =\"Delete Rejected\"}\n else ReqType=\"\"\n this.FilterExportBranch = this.FilterExportBranch.filter(row => {\n return row.RequestType == ReqType;\n });}\n if(status !=\"\"){\n if(status ==\"1\"){\n status=\"Active\"\n } \n else if(status ==\"0\"){\n status=\"InActive\"\n }\n else if(status==\"2\"){\n status=\"Pending\"}\n else status=\"\";\n this.FilterExportBranch = this.FilterExportBranch.filter(row=>{\n return row.Status == status;\n });\n }\n this.IsComingFromExport=false;\n }\n\n // debugger;\n // this.pageChanged(event);\n // if(!BankName && !BrachName && !BranchCode && !BicCode && !Correspondent && (!CreatedDate || CreatedDate==null) && !CreatedBy && !status && !ReqType) {\n // this.FilteredBranchList = this.allbranchdetails;\n // }\n // else{\n // this.FilteredBranchList = this.allbranchdetails.filter(row=>{\n // return row.BankName.toLocaleLowerCase().match(BankName.toLocaleLowerCase());\n // });\n // this.FilteredBranchList = this.FilteredBranchList.filter(row=>{\n // return row.BranchName.toLocaleLowerCase().match(BrachName.toLocaleLowerCase());\n // });\n // this.FilteredBranchList = this.FilteredBranchList.filter(row=>{\n // return row.BranchCode.toLocaleLowerCase().match(BranchCode.toLocaleLowerCase());\n // });\n // this.FilteredBranchList = this.FilteredBranchList.filter(row=>{\n // return row.BICCode.toLocaleLowerCase().match(BicCode.toLocaleLowerCase());\n // });\n\n // this.FilteredBranchList = this.FilteredBranchList.filter(row => {\n // return row.Correspondent.toLocaleLowerCase().match(Correspondent.toLocaleLowerCase());\n // });\n \n // this.FilteredBranchList = this.FilteredBranchList.filter(row=>{\n // return row.CreatedName.toLocaleLowerCase().match(CreatedBy.toLocaleLowerCase());\n // });\n // if(CreatedDate!=\"\" && CreatedDate!=null){\n // this.FilteredBranchList = this.FilteredBranchList.filter(row=>{\n // return row.CreatedDate.toLocaleLowerCase().match(CreatedDate.singleDate.formatted.toLocaleLowerCase());\n // });\n // }\n // if(ReqType != \"\"){\n // this.FilteredBranchList = this.FilteredBranchList.filter(row => {\n // return row.RequestType == ReqType;\n // });\n // }\n // else{\n // this.FilteredBranchList = this.FilteredBranchList.filter(row => {\n // return row.RequestType.toLocaleLowerCase().match(ReqType.toLocaleLowerCase());\n // });\n // }\n // if (status !=\"\") {\n // this.FilteredBranchList = this.FilteredBranchList.filter(row=>{\n // return row.Status == status;\n // });\n // }\n // else {\n // this.FilteredBranchList = this.FilteredBranchList.filter(row=>{\n // return row.Status.toLocaleLowerCase().match(status.toLocaleLowerCase());\n // });\n // }\n\n // var j =0;\n // for (var i = 0; i < this.FilteredBranchList.length; i++) {\n // if(this.FilteredBranchList[i].IsBranchDisabled){\n // j=j+1;\n // }\n // }\n\n // if(this.FilteredBranchList.length==j){\n // this.AllDeleteCheck=true;\n // }\n // else{\n // this.AllDeleteCheck=false;\n // }\n // }\n\n // if (BankName !=\"\" || BrachName !=\"\" || BicCode != \"\" || Correspondent != \"\" || CreatedDate!=\"\" || CreatedBy!=\"\" || ReqType !=\"\" || status != \"\") {\n // this.ddlshowvalue = this.FilteredBranchList.length;\n // if (this.ddlshowvalue <= this.config.itemsPerPage) {\n // // this.ddlshowvalue = 0;\n // this.ddlshowvalue = this.ddlshowvalue ;\n // this.ddlshowStartValue = 1;\n // }\n // else {\n // this.ddlshowvalue = 0;\n // this.ddlshowvalue = this.FilteredBranchList.length;\n // this.ddlshowStartValue = 1;\n // }\n\n // // this.ddlshowStartValue = 1;\n // // this.ddlshowvalue = 0;\n // // this.ddlshowvalue = this.config.itemsPerPage; \n // //this.ddlshowvalue = 10;//this.FilteredBranchList.length;\n // this.searchCount = \"\";\n // this.searchCount = this.FilteredBranchList.length;\n // this.filterCount = \"(filtered from \"+ this.allbranchdetails.length +\" total entries)\"; \n // }else{\n // if (this.ddlshowvalue <= this.config.itemsPerPage) {\n // // this.ddlshowvalue = 0;\n // this.ddlshowvalue = this.ddlshowvalue;\n // this.ddlshowStartValue = 1;\n // this.searchCount = this.allbranchdetails.length.toString();\n // this.filterCount =\"\";\n // }\n // else {\n // this.ddlshowvalue = 0;\n // this.ddlshowvalue = this.config.itemsPerPage; \n // this.ddlshowStartValue = 1;\n // this.searchCount = this.allbranchdetails.length.toString();\n // this.filterCount =\"\";\n // }//this.ddlshowStartValue = 1;\n // // this.ddlshowvalue = 0;\n // // this.ddlshowvalue = this.config.itemsPerPage; \n // // //this.ddlshowvalue = 10;\n // // //this.ddlshowvalue = this.config.currentPage*this.config.itemsPerPage;\n // // //this.ddlshowStartValue = this.ddlshowvalue - (this.config.itemsPerPage-1);\n // // this.searchCount = this.allbranchdetails.length;\n // // this.filterCount =\"\";\n // }\n // this.getCheckedBulkAuthorize();\n // if (this.FilteredBranchList.length!=0 && this.CheckerPrivillage==true && (ReqType==\"Add Approval Pending\" || ReqType==\"Edit Approval Pending\") && (status==\"Pending\" || status==\"\" )){\n // this.BulkApprovalAuthorize=true;\n // }\n // else{\n // this.BulkApprovalAuthorize=false;\n // this.AddEditBulkApprovalLabel=false;\n // }\n \n }\n \n fnShowonchange(newObj ,BankName,BranchName,BranchCode,BICCode,Correspondent,CreatedDate,CreatedName,RequestType,BranchNewStatus){\n this.ddlDropdownValue= newObj.target.value;\n this.ddlshowvalue = 0;\n this.ddlshowvalue = newObj.target.value;\n this.currentPage= 1;\n this.ddlshowStartValue = 1;\n this.config = {\n itemsPerPage: this.ddlshowvalue,\n currentPage: 1,\n };\n this.pageNumber = [];\n this.pageNumber[0] = true;\n this._PaginationService.comingFromPreAndNext = false;\n if(CreatedDate == null || CreatedDate == undefined || CreatedDate == \"\")\n CreatedDate = \"\"; \n else if (CreatedDate != null && CreatedDate!=\"\") {\n CreatedDate = this.ngbDateParserFormatter.format(CreatedDate.singleDate.date);\n } \n this.fnGetBranchDetails(BankName,BranchName,BranchCode,BICCode,Correspondent,CreatedDate,CreatedName,\n RequestType,BranchNewStatus,this.sortOrder,\"1\"); \n \n }\n\n radioChangeHandler(event: any){\n this.SelectedCorrespondent = event.target.value;\n }\n\n //navigate to upload branch \n AddbulkBranch() {\n this.router.navigate(['/UploadBulkBranch']);\n }\n\n // this lone for download PDF\n @ViewChild('tblBranchMasterhide') tblBranchMasterhide:ElementRef;\n fndownloadReport(ddlValue){\n if(this.FilterExportBranch.length == 0 || this.FilterExportBranch == null || this.FilterExportBranch == undefined){\n this._spinner.show();\n this._branchService.fnGetBranchDataForExport().subscribe(Branch=>{\n this.ExportBranch = Branch;\n this.FilterExportBranch = this.ExportBranch;\n this.IsComingFromExport = true;\n this.OnSearch(this._branchService.formData.BankName,this._branchService.formData.BranchName,\n this._branchService.formData.BranchCode,this._branchService.formData.BICCode,\n this._branchService.formData.Correspondent,this._branchService.formData.CreatedDate,\n this._branchService.formData.CreatedName, this._branchService.formData.RequestType,\n this._branchService.formData.BranchNewStatus);\n setTimeout(() => {\n this.ExportForBranch(ddlValue);\n this._spinner.hide();\n }, 500);\n },(err)=>{\n this.router.navigate([\"404\"]);\n });\n }\n else{\n this._spinner.show();\n this.IsComingFromExport = true;\n this.OnSearch(this._branchService.formData.BankName,this._branchService.formData.BranchName,\n this._branchService.formData.BranchCode,this._branchService.formData.BICCode,\n this._branchService.formData.Correspondent,this._branchService.formData.CreatedDate,\n this._branchService.formData.CreatedName, this._branchService.formData.RequestType,\n this._branchService.formData.BranchNewStatus);\n setTimeout(() => {\n this.ExportForBranch(ddlValue);\n this._spinner.hide();\n }, 500);\n }\n } // fun closing \nExportForBranch(ddlValue){\n if(ddlValue === \"excel\"){\n this.fileName= 'BranchMasterReport.xlsx';\n //let element = document.getElementById('tblAccountMaster'); \n const ws: XLSX.WorkSheet = XLSX.utils.table_to_sheet(this.tblBranchMasterhide.nativeElement);\n\n /* generate workbook and add the worksheet */\n const wb: XLSX.WorkBook = XLSX.utils.book_new();\n XLSX.utils.book_append_sheet(wb, ws, 'Sheet1');\n\n /* save to file */\n XLSX.writeFile(wb, this.fileName);\n }\n \n // if(ddlValue === \"pdf\"){\n // this._spinner.show();\n \n // $(\"#dvBranchMasterhide\").css(\"display\", \"block\");\n // this.fileName = 'BranchMasterReport.pdf';\n // var data = document.getElementById('tblBranchMasterhide'); \n // html2Canavas(data).then(canvas => { \n // // Few necessary setting options \n // var imgWidth = 208; \n // var pageHeight = 295; \n // var imgHeight = canvas.height * imgWidth / canvas.width; \n // var heightLeft = imgHeight; \n\n // const contentDataURL = canvas.toDataURL('image/png') \n // let pdf = new jsPDF('p', 'mm', 'a4'); // A4 size page of PDF \n // var position = 0; \n // pdf.addImage(contentDataURL, 'PNG', 0, position, imgWidth, imgHeight) \n // pdf.save(this.fileName); // Generated PDF \n // $(\"#dvBranchMasterhide\").css(\"display\", \"none\"); \n // this._spinner.hide();\n \n // }); \n // }\n\n if(ddlValue === \"rtf\"){\n this.fileName = 'BranchMasterReport.rtf';\n var ele = document.getElementById('tblBranchMasterhideRTF');\n var blob = new Blob([\"

Branch Master's Report.


\"+ele.innerHTML+\"
\"], {\n type: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8\"\n });\n saveAs(blob, this.fileName);\n }\n\n if(ddlValue === \"html\"){\n this.fileName = 'BranchMasterReport.html'; \n var ele = document.getElementById('tblBranchMasterhide');\n var blob = new Blob([\"

Branch Master's Report.


\"+ele.innerHTML+\"
\"], {\n type: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8\"\n });\n saveAs(blob, this.fileName);\n }\n \n}\n@ViewChild('tblBranchMasterhidepdf', {static: false}) tblBranchMasterhidepdf: ElementRef;\n\nfndownloadReportPdf(ddlValue){\n if(this.FilterExportBranch.length == 0 || this.FilterExportBranch == null || this.FilterExportBranch == undefined){\n this._spinner.show();\n this._branchService.fnGetBranchDataForExport().subscribe(Branch=>{\n this.ExportBranch = Branch;\n this.FilterExportBranch = this.ExportBranch;\n this.IsComingFromExport = true;\n this.OnSearch(this._branchService.formData.BankName,this._branchService.formData.BranchName,\n this._branchService.formData.BranchCode,this._branchService.formData.BICCode,\n this._branchService.formData.Correspondent,this._branchService.formData.CreatedDate,\n this._branchService.formData.CreatedName, this._branchService.formData.RequestType,\n this._branchService.formData.BranchNewStatus);\n setTimeout(() => {\n this.ExportForBranchPDF(ddlValue);\n this._spinner.hide();\n }, 500);\n },(err)=>{\n this.router.navigate([\"404\"]);\n });\n}\nelse{\n this._spinner.show();\n this.IsComingFromExport = true;\n this.OnSearch(this._branchService.formData.BankName,this._branchService.formData.BranchName,\n this._branchService.formData.BranchCode,this._branchService.formData.BICCode,\n this._branchService.formData.Correspondent,this._branchService.formData.CreatedDate,\n this._branchService.formData.CreatedName, this._branchService.formData.RequestType,\n this._branchService.formData.BranchNewStatus);\n setTimeout(() => {\n this.ExportForBranchPDF(ddlValue);\n this._spinner.hide();\n }, 500);\n}\n}\nExportForBranchPDF(ddlValue){\n if(ddlValue === \"pdf\"){\n let DATA = this.tblBranchMasterhidepdf.nativeElement;\n var ele = document.getElementById('tblBranchMasterhidepdf');\n let doc = new jsPDF('l','mm',[2500,1300]);\n var blob = new Blob([], {\n });\n let handleElement = {\n '#editor':function(element,renderer){\n return true;\n }\n };\n doc.fromHTML(\"

Branch Master's Report.


\"+DATA.innerHTML+\"
\",15,15,{\n 'width':1300,\n 'elementHandlers': handleElement\n });\n doc.save('BranchMasterReport.pdf');\n \n }\n}\n // sorting table data\n fnSortBranchMaster(field,obj){\n if(this.lastSortedByField === field) {\n this.ascendingOrder = !this.ascendingOrder;\n\n sortTableBranchMst(obj,this.ascendingOrder);\n }\n else {\n this.lastSortedByField = field;\n this.ascendingOrder = true;\n\n sortTableBranchMst(obj,this.ascendingOrder);\n }\n\n if(this.ascendingOrder) {\n this.FilteredBranchList = this.FilteredBranchList.sort((a, b) => {\n if(field=='CreatedDate'){\n if (a[\"DateCreated\"].toLowerCase() < b[\"DateCreated\"].toLowerCase())\n return -1;\n if (a[\"DateCreated\"].toLowerCase() > b[\"DateCreated\"].toLowerCase())\n return 1;\n }\n else{\n if (a[field].toLowerCase() < b[field].toLowerCase())\n return -1;\n if (a[field].toLowerCase() > b[field].toLowerCase())\n return 1;\n }\n return 0;\n });\n } \n else {\n this.FilteredBranchList = this.FilteredBranchList.sort((a, b) => {\n if(field=='CreatedDate'){\n if (a[\"DateCreated\"].toLowerCase() < b[\"DateCreated\"].toLowerCase())\n return 1;\n if (a[\"DateCreated\"].toLowerCase() > b[\"DateCreated\"].toLowerCase())\n return -1;\n }\n else{\n if (a[field].toLowerCase() < b[field].toLowerCase())\n return 1;\n if (a[field].toLowerCase() > b[field].toLowerCase())\n return -1;\n }\n return 0;\n });\n }\n }\n\n checkUncheckAllBranch() {\n this.AllSelected=true;\n this.isActive = true;\n // this.chkValue=true;\n \n this.BranchSelected != this.BranchSelected;\n \n if (this.FilteredBranchList.length > 0) {\n for (var i = 0; i < this.FilteredBranchList.length; i++) {\n if(this.FilteredBranchList[i].IsBranchDisabled != true){\n this.FilteredBranchList[i].IsBranchSelected = this.BranchSelected; \n }\n }\n }\n else\n {\n for (var i = 0; i < this.listLengthForSelect; i++) {\n if(this.allbranchdetails[i].IsBranchDisabled != true){\n this.allbranchdetails[i].IsBranchSelected = this.BranchSelected; \n }\n }\n }\n \n this.getCheckedItemList();\n }\n \n isChecked(BrachId,status){\n this.AllSelected=false;\n this.IsBranchSelected != status;\n for (var i = 0; i < this.listLengthForSelect; i++) {\n this.allbranchdetails[i].IsBranchSelected == this.IsBranchSelected; \n }\n this.getCheckedItemList();\n }\n \n getCheckedItemList(){\n this.checkedList = [];\n for (var i = 0; i < this.listLengthForSelect; i++) {\n if(this.allbranchdetails[i].IsBranchSelected == true)\n this.checkedList.push(this.allbranchdetails[i]);\n }\n this.checkedList = JSON.stringify(this.checkedList);\n \n if(this.checkedList.length > 2){\n this.BulkDelete = false;\n }\n else{\n this.BulkDelete = true;\n }\n }\n\n AllDeleteConfirmation(){\n this.AllDeleteShow();\n }\n\n onKeyDown(event: KeyboardEvent) {\n let a= (event.charCode == 8 || event.charCode == 45 || event.charCode == 0 ) ? null : event.charCode >= 48 && event.charCode <= 57;\n return a;\n }\n//---------------Bulk Authorize--------------------------------------------------------\n checkUncheckAllBulkApproval(){\n if(this.FilterExportBranch.length == 0 || this.FilterExportBranch == null || this.FilterExportBranch == undefined){\n this._spinner.show();\n this._branchService.fnGetBranchDataForExport().subscribe(Branch=>{\n this.ExportBranch = Branch;\n for(var i = 0; i < this.ExportBranch.length; i++){\n if(this.ExportBranch[i].CreatedBy== this._encreptdecrept.decryptUsingAES256(localStorage.getItem('LoginUserId'))){\n this.ExportBranch[i].IsBranchDisabled = true;\n }\n }\n this.FilterExportBranch = Branch;\n this.IsComingFromExport = true;\n this.OnSearch(this._branchService.formData.BankName,this._branchService.formData.BranchName,\n this._branchService.formData.BranchCode,this._branchService.formData.BICCode,\n this._branchService.formData.Correspondent,this._branchService.formData.CreatedDate,\n this._branchService.formData.CreatedName, this._branchService.formData.RequestType,\n this._branchService.formData.BranchNewStatus);\n setTimeout(() => {\n this.ExportAllCheckboxCheck();\n this._spinner.hide();\n }, 500);\n },(err)=>{\n this.router.navigate([\"404\"]);\n });\n }\n else{\n this._spinner.show();\n this.IsComingFromExport = true;\n this.OnSearch(this._branchService.formData.BankName,this._branchService.formData.BranchName,\n this._branchService.formData.BranchCode,this._branchService.formData.BICCode,\n this._branchService.formData.Correspondent,this._branchService.formData.CreatedDate,\n this._branchService.formData.CreatedName, this._branchService.formData.RequestType,\n this._branchService.formData.BranchNewStatus);\n setTimeout(() => {\n this.ExportAllCheckboxCheck();\n this._spinner.hide();\n }, 500);\n }\n \n // this.BranchSelected != this.BranchSelected;\n // if (this.FilteredBranchList.length > 0) {\n // for (var i = 0; i < this.FilteredBranchList.length; i++) {\n // this.FilteredBranchList[i].IsBranchSelected = this.BranchSelected; \n // }\n // }\n // if(this.BranchSelected==true){\n // this.AddEditBulkApprovalLabel=true;\n // }\n // else{\n // this.AddEditBulkApprovalLabel=false;\n // }\n }\n ExportAllCheckboxCheck(){\n this.BranchSelected != this.BranchSelected\n if (this.FilteredBranchList.length > 0) {\n for (var i = 0; i < this.FilteredBranchList.length; i++) {\n if(this.FilteredBranchList[i].IsBranchDisabled != true){\n this.FilteredBranchList[i].IsBranchSelected = this.BranchSelected; \n }\n }\n }\n else\n {\n for (var i = 0; i < this.listLengthForSelect; i++) {\n if(this.allbranchdetails[i].IsBranchDisabled != true){\n this.allbranchdetails[i].IsBranchSelected = this.BranchSelected; \n }\n }\n }\n if (this.FilterExportBranch.length > 0) {\n for (var j = 0; j < this.FilterExportBranch.length; j++) {\n if(this.FilterExportBranch[j].IsBranchDisabled != true){\n this.FilterExportBranch[j].IsBranchSelected = this.BranchSelected; \n }\n }\n }\n else\n {\n for (var j = 0; j < this.ExportBranch.length; j++) {\n if(this.ExportBranch[j].IsBranchDisabled != true){\n this.ExportBranch[j].IsBranchSelected = this.BranchSelected; \n }\n }\n }\n this.getCheckedBulkAuthorize();\n }\n\n IsBulkAutherizeCheck(BranchId,status){\n if(this.FilterExportBranch.length == 0 || this.FilterExportBranch == null || this.FilterExportBranch == undefined){\n this._spinner.show();\n this._branchService.fnGetBranchDataForExport().subscribe(Branch=>{\n this.ExportBranch = Branch;\n for(var i = 0; i < this.ExportBranch.length; i++){\n if(this.ExportBranch[i].CreatedBy== this._encreptdecrept.decryptUsingAES256(localStorage.getItem('LoginUserId'))){\n this.ExportBranch[i].IsBranchDisabled = true;\n }\n }\n this.FilterExportBranch = this.ExportBranch;\n this.IsComingFromExport = true;\n this.OnSearch(this._branchService.formData.BankName,this._branchService.formData.BranchName,\n this._branchService.formData.BranchCode,this._branchService.formData.BICCode,\n this._branchService.formData.Correspondent,this._branchService.formData.CreatedDate,\n this._branchService.formData.CreatedName, this._branchService.formData.RequestType,\n this._branchService.formData.BranchNewStatus);\n this.FilterExportBranch;\n setTimeout(() => {\n this.ExportOneCheckbox(BranchId,status);\n this._spinner.hide();\n }, 500);\n },(err)=>{\n this.router.navigate([\"404\"]);\n });\n }\n else{\n this._spinner.show();\n this.IsComingFromExport = true;\n this.OnSearch(this._branchService.formData.BankName,this._branchService.formData.BranchName,\n this._branchService.formData.BranchCode,this._branchService.formData.BICCode,\n this._branchService.formData.Correspondent,this._branchService.formData.CreatedDate,\n this._branchService.formData.CreatedName, this._branchService.formData.RequestType,\n this._branchService.formData.BranchNewStatus);\n this.FilterExportBranch;\n setTimeout(() => {\n this.ExportOneCheckbox(BranchId,status);\n this._spinner.hide();\n }, 500);\n }\n \n // for (var i = 0; i < this.listLengthForSelect; i++) {\n // if(this.FilteredBranchList[i].IsBranchSelected == true){\n // this.AddEditBulkApprovalLabel=true;\n // } \n // }\n} \nExportOneCheckbox(BranchId,status){\n status!= this.BranchSelected ;\n for (var i = 0; i < this.FilteredBranchList; i++) {\n this.FilteredBranchList[i].IsBranchSelected == this.BranchSelected; \n}\nfor (var j = 0; j < this.FilterExportBranch.length; j++) {\n if(this.FilterExportBranch[j].BranchId==BranchId){\n this.FilterExportBranch[j].IsBranchSelected = status; \n }\n} \nthis.getCheckedBulkAuthorize();\n}\n\n getCheckedBulkAuthorize(){\n // this.checkedBulkList = [];\n // for (var i = 0; i < this.listLengthForSelect; i++) {\n // if(this.allbranchdetails[i].IsBranchSelected == true)\n // this.checkedBulkList.push(this.allbranchdetails[i]);\n // }\n // this.checkedList = JSON.stringify(this.checkedBulkList);\n\n // if(this.checkedBulkList.length >= 1){\n // this.AddEditBulkApprovalLabel=true;\n // }\n // else{\n // this.AddEditBulkApprovalLabel=false;\n // }\n this.checkedBulkList = [];\n for (var i = 0; i < this.FilterExportBranch.length; i++) {\n if(this.FilterExportBranch[i].IsBranchSelected == true)\n this.checkedBulkList.push(this.FilterExportBranch[i]);\n }\n this.checkedList = this.checkedBulkList;\n if(this.checkedBulkList.length >= 1){\n this.AddEditBulkApprovalLabel=true; }\n else{\n this.AddEditBulkApprovalLabel=false;\n }\n}\nUncheckAllcheckbox(){\n this.BranchSelected=false;\n this.AddEditBulkApprovalLabel=false;\n for (var i = 0; i < this.FilteredBranchList.length; i++) {\n this.FilteredBranchList[i].IsBranchSelected = false;\n }\n for (var i = 0; i < this.FilterExportBranch.length; i++) {\n this.FilterExportBranch[i].IsBranchSelected = false;\n }\n}\n Approved(){\n this.showModalForAllDelete=true;\n $(document).ready(function () {\n $('#IDshowModalForAuthorize').eq(0).focus();\n });\n this.ConfirmationMsg=\"Approve\"\n this.AuthorizeStatus=2;\n this._branchService.formData.RequestType = \"\";\n this._branchService.formData.BranchNewStatus = \"1\";\n }\n\n Rejectd(){\n this.showModalForAllDelete=true;\n $(document).ready(function () {\n $('#IDshowModalForAuthorize').eq(0).focus();\n });\n this.ConfirmationMsg=\"Reject\";\n this.AuthorizeStatus=3;\n this._branchService.formData.RequestType = \"\";\n this._branchService.formData.BranchNewStatus = \"1\";\n }\n selectBranchList:any[];\n BulkAuthorizeConfirm(){\n this.FilteredBranchList;\n this.selectBranchList=[];\n \n\n for(var i=0;i0){\n this._branchService.fnBulkBranchAuthorize(this.selectBranchList,localStorage.getItem('LoginUserId'),this.AuthorizeStatus).subscribe(res => { \n // this.fnGetBranchDetails('','','','','No','','','','1',this.sortOrder,\"1\");\n //this.BranchListForExport();\n this.UncheckAllcheckbox();\n this.AddEditBulkApprovalLabel=false;\n this.AllDeletehide();\n this.onTop();\n this.showMsg=true;\n this.lblMessage=\"Bulk Authorize Completed For All Selected Records Succesfully\";\n this._branchService.formData.BankName=\"\";\n this._branchService.formData.BranchName=\"\";\n this._branchService.formData.BranchCode=\"\";\n this._branchService.formData.BICCode=\"\";\n this._branchService.formData.Correspondent=\"No\";\n this._branchService.formData.CreatedDate=\"\";\n this._branchService.formData.CreatedName=\"\";\n this._branchService.formData.RequestType=\"\";\n this._branchService.formData.BranchNewStatus=\"1\";\n this.currentPage = 1;\n this.pageNumber = [];\n this.pageNumber[0] = true;\n \n this.showFirstPage(\n this._branchService.formData.BankName,this._branchService.formData.BranchName,\n this._branchService.formData.BranchCode,this._branchService.formData.BICCode,\n this._branchService.formData.Correspondent,this._branchService.formData.CreatedDate,\n this._branchService.formData.CreatedName,this._branchService.formData.RequestType,\n this._branchService.formData.BranchNewStatus\n );\n \n //this.lblMessage=\"All Account Deleted Successfully except Account Number used in Other Master. \n }\n ,(err)=>{\n \n this.router.navigate([\"404\"]);\n });\n }\n \n \n }\n //---------------Bulk Authorize--------------------------------------------------------\n\n fnOpengearMenu(){\n $(\".icon-cog\").trigger(\"click\");\n }\n fnsubOpengearMenu(){\n $('[class=\"dropdown-menu\"]').trigger(\"click\").css('display','block');\n }\n\n//--------------------Pagination Start --------------------------------------\npageNo: any = 1; \npageNumber: boolean[] = []; \nsortOrder: any = 'CreatedDate_DESC'; \norder:any='CreatedDate';\n\npageField = []; \nexactPageList: any; \npaginationData: number; \norderBy: string='Desc'; \n\ntotalCount: any; \ncurrentPage = 1; \nComingFromLast:boolean = false;\nComingFromFirst:boolean = false;\n\ntotalNoOfPages() { \n if(this.ComingFromLast == true){\n this.pageNumber = []; \n this.pageNumber[this._PaginationService.pageNumberShow - 1] = true; \n this.ComingFromLast = false;\n }\n if(this.ComingFromFirst == true){\n this.pageNumber = []; \n this.pageNumber[0] = true;\n this.ComingFromFirst = false;\n } \n this.filterCount = this.totalCount;\n this.paginationData = Number(this.totalCount/this.config.itemsPerPage); \n let tempPageData = this.paginationData.toFixed(); \n if (Number(tempPageData) < this.paginationData) { \n this.exactPageList = Number(tempPageData) + 1; \n this._PaginationService.exactPageList = this.exactPageList; \n } else { \n this.exactPageList = Number(tempPageData); \n this._PaginationService.exactPageList = this.exactPageList \n }\n if(this._PaginationService.exactPageList < 10){\n // this._PaginationService.temppage = 0;\n this._PaginationService.pageNumberShow = this._PaginationService.exactPageList;\n this._PaginationService.disabledPrevBtn = true;\n this._PaginationService.disabledNextBtn = true;\n }\n else{\n // this._PaginationService.temppage = 0;\n this._PaginationService.pageNumberShow = 10;\n } \n this._PaginationService.pageOnLoad(); \n this.pageField = this._PaginationService.pageField; \n\n if(this.pageField.length < 10){\n this._PaginationService.disabledNextBtn = true;\n this._PaginationService.disabledPrevBtn = true;\n }\n} \n\nsortByHeading(value: string, id, BankName,BranchName,BranchCode,BICCode,Correspondent,CreatedDate,CreatedName,RequestType,BranchNewStatus) { \n this.sortOrder = value; \n this.order =value; \n if (this.orderBy == \"Desc\") { \n this.orderBy = \"Asc\" \n this.sortOrder =this.sortOrder+'_ASC'; \n sortTableBranchMst(id,true);\n } else { \n this.orderBy = \"Desc\"; \n this.sortOrder =this.sortOrder+'_DESC';\n sortTableBranchMst(id,false); \n } \n if(CreatedDate == null || CreatedDate == undefined || CreatedDate == \"\")\n CreatedDate = \"\"; \n else if (CreatedDate != null && CreatedDate!=\"\") {\n CreatedDate = this.ngbDateParserFormatter.format(CreatedDate.singleDate.date);\n }\n\n this.fnGetBranchDetails(BankName,BranchName,BranchCode,BICCode,Correspondent,CreatedDate,CreatedName,RequestType,BranchNewStatus,this.sortOrder); \n this.pageChanged(this.pageNo); \n\n} \n\nshowFirstPage(BankName,BranchName,BranchCode,BICCode,Correspondent,CreatedDate,CreatedName,RequestType,BranchNewStatus){\n // if (this._PaginationService.showNoOfCurrentPage != 1) { \n this._PaginationService.temppage = 10;\n this._PaginationService.pageNumberShow = 10;\n this._PaginationService.showNoOfCurrentPage = 1;\n this._PaginationService.FirstValue(); \n // this.pageNumber = []; \n // this.pageNumber[0] = true; \n this.currentPage = this._PaginationService.pageField[0]; \n this.pageNo = this._PaginationService.pageField[0];\n if(CreatedDate == null || CreatedDate == undefined || CreatedDate == \"\")\n CreatedDate = \"\"; \n else if (CreatedDate != null && CreatedDate!=\"\") {\n CreatedDate = this.ngbDateParserFormatter.format(CreatedDate.singleDate.date);\n }\n if(CreatedName== null){CreatedName=\"\";}\n this.fnGetBranchDetails(BankName,BranchName,BranchCode,BICCode,Correspondent,CreatedDate,CreatedName,RequestType,BranchNewStatus,this.sortOrder); \n \n //this.fnGetAllRole(RoleName, isActive,CreatedDate,CreatedName,this.sortOrder); \n this.pageChanged(this.pageNo);\n this.ComingFromFirst = true;\n // } \n}\n\nshowPrevAccounts( BankName,BranchName,BranchCode,BICCode,Correspondent,CreatedDate,CreatedName,RequestType,BranchNewStatus) { \n if (this._PaginationService.showNoOfCurrentPage != 1) { \n this._PaginationService.pageNumberShow = 10;\n this._PaginationService.prevValue(); \n this.pageNumber = []; \n this.pageNumber[0] = true; \n this.currentPage = this._PaginationService.pageField[0]; \n this.pageNo = this._PaginationService.pageField[0];\n if(CreatedDate == null || CreatedDate == undefined || CreatedDate == \"\")\n CreatedDate = \"\"; \n else if (CreatedDate != null && CreatedDate!=\"\") {\n CreatedDate = this.ngbDateParserFormatter.format(CreatedDate.singleDate.date);\n }\n this.fnGetBranchDetails(BankName,BranchName,BranchCode,BICCode,Correspondent,CreatedDate,CreatedName,RequestType,BranchNewStatus,this.sortOrder); \n this.pageChanged(this.pageNo); \n } \n\n}\n\nshowAccountsByPageNumber(page, i, BankName,BranchName,BranchCode,BICCode,Correspondent,CreatedDate,CreatedName,RequestType,BranchNewStatus) { \n //this.FilteredUserList = []; \n this.pageNumber = []; \n this.pageNumber[i] = true; \n this.pageNo = page; \n this.currentPage =page; \n this.fnGetBranchDetails(BankName,BranchName,BranchCode,BICCode,Correspondent,CreatedDate,CreatedName,RequestType,BranchNewStatus,this.sortOrder); \n this.pageChanged(this.pageNo); \n} \n\nshowNext(BankName,BranchName,BranchCode,BICCode,Correspondent,CreatedDate,CreatedName,RequestType,BranchNewStatus) { \n\n if (this._PaginationService.disabledNextBtn == false) { \n this.pageNumber = []; \n this._PaginationService.nextValue(); \n this.pageNumber[0] = true; \n this.currentPage = this._PaginationService.pageField[0]; \n this.pageNo = this._PaginationService.pageField[0];\n if(CreatedDate == null || CreatedDate == undefined || CreatedDate == \"\")\n CreatedDate = \"\"; \n else if (CreatedDate != null && CreatedDate!=\"\") {\n CreatedDate = this.ngbDateParserFormatter.format(CreatedDate.singleDate.date);\n } \n this.fnGetBranchDetails(BankName,BranchName,BranchCode,BICCode,Correspondent,CreatedDate,CreatedName,RequestType,BranchNewStatus,this.sortOrder); \n this.pageChanged(this.pageNo); \n } \n} \n\nshowLastPage(BankName,BranchName,BranchCode,BICCode,Correspondent,CreatedDate,CreatedName,RequestType,BranchNewStatus){\n //if(this._PaginationService.disabledNextBtn == false){\n \n this._PaginationService.temppage = this._PaginationService.exactPageList;\n if(this._PaginationService.exactPageList%10 == 0)\n this._PaginationService.pageNumberShow = 10;\n else \n this._PaginationService.pageNumberShow = this._PaginationService.exactPageList%10;\n \n this._PaginationService.showNoOfCurrentPage = Math.ceil(this._PaginationService.exactPageList/10);\n this._PaginationService.comingFromPreAndNext = true;\n this._PaginationService.LastValue(); \n \n this.currentPage = this._PaginationService.pageField[this._PaginationService.pageNumberShow - 1]; \n this.pageNo = this._PaginationService.pageField[this._PaginationService.pageNumberShow - 1];\n if(CreatedDate == null || CreatedDate == undefined || CreatedDate == \"\")\n CreatedDate = \"\"; \n else if (CreatedDate != null && CreatedDate!=\"\") {\n CreatedDate = this.ngbDateParserFormatter.format(CreatedDate.singleDate.date);\n }\n this.fnGetBranchDetails(BankName,BranchName,BranchCode,BICCode,Correspondent,CreatedDate,CreatedName,RequestType,BranchNewStatus,this.sortOrder); \n this.pageChanged(this.pageNo); \n this.ComingFromLast = true;\n // }\n}\n\n\n\n \n}\n","\n
\n
\n
\n
\n

Branch Master

\n
\n
\n
\n
\n ×\n Success! {{lblMessage}}\n
\n \n
\n ×\n {{ lblMessage }}.\n
\n\n
\n \n\n
\n
\n \n \n\n
\n Please provide a valid Bank Name\n
\n\n
\n\n
\n \n \n\n
\n Please provide a valid Branch Name\n
\n\n
\n\n
\n \n \n\n
\n Please provide a valid Branch Code\n
\n
\n\n
\n \n \n\n
\n Please provide a valid BIC Code\n
\n\n
\n \n \n\n
\n Please provide a valid Name\n
\n\n
\n
\n \n
\n \n
\n \n
\n
\n
\n Please Enter a valid Date Format\n
\n
\n\n
\n\n
\n\n
\n
\n \n
\n
\n \n\n \n
\n
\n \n \n \n \n \n
\n
\n \n Search\n \n
\n
\n\n \n
\n\n\n
\n\n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n
\n \n
\n
\n
\n \n \n\n
\n
\n \n \n\n
\n
\n \n \n
\n \n \n \n
\n\n
\n \n \n \n \n\n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
{{_Name}}Correspondent BankBranch NameBranch CodeBIC CodeRequest TypeStatusCreated ByCreated / Updated Date & Time \n Action\n \n \n \n
\n \n \n
\n
{{branch.BankName}}{{branch.Correspondent}}{{branch.BranchName}}{{branch.BranchCode}}{{branch.BICCode}}{{branch.RequestType}}{{branch.Status}}{{branch.CreatedName}}{{branch.CreatedDate}} \n \n \n
\n
\n \n
\n\n
\n \n
\n\n
\n \n \n \n
\n\n
\n \n
\n
\n
\n
\n \n \n
\n
No records found.
\n
\n
\n \n
\n \n \n
\n \n \n
\n
\n
\n \n
\n Page {{currentPage}} of Total page {{_PaginationService.exactPageList}} \n
\n \n
\n
\n
\n
\n \n\n\n\n
\n \" class=\"nav-link\" class=\"btn btn-primary btn-md text-white pull-right\" id=\"navbarDropdownMenuLink\" data-toggle=\"dropdown\" \n style=\"margin-top: 0.35em;margin-left: 2.5em;color:#4ad4e3;font-size: 15px;;\" aria-haspopup=\"true\" \n aria-expanded=\"false\"/>\n \n \n \n \n \n \n \n
\n \n \n
\n \n\n\n
\n\n
\n
\n\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
StatusBankNameCorrespondent BankBranch NameBranch CodeBIC CodeIFSC codeMICR CodeAddressCountryStateCityCreated ByCreated Date
{{branch.Status}}{{branch.BankName}}{{branch.Correspondent}}{{branch.BranchName}}{{branch.BranchCode}}{{branch.BICCode}}{{branch.IFSCCode}}{{branch.MICRCode}}{{branch.Address1}}{{branch.Country}}{{branch.State}}{{branch.City}}{{branch.CreatedName}}{{branch.CreatedDate}}
\n\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n
Bank NameCorrespondent BankBranch NameBranch CodeIFSC CodeBIC CodeRequest Type StatusCreated ByCreated Date & Time
{{branch.BankName}}{{branch.Correspondent}}{{branch.BranchName}}{{branch.BranchCode}}{{branch.IFSCCode}}{{branch.BICCode}}{{branch.RequestType}}{{branch.Status}}{{branch.CreatedName}}{{branch.CreatedDate}}
\n\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n
Bank NameCorrespondent BankBranch NameBranch CodeIFSC CodeBIC CodeRequest Type StatusCreated ByCreated Date & Time
{{branch.BankName}}{{branch.Correspondent}}{{branch.BranchName}}{{branch.BranchCode}}{{branch.IFSCCode}}{{branch.BICCode}}{{branch.RequestType}}{{branch.Status}}{{branch.CreatedName}}{{branch.CreatedDate}}
\n\n
\n\n\n
\n
\n
\n
\n

Confirmation

\n \n
\n
\n {{lblMessageDelete}}\n
\n
\n \n \n
\n
\n
\n
\n\n
\n
\n
\n
\n

Information

\n \n
\n
\n

Branch in use with other accounts, so can not delete.

\n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n

Confirmation

\n \n
\n
\n

Are you sure you want to {{ConfirmationMsg}} All Selected Records?

\n
\n
\n \n \n
\n
\n
\n
\n\n\n\n \n","import { Component, OnInit,ViewChild, ElementRef, ViewContainerRef } from '@angular/core';\nimport { CustomerService } from '../../MasterService/customer.service';\nimport { Customer } from 'src/app/MasterService/customer';\nimport { Router,NavigationExtras } from '@angular/router';\nimport { ChargesSweepService} from '../../MasterService/charges-sweep.service';\nimport {RoleAccessService}from '../../MasterService/role-access.service';\nimport{RoleAccess}from'src/app/MasterService/RoleAccess';\nimport { NgxSpinnerService } from \"ngx-spinner\";\nimport{SweepChargesClass}from'src/app/MasterService/sweep-charges';\nimport { AllMasterApiService } from 'src/app/MasterService/all-master-api.service';\nimport * as XLSX from 'xlsx';\nimport * as jsPDF from 'jspdf';\nimport html2Canavas from 'html2canvas';\nimport { saveAs } from 'file-saver';\nimport { threadId } from 'worker_threads';\nimport { state } from '@angular/animations';\nimport { IAngularMyDpOptions } from 'angular-mydatepicker';\nimport { debug } from 'console';\nimport * as $ from 'jquery';\nimport { LoginService } from 'src/app/MasterService/Login.service';\nimport { EncryptdecryptService } from 'src/app/MasterService/encryptdecrypt.service';\nimport { PaginationService } from 'src/app/Paging/pagination.service';\nimport { NgbDateParserFormatter, NgbDate } from '@ng-bootstrap/ng-bootstrap';\n\ndeclare var sortTableCustomerMst: Function;\n\n@Component({\n selector: 'app-manage-customer-master',\n templateUrl: './manage-customer-master.component.html',\n styleUrls: ['./manage-customer-master.component.css']\n})\nexport class ManageCustomerMasterComponent implements OnInit {\n today = new Date();\n myDpOptions: IAngularMyDpOptions = {\n dateRange: false,\n dateFormat: 'dd-mm-yyyy',\n disableSince: {year: this.today.getFullYear(), month: this.today.getMonth() + 1, day: this.today.getDate() + 1}\n \n // other options are here...\n };\n\n allCustomers: any = [];\n\n FilteredCustList :any =[];\n\n cityList: any=[];\n StateList: any=[];\n\n chargeTypeList: any=[];\n\n config: any;\n RoleAccess:RoleAccess;\n EditPriv:boolean;\n DeletePrivllage:boolean;\n AddPrivillage:boolean;\n ViewPrivllage:boolean;\n ddlshowvalue:number;\n ddlshowStartValue:number;\n searchCount:string;\n filterCount:string;\n AddImportAccess:boolean;\n AddExportAccess:boolean;\n PrivillageImportExportdv:boolean;\n fileName:string;\n lastSortedByField;\n ascendingOrder = true;\n isActive: boolean;\n AllCustChk: boolean;\n showModalForAllDelete: boolean;\n\n\n // Bulk Delete fields\n CustomerSelected:boolean;\n IsCustomerSelected:boolean;\n checkedList:any=[];\n listLengthForSelect: 0;\n BulkDelete:boolean = true;\n LoggedInUser:number;\n inputDate: string;\n fromDateError: boolean;\n CreatedDateError: boolean;\n AllSelected: boolean;\n ConfirmationMsg: string;\n AllDeleteCheck: boolean;\n //Bulk Authorize\n BulkApprovalAuthorize:boolean;\n AddEditBulkApprovalLabel:boolean;\n AuthorizeStatus: number;\n CheckerPrivillage: boolean;\n anycheckboxselected: boolean;\n checkedBulkList: any[];\n\n HistoryPrivllage:boolean;\n LoginAccessList: any;\n allCustList:any=[];\n IsCustomerInActive:boolean=false;\n ddlDropdownValue: any;\n isComingFromCheckbox: boolean=false;\n ExportCreatedDate: any;\n\n\n constructor(public _customerService: CustomerService, private router: Router, public _chargesService:ChargesSweepService\n ,private _spinner:NgxSpinnerService,private _roleAccess:RoleAccessService,public _encrypt:EncryptdecryptService,\n public _allMasterApiService:AllMasterApiService,public _login: LoginService, public _PaginationService:PaginationService , private ngbDateParserFormatter: NgbDateParserFormatter) { }\n\n ngOnInit(): void {\n// If LoginUserId is null then it will return\n if(localStorage.getItem('LoginUserId')==null){\n this.router.navigate([\"\"]);\n return;\n }\n// To display header\n if(!$('.js-sticky-header').is(':visible')){\n $('.js-sticky-header').css('display','block');\n }\n \n this._spinner.show();\n this.Customer();\n localStorage.removeItem('CustomerDataId');\n localStorage.removeItem('CustomerFlag');\n this.LoggedInUser = +this._encrypt.decryptUsingAES256(localStorage.getItem('LoginUserId'));\n // Getting Privillage based on userid\n this.GetPrivillageRoles();\n this.onTop();\n // Getting customer list from database\n this.fnGetCustomerName();\n // Getting city list from database\n this.fnGetAllCity();\n // Getting state list from database\n this.fnGetAllState();\n //this.fnGetAllCustomerDetails();\n\n this.config = {\n itemsPerPage: 10,\n currentPage: 1,\n };\n this.ddlshowvalue =10;\n this.ddlshowStartValue = 1;\n \n //this._customerService.fnGetCustomerData();\n // Getting charge type from database\n this.fnGetAllChargeType();\n// sorting table data\n sortTableCustomerMst(7,false);\n \n this.pageNumber[0] = true; \n this._PaginationService.temppage = 0; \n }\n public CustPkId;\n showModalDelete: boolean;\n lblMessageDelete:string;\n showDelete() { this.showModalDelete = true; }\n hideDelete() { this.showModalDelete = false; }\n\n// On page change this event is called\n pageChanged(event) {\n this.config.currentPage = event;\n this.ddlshowvalue = this.config.currentPage*this.config.itemsPerPage;\n this.ddlshowStartValue = this.ddlshowvalue - (this.config.itemsPerPage-1);\n // if(this.FilteredCustList.length<=this.ddlshowvalue)\n // this.ddlshowvalue = this.FilteredCustList.length;\n }\n\n showModal:boolean;\n showMsg:boolean;\n lblMessage:string;\n EmptyDataMsg:string;\n showerrormsg:boolean;\n\n show() { this.showModal = true; \n $(document).ready(function () {\n $('#IDshowModal').eq(0).focus();\n });\n}\n hide() { this.showModal = false; } \n\n showlbl(){\n this.showMsg = true;\n }\n hidelbl(){\n this.showMsg = false;\n }\n // Getting Privillage based on id\n GetPrivillageRoles(){ \n this._roleAccess.fnGetRoleAccess(localStorage.getItem('LoginUserId'),this.router.url).subscribe(roleAccess=>{ \n this.RoleAccess=roleAccess[0]; \n this.CheckerPrivillage = roleAccess[0].CheckerAccess; \n \n this.EditPriv =this.RoleAccess.EditAccess; \n this.DeletePrivllage=this.RoleAccess.DeleteAccess;\n this.AddPrivillage=this.RoleAccess.AddAccess;\n this.AddImportAccess = this.RoleAccess.AddImportAccess;\n this.AddExportAccess=this.RoleAccess.AddExportAccess;\n if(this.AddImportAccess || this.AddExportAccess){\n this.PrivillageImportExportdv=true;\n }else{\n this.PrivillageImportExportdv=false;\n }\n //this.ViewPrivllage = this.RoleAccess.ViewAccess;\n\n if(!this.EditPriv && this.RoleAccess.ViewAccess)\n this.ViewPrivllage=true;\n // Getting customer data from database\n this.fnGetAllCustomerDetails(\"\",\"\",\"\",\"\",\"1\",\"\",\"\",\"\",this.sortOrder,\"1\");\n // this.fnGetCustomerDataForExport();\n }\n ,(err)=>{\n this.router.navigate([\"404\"]);\n }\n ) \n }\n \n NewCustomer() {\n localStorage.removeItem('CustomerDataId');\n this._customerService.formData = {\n Status:'1',\n CustPkId: 0,\n CustomerId: '',\n BranchName: '',\n UserName: '',\n CustomerName: '',\n ContactPerson: '',\n CorporationCode: '',\n DateOfEshtablishment: '',\n EmailId: '',\n MobileNumber: '',\n Address1: '',\n Address2: '',\n CountryId: null,\n StateId: null,\n CityId: null,\n Country:'',\n State:'',\n City:'',\n Pincode: '',\n Description: '',\n lblTitle:'Add Customer Master',\n SweepChargeId:0,\n SweepChargeType:'',\n Rate:0,\n msg:'',\n CreatedBy:0,\n UpdatedBy:0, \n CreatedDate:'',\n UpdatedDate:'',\n CreatedName:'',\n UpdatedName:'',\n DateCreated:'',\n IsCustomerSelected:false,\n ReviewStatus:0,\n LoggedInUser:0,\n RequestType:'',\n SweepExecutionApproval:'',\n FundDisbursementApproval:'',\n SweepChargeStatus:'',\n SweepChargereviewstatus:0,\n }\n this.router.navigate(['/CustomerMaster']);\n }\n\n EditCustomerDetails(cust: Customer) {\n \n localStorage.setItem('CustomerDataId',String(cust.CustPkId));\n localStorage.setItem('CustomerFlag',String(\"edit\"));\n cust.lblTitle = \"Edit Customer Master\";\n //this._customerService.formData = cust;\n this.router.navigate(['/CustomerMaster']);\n }\n\n Authorize(cust: Customer) {\n localStorage.setItem('CustomerDataId',String(cust.CustPkId));\n localStorage.setItem('CustomerFlag',String(\"authorize\"));\n cust.lblTitle = \"Edit Customer Master\";\n this.router.navigate(['/CustomerMaster']);\n }\n\n ViewCustomerDetails(cust:Customer){\n // this._customerService.formData = cust;\n // let viewMode='view';\n // let navigationExtras: NavigationExtras = {\n // queryParams: {\n // viewMode\n // }\n // };\n // if(viewMode == 'view'){\n // this.router.navigate([\"CustomerMaster\"], navigationExtras);\n // }\n localStorage.setItem('CustomerDataId',String(cust.CustPkId));\n localStorage.setItem('CustomerFlag',String(\"view\"));\n this.router.navigate(['/CustomerMaster']);\n }\n AllDeletehide(){\n this.showModalForAllDelete=false;\n this.isActive = false;\n this.AllCustChk=false;\n }\n AllDeleteShow(){\n if(this.AllSelected==true){\n this.ConfirmationMsg=\"Are you sure you want to delete All records?\"\n }\n if(this.AllSelected==false){\n this.ConfirmationMsg=\"Are you sure you want to delete selected records?\"\n }\n this.showModalForAllDelete=true;\n }\n AllDeleteConfirm(){\n \n this.FilteredCustList.forEach(element => {\n if(element.IsCustomerSelected == true){\n this._customerService.fnDeleteCustomer(element.CustPkId.toString(),this.LoggedInUser.toString()).subscribe(res=>{\n \n this.fnGetAllCustomerDetails(\"\",\"\",\"\",\"\",\"1\",\"\",\"\",\"\",this.sortOrder,\"1\"); \n // this.lblMessage=\"All Account Deleted Successfully except Account Number used in Other Master. \"\n this.lblMessage=\"All Selected Customers Deleted Successfully\"\n this.showlbl();\n this.onTop();\n this.AllDeletehide();\n this.CustomerSelected = false;\n this.BulkDelete = true;\n }\n ,(err)=>{\n this.router.navigate([\"404\"]);\n }\n );\n }\n });\n }\n\n SelectAllCustomer(){\n this.isActive = true;\n this.AllCustChk=true;\n this.AllDeleteShow();\n }\n\n DeleteCustomerMethod(){\n \n this._customerService.fnDeleteCustomer(this.CustPkId.toString(),this.LoggedInUser.toString()).subscribe(res=>{\n //this.fnGetAllCustomerDetails(\"\",\"\",\"\",\"\",\"1\",\"\",\"\",\"\",this.sortOrder,\"1\");\n this.pageNumber = [];\n this.pageNumber[0] = true;\n this.currentPage=1;\n this._customerService.formData.CustomerName=\"\",\n this._customerService.formData.CorporationCode=\"\",\n this._customerService.formData.State=\"\",\n this._customerService.formData.City=\"\",\n this._customerService.formData.Status=\"1\",\n this._customerService.formData.CreatedDate=\"\",\n this._customerService.formData.CreatedName=\"\",\n this._customerService.formData.RequestType=\"\"\n this.showFirstPage(this._customerService.formData.CustomerName,\n this._customerService.formData.CorporationCode,\n this._customerService.formData.State,\n this._customerService.formData.City,\n this._customerService.formData.Status,\n this._customerService.formData.CreatedDate,\n this._customerService.formData.CreatedName,\n this._customerService.formData.RequestType);\n if (res.length > 30) {\n this.lblMessage = res;\n this.showMsg = false;\n this.showerrormsg =true;\n this.hide();\n //this.showlbl();\n this.onTop();\n }\n else{\n this.lblMessage = res;\n this.hide();\n //this.showlbl();\n this.onTop();\n this.showMsg = true;\n this.showerrormsg =false;\n }\n this._customerService.formData.Status = \"1\";\n this._customerService.formData.RequestType = \"\";\n this._customerService.formData.CustomerName = \"\";\n }\n ,(err)=>{\n this.router.navigate([\"404\"]);\n }\n );\n }\n\n DeleteCustomer(cust: Customer) {\n this.CustPkId=cust.CustPkId;\n this.show(); \n}\n\nonTop(){\n window.scroll({\n top: 0,\n left: 0,\n behavior:'smooth'\n })\n}\n// Filtering data from list\nOnSearch(Name,CorpCode,State,City,Status,CreatedDate,CreatedBy,RequestType){\n this._spinner.show();\n this.pageNumber = [];\n this.pageNumber[0] = true;\n this.ExportCreatedDate=CreatedDate;\n this._PaginationService.comingFromPreAndNext = false;\n \n if(CreatedDate == null || CreatedDate == undefined || CreatedDate == \"\")\n CreatedDate = \"\"; \n else if (CreatedDate != null && CreatedDate!=\"\") {\n CreatedDate = this.ngbDateParserFormatter.format(CreatedDate.singleDate.date);\n }\n if(this.isComingFromCheckbox == false){\n this.fnGetAllCustomerDetails(Name,CorpCode, State,City,Status,CreatedDate,CreatedBy,RequestType,this.sortOrder,\"1\");\n this.pageChanged(1); \n }\n if (this.isComingFromCheckbox == true){\n if(!Name && !CorpCode && !City && !State && !Status && !RequestType && (!CreatedDate || CreatedDate==null) && !CreatedBy){\n this.FilterExportCustomerList = this.ExportCustomerList;\n } \n else{\n this.FilterExportCustomerList = this.ExportCustomerList.filter(row=>{\n return row.CustomerName.toLocaleLowerCase().match(Name.toLocaleLowerCase());\n });\n this.FilterExportCustomerList = this.FilterExportCustomerList.filter(row=>{\n return row.CorporationCode.toLocaleLowerCase().match(CorpCode.toLocaleLowerCase());\n }); \n if(RequestType != ''){\n this.FilterExportCustomerList = this.FilterExportCustomerList.filter(row=>{\n return row.RequestType.toLocaleLowerCase()==RequestType.toLocaleLowerCase();\n });\n }\n if (Status !=\"\") {\n\n if(Status == \"1\") { Status = \"Active\";}\n else if(Status == \"0\") { Status = \"Inactive\";}\n else { Status = \"Pending\";}\n \n this.FilterExportCustomerList = this.FilterExportCustomerList.filter(row=>{\n return row.Status.match(Status);\n });\n } \n else {\n this.FilterExportCustomerList = this.FilterExportCustomerList.filter(row=>{\n return row.Status.toLocaleLowerCase().match(status.toLocaleLowerCase());\n });\n }\n if(State>0){\n // var stateid=+State;\n // this.StateList.filter()\n this.FilterExportCustomerList = this.FilterExportCustomerList.filter(row=>{\n return row.StateId==parseInt(State);\n });\n }\n if(City>0){\n // var stateid=+State;\n // this.StateList.filter()\n this.FilterExportCustomerList = this.FilterExportCustomerList.filter(row=>{\n return row.CityId==parseInt(City);\n });\n }\n // this.FilterExportCustomerList = this.cityList.filter(row=>{\n // return row.CityId.toString.match(City);\n // });\n this.FilterExportCustomerList = this.FilterExportCustomerList.filter(row=>{\n return row.CreatedName.toLocaleLowerCase().match(CreatedBy.toLocaleLowerCase());\n });\n if(CreatedDate!=\"\" && CreatedDate!=null){\n this.FilterExportCustomerList = this.FilterExportCustomerList.filter(row=>{\n return row.CreatedDate.toLocaleLowerCase().match(this.ExportCreatedDate.singleDate.formatted.toLocaleLowerCase());\n });\n }\n }\n this.isComingFromCheckbox = false;\n }\n\n// var j =0;\n// for (var i = 0; i < this.FilteredCustList.length; i++) {\n// if(this.FilteredCustList[i].IsCustomerDisable){\n// j=j+1;\n// }\n// }\n// if(this.FilteredCustList.length==j){\n// this.AllDeleteCheck=true;\n// }\n// else{\n// this.AllDeleteCheck=false;\n// }\n \n \n// // this.FilteredCustList = this.FilteredCustList.filter(row=>{\n// // return row.SweepChargeType.match(ChargeType);\n// // });\n// }\n// if (Name !=\"\" || CorpCode !=\"\" || State != \"\" || City != \"\" || CreatedDate !=\"\" || CreatedBy !=\"\" || Status !=\"\") {\n// this.ddlshowvalue=this.FilteredCustList.length;\n// if (this.ddlshowvalue <= this.config.itemsPerPage) {\n// // this.ddlshowvalue = 0;\n// this.ddlshowvalue = this.ddlshowvalue;\n// this.ddlshowStartValue = 1;\n// }\n// else {\n// this.ddlshowvalue = 0;\n// this.ddlshowvalue = this.FilteredCustList.length;\n// this.ddlshowStartValue = 1;\n// }\n\n// // this.ddlshowvalue = 0;\n// // this.ddlshowvalue = this.FilteredCustList.length;\n// // this.ddlshowStartValue = 1;\n// // this.ddlshowvalue = 0;\n// // this.ddlshowvalue = this.config.itemsPerPage; \n// this.searchCount = \"\";\n// this.searchCount = this.FilteredCustList.length;\n// this.filterCount = \"(filtered from \"+ this.allCustomers.length +\" total entries)\";\n\n// }\n// else{\n// if (this.ddlshowvalue <= this.config.itemsPerPage) {\n// // this.ddlshowvalue = 0;\n// this.ddlshowvalue = this.ddlshowvalue;\n// this.ddlshowStartValue = 1;\n// this.searchCount = this.allCustomers.length.toString();\n// this.filterCount =\"\";\n// }\n// else {\n// this.ddlshowvalue = 0;\n// this.ddlshowvalue = this.config.itemsPerPage; \n// this.ddlshowStartValue = 1;\n// this.searchCount = this.allCustomers.length.toString();\n// this.filterCount =\"\";\n// } //this.ddlshowStartValue = 1;\n// // this.ddlshowvalue = 0;\n// // this.ddlshowvalue = this.config.itemsPerPage; \n// // //this.ddlshowvalue = this.config.currentPage*this.config.itemsPerPage;\n// // //this.ddlshowStartValue = this.ddlshowvalue - (this.config.itemsPerPage-1);\n// // this.searchCount = this.allCustomers.length;\n// // this.filterCount =\"\";\n// }\n}\nUncheckAllcheckbox(){\n \n this.CustomerSelected=false;\n this.AddEditBulkApprovalLabel=false;\n for (var i = 0; i < this.FilteredCustList.length; i++) {\n this.FilteredCustList[i].IsCustomerSelected = false;\n }\n for(var i = 0; i < this.FilterExportCustomerList.length; i++){\n this.FilterExportCustomerList[i].IsCustomerSelected = false;\n }\n}\n\n //get customer data for Export\n \n fnGetCustomerDataForExport(){\n this._customerService.fnGetCustomerDataExport(localStorage.getItem(\"LoginUserId\")).subscribe(allcustomer =>{\n this.ExportCustomerList = allcustomer;\n for (var i = 0; i < this.ExportCustomerList.length; i++) {\n if(this.ExportCustomerList[i].CreatedBy== this._encrypt.decryptUsingAES256(localStorage.getItem('LoginUserId'))){\n this.ExportCustomerList[i].IsCustomerDisable = true;\n }\n }\n this.FilterExportCustomerList = this.ExportCustomerList;\n\n this.FilterExportCustomerList = this.FilterExportCustomerList.filter(row=>{\n return row.Status.match(\"Active\");\n });\n });\n }\n\n// Getting customer data from database\n fnGetAllCustomerDetails(Name,CorpCode, State,City,Status,CreatedDate,CreatedBy,RequestType,sortOrder=\"\",pageNumber=\"\") {\ndebugger;\n if(pageNumber != \"\")\n this.pageNo=pageNumber;\n\n this._customerService.fnGetCustomerData(localStorage.getItem(\"LoginUserId\"),0,this.pageNo,this.config.itemsPerPage.toString(),\n Name,CorpCode,State,City,CreatedBy,CreatedDate,RequestType,Status,sortOrder).subscribe(allCustomers => {\n this.allCustomers = allCustomers;\n for (var i = 0; i < this.allCustomers.length; i++) {\n if(this.allCustomers[i].CreatedBy== this._encrypt.decryptUsingAES256(localStorage.getItem('LoginUserId'))){\n this.allCustomers[i].IsCustomerDisable = true;\n }\n\n // if(this.CustomerSelected == true)\n // this.allCustomers[i].IsCustomerSelected = true;\n // else\n // this.allCustomers[i].IsCustomerSelected = false;\n\n if(this.checkedList.length > 0){ \n for (var j = 0; j < this.checkedList.length; j++) {\n if(this.checkedList[j].CustPkId == this.allCustomers[i].CustPkId){\n this.allCustomers[i].IsCustomerSelected = true; \n } \n } \n }\n\n /*if(this.allCustomers[i].ReviewStatus == 1){\n this.allCustomers[i].RequestType=\"Add Approval Pending\";\n }\n else if(this.allCustomers[i].ReviewStatus == 2){\n this.allCustomers[i].RequestType=\"Add Approved\";\n }\n else if(this.allCustomers[i].ReviewStatus == 3){\n this.allCustomers[i].RequestType=\"Add Rejected\";\n }\n else if(this.allCustomers[i].ReviewStatus == 4){\n this.allCustomers[i].RequestType=\"Edit Approval Pending\";\n }\n else if(this.allCustomers[i].ReviewStatus == 5){\n this.allCustomers[i].RequestType=\"Edit Approved\";\n }\n else if(this.allCustomers[i].ReviewStatus == 6){\n this.allCustomers[i].RequestType=\"Edit Rejected\";\n }\n else if(this.allCustomers[i].ReviewStatus == 7){\n this.allCustomers[i].RequestType=\"Delete Approval Pending\";\n }\n else if(this.allCustomers[i].ReviewStatus == 8){\n this.allCustomers[i].RequestType=\"Delete Approved\";\n }\n else if(this.allCustomers[i].ReviewStatus == 9){\n this.allCustomers[i].RequestType=\"Delete Rejected\";\n }\n else {\n this.allCustomers[i].RequestType=\"\";\n }\n */\n\n // if(this.allCustomers[i].CreatedBy == localStorage.getItem('LoginUserId')){ \n // this.allCustomers[i].makerchecherDisabled = true;\n // } \n // else \n if(this.allCustomers[i].ReviewStatus == 1 || this.allCustomers[i].ReviewStatus == 4){\n this.allCustomers[i].makerchecherDisabled = true;\n }\n else if(this.allCustomers[i].ReviewStatus == 7 && \n (!this.CheckerPrivillage || this.allCustomers[i].CreatedBy == this._encrypt.decryptUsingAES256(localStorage.getItem('LoginUserId')))){\n this.allCustomers[i].makerchecherDisabled = true;\n }\n else{\n this.allCustomers[i].makerchecherDisabled = false;\n }\n\n if(this.allCustomers[i].ReviewStatus == 3 || this.allCustomers[i].ReviewStatus == 8){\n this.allCustomers[i].SweepchargesDisabled = true;\n }\n else if(this.allCustomers[i].ReviewStatus == 7 && \n (!this.CheckerPrivillage || this.allCustomers[i].CreatedBy == this._encrypt.decryptUsingAES256(localStorage.getItem('LoginUserId')))){\n this.allCustomers[i].SweepchargesDisabled = true;\n }\n else{\n this.allCustomers[i].SweepchargesDisabled = false;\n }\n\n if(this.allCustomers[i].ReviewStatus == 1 || this.allCustomers[i].ReviewStatus == 4 || this.allCustomers[i].ReviewStatus == 7){\n this.allCustomers[i].IsAuthorizeDisable = false;\n }\n else\n this.allCustomers[i].IsAuthorizeDisable = true;\n \n\n /*--------------For sweep charges -------------------*/\n /*\n if (this.allCustomers[i].RequestType == \"Add Approved\" && this.allCustomers[i].ChargeType != \"Not Set\" \n && this.allCustomers[i].Rate != \"Not Set\" && this.allCustomers[i].SweepChargereviewstatus == 1) {\n this.allCustomers[i].RequestType=\"Sweep Charges Add Approval Pending\";\n }\n else if (this.allCustomers[i].RequestType == \"Add Approved\" && this.allCustomers[i].ChargeType != \"Not Set\" \n && this.allCustomers[i].Rate != \"Not Set\" && this.allCustomers[i].SweepChargereviewstatus == 2) {\n this.allCustomers[i].RequestType=\"Sweep Charges Add Approved\";\n }\n else if (this.allCustomers[i].RequestType == \"Add Approved\" && this.allCustomers[i].ChargeType != \"Not Set\" \n && this.allCustomers[i].Rate != \"Not Set\" && this.allCustomers[i].SweepChargereviewstatus == 3) {\n this.allCustomers[i].RequestType=\"Sweep Charges Add Rejected\";\n }\n else if (this.allCustomers[i].RequestType == \"Add Approved\" && this.allCustomers[i].ChargeType != \"Not Set\" \n && this.allCustomers[i].Rate != \"Not Set\" && this.allCustomers[i].SweepChargereviewstatus == 4) {\n this.allCustomers[i].RequestType=\"Sweep Charges Edit Approval Pending\";\n }\n else if(this.allCustomers[i].RequestType == \"Add Approved\" && this.allCustomers[i].ChargeType != \"Not Set\" \n && this.allCustomers[i].Rate != \"Not Set\" && this.allCustomers[i].SweepChargereviewstatus == 5){\n this.allCustomers[i].RequestType=\"Sweep Charges Edit Approved\";\n }\n else if(this.allCustomers[i].RequestType == \"Add Approved\" && this.allCustomers[i].ChargeType != \"Not Set\" \n && this.allCustomers[i].Rate != \"Not Set\" && this.allCustomers[i].SweepChargereviewstatus == 6){\n this.allCustomers[i].RequestType=\"Sweep Charges Edit Rejected\";\n }\n //\n if (this.allCustomers[i].RequestType == \"Edit Approved\" && this.allCustomers[i].ChargeType != \"Not Set\" \n && this.allCustomers[i].Rate != \"Not Set\" && this.allCustomers[i].SweepChargereviewstatus == 1) {\n this.allCustomers[i].RequestType=\"Sweep Charges Add Approval Pending\";\n }\n else if (this.allCustomers[i].RequestType == \"Edit Approved\" && this.allCustomers[i].ChargeType != \"Not Set\" \n && this.allCustomers[i].Rate != \"Not Set\" && this.allCustomers[i].SweepChargereviewstatus == 2) {\n this.allCustomers[i].RequestType=\"Sweep Charges Add Approved\";\n }\n else if (this.allCustomers[i].RequestType == \"Edit Approved\" && this.allCustomers[i].ChargeType != \"Not Set\" \n && this.allCustomers[i].Rate != \"Not Set\" && this.allCustomers[i].SweepChargereviewstatus == 3) {\n this.allCustomers[i].RequestType=\"Sweep Charges Add Rejected\";\n }\n else if (this.allCustomers[i].RequestType == \"Edit Approved\" && this.allCustomers[i].ChargeType != \"Not Set\" \n && this.allCustomers[i].Rate != \"Not Set\" && this.allCustomers[i].SweepChargereviewstatus == 4) {\n this.allCustomers[i].RequestType=\"Sweep Charges Edit Approval Pending\";\n }\n else if(this.allCustomers[i].RequestType == \"Edit Approved\" && this.allCustomers[i].ChargeType != \"Not Set\" \n && this.allCustomers[i].Rate != \"Not Set\" && this.allCustomers[i].SweepChargereviewstatus == 5){\n this.allCustomers[i].RequestType=\"Sweep Charges Edit Approved\";\n }\n else if(this.allCustomers[i].RequestType == \"Edit Approved\" && this.allCustomers[i].ChargeType != \"Not Set\" \n && this.allCustomers[i].Rate != \"Not Set\" && this.allCustomers[i].SweepChargereviewstatus == 6){\n this.allCustomers[i].RequestType=\"Sweep Charges Edit Rejected\";\n }\n ///////\n\n if (this.allCustomers[i].RequestType == \"Add Approved\" && this.allCustomers[i].ChargeType != \"Not Set\" \n && this.allCustomers[i].Rate != \"Not Set\" && this.allCustomers[i].SweepChargereviewstatus == 0) {\n this.allCustomers[i].RequestType=\"Sweep Charges Edit Approval Pending\";\n }\n\n if(this.allCustomers[i].RequestType == \"Sweep Charges Add Approved\" && this.allCustomers[i].ChargeType != \"Not Set\" \n && this.allCustomers[i].Rate != \"Not Set\" && this.allCustomers[i].SweepChargereviewstatus == 2 && this.allCustomers[i].ReviewStatus == 5){\n this.allCustomers[i].RequestType=\"Sweep Charges Add Approved\";//Rubina --Edit Approved\n }\n \n if(this.allCustomers[i].RequestType == \"Edit Rejected\" && this.allCustomers[i].ChargeType != \"Not Set\" \n && this.allCustomers[i].Rate != \"Not Set\" && this.allCustomers[i].SweepChargereviewstatus == 4){\n this.allCustomers[i].RequestType=\"Sweep Charges Edit Approval Pending\";\n }\n\n if(this.allCustomers[i].RequestType == \"Edit Rejected\" && this.allCustomers[i].ChargeType != \"Not Set\" \n && this.allCustomers[i].Rate != \"Not Set\" && this.allCustomers[i].SweepChargereviewstatus == 5){\n this.allCustomers[i].RequestType=\"Edit Approved\";\n }\n if(this.allCustomers[i].RequestType == \"Edit Rejected\" && this.allCustomers[i].ChargeType != \"Not Set\" \n && this.allCustomers[i].Rate != \"Not Set\" && this.allCustomers[i].SweepChargereviewstatus == 1){\n this.allCustomers[i].RequestType=\"Sweep Charges Add Approval Pending\";\n }\n///////\n if(this.allCustomers[i].RequestType == \"Edit Approved\" && this.allCustomers[i].ChargeType != \"Not Set\" \n && this.allCustomers[i].Rate != \"Not Set\" && this.allCustomers[i].SweepChargeStatus == 1 && this.allCustomers[i].SweepChargereviewstatus == 5 ){\n this.allCustomers[i].RequestType=\"Sweep Charges Edit Approved\";\n }\n \n //\n if(this.allCustomers[i].RequestType == \"Edit Rejected\" && this.allCustomers[i].ChargeType != \"Not Set\" \n && this.allCustomers[i].Rate != \"Not Set\" && this.allCustomers[i].ReviewStatus == 6 && this.allCustomers[i].SweepChargereviewstatus == 3 && this.allCustomers[i].SweepChargeStatus == 0){\n this.allCustomers[i].RequestType=\"Sweep Charges Add Rejected\";\n }\n if(this.allCustomers[i].RequestType == \"Edit Rejected\" && this.allCustomers[i].ChargeType != \"Not Set\" \n && this.allCustomers[i].Rate != \"Not Set\" && this.allCustomers[i].ReviewStatus == 6 && this.allCustomers[i].SweepChargereviewstatus == 2 && this.allCustomers[i].SweepChargeStatus == 1){\n this.allCustomers[i].RequestType=\"Sweep Charges Add Approved\";\n }\n //\n if(this.allCustomers[i].RequestType == \"Delete Rejected\" && this.allCustomers[i].ChargeType != \"Not Set\" \n && this.allCustomers[i].Rate != \"Not Set\" && this.allCustomers[i].SweepChargeStatus == 2 && this.allCustomers[i].SweepChargereviewstatus == 1 && this.allCustomers[i].ReviewStatus == 9 ){\n this.allCustomers[i].RequestType=\"Sweep Charges Add Approval Pending\";\n }\n if(this.allCustomers[i].RequestType == \"Delete Rejected\" && this.allCustomers[i].ChargeType != \"Not Set\" \n && this.allCustomers[i].Rate != \"Not Set\" && this.allCustomers[i].SweepChargeStatus == 1 && this.allCustomers[i].SweepChargereviewstatus == 2 && this.allCustomers[i].ReviewStatus == 9 ){\n this.allCustomers[i].RequestType=\"Sweep Charges Add Approved\";\n }\n if(this.allCustomers[i].RequestType == \"Delete Rejected\" && this.allCustomers[i].ChargeType != \"Not Set\" \n && this.allCustomers[i].Rate != \"Not Set\" && this.allCustomers[i].SweepChargeStatus == 0 && this.allCustomers[i].SweepChargereviewstatus == 3 && this.allCustomers[i].ReviewStatus == 9 ){\n this.allCustomers[i].RequestType=\"Sweep Charges Add Rejected\";\n }\n if(this.allCustomers[i].RequestType == \"Delete Rejected\" && this.allCustomers[i].ChargeType != \"Not Set\" \n && this.allCustomers[i].Rate != \"Not Set\" && this.allCustomers[i].SweepChargeStatus == 2 && this.allCustomers[i].SweepChargereviewstatus == 4 && this.allCustomers[i].ReviewStatus == 9 ){\n this.allCustomers[i].RequestType=\"Sweep Charges Edit Approval Pending\";\n }\n if(this.allCustomers[i].RequestType == \"Delete Rejected\" && this.allCustomers[i].ChargeType != \"Not Set\" \n && this.allCustomers[i].Rate != \"Not Set\" && this.allCustomers[i].SweepChargeStatus == 1 && this.allCustomers[i].SweepChargereviewstatus == 5 && this.allCustomers[i].ReviewStatus == 9 ){\n this.allCustomers[i].RequestType=\"Sweep Charges Edit Approved\";\n }\n if(this.allCustomers[i].RequestType == \"Delete Rejected\" && this.allCustomers[i].ChargeType != \"Not Set\" \n && this.allCustomers[i].Rate != \"Not Set\" && this.allCustomers[i].SweepChargeStatus == 1 && this.allCustomers[i].SweepChargereviewstatus == 6 && this.allCustomers[i].ReviewStatus == 9 ){\n this.allCustomers[i].RequestType=\"Sweep Charges Edit Rejected\";\n }\n // if(this.allCustomers[i].RequestType == \"Sweep Charges Edit Approved\" && this.allCustomers[i].ChargeType != \"Not Set\" \n // && this.allCustomers[i].Rate != \"Not Set\" && this.allCustomers[i].SweepChargereviewstatus == 5 \n // && this.allCustomers[i].ReviewStatus != 6){\n // this.allCustomers[i].RequestType=\"Edit Approved\";\n // }\n */\n /*--------------For sweep charges -------------------*/\n\n }\n \n this.FilteredCustList = this.allCustomers;\n this.listLengthForSelect = this.allCustomers.length;\n\n if(this.allCustomers.length > 0){ \n this.totalCount = this.allCustomers[0].CustomerListCount;\n this.totalNoOfPages(); \n }\n else if(this.allCustomers.length==0){\n this.totalCount = 0;\n this.totalNoOfPages();\n }\n //------page Listing Meassage------------------\n if(this.ddlDropdownValue==10 || this.ddlDropdownValue==undefined){\n if(this.FilteredCustList.length<10 ){\n this.ddlshowvalue = this.totalCount;\n }\n else if(this.FilteredCustList.length==0){\n this.ddlshowvalue = 0;\n }\n }\n if(this.ddlDropdownValue == 25){\n if(this.FilteredCustList.length < 25){\n this.ddlshowvalue = this.totalCount;\n }\n else if(this.FilteredCustList.length==0){\n this.ddlshowvalue = 0;\n }\n }\n if(this.ddlDropdownValue == 50){\n if(this.FilteredCustList.length < 50){\n this.ddlshowvalue = this.totalCount;\n }\n else if(this.FilteredCustList.length==0){\n this.ddlshowvalue = 0;\n }\n }\n if(this.ddlDropdownValue == 100){\n if(this.FilteredCustList.length < 100){\n this.ddlshowvalue = this.totalCount;\n }\n else if(this.FilteredCustList.length==0){\n this.ddlshowvalue = 0;\n }\n }\n // if(this.FilteredCustList.length<10){\n // this.ddlshowvalue = this.totalCount;\n // }\n //--------------------------\n this.GetHistoryPrivillage(); \n this._spinner.hide(); \n }\n ,(err)=>{\n this.router.navigate([\"404\"]);\n }\n );\n }\n\n fnSweepChargesDetails(cust: Customer) {\n //this.fnNewSweepCharges(cust);\n localStorage.setItem('_CustId','0');\n localStorage.setItem('_CustId',String(cust.CustPkId));\n localStorage.setItem('_CustName','');\n localStorage.setItem('_CustName',String(cust.CustomerName));\n this.router.navigate(['/SweepChargesdetails']);\n }\n\n fnNewSweepCharges(cust: Customer) {\n \n var swobj = new SweepChargesClass();\n this._chargesService.formData = swobj;\n\n\n this._chargesService.formData.SweepCharges = {\n SweepChargeId: 0,\n SweepChargeType:'',\n CustomerId: cust.CustPkId,\n CustomerName: cust.CustomerName,\n ChargesMethod: '',\n Rate: '',\n UserId:'',\n FrequencyId:null,\n Frequency:'',\n TypeId:null,\n TypeName:'',\n Message:'',\n RangeType:'1',\n Status:'1',\n ReviewStatus:0,\n CreatedBy:0,\n OldChargesMethodName:'',\n OldRate:'',\n OldFrequency:'',\n OldChargeType:'',\n OldRangeType:'',\n IsApproved:null,\n WithEffectDate:''\n }\n this._chargesService.formData.flatChargeObj = {\n FromRange:'',\n ToRange:'',\n Total:'',\n }\n\n this._chargesService.formData.sweepChargeLsts = [];\n }\n\n fnGetAllCity(){\n this._allMasterApiService.fnGetAllCityMaster().subscribe(AllCity => {\n this.cityList = AllCity;\n }\n ,(err)=>{\n this.router.navigate([\"404\"]);\n }\n );\n }\n\n fnGetAllState(){\n this._allMasterApiService.fnGetAllStateMaster().subscribe(AllState => {\n this.StateList = AllState;\n });\n }\n fncity(id){\n debugger\n if(id != \"\"){\n this._allMasterApiService.fnGetCityMaster(id).subscribe(allCity => {\n this.cityList = allCity;\n }\n ,(err)=>{\n this.router.navigate([\"404\"]);\n }\n );\n }\n else \n this.fnGetAllCity();\n }\n\n fnGetAllChargeType(){\n this._chargesService.fnGetChargeTypeData().subscribe(charge=>{\n this.chargeTypeList = charge;\n }\n ,(err)=>{\n this.router.navigate([\"404\"]);\n }\n );\n }\n\n fnShowonchange(newObj,Name,CorpCode,State,City,Status,CreatedDate,CreatedBy,RequestType){\n this.ddlDropdownValue= newObj.target.value;\n this.ddlshowvalue = 0;\n this.ddlshowvalue = newObj.target.value;\n this.ddlshowStartValue = 1;\n this.currentPage = 1;\n \n this.config = {\n itemsPerPage: this.ddlshowvalue,\n currentPage: 1,\n };\n\n this.pageNumber = [];\n this.pageNumber[0] = true;\n this._PaginationService.comingFromPreAndNext = false;\n \n if(CreatedDate == null || CreatedDate == undefined || CreatedDate == \"\")\n CreatedDate = \"\"; \n else if (CreatedDate != null && CreatedDate!=\"\") {\n CreatedDate = this.ngbDateParserFormatter.format(CreatedDate.singleDate.date);\n }\n \n this.fnGetAllCustomerDetails(Name,CorpCode,State,City,Status,CreatedDate,CreatedBy,RequestType,this.sortOrder,\"1\"); \n }\n\n AddbulkCustomer() {\n \n this.router.navigate(['/UploadBulkCustomer']);\n }\n\n // this lone for download PDF\n ExportCustomerList:any = [];\n FilterExportCustomerList:any = [];\n @ViewChild('tblCustomerMasterhide') tblCustomerMasterhide:ElementRef;\n fndownloadReport(ddlValue){ \n debugger;\n if(this.FilterExportCustomerList.length == 0 || this.FilterExportCustomerList == null || this.FilterExportCustomerList == undefined){\n this._spinner.show(); \n this._customerService.fnGetCustomerDataExport(localStorage.getItem(\"LoginUserId\")\n ).subscribe(allcustomer =>{\n this.ExportCustomerList = allcustomer;\n this.FilterExportCustomerList = this.ExportCustomerList;\n this.isComingFromCheckbox=true;\n this.OnSearch(this._customerService.formData.CustomerName,\n this._customerService.formData.CorporationCode,\n this._customerService.formData.State,\n this._customerService.formData.City,\n this._customerService.formData.Status,\n this._customerService.formData.CreatedDate,\n this._customerService.formData.CreatedName,\n this._customerService.formData.RequestType);\n setTimeout(() => {\n this.ExportCustomer(ddlValue);\n this._spinner.hide(); \n }, 500);\n },(err)=>{\n this.router.navigate([\"404\"]);\n });\n }\n else{\n this.isComingFromCheckbox=true;\n this.OnSearch(this._customerService.formData.CustomerName,\n this._customerService.formData.CorporationCode,\n this._customerService.formData.State,\n this._customerService.formData.City,\n this._customerService.formData.Status,\n this._customerService.formData.CreatedDate,\n this._customerService.formData.CreatedName,\n this._customerService.formData.RequestType);\n setTimeout(() => {\n this.ExportCustomer(ddlValue);\n this._spinner.hide(); \n }, 500);\n }\n }\n ExportCustomer(ddlValue){\n if(ddlValue === \"excel\"){\n this.fileName= 'CustomerMasterReport.xlsx';\n //let element = document.getElementById('tblAccountMaster'); \n const ws: XLSX.WorkSheet = XLSX.utils.table_to_sheet(this.tblCustomerMasterhide.nativeElement);\n \n /* generate workbook and add the worksheet */\n const wb: XLSX.WorkBook = XLSX.utils.book_new();\n XLSX.utils.book_append_sheet(wb, ws, 'Sheet1');\n \n /* save to file */\n XLSX.writeFile(wb, this.fileName);\n }\n if(ddlValue === \"rtf\"){\n this.fileName = 'CustomerMasterReport.rtf';\n var ele = document.getElementById('tblCustomerMasterhideRTF');\n var blob = new Blob([\"

Customer Master's Report.


\"+ele.innerHTML+\"
\"], {\n type: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8\"\n });\n saveAs(blob, this.fileName);\n }\n if(ddlValue === \"html\"){\n this.fileName = 'CustomerMasterReport.html'; \n var ele = document.getElementById('tblCustomerMasterhide');\n var blob = new Blob([\"

Customer Master's Report.


\"+ele.innerHTML+\"
\"], {\n type: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8\"\n });\n saveAs(blob, this.fileName);\n }\n }\n \n // if(ddlValue === \"pdf\"){\n // this._spinner.show(); \n // $(\"#dvCustomerMasterhide\").css(\"display\", \"block\");\n // this.fileName = 'CustomerMasterReport.pdf';\n // var data = document.getElementById('tblCustomerMasterhide'); \n // html2Canavas(data).then(canvas => { \n // // Few necessary setting options \n // var imgWidth = 208; \n // var pageHeight = 295; \n // var imgHeight = canvas.height * imgWidth / canvas.width; \n // var heightLeft = imgHeight; \n \n // const contentDataURL = canvas.toDataURL('image/png') \n // let pdf = new jsPDF('p', 'mm', 'a4'); // A4 size page of PDF \n // var position = 0; \n // pdf.addImage(contentDataURL, 'PNG', 0, position, imgWidth, imgHeight) \n // pdf.save(this.fileName); // Generated PDF \n // $(\"#dvCustomerMasterhide\").css(\"display\", \"none\");\n // this._spinner.hide(); \n // }); \n // }\n \n // });\n // fun closing\n\n@ViewChild('tblCustomerMasterhidepdf', {static: false}) tblCustomerMasterhidepdf: ElementRef;\nfndownloadReportPdf(ddlValue){\n if(this.FilterExportCustomerList.length == 0 || this.FilterExportCustomerList == null || this.FilterExportCustomerList == undefined){\n this._spinner.show(); \n this._customerService.fnGetCustomerDataExport(localStorage.getItem(\"LoginUserId\")\n ).subscribe(allcustomer =>{\n this.ExportCustomerList = allcustomer;\n this.FilterExportCustomerList = this.ExportCustomerList;\n this.isComingFromCheckbox=true;\n this.OnSearch(this._customerService.formData.CustomerName,\n this._customerService.formData.CorporationCode,\n this._customerService.formData.State,\n this._customerService.formData.City,\n this._customerService.formData.Status,\n this._customerService.formData.CreatedDate,\n this._customerService.formData.CreatedName,\n this._customerService.formData.RequestType);\n setTimeout(() => {\n this.ExportCustomerPDF();\n this._spinner.hide(); \n }, 500);\n },(err)=>{\n this.router.navigate([\"404\"]);\n });\n}\nelse{\n this._spinner.show(); \n this.isComingFromCheckbox=true;\n this.OnSearch(this._customerService.formData.CustomerName,\n this._customerService.formData.CorporationCode,\n this._customerService.formData.State,\n this._customerService.formData.City,\n this._customerService.formData.Status,\n this._customerService.formData.CreatedDate,\n this._customerService.formData.CreatedName,\n this._customerService.formData.RequestType);\n setTimeout(() => {\n this.ExportCustomerPDF();\n this._spinner.hide(); \n }, 500);\n}\n}\nExportCustomerPDF(){\n let DATA = this.tblCustomerMasterhidepdf.nativeElement;\n var ele = document.getElementById('tblCustomerMasterhidepdf');\n let doc = new jsPDF('l','mm',[2500,1300]);\n var blob = new Blob([], {\n });\n let handleElement = {\n '#editor':function(element,renderer){\n return true;\n }\n };\n doc.fromHTML(\"

Customer Master's Report.

\"+DATA.innerHTML+\"
\",15,15,{\n 'width':1300,\n 'elementHandlers': handleElement\n });\n doc.save('CustomerMasterReport.pdf');\n}\n\n SearchForExport(Name,CorpCode,State,City,Status,CreatedDate,CreatedBy,RequestType){\n // this.pageNumber = [];\n // this.pageNumber[0] = true;\n // this._PaginationService.comingFromPreAndNext = false;\n \n // if(CreatedDate == null || CreatedDate == undefined || CreatedDate == \"\")\n // CreatedDate = \"\"; \n // else if (CreatedDate != null && CreatedDate!=\"\") {\n // CreatedDate = this.ngbDateParserFormatter.format(CreatedDate.singleDate.date);\n // }\n \n // this.fnGetAllCustomerDetails(Name,CorpCode, State,City,Status,CreatedDate,CreatedBy,RequestType,this.sortOrder,\"1\");\n // this.pageChanged(1); \n \n if(!Name && !CorpCode && !City && !State && !Status && !RequestType && (!CreatedDate || CreatedDate==null) && !CreatedBy){\n this.FilterExportCustomerList = this.ExportCustomerList;\n } \n else{\n this.FilterExportCustomerList = this.ExportCustomerList.filter(row=>{\n return row.CustomerName.toLocaleLowerCase().match(Name.toLocaleLowerCase());\n });\n this.FilterExportCustomerList = this.FilterExportCustomerList.filter(row=>{\n return row.CorporationCode.toLocaleLowerCase().match(CorpCode.toLocaleLowerCase());\n }); \n if(RequestType != ''){\n this.FilterExportCustomerList = this.FilterExportCustomerList.filter(row=>{\n return row.RequestType.toLocaleLowerCase()==RequestType.toLocaleLowerCase();\n });\n }\n debugger;\n if (Status !=\"\") {\n \n if(Status == \"1\") { Status = \"Active\";}\n else if(Status == \"0\") { Status = \"Inactive\";}\n else { Status = \"Pending\";}\n \n this.FilterExportCustomerList = this.FilterExportCustomerList.filter(row=>{\n return row.Status.match(Status);\n });\n } \n else {\n this.FilterExportCustomerList = this.FilterExportCustomerList.filter(row=>{\n return row.Status.toLocaleLowerCase().match(status.toLocaleLowerCase());\n });\n }\n if(State !=\"\"){\n this.FilterExportCustomerList = this.FilterExportCustomerList.filter(row=>{\n return row.StateId.toLocaleLowerCase().match(State.toLocaleLowerCase());\n });\n }\n if(City !=\"\"){\n this.FilterExportCustomerList = this.FilterExportCustomerList.filter(row=>{\n return row.CityId.toLocaleLowerCase().match(City.toLocaleLowerCase());\n });\n }\n this.FilterExportCustomerList = this.FilterExportCustomerList.filter(row=>{\n return row.CreatedName.toLocaleLowerCase().match(CreatedBy.toLocaleLowerCase());\n });\n if(CreatedDate!=\"\" && CreatedDate!=null){\n this.FilterExportCustomerList = this.FilterExportCustomerList.filter(row=>{\n return row.CreatedDate.toLocaleLowerCase().match(CreatedDate.singleDate.formatted.toLocaleLowerCase());\n });\n }\n }\n this.FilterExportCustomerList;\n }\n\n\n showerror(){\n this.showerrormsg = true;\n }\n hideerror(){\n this.showerrormsg = false;\n }\n\n fnSortCustomerMaster(field,obj){\n\n \n if(this.lastSortedByField === field) {\n this.ascendingOrder = !this.ascendingOrder;\n\n sortTableCustomerMst(obj,this.ascendingOrder);\n }\n else {\n this.lastSortedByField = field;\n this.ascendingOrder = true;\n\n sortTableCustomerMst(obj,this.ascendingOrder);\n }\n\n if(this.ascendingOrder) {\n this.FilteredCustList = this.FilteredCustList.sort((a, b) => {\n if(field=='CreatedDate'){\n if (a[\"DateCreated\"].toLowerCase() < b[\"DateCreated\"].toLowerCase())\n return -1;\n if (a[\"DateCreated\"].toLowerCase() > b[\"DateCreated\"].toLowerCase())\n return 1;\n }\n else{\n if (a[field].toLowerCase() < b[field].toLowerCase())\n return -1;\n if (a[field].toLowerCase() > b[field].toLowerCase())\n return 1;\n }\n return 0;\n });\n } else {\n this.FilteredCustList = this.FilteredCustList.sort((a, b) => {\n if(field=='CreatedDate'){\n if (a[\"DateCreated\"].toLowerCase() > b[\"DateCreated\"].toLowerCase())\n return -1;\n if (a[\"DateCreated\"].toLowerCase() < b[\"DateCreated\"].toLowerCase())\n return 1;\n }\n else{\n if (a[field].toLowerCase() < b[field].toLowerCase())\n return 1;\n if (a[field].toLowerCase() > b[field].toLowerCase())\n return -1;\n }\n return 0;\n });\n }\n\n }\n\n omit_special_char(event)\n { \n return (event.charCode==45 || event.charCode==47 || event.charCode==46 || event.charCode == 8 || event.charCode == 0 ) ? null : event.charCode >= 48 && event.charCode <= 57;\n }\n checkValidFromDate(Name,CorpCode,State,City,Status,CreatedDate,CreatedBy){\n debugger\n var inputDate1=CreatedDate;\n var splitDate1 = inputDate1.split('-');\n var day1 = splitDate1[0];\n var month1 = splitDate1[1];\n var year1 = splitDate1[2];\n this.inputDate = month1+\"-\"+day1+\"-\"+year1;\n const FromDatechk=new Date(this.inputDate);\n\n const MaxSdate=new Date();\n if (FromDatechk > MaxSdate) {\n this.CreatedDateError = true;\n }\n else{\n this.OnSearch(Name,CorpCode,State,City,Status,CreatedDate,CreatedBy,'')\n this.CreatedDateError = false;\n }\n return this.fromDateError;\n }\n checkUncheckAllCustomer() { \n this.AllSelected=true;\n this.isActive = true;\n // this.chkValue=true;\n \n this.CustomerSelected != this.CustomerSelected;\n \n if (this.FilteredCustList.length > 0) {\n for (var i = 0; i < this.FilteredCustList.length; i++) {\n if(this.FilteredCustList[i].IsCustomerDisable != true){\n this.FilteredCustList[i].IsCustomerSelected = this.CustomerSelected; \n }\n }\n }\n else\n {\n for (var i = 0; i < this.listLengthForSelect; i++) {\n if(this.allCustomers[i].IsCustomerDisable != true){\n this.allCustomers[i].IsCustomerSelected = this.CustomerSelected; \n } \n }\n }\n \n this.getCheckedItemList();\n }\n \n isChecked(UserId,status){\n this.AllSelected=false;\n this.IsCustomerSelected != status;\n for (var i = 0; i < this.listLengthForSelect; i++) {\n this.allCustomers[i].IsCustomerSelected == this.IsCustomerSelected; \n }\n this.getCheckedItemList();\n }\n \n \n getCheckedItemList(){\n \n this.checkedList = [];\n for (var i = 0; i < this.listLengthForSelect; i++) {\n if(this.allCustomers[i].IsCustomerSelected == true)\n this.checkedList.push(this.allCustomers[i]);\n }\n this.checkedList = JSON.stringify(this.checkedList);\n \n if(this.checkedList.length > 2){\n this.BulkDelete = false;\n }\n else{\n this.BulkDelete = true;\n }\n }\n\n \nAllDeleteConfirmation(){\n this.AllDeleteShow();\n }\n Customer() {\n this._customerService.formData = {\n Status:'1',\n CustPkId: 0,\n CustomerId: '',\n BranchName: '',\n UserName: '',\n CustomerName: '',\n ContactPerson: '',\n CorporationCode: '',\n DateOfEshtablishment: '',\n EmailId: '',\n MobileNumber: '',\n Address1: '',\n Address2: '',\n CountryId: null,\n StateId: null,\n CityId: null,\n Country:'',\n State:'',\n City:'',\n Pincode: '',\n Description: '',\n lblTitle:'Add Customer Master',\n SweepChargeId:0,\n SweepChargeType:'',\n Rate:0,\n msg:'',\n CreatedBy:0,\n UpdatedBy:0, \n CreatedDate:'',\n UpdatedDate:'',\n CreatedName:'',\n UpdatedName:'',\n DateCreated:'',\n IsCustomerSelected:false,\n ReviewStatus:0,\n LoggedInUser:0,\n RequestType:'',\n SweepExecutionApproval:'',\n FundDisbursementApproval:'',\n SweepChargeStatus:'',\n SweepChargereviewstatus:0,\n }\n}\nonKeyDown(event: KeyboardEvent) {\n \n let a= (event.charCode == 8 || event.charCode == 45 || event.charCode == 0 ) ? null : event.charCode >= 48 && event.charCode <= 57;\nreturn a;\n}\n\n\n//---------------Bulk Authorize--------------------------------------------------------\n\ncheckUncheckAllBulkApproval(){\n if(this.FilterExportCustomerList.length == 0 || this.FilterExportCustomerList == null || this.FilterExportCustomerList == undefined){\n this._spinner.show();\n this._customerService.fnGetCustomerDataExport(localStorage.getItem(\"LoginUserId\")).subscribe(allcustomer =>{\n this.ExportCustomerList = allcustomer;\n for (var i = 0; i < this.ExportCustomerList.length; i++) {\n if(this.ExportCustomerList[i].CreatedBy== this._encrypt.decryptUsingAES256(localStorage.getItem('LoginUserId'))){\n this.ExportCustomerList[i].IsCustomerDisable = true;\n }\n }\n this.isComingFromCheckbox=true\n this.FilterExportCustomerList = this.ExportCustomerList;\n this.OnSearch(this._customerService.formData.CustomerName,\n this._customerService.formData.CorporationCode,\n this._customerService.formData.State,\n this._customerService.formData.City,\n this._customerService.formData.Status,\n this._customerService.formData.CreatedDate,\n this._customerService.formData.CreatedName,\n this._customerService.formData.RequestType);\n setTimeout(() => {\n this.SelectAllBulkCheckbox();\n this._spinner.hide();\n }, 500);\n },(err)=>{\n this.router.navigate([\"404\"]);\n });\n }\n else{\n this._spinner.show();\n this.isComingFromCheckbox=true;\n this.OnSearch(this._customerService.formData.CustomerName,\n this._customerService.formData.CorporationCode,\n this._customerService.formData.State,\n this._customerService.formData.City,\n this._customerService.formData.Status,\n this._customerService.formData.CreatedDate,\n this._customerService.formData.CreatedName,\n this._customerService.formData.RequestType);\n setTimeout(() => {\n this.SelectAllBulkCheckbox();\n this._spinner.hide();\n }, 500);\n }\n// this.CustomerSelected != this.CustomerSelected;\n// if (this.FilteredCustList.length > 0) {\n// for (var i = 0; i < this.FilteredCustList.length; i++) {\n// this.FilteredCustList[i].IsCustomerSelected = this.CustomerSelected; \n// }\n// }\n// if(this.CustomerSelected==true){\n// this.AddEditBulkApprovalLabel=true;\n// }\n// else{\n// this.AddEditBulkApprovalLabel=false;\n// }\n}\nSelectAllBulkCheckbox(){\n this.CustomerSelected != this.CustomerSelected; \n if (this.FilteredCustList.length > 0) {\n for (var i = 0; i < this.FilteredCustList.length; i++) {\n if(this.FilteredCustList[i].IsCustomerDisable != true){\n this.FilteredCustList[i].IsCustomerSelected = this.CustomerSelected; \n }\n }\n }\n else\n {\n for (var i = 0; i < this.listLengthForSelect; i++) {\n if(this.allCustomers[i].IsCustomerDisable != true){\n this.allCustomers[i].IsCustomerSelected = this.CustomerSelected; \n } \n }\n }\n if(this.FilterExportCustomerList.length > 0){\n for(var j=0; j{\n this.ExportCustomerList = allcustomer;\n for (var i = 0; i < this.ExportCustomerList.length; i++) {\n if(this.ExportCustomerList[i].CreatedBy== this._encrypt.decryptUsingAES256(localStorage.getItem('LoginUserId'))){\n this.ExportCustomerList[i].IsCustomerDisable = true;\n }\n }\n this.isComingFromCheckbox=true;\n this.FilterExportCustomerList = this.ExportCustomerList;\n this.OnSearch(this._customerService.formData.CustomerName,\n this._customerService.formData.CorporationCode,\n this._customerService.formData.State,\n this._customerService.formData.City,\n this._customerService.formData.Status,\n this._customerService.formData.CreatedDate,\n this._customerService.formData.CreatedName,\n this._customerService.formData.RequestType);\n setTimeout(() => {\n this.isCustomerCheckbox(CustId,status);\n this._spinner.hide();\n }, 500)\n },(err)=>{\n this.router.navigate([\"404\"]);\n });\n }\n else{\n this.isComingFromCheckbox=true;\n this.OnSearch(this._customerService.formData.CustomerName,\n this._customerService.formData.CorporationCode,\n this._customerService.formData.State,\n this._customerService.formData.City,\n this._customerService.formData.Status,\n this._customerService.formData.CreatedDate,\n this._customerService.formData.CreatedName,\n this._customerService.formData.RequestType);\n setTimeout(() => {\n this.isCustomerCheckbox(CustId,status);\n this._spinner.hide();\n }, 500);\n }\n \n\n// for (var i = 0; i < this.FilteredCustList; i++) {\n// if(this.FilteredCustList[i].IsCustomerSelected == true){\n// this.AddEditBulkApprovalLabel=false;\n// } \n// } \n}\nisCustomerCheckbox(CustId,status){\n var check=0;\n // status!= this.CustomerSelected ;\n for (var i = 0; i < this.FilteredCustList.length; i++) {\n if(this.FilteredCustList[i].CustPkId == CustId){\n this.FilteredCustList[i].IsCustomerSelected = status; \n }\n}\nfor (var j = 0; j < this.FilterExportCustomerList.length; j++) {\n if(this.FilterExportCustomerList[j].CustPkId == CustId){\n this.FilterExportCustomerList[j].IsCustomerSelected = status; \n } \n} \n\nthis.getCheckedBulkAuthorize();\n}\ngetCheckedBulkAuthorize(){\n // this.checkedBulkList = [];\n // for (var i = 0; i < this.listLengthForSelect; i++) {\n // if(this.allCustomers[i].IsCustomerSelected == true)\n // this.checkedBulkList.push(this.allCustomers[i]);\n // }\n // this.checkedList = JSON.stringify(this.checkedBulkList)\n // if(this.checkedBulkList.length >= 1){\n // this.AddEditBulkApprovalLabel=true;\n // }\n // else{\n // this.AddEditBulkApprovalLabel=false;\n // }\n debugger;\n this.checkedBulkList = [];\n for (var i = 0; i < this.FilterExportCustomerList.length; i++) {\n if(this.FilterExportCustomerList[i].IsCustomerSelected == true)\n this.checkedBulkList.push(this.FilterExportCustomerList[i]);\n }\n this.checkedList = this.checkedBulkList;\n console.log(this.checkedList);\n if(this.checkedBulkList.length >= 1){\n this.AddEditBulkApprovalLabel=true;\n }\n else{\n this.AddEditBulkApprovalLabel=false;\n }\n}\n\nApproved(){\n this.showModalForAllDelete=true;\n $(document).ready(function () {\n $('#IDshowModalForAuthorize').eq(0).focus();\n });\n this.ConfirmationMsg=\"Approve\"\n this.AuthorizeStatus=2 ;\n this._customerService.formData.Status = \"1\";\n this._customerService.formData.RequestType = \"\";\n}\n\nRejectd(){\n this.showModalForAllDelete=true;\n $(document).ready(function () {\n $('#IDshowModalForAuthorize').eq(0).focus();\n });\n this.ConfirmationMsg=\"Reject\";\n this.AuthorizeStatus=3;\n this._customerService.formData.Status = \"1\";\n this._customerService.formData.RequestType = \"\";\n}\n\nselectCustumerList:any[];\nBulkAuthorizeConfirm(){\n\n this.selectCustumerList=[];\n \n for(var i=0;i0){\n this._customerService.fnBulkAuthorize(this.selectCustumerList,localStorage.getItem('LoginUserId'),this.AuthorizeStatus).subscribe(res => { \n this.fnGetAllCustomerDetails(\"\",\"\",\"\",\"\",\"1\",\"\",\"\",\"\",\"CreatedDate_DESC\",\"1\");\n this.pageNumber = []; \n this.pageNumber[0] = true; \n this.AddEditBulkApprovalLabel=false;\n this.showModalForAllDelete=false;\n this.onTop();\n this.showMsg=true;\n this.lblMessage=\"Bulk Authorize Completed For All Selected Records Succesfully\";\n }\n ,(err)=>{\n this.router.navigate([\"404\"]);\n });\n } \n} \n//---------------Bulk Authorize--------------------------------------------------------\nCustomerAuditHistory(CustomerId){\n \n CustomerId=this._encrypt.encryptUsingAES256(CustomerId)\n let navigationExtras: NavigationExtras = {\n queryParams: {\n CustomerId\n }\n};\nthis.router.navigate([\"CustomerAuditReportById\"], navigationExtras); \n///localStorage.setItem(\"AuditCustomerId\",String(Cust.CustPkId)); \n//this.router.navigate([\"/CustomerAuditReportById\"]);\n}\n\n// Getting history privillage\nGetHistoryPrivillage(){\n this.LoginAccessList= this._login.LoginAccessList;\n this.LoginAccessList.forEach(element => {\n if(element.menuName==\"Reports\")\n {\n element.moduleList.forEach(element => {\n if(element[\"moduleName\"]=='Customer Audit Trail')\n { \n this.HistoryPrivllage=true;\n } \n });\n }\n });\n}\n\n futureDateError:boolean;\n inputDate2:Date; \n disabledsearchbtn:boolean;\ncheckDateValidity(date){ \n const mxDate = new Date();\n this.inputDate2 = date.singleDate.jsDate;\n\n if (this.inputDate2 > mxDate) {\n this.futureDateError = true;\n this.disabledsearchbtn = true;\n }\n else{\n this.futureDateError = false;\n this.disabledsearchbtn = false;\n }\n return this.futureDateError\n} \n\n// Getting customer list\nfnGetCustomerName(){\n return this._customerService.fnGetCustomerListForDropdown(\"0\",localStorage.getItem('LoginUserId')).subscribe(data =>{\n data.forEach(element => {\n this.allCustList.push(element); \n if(element[\"Status\"]=='0'){\n this.IsCustomerInActive=true;\n }\n },(err)=>{\n this.router.navigate([\"404\"]);\n });\n });\n}\n\nfnOpengearMenu(){\n $(\".icon-cog\").trigger(\"click\");\n}\nfnsubOpengearMenu(){\n $('[class=\"dropdown-menu\"]').trigger(\"click\").css('display','block');\n}\n\n\n//------------------method for pagination-------------------- \n//-------------------------pagination start------------------------------------------\n\npageNo: any = 1; \npageNumber: boolean[] = []; \nsortOrder: any = 'CreatedDate_DESC'; \norder:any='CreatedDate'; \n//Pagination Variables \n \n\npageField = []; \nexactPageList: any; \npaginationData: number; \norderBy: string='Desc'; \n\ntotalCount: any; \ncurrentPage = 1; \nComingFromLast:boolean = false;\nComingFromFirst:boolean = false;\n\ntotalNoOfPages() { \nif(this.ComingFromLast == true){\n this.pageNumber = []; \n this.pageNumber[this._PaginationService.pageNumberShow - 1] = true; \n this.ComingFromLast = false;\n}\nif(this.ComingFromFirst == true){\n this.pageNumber = []; \n this.pageNumber[0] = true;\n this.ComingFromFirst = false;\n} \nthis.filterCount = this.totalCount;\nthis.paginationData = Number(this.totalCount/this.config.itemsPerPage); \nlet tempPageData = this.paginationData.toFixed(); \nif (Number(tempPageData) < this.paginationData) { \n this.exactPageList = Number(tempPageData) + 1; \n this._PaginationService.exactPageList = this.exactPageList; \n} else { \n this.exactPageList = Number(tempPageData); \n this._PaginationService.exactPageList = this.exactPageList \n}\nif(this._PaginationService.exactPageList < 10){\n this._PaginationService.pageNumberShow = this._PaginationService.exactPageList;\n this._PaginationService.disabledPrevBtn = true;\n this._PaginationService.disabledNextBtn = true;\n}\nelse{\n this._PaginationService.pageNumberShow = 10;\n} \nthis._PaginationService.pageOnLoad(); \nthis.pageField = this._PaginationService.pageField; \n\nif(this.pageField.length < 10){\n this._PaginationService.disabledNextBtn = true;\n this._PaginationService.disabledPrevBtn = true;\n}\nthis.getCheckedBulkAuthorize();\n if (this.FilteredCustList.length!=0 && this.CheckerPrivillage==true && (this._customerService.formData.RequestType ==\"Add Approval Pending\" || this._customerService.formData.RequestType==\"Edit Approval Pending\") && (this._customerService.formData.Status ==\"2\"|| this._customerService.formData.Status ==\"\" )){\n this.BulkApprovalAuthorize=true;\n }\n else{\n this.BulkApprovalAuthorize=false;\n this.AddEditBulkApprovalLabel=false;\n }\n} \n\nshowCustomersByPageNumber(page, i,Name,CorpCode,State,City,Status,CreatedDate,CreatedBy,RequestType) { \nthis.pageNumber = []; \nthis.pageNumber[i] = true; \nthis.pageNo = page; \nthis.currentPage = page; \nif(CreatedDate == null || CreatedDate == undefined || CreatedDate == \"\")\nCreatedDate = \"\"; \nelse if (CreatedDate != null && CreatedDate!=\"\") {\nCreatedDate = this.ngbDateParserFormatter.format(CreatedDate.singleDate.date);\n}\nthis.fnGetAllCustomerDetails(Name,CorpCode,State,City,Status,CreatedDate,CreatedBy,RequestType,this.sortOrder); \nthis.pageChanged(this.pageNo); \n} \n\nshowPrevCustomers(Name,CorpCode,State,City,Status,CreatedDate,CreatedBy,RequestType) { \nif (this._PaginationService.showNoOfCurrentPage != 1) { \n this._PaginationService.pageNumberShow = 10;\n this._PaginationService.prevValue(); \n this.pageNumber = []; \n this.pageNumber[0] = true; \n this.currentPage = this._PaginationService.pageField[0]; \n this.pageNo = this._PaginationService.pageField[0];\n\n if(CreatedDate == null || CreatedDate == undefined || CreatedDate == \"\")\n CreatedDate = \"\"; \n else if (CreatedDate != null && CreatedDate!=\"\") {\n CreatedDate = this.ngbDateParserFormatter.format(CreatedDate.singleDate.date);\n }\n this.fnGetAllCustomerDetails(Name,CorpCode,State,City,Status,CreatedDate,CreatedBy,RequestType,this.sortOrder); \n this.pageChanged(this.pageNo); \n} \n} \n\nshowFirstPage(Name,CorpCode,State,City,Status,CreatedDate,CreatedBy,RequestType){ \n this._PaginationService.temppage = 10;\n this._PaginationService.pageNumberShow = 10;\n this._PaginationService.showNoOfCurrentPage = 1;\n this._PaginationService.FirstValue(); \n this.currentPage = this._PaginationService.pageField[0]; \n this.pageNo = this._PaginationService.pageField[0];\n\n if(CreatedDate == null || CreatedDate == undefined || CreatedDate == \"\")\n CreatedDate = \"\"; \n else if (CreatedDate != null && CreatedDate!=\"\") {\n CreatedDate = this.ngbDateParserFormatter.format(CreatedDate.singleDate.date);\n }\n this.fnGetAllCustomerDetails(Name,CorpCode,State,City,Status,CreatedDate,CreatedBy,RequestType,this.sortOrder); \n this.pageChanged(this.pageNo);\n this.ComingFromFirst = true;\n// } \n}\n\nshowLastPage(Name,CorpCode,State,City,Status,CreatedDate,CreatedBy,RequestType){\n\n\n// if(this._PaginationService.disabledNextBtn == false){\n\n this._PaginationService.temppage = this._PaginationService.exactPageList;\n if(this._PaginationService.exactPageList%10 == 0)\n this._PaginationService.pageNumberShow = 10;\n else \n this._PaginationService.pageNumberShow = this._PaginationService.exactPageList%10;\n\n this._PaginationService.showNoOfCurrentPage = Math.ceil(this._PaginationService.exactPageList/10);\n this._PaginationService.comingFromPreAndNext = true;\n this._PaginationService.LastValue(); \n \n this.currentPage = this._PaginationService.pageField[this._PaginationService.pageNumberShow - 1]; \n this.pageNo = this._PaginationService.pageField[this._PaginationService.pageNumberShow - 1];\n\n if(CreatedDate == null || CreatedDate == undefined || CreatedDate == \"\")\n CreatedDate = \"\"; \n else if (CreatedDate != null && CreatedDate!=\"\") {\n CreatedDate = this.ngbDateParserFormatter.format(CreatedDate.singleDate.date);\n }\n \n this.fnGetAllCustomerDetails(Name,CorpCode,State,City,Status,CreatedDate,CreatedBy,RequestType,this.sortOrder);\n this.pageChanged(this.pageNo); \n this.ComingFromLast = true;\n\n// }\n}\n\nsortByHeading(value: string, id,Name,CorpCode,State,City,Status,CreatedDate,CreatedBy,RequestType) { \nthis.sortOrder = value; \nthis.order =value; \nif (this.orderBy == \"Desc\") { \n this.orderBy = \"Asc\" \n this.sortOrder =this.sortOrder+'_ASC'; \n sortTableCustomerMst(id,true);\n} else { \n this.orderBy = \"Desc\"; \n this.sortOrder =this.sortOrder+'_DESC';\n sortTableCustomerMst(id,false); \n} \n\nif(CreatedDate == null || CreatedDate == undefined || CreatedDate == \"\")\n CreatedDate = \"\"; \n else if (CreatedDate != null && CreatedDate!=\"\") {\n CreatedDate = this.ngbDateParserFormatter.format(CreatedDate.singleDate.date);\n }\n \nthis.fnGetAllCustomerDetails(Name,CorpCode,State,City,Status,CreatedDate,CreatedBy,RequestType,this.sortOrder); \nthis.pageChanged(this.pageNo); \n\n} \n\nshowNext(Name,CorpCode,State,City,Status,CreatedDate,CreatedBy,RequestType) { \n\nif (this._PaginationService.disabledNextBtn == false) { \n this.pageNumber = []; \n this._PaginationService.nextValue(); \n this.pageNumber[0] = true; \n this.currentPage = this._PaginationService.pageField[0]; \n this.pageNo = this._PaginationService.pageField[0]; \n\n if(CreatedDate == null || CreatedDate == undefined || CreatedDate == \"\")\n CreatedDate = \"\"; \n else if (CreatedDate != null && CreatedDate!=\"\") {\n CreatedDate = this.ngbDateParserFormatter.format(CreatedDate.singleDate.date);\n }\n\n this.fnGetAllCustomerDetails(Name,CorpCode,State,City,Status,CreatedDate,CreatedBy,RequestType,this.sortOrder);\n this.pageChanged(this.pageNo); \n} \n}\n}\n\n\n\n\n\n","\n
\n
\n
\n
\n

Customer Master

\n
\n\n\n
\n
\n
\n
\n \n\n \n
\n\n\n
\n
\n ×\n Success! {{lblMessage}}\n
\n
\n\n
\n
\n ×\n {{lblMessage}}\n
\n
\n \n\n
\n
\n \n\n \n\n \n \n \n\n
\n Please Enter a valid Customer Name\n
\n
\n \n\n
\n \n \n\n
\n Please Enter a valid Corporation Code\n
\n\n
\n\n
\n \n \n
\n\n
\n \n \n
\n \n\n
\n \n \n
\n Please Enter valid Name\n
\n
\n \n
\n \n
\n \n
\n
\n
\n Please Enter a valid Date Format\n
\n\n \n\n
\n Created Date should be less than or equal to current date\n
\n
\n \n \n \n
\n
\n \n\n
\n \n \n
\n\n
\n \n \n
\n \n
\n
\n \n \n \n
\n \n \n
\n
\n\n
\n\n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n\n
\n \n
\n\n \n \n
\n
\n \n \n\n
\n
\n \n \n\n
\n
\n
\n \n
\n \n
\n \n \n \n
\n\n
\n \n \n \n \n \n \n\n \n \n \n\n \n\n \n \n \n\n \n \n \n\n \n\n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n
Customer NameCorporation CodeStateCityCharge TypeRateCreated ByCreated / Updated Date & TimeRequest TypeStatus \n \n \n Action\n \n \n
\n \n \n
\n
{{cust.CustomerName}}{{cust.CorporationCode}}{{cust.State}}{{cust.City}}{{cust.SweepChargeType}}{{cust.Rate}}{{cust.CreatedName}} {{cust.CreatedDate}}{{cust.RequestType}}{{cust.Status}} \n
\n \n
\n \n \n \n \n
\n
\n \n \n \n
\n
\n \n \n \n
\n
\n \n
\n \n
\n \n
\n \n \n
\n
\n
\n \n \n
\n
No records found.
No records found.
\n\n
\n
\n \n
\n\n
\n \n\n
\n
\n
\n \n
\n Page {{currentPage}} of Total page {{_PaginationService.exactPageList}} \n
\n \n
\n
\n
\n
\n\n
\n \" class=\"nav-link\" class=\"btn btn-primary btn-md text-white pull-right\" id=\"navbarDropdownMenuLink\" data-toggle=\"dropdown\" \n style=\"margin-top: 1.35em;margin-left: 2.5em;color:#4ad4e3;font-size: 15px;;\" aria-haspopup=\"true\" \n aria-expanded=\"false\"/>\n \n \n \n \n \n \n \n
\n\n \n
\n\n \n \n \n
\n\n
\n
\n\n\t
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Customer IdCustomer NameCorporation Code Date of EstablishmentContact PersonPhone NumberEmail IdAddress Line1CountryStateCityCharge TypeRateRequest TypeStatusCreatedByCreatedDateUpdatedByUpdatedDate
{{cust.CustomerId}}{{cust.CustomerName}}{{cust.CorporationCode}}{{cust.DateOfEshtablishment}}{{cust.ContactPerson}}{{cust.MobileNumber}}{{cust.EmailId}}{{cust.Address1}}{{cust.Country}}{{cust.State}}{{cust.City}}{{cust.SweepChargeType}}{{cust.Rate}}{{cust.RequestType}}{{cust.Status}}{{cust.CreatedName}}{{cust.CreatedDate}}{{cust.UpdatedName}}{{cust.UpdatedDate}}
\n\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Customer NameCorporation CodeStateCityCharge TypeRateCreated ByCreated Date & TimeRequest TypeStatus
{{cust.CustomerName}}{{cust.CorporationCode}}{{cust.State}}{{cust.City}}{{cust.SweepChargeType}}{{cust.Rate}}{{cust.CreatedName}}{{cust.CreatedDate}}{{cust.RequestType}}{{cust.Status}}
\n \n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Customer NameCorporation CodeStateCityCharge TypeRateCreated ByCreated Date & TimeRequest TypeStatus
{{cust.CustomerName}}{{cust.CorporationCode}}{{cust.State}}{{cust.City}}{{cust.SweepChargeType}}{{cust.Rate}}{{cust.CreatedName}}{{cust.CreatedDate}}{{cust.RequestType}}{{cust.Status}}
\n \n
\n \n\n
\n
\n
\n
\n

Confirmation

\n \n
\n
\n

Are you sure you want to delete?

\n
\n
\n \n \n
\n
\n
\n
\n \n
\n
\n
\n
\n

Confirmation

\n \n
\n
\n

Are you sure you want to {{ConfirmationMsg}} All Selected Records?

\n
\n
\n \n \n
\n
\n
\n
\n \n ","import { Component, OnInit,ViewChild, ElementRef, ViewContainerRef} from '@angular/core';\nimport { RoleMaster} from '../../MasterService/role-master';\nimport { RoleService} from '../../MasterService/role.service';\nimport { Router,NavigationExtras } from '@angular/router';\nimport {RoleAccessService}from '../../MasterService/role-access.service';\nimport{RoleAccess}from'src/app/MasterService/RoleAccess';\nimport { NgxSpinnerService } from \"ngx-spinner\";\nimport * as XLSX from 'xlsx';\nimport * as jsPDF from 'jspdf';\nimport html2Canavas from 'html2canvas';\nimport { saveAs } from 'file-saver';\nimport { IAngularMyDpOptions } from 'angular-mydatepicker';\nimport * as $ from 'jquery';\nimport { EncryptdecryptService } from 'src/app/MasterService/encryptdecrypt.service';\nimport { PaginationService } from 'src/app/Paging/pagination.service';\nimport { NgbDateParserFormatter } from '@ng-bootstrap/ng-bootstrap';\n\ndeclare var sortTableRoleMst: Function;\n\n@Component({\n selector: 'app-manage-role-master',\n templateUrl: './manage-role-master.component.html',\n styleUrls: ['./manage-role-master.component.css']\n})\nexport class ManageRoleMasterComponent implements OnInit {\n today = new Date();\n myDpOptions: IAngularMyDpOptions = {\n dateRange: false,\n dateFormat: 'dd-mm-yyyy',\n disableSince: {year: this.today.getFullYear(), month: this.today.getMonth() + 1, day: this.today.getDate() + 1}\n \n\n // other options are here...\n };\n allRoleList: any=[];\n filterRoleList: any=[];\n config: any;\n RoleAccess:RoleAccess;\n EditPriv:boolean;\n DeletePrivllage:boolean;\n AddPrivillage:boolean;\n ViewPrivllage:boolean;\n ddlshowvalue:number;\n filterfrom:string;\n showvalue:number;\n searchCount:string;\n filterCount:string;\n IsRoleInUsed:any;\n RoleInUsedMessage:string='';\n fileName:string; \n showerrormsg: boolean;\n editStatus: string;\n lastSortedByField;\n ascendingOrder = true;\n isActive: boolean;\n AllAccchk: boolean;\n showModalForAllDelete: boolean;\n DeleteCount: number=0;\n DeleteCal:boolean;\n\n // Bulk Delete fields\n RoleSelected:boolean;\n IsRoleSelected:boolean;\n checkedList:any=[];\n listLengthForSelect: 0;\n BulkDelete:boolean = true;\n AllSelected: boolean;\n ConfirmationMsg: string;\n AllDeleteCheck:boolean;\n UnCheck: boolean;\n ddlshowStartValue: number;\n ddlDropdownValue: number=50;\n\n \n constructor(public _roleService:RoleService,private router: Router,public _spinner:NgxSpinnerService\n ,private _roleAccess:RoleAccessService,public _encreptdecrept:EncryptdecryptService,\n public _PaginationService:PaginationService, private ngbDateParserFormatter: NgbDateParserFormatter) { }\n\n ngOnInit(): void {\n // If LoginUserId is null then it will return\n if(localStorage.getItem('LoginUserId')==null){\n this.router.navigate([\"\"]);\n return;\n } \n // To display header\n if(!$('.js-sticky-header').is(':visible')){\n $('.js-sticky-header').css('display','block');\n }\n \n this.RoleMaster();\n this._spinner.show();\n localStorage.removeItem('RoleDataId');\n localStorage.removeItem('RoleFlag');\n // Getting Privillage based on userid\n this.GetPrivillageRoles();\n this.onTop();\n // Getting role data from database\n \n this.config = {\n itemsPerPage: 50,\n currentPage: 1,\n };\n this.ddlshowvalue =50;\n this.ddlshowStartValue = 1;\n this.fnGetAllRole('','1','','',this.sortOrder,\"1\");\n \n // sorting table data\n sortTableRoleMst(3,false);\n //set pagination on 1\n this.pageNumber[0] = true; \n this._PaginationService.temppage = 0; \n\n }\n // On page change this event is called\n pageChanged(event) {\n this.config.currentPage = event;\n this.ddlshowvalue = this.config.currentPage*this.config.itemsPerPage;\n this.ddlshowStartValue = this.ddlshowvalue - (this.config.itemsPerPage-1);\n // if(this.filterRoleList.length<=this.ddlshowvalue)\n // this.ddlshowvalue = this.filterRoleList.length;\n }\n // Getting Privillage based on id\n GetPrivillageRoles(){ \n this._roleAccess.fnGetRoleAccess(localStorage.getItem('LoginUserId'),'/ManageRole').subscribe(roleAccess=>{ \n this.RoleAccess=roleAccess[0]; \n this.EditPriv =this.RoleAccess.EditAccess; \n this.DeletePrivllage=this.RoleAccess.DeleteAccess;\n this.AddPrivillage=this.RoleAccess.AddAccess;\n if(!this.EditPriv && this.RoleAccess.ViewAccess)\n this.ViewPrivllage=true;\n }, (err) => {\n this.router.navigate([\"404\"]);\n });\n }\n\n public iRoleId;\n showModalDelete: boolean;\n lblMessageDelete:string;\n showDelete() { this.showModalDelete = true;\n $(document).ready(function () {\n $('#IDshowModalDelete').eq(0).focus();\n });\n }\n hideDelete() { this.showModalDelete = false; }\n \n showModal:boolean;\n showMsg:boolean;\n lblMessage:string;\n EmptyDataMsg:string;\n show(){\n this.showMsg = true; \n }\n\n hidelbl(){\n this.showMsg = false;\n }\n\n showlbl(){\n this.showerrormsg = true;\n }\n\n hideerror(){\n this.showerrormsg = false;\n }\n\n NewRoleMaster() {\n this._roleService.formData = {\n roleID:0,\n roleName:'',\n Status:'0',\n isActive:'1',\n msg:'' ,\n lblTitle:'Add Role Master',\n btnTitle:'Submit',\n DateCreated:'',\n CreatedDate:'',\n CreatedName:'',\n IsRoleSelected:false\n }\n this.router.navigate(['/RoleMaster']);\n }\n\n RoleMaster() {\n this._roleService.formData = {\n roleID:0,\n roleName:'',\n Status:'Active',\n isActive:'1',\n msg:'' ,\n lblTitle:'Add Role Master',\n btnTitle:'Submit',\n DateCreated:'',\n CreatedDate:'',\n CreatedName:'',\n IsRoleSelected:false\n }\n \n }\n\n EditRole(Role: RoleMaster) {\n debugger;\n\n localStorage.setItem('RoleDataId',String(Role.roleID));\n\n localStorage.setItem('RoleDataName',String(Role.roleName));\n if(Role.isActive==\"1\"){\n this.editStatus=\"1\"\n }\n else{\n this.editStatus=\"0\";\n }\n localStorage.setItem('RoleDataStatus',String(this.editStatus));\n \n localStorage.setItem('RoleFlag','edit'); \n this.router.navigate(['/RoleMaster']);\n }\n\n ViewRole(Role: RoleMaster) {\n localStorage.setItem('RoleDataId',String(Role.roleID)); \n localStorage.setItem('RoleFlag','view'); \n this.router.navigate(['/RoleMaster']);\n }\n\n selectdeselect(){\n debugger;\n \n for (var i = 0; i < this.filterRoleList.length; i++) {\n if(this.filterRoleList[i].IsRoleDisable && this.filterRoleList[i].isActive == \"1\"){\n this.filterRoleList[i].IsRoleDisable = true;\n }\n this.filterRoleList[i].IsRoleSelected = false;\n }\n this.BulkDelete=true;\n this.RoleSelected =false; \n \n }\n\n fnGetAllRole(RoleName,IsActive,CreatedDate,Createdby,SortOrder = \"\",pageNumber=\"\"){\n debugger;\n if(pageNumber != \"\")\n this.pageNo=pageNumber;\n this._roleService.GetRolesWithStatus(\n localStorage.getItem('LoginUserId'),this.pageNo, this.config.itemsPerPage.toString(),\n RoleName,IsActive,Createdby,CreatedDate,this.sortOrder).subscribe(data=>{\n this.allRoleList = data;\n this.filterRoleList = this.allRoleList;\n \n for (var i = 0; i < this.allRoleList.length; i++) {\n if(this.allRoleList[i].IsRoleDisable && this.allRoleList[i].isActive == \"1\"){\n this.allRoleList[i].IsRoleDisable = true;\n }\n this.allRoleList[i].IsRoleSelected = false;\n }\n\n this.filterRoleList = this.allRoleList;\n this.listLengthForSelect = this.allRoleList.length;\n if(this.allRoleList.length > 0){ \n this.totalCount = this.allRoleList[0].RoleListCount;\n this.totalNoOfPages(); \n } else if(this.allRoleList.length == 0){\n this.totalCount = 0;\n this.totalNoOfPages(); \n }\n if(this.ddlDropdownValue==10 ){\n if(this.filterRoleList.length <10 ){\n this.ddlshowvalue = this.totalCount;\n }\n else if(this.filterRoleList.length==0){\n this.ddlshowvalue = 0;\n }\n }\n if(this.ddlDropdownValue== 25 ){\n if(this.filterRoleList.length < 25 ){\n this.ddlshowvalue = this.totalCount;\n }\n else if(this.filterRoleList.length==0){\n this.ddlshowvalue = 0;\n }\n }\n if(this.ddlDropdownValue== 50 || this.ddlDropdownValue==undefined){\n if(this.filterRoleList.length < 50 ){\n this.ddlshowvalue = this.totalCount;\n }\n else if(this.filterRoleList.length==0){\n this.ddlshowvalue = 0;\n }\n }\n if(this.ddlDropdownValue== 100 ){\n if(this.filterRoleList.length < 100 ){\n this.ddlshowvalue = this.totalCount;\n }\n else if(this.filterRoleList.length==0){\n this.ddlshowvalue = 0;\n }\n }\n //this.OnSearch(\"\",\"Active\",\"\",\"\");\n setTimeout(() => {\n this._spinner.hide(); \n }, 500);\n \n }, (err) => {\n this.router.navigate([\"404\"]);\n });\n }\n\n AllDeletehide(){\n this.showModalForAllDelete=false;\n this.isActive = false;\n this.AllAccchk=false;\n }\n\n AllDeleteShow(){\n if(this.AllSelected == true){\n this.ConfirmationMsg = \"Are you sure you want to delete All records?\"\n }\n\n if(this.AllSelected == false){\n this.ConfirmationMsg = \"Are you sure you want to delete selected records?\"\n }\n this.showModalForAllDelete=true;\n }\n\n AllDeleteConfirm(){\n this.filterRoleList.forEach(element => {\n if(element.IsRoleSelected == true){\n this._roleService.fnDeleteRoleDetailsById(element.roleID).subscribe(data=>{\n this._roleService.GetRolesWithStatus().subscribe(data=>{\n this.allRoleList = data;\n this.lblMessage= \"All Selected Roles Deleted Successfully\"\n this.show();\n this.onTop();\n this.AllDeletehide();\n this.fnGetAllRole('','1','','',this.sortOrder,\"1\");\n this.RoleSelected = false;\n this.BulkDelete = true;\n }, (err) => {\n this.router.navigate([\"404\"]);\n }); \n }, (err) => {\n this.router.navigate([\"404\"]);\n });\n }\n });\n}\n\n// function () {\n// this.fnGetAllRole();\n// if(this.DeleteCount == this.filterRoleList.length){\n// this.lblMessage= \"All Role Deleted Successfully\"\n// this.show();\n// this.onTop();\n// this.AllDeletehide();\n// }\n// else if(this.DeleteCount == 0 ){\n// this.showlbl();\n// this.lblMessage= \"No Role can be Deleted\";\n// this.onTop();\n// this.AllDeletehide();\n// }\n// else if(this.DeleteCount != 0 ){\n// debugger;\n// if(this.DeleteCount != this.filterRoleList.length && this.DeleteCount != 0 ){\n// this.lblMessage=\"Some of the Role Can't be deleted as they are in used\"\n// this.show();\n// this.onTop();\n// this.AllDeletehide();\n// this.fnGetAllRole();\n\n// }\n\n// }\n// }\n \n SelectAllRole(){\n debugger\n this.isActive = true;\n this.AllAccchk=true;\n if(this.filterRoleList!=0){\n this.AllDeleteShow();\n }\n //\n }\n\n DeleteRole(_roleID) {\n this.iRoleId=_roleID;\n this.lblMessageDelete = \"Are you sure you want to delete?\";\n this.showDelete(); \n}\n\nfnConfirmDelete(status){ \n debugger;\n this._roleService.fnIsRoleInUsed(this.iRoleId).subscribe(data=>{ \n this.IsRoleInUsed = data;\n if(this.IsRoleInUsed == '0'){\n //if(confirm('Are you sure you want to delete ' + _roleID)){\n this.filterRoleList.forEach(element => { \n this._roleService.fnDeleteRoleDetailsById(this.iRoleId).subscribe(data=>{\n this.allRoleList = data; \n this.lblMessage=\"Role Deleted Successfully\";\n //this.showlbl();\n this.hidelbl();\n this.hideDelete();\n this.showerrormsg = false;\n this.showMsg = true;\n this.AllDeletehide();\n this.BulkDelete = true;\n this.RoleSelected = false;\n this._roleService.formData.roleName =\"\";\n this._roleService.formData.isActive =\"1\";\n this._roleService.formData.CreatedDate =\"\";\n this._roleService.formData.CreatedName=\"\";\n this.showFirstPage(this._roleService.formData.roleName, this._roleService.formData.isActive,this._roleService.formData.CreatedDate,this._roleService.formData.CreatedName)\n this.pageNumber = [];\n this.pageNumber[0] = true;\n this.currentPage=1;\n \n }, (err) => {\n this.router.navigate([\"404\"]);\n });\n });\n }\n // this._roleService.fnDeleteRoleDetailsById(this.iRoleId).subscribe(data=>{\n // this._roleService.GetRolesWithStatus().subscribe(data=>{\n // this.allRoleList = data;\n // this.filterRoleList = this.allRoleList;\n // this.OnSearch(\"\",status,\"\",\"\");\n // setTimeout(() => {\n // this._spinner.hide(); \n // }, 500);\n \n // });\n // this.OnSearch(\"\",status);\n \n // this.hideDelete();\n // this.lblMessage=\"Role Deleted Successfully\"\n // this.RoleInUsedMessage='';\n // this.show();\n // this.onTop();\n // this.hideerror();\n \n // });\n // //}\n // }\n else\n { \n this.hideDelete();\n this.showlbl();\n this.lblMessage=\"Role is assigned to user(s), and therefore can't delete at moment.\";\n this.onTop();\n this.hidelbl();\n } \n }, (err) => {\n this.router.navigate([\"404\"]);\n });\n \n}\n// Filtering data from list\n OnSearch(roleName,status,CreatedDate,CreatedName){\n this.currentPage = 1;\n this.pageNumber = [];\n this.pageNumber[0] = true;\n this._PaginationService.comingFromPreAndNext = false;\n\n if(CreatedDate == null || CreatedDate == undefined || CreatedDate == \"\")\n CreatedDate = \"\"; \n else if (CreatedDate != null && CreatedDate!=\"\") {\n CreatedDate = this.ngbDateParserFormatter.format(CreatedDate.singleDate.date);\n }\n debugger;\n this.fnGetAllRole(roleName,status,CreatedDate,CreatedName,this.sortOrder,\"1\");\n this.pageChanged(1); \n //this.RoleSelected != this.RoleSelected;\n// debugger\n// this.pageChanged(event);\n// this.filterRoleList = this.allRoleList.filter(row=>{\n// return row.roleName.toLocaleLowerCase().match(roleName.toLocaleLowerCase());\n// });\n// this.filterRoleList = this.filterRoleList.filter(row=>{\n// return row.isActive.match(status);\n// });\n// this.filterRoleList = this.filterRoleList.filter(row=>{\n// return row.CreatedName.toLocaleLowerCase().match(CreatedName.toLocaleLowerCase());\n// });\n// if(CreatedDate!=null && CreatedDate!=\"\"){\n// this.filterRoleList = this.filterRoleList.filter(row=>{\n// return row.CreatedDate.toLocaleLowerCase().match(CreatedDate.singleDate.formatted.toLocaleLowerCase());\n// });\n// }\n \n// var j =0;\n// for (var i = 0; i < this.filterRoleList.length; i++) {\n// if(this.filterRoleList[i].IsRoleDisable){\n// j=j+1;\n// }\n// }\n// if(this.filterRoleList.length==j){\n// this.AllDeleteCheck=true;\n// this.UnCheck=false;\n// this.BulkDelete=true;\n// this.RoleSelected =false;\n \n// }\n// else{\n \n// this.AllDeleteCheck=false;\n \n// }\n// var k=0;\n// var j=0;\n// // for (var i = 0; i < this.filterRoleList.length; i++) {\n// // if(this.filterRoleList[i].IsRoleSelected && this.allRoleList[i].isActive == \"Active\"){\n// // k=k + 1;\n// // }\n// // }\n// for (var i = 0; i < this.filterRoleList.length; i++) {\n// if(this.filterRoleList[i].IsRoleDisable!=true && this.filterRoleList[i].isActive == status){\n// k=k + 1;\n// }\n// }\n// // for (var i = 0; i < this.filterRoleList.length; i++) {\n// // if(this.filterRoleList[i].IsRoleDisable!=true && this.filterRoleList[i].isActive == status){\n// // j=j + 1;\n// // }\n// // }\n// this.filterRoleList.forEach(element => {\n// // this.DeleteCount++;\n// if(element.IsRoleSelected == true){\n// j=j + 1;\n// }\n \n// });\n\n// if(k!=0 && j!=0){\n\n// if(k==j){\n// this.RoleSelected=true;\n// this.BulkDelete=false;\n// }\n// }\n\n\n\n// if (roleName !=\"\" || status !=\"\") {\n// this.ddlshowvalue=this.filterRoleList.length;\n// if (this.ddlshowvalue <= this.config.itemsPerPage) {\n// // this.ddlshowvalue = 0;\n// this.ddlshowvalue = this.ddlshowvalue;\n// this.ddlshowStartValue = 1;\n// }\n// else {\n// this.ddlshowvalue = 0;\n// this.ddlshowvalue = this.config.itemsPerPage; \n// this.ddlshowStartValue = 1;\n// }\n// // if (this.ddlshowvalue.toString() == \"100\") {\n// // this.ddlshowvalue = 0;\n// // this.ddlshowvalue = 100;\n// // }\n// // else{\n// // this.ddlshowvalue = 0;\n// // this.ddlshowvalue = this.config.itemsPerPage;\n// // }\n// // this.ddlshowStartValue = 1;\n// // this.ddlshowvalue = 0;\n// // this.ddlshowvalue = this.config.itemsPerPage; \n// this.searchCount = \"\";\n// this.searchCount = this.filterRoleList.length.toString();\n// this.filterCount = \"(filtered from \"+ this.allRoleList.length +\" total entries)\";\n// }else{\n// if (this.ddlshowvalue <= this.config.itemsPerPage) {\n// // this.ddlshowvalue = 0;\n// this.ddlshowvalue = this.ddlshowvalue;\n// this.ddlshowStartValue = 1;\n// this.searchCount = this.allRoleList.length.toString();\n// this.filterCount =\"\";\n// }\n// else {\n// this.ddlshowvalue = 0;\n// this.ddlshowvalue = this.config.itemsPerPage; \n// this.ddlshowStartValue = 1;\n// this.searchCount = this.allRoleList.length.toString();\n// this.filterCount =\"\";\n// }\n// // this.ddlshowStartValue = 1;\n// // this.ddlshowvalue = 0;\n// // this.ddlshowvalue = this.config.itemsPerPage; \n// // this.searchCount = this.allRoleList.length.toString();\n// // this.filterCount =\"\";\n// } \n// // if(this.filterRoleList.length < this.ddlshowvalue)\n// // this.showvalue = this.filterRoleList.length;\n// // else \n// // this.showvalue = this.ddlshowvalue;\n// // this.filterfrom = '(filtered from '+ this.allRoleList.length +' total entries)';\n }\n \nonTop(){\n window.scroll({\n top: 0,\n left: 0,\n behavior:'smooth'\n })\n}\n\nfnShowonchange(newObj,RoleName, isActive,CreatedDate,CreatedName){\n this.ddlDropdownValue= newObj.target.value;\n this.ddlshowvalue = 0;\n this.ddlshowvalue = newObj.target.value;\n this.currentPage= 1;\n this.ddlshowStartValue = 1;\n this.config = {\n itemsPerPage: this.ddlshowvalue,\n currentPage: 1,\n };\n this.pageNumber = [];\n this.pageNumber[0] = true;\n this._PaginationService.comingFromPreAndNext = false;\n if(CreatedDate == null || CreatedDate == undefined || CreatedDate == \"\")\n CreatedDate = \"\"; \n else if (CreatedDate != null && CreatedDate!=\"\") {\n CreatedDate = this.ngbDateParserFormatter.format(CreatedDate.singleDate.date);\n } \n this.fnGetAllRole(RoleName, isActive,CreatedDate,CreatedName,this.sortOrder,\"1\"); \n \n}\n\n// this lone for download PDF\n@ViewChild('tblRoleMaster') tblRoleMaster:ElementRef;\nfndownloadReport(ddlValue){ \n if(ddlValue === \"excel\"){\n this.fileName= 'RoleMasterReport.xlsx';\n //let element = document.getElementById('tblAccountMaster'); \n const ws: XLSX.WorkSheet = XLSX.utils.table_to_sheet(this.tblRoleMaster.nativeElement);\n\n /* generate workbook and add the worksheet */\n const wb: XLSX.WorkBook = XLSX.utils.book_new();\n XLSX.utils.book_append_sheet(wb, ws, 'Sheet1');\n\n /* save to file */\n XLSX.writeFile(wb, this.fileName);\n }\n \n if(ddlValue === \"pdf\"){\n this.fileName = 'RoleMasterReport.pdf';\n var data = document.getElementById('tblRoleMaster'); \n html2Canavas(data).then(canvas => { \n // Few necessary setting options \n var imgWidth = 208; \n var pageHeight = 295; \n var imgHeight = canvas.height * imgWidth / canvas.width; \n var heightLeft = imgHeight; \n\n const contentDataURL = canvas.toDataURL('image/png') \n let pdf = new jsPDF('p', 'mm', 'a4'); // A4 size page of PDF \n var position = 0; \n pdf.addImage(contentDataURL, 'PNG', 0, position, imgWidth, imgHeight) \n pdf.save(this.fileName); // Generated PDF \n }); \n }\n\n if(ddlValue === \"rtf\"){\n this.fileName = 'RoleMasterReport.rtf';\n var ele = document.getElementById('tblRoleMaster');\n var blob = new Blob([\"\"+ele.innerHTML+\"
\"], {\n type: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8\"\n });\n saveAs(blob, this.fileName);\n }\n\n if(ddlValue === \"html\"){\n this.fileName = 'RoleMasterReport.html'; \n var ele = document.getElementById('tblRoleMaster');\n var blob = new Blob([\"\"+ele.innerHTML+\"
\"], {\n type: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8\"\n });\n saveAs(blob, this.fileName);\n }\n} // fun closing\n\nfnSortRoleMaster(field,obj){\n\n debugger;\n if(this.lastSortedByField === field) {\n this.ascendingOrder = !this.ascendingOrder;\n\n sortTableRoleMst(obj,this.ascendingOrder);\n }\n else {\n this.lastSortedByField = field;\n this.ascendingOrder = true;\n\n sortTableRoleMst(obj,this.ascendingOrder);\n }\n\n if(this.ascendingOrder) {\n this.filterRoleList = this.filterRoleList.sort((a, b) => {\n if(field=='CreatedDate'){\n if (a[\"DateCreated\"].toLowerCase() < b[\"DateCreated\"].toLowerCase())\n return -1;\n if (a[\"DateCreated\"].toLowerCase() > b[\"DateCreated\"].toLowerCase())\n return 1;\n }\n else{\n if (a[field].toLowerCase() < b[field].toLowerCase())\n return -1;\n if (a[field].toLowerCase() > b[field].toLowerCase())\n return 1;\n }\n return 0;\n });\n } else {\n this.filterRoleList = this.filterRoleList.sort((a, b) => {\n if(field=='CreatedDate'){\n if (a[\"DateCreated\"].toLowerCase() > b[\"DateCreated\"].toLowerCase())\n return -1;\n if (a[\"DateCreated\"].toLowerCase() < b[\"DateCreated\"].toLowerCase())\n return 1;\n }\n else{\n if (a[field].toLowerCase() < b[field].toLowerCase())\n return 1;\n if (a[field].toLowerCase() > b[field].toLowerCase())\n return -1;\n }\n return 0;\n });\n }\n\n}\n\n//bulk delete\ncheckUncheckAllRole() {\ndebugger;\nthis.AllSelected=true;\n this.isActive = true;\n // this.chkValue=true;\n\n this.RoleSelected != this.RoleSelected;\n\n if (this.filterRoleList.length > 0) {\n for (var i = 0; i < this.filterRoleList.length; i++) {\n if(this.filterRoleList[i].IsRoleDisable != true){\n this.filterRoleList[i].IsRoleSelected = this.RoleSelected; \n }\n }\n }\n else\n {\n for (var i = 0; i < this.listLengthForSelect; i++) {\n if(this.allRoleList[i].IsRoleDisable != true){\n this.allRoleList[i].IsRoleSelected = this.RoleSelected; \n }\n }\n }\n\n this.getCheckedItemList();\n}\n\nisChecked(roleID,status){\n debugger;\n this.AllSelected=false;\n this.IsRoleSelected != status;\n for (var i = 0; i < this.listLengthForSelect; i++) {\n this.allRoleList[i].IsRoleSelected == this.IsRoleSelected; \n}\n this.getCheckedItemList();\n}\n\n\ngetCheckedItemList(){\n this.checkedList = [];\n for (var i = 0; i < this.listLengthForSelect; i++) {\n if(this.allRoleList[i].IsRoleSelected == true)\n this.checkedList.push(this.allRoleList[i]);\n }\n this.checkedList = JSON.stringify(this.checkedList);\n\n if(this.checkedList.length > 2){\n this.BulkDelete = false;\n \n }\n else{\n this.BulkDelete = true;\n \n\n }\n}\n\nAllDeleteConfirmation(){\n this.AllDeleteShow();\n}\n\nonKeyDown(event: KeyboardEvent) {\n debugger;\n let a= (event.charCode == 8 || event.charCode == 45 || event.charCode == 0 ) ? null : event.charCode >= 48 && event.charCode <= 57;\nreturn a;\n}\n\n//--------------------Pagination Start --------------------------------------\npageNo: any = 1; \npageNumber: boolean[] = []; \nsortOrder: any = 'CreatedDate_DESC'; \norder:any='CreatedDate';\n\npageField = []; \nexactPageList: any; \npaginationData: number; \norderBy: string='Desc'; \n\ntotalCount: any; \ncurrentPage = 1; \nComingFromLast:boolean = false;\nComingFromFirst:boolean = false;\n\ntotalNoOfPages() { \n debugger;\n if(this.ComingFromLast == true){\n this.pageNumber = []; \n this.pageNumber[this._PaginationService.pageNumberShow - 1] = true; \n this.ComingFromLast = false;\n }\n if(this.ComingFromFirst == true){\n this.pageNumber = []; \n this.pageNumber[0] = true;\n this.ComingFromFirst = false;\n } \n this.filterCount = this.totalCount;\n this.paginationData = Number(this.totalCount/this.config.itemsPerPage); \n let tempPageData = this.paginationData.toFixed(); \n if (Number(tempPageData) < this.paginationData) { \n this.exactPageList = Number(tempPageData) + 1; \n this._PaginationService.exactPageList = this.exactPageList; \n } else { \n this.exactPageList = Number(tempPageData); \n this._PaginationService.exactPageList = this.exactPageList \n }\n if(this._PaginationService.exactPageList < 10){\n // this._PaginationService.temppage = 0;\n this._PaginationService.pageNumberShow = this._PaginationService.exactPageList;\n this._PaginationService.disabledPrevBtn = true;\n this._PaginationService.disabledNextBtn = true;\n }\n else{\n // this._PaginationService.temppage = 0;\n this._PaginationService.pageNumberShow = 10;\n } \n this._PaginationService.pageOnLoad(); \n this.pageField = this._PaginationService.pageField; \n\n if(this.pageField.length < 10){\n this._PaginationService.disabledNextBtn = true;\n this._PaginationService.disabledPrevBtn = true;\n }\n} \n\nsortByHeading(value: string, id, RoleName, isActive,CreatedDate,CreatedName) { \n debugger;\n this.sortOrder = value; \n this.order =value; \n if (this.orderBy == \"Desc\") { \n this.orderBy = \"Asc\" \n this.sortOrder =this.sortOrder+'_ASC'; \n sortTableRoleMst(id,true);\n } else { \n this.orderBy = \"Desc\"; \n this.sortOrder =this.sortOrder+'_DESC';\n sortTableRoleMst(id,false); \n } \n if(CreatedDate == null || CreatedDate == undefined || CreatedDate == \"\")\n CreatedDate = \"\"; \n else if (CreatedDate != null && CreatedDate!=\"\") {\n CreatedDate = this.ngbDateParserFormatter.format(CreatedDate.singleDate.date);\n }\n\n this.fnGetAllRole(RoleName, isActive,CreatedDate,CreatedName,this.sortOrder); \n this.pageChanged(this.pageNo); \n\n} \n\nshowFirstPage(RoleName, isActive,CreatedDate,CreatedName){\n // if (this._PaginationService.showNoOfCurrentPage != 1) { \n this._PaginationService.temppage = 10;\n this._PaginationService.pageNumberShow = 10;\n this._PaginationService.showNoOfCurrentPage = 1;\n this._PaginationService.FirstValue(); \n // this.pageNumber = []; \n // this.pageNumber[0] = true; \n this.currentPage = this._PaginationService.pageField[0]; \n this.pageNo = this._PaginationService.pageField[0];\n if(CreatedDate == null || CreatedDate == undefined || CreatedDate == \"\")\n CreatedDate = \"\"; \n else if (CreatedDate != null && CreatedDate!=\"\") {\n CreatedDate = this.ngbDateParserFormatter.format(CreatedDate.singleDate.date);\n }\n this.fnGetAllRole(RoleName, isActive,CreatedDate,CreatedName,this.sortOrder); \n this.pageChanged(this.pageNo);\n this.ComingFromFirst = true;\n // } \n}\n\nshowPrevAccounts(RoleName, isActive,CreatedDate,CreatedName) { \n if (this._PaginationService.showNoOfCurrentPage != 1) { \n this._PaginationService.pageNumberShow = 10;\n this._PaginationService.prevValue(); \n this.pageNumber = []; \n this.pageNumber[0] = true; \n this.currentPage = this._PaginationService.pageField[0]; \n this.pageNo = this._PaginationService.pageField[0];\n if(CreatedDate == null || CreatedDate == undefined || CreatedDate == \"\")\n CreatedDate = \"\"; \n else if (CreatedDate != null && CreatedDate!=\"\") {\n CreatedDate = this.ngbDateParserFormatter.format(CreatedDate.singleDate.date);\n }\n this.fnGetAllRole(RoleName, isActive,CreatedDate,CreatedName,this.sortOrder); \n this.pageChanged(this.pageNo); \n } \n\n}\n\nshowAccountsByPageNumber(page, i,RoleName, isActive,CreatedDate,CreatedName) { \n //this.FilteredUserList = []; \n this.pageNumber = []; \n this.pageNumber[i] = true; \n this.pageNo = page; \n this.currentPage =page; \n if(CreatedDate == null || CreatedDate == undefined || CreatedDate == \"\")\n CreatedDate = \"\"; \n else if (CreatedDate != null && CreatedDate!=\"\") {\n CreatedDate = this.ngbDateParserFormatter.format(CreatedDate.singleDate.date);\n }\n \n this.fnGetAllRole(RoleName, isActive,CreatedDate,CreatedName,this.sortOrder); \n this.pageChanged(this.pageNo); \n} \n\nshowNext(RoleName, isActive,CreatedDate,CreatedName) { \n\n if (this._PaginationService.disabledNextBtn == false) { \n this.pageNumber = []; \n this._PaginationService.nextValue(); \n this.pageNumber[0] = true; \n this.currentPage = this._PaginationService.pageField[0]; \n this.pageNo = this._PaginationService.pageField[0];\n if(CreatedDate == null || CreatedDate == undefined || CreatedDate == \"\")\n CreatedDate = \"\"; \n else if (CreatedDate != null && CreatedDate!=\"\") {\n CreatedDate = this.ngbDateParserFormatter.format(CreatedDate.singleDate.date);\n } \n this.fnGetAllRole(RoleName, isActive,CreatedDate,CreatedName,this.sortOrder); \n this.pageChanged(this.pageNo); \n } \n} \n\nshowLastPage(RoleName, isActive,CreatedDate,CreatedName){\n //if(this._PaginationService.disabledNextBtn == false){\n \n this._PaginationService.temppage = this._PaginationService.exactPageList;\n if(this._PaginationService.exactPageList%10 == 0)\n this._PaginationService.pageNumberShow = 10;\n else \n this._PaginationService.pageNumberShow = this._PaginationService.exactPageList%10;\n \n this._PaginationService.showNoOfCurrentPage = Math.ceil(this._PaginationService.exactPageList/10);\n this._PaginationService.comingFromPreAndNext = true;\n this._PaginationService.LastValue(); \n \n this.currentPage = this._PaginationService.pageField[this._PaginationService.pageNumberShow - 1]; \n this.pageNo = this._PaginationService.pageField[this._PaginationService.pageNumberShow - 1];\n if(CreatedDate == null || CreatedDate == undefined || CreatedDate == \"\")\n CreatedDate = \"\"; \n else if (CreatedDate != null && CreatedDate!=\"\") {\n CreatedDate = this.ngbDateParserFormatter.format(CreatedDate.singleDate.date);\n }\n this.fnGetAllRole(RoleName, isActive,CreatedDate,CreatedName,this.sortOrder); \n this.pageChanged(this.pageNo); \n this.ComingFromLast = true;\n // }\n}\n\n\n}\n","
\n
\n
\n
\n

\n Role Master\n

\n
\n
\n\n
\n

\n
\n
\n ×\n {{lblMessage}}.\n
\n
\n\n
\n
\n ×\n Success! {{lblMessage}}.\n
\n
\n
\n \n \n\n
\n
{{ RoleInUsedMessage }}
\n\n
\n \n \n
\n\n
\n
\n \n
\n\n
\n \n
\n \n
\n \n
\n
\n
\n Please Enter a valid Date Format\n
\n
\n
\n \n \n
\n \n \n
\n \n Search\n \n\n \n
\n\n \n
\n
\n
\n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n
\n \n
\n\n
\n \n
\n\n
\n \n
\n
\n \n \n
\n
\n\n
\n \n \n \n \n \n \n \n \n \n\n \n\n \n \n \n \n \n \n \n \n \n \n\n \n\n \n \n \n \n \n \n
\n Role Name\n Status\n Created By\n Created / Updated Date & Time\n \n Action\n \n
{{ _role.roleName }}{{ _role.isActive }}{{_role.CreatedName}}{{_role.CreatedDate}}\n
\n \n \n \n
\n \n \n \n \n \n \n \n\n \n
No records found.
\n
\n
\n
\n
\n \n\n
\n
\n
\n \n
\n Page {{currentPage}} of Total page {{_PaginationService.exactPageList}} \n
\n\n
\n
\n
\n
\n\n \n\n \n\n\n \n
\n \n
\n
\n
\n\n\n
\n
\n
\n

Confirmation

\n \n ×\n \n
\n
\n {{ lblMessageDelete }}\n
\n\n
\n \n\n \n
\n
\n
\n\n\n
\n
\n
\n
\n

Confirmation

\n \n
\n
\n

{{ConfirmationMsg}}

\n
\n
\n \n \n
\n
\n
\n
\n\n\n","import { Component, OnInit,ViewChild, ElementRef, ViewContainerRef } from '@angular/core';\nimport { FormGroup , FormControl, FormControlName} from '@angular/forms';\nimport { Observable } from 'rxjs';\nimport { UserService } from '../../MasterService/user.service';\nimport { UserMaster } from '../../MasterService/user-master';\nimport {Router, NavigationExtras} from \"@angular/router\";\nimport {RoleAccessService}from '../../MasterService/role-access.service';\nimport{RoleAccess}from'src/app/MasterService/RoleAccess';\nimport { NgxSpinnerService } from \"ngx-spinner\";\nimport * as XLSX from 'xlsx';\nimport * as jsPDF from 'jspdf';\nimport html2Canavas from 'html2canvas';\nimport { saveAs } from 'file-saver';\nimport { IAngularMyDpOptions } from 'angular-mydatepicker';\nimport { LoginService } from 'src/app/MasterService/Login.service';\nimport { FooterBarComponent } from 'angular-mydatepicker/lib/components/footer-bar/footer-bar.component';\nimport * as CryptoJS from 'crypto-js';\nimport * as $ from 'jquery';\nimport{EncryptdecryptService} from 'src/app/MasterService/encryptdecrypt.service';\nimport { PaginationService } from 'src/app/Paging/pagination.service';\nimport { NgbDateParserFormatter } from '@ng-bootstrap/ng-bootstrap';\n\ndeclare var sortTableUserMst:Function;\n\n@Component({\n selector: 'app-manage-user-master',\n templateUrl: './manage-user-master.component.html',\n styleUrls: ['./manage-user-master.component.css']\n})\nexport class ManageUserMasterComponent implements OnInit {\n today = new Date();\n myDpOptions: IAngularMyDpOptions = {\n dateRange: false,\n dateFormat: 'dd-mm-yyyy',\n disableSince: {year: this.today.getFullYear(), month: this.today.getMonth() + 1, day: this.today.getDate() + 1}\n\n // other options are here...\n };\n allUsers:any =[];\n\n FilteredUserList :any =[];\n\n UserModel :UserMaster;\n\n showModal:boolean;\n\n Roles:any=[];Roles2:any=[];\n showMsg:boolean;\n lblMessage:string;\n RoleAccess:RoleAccess;\n config: any;\n EditPriv:boolean;\n DeletePrivllage:boolean;\n AddPrivillage:boolean;\n ViewPrivllage:boolean;\n AddExportAccess:boolean;\n PrivillageImportExportdv:boolean;\n MappingPriv:boolean;\n ddlshowStartValue:number;\n ddlshowvalue:number;\n searchCount:string;\n filterCount:string;\n filterfrom:string;\n showvalue:number;\n password:string;\n AddImportAccess:boolean;\n checkerAccess:boolean;\n showerrormsg:boolean;\n fileName:string;\n\n lastSortedByField;\n ascendingOrder = true;\n isActive: boolean;\n\n showModalForAllDelete:boolean;\n chkValue: boolean;\n\n // Bulk Delete fields\n UserSelected:boolean;\n IsUserSelected:boolean;\n checkedList:any=[];\n listLengthForSelect: 0;\n BulkDelete:boolean = true;\n \n LoginAccessList: any;\n HistoryPrivllage: boolean;\n AllSelected: boolean;\n ConfirmationMsg: string;\n futureDateError:boolean;\n inputDate:Date; \n disabledsearchbtn:boolean;\n maxDate:object;\n UserStatus: string; \n///bulk authorize---\nBulkApprovalAuthorize:boolean;\n CheckerPrivillage: boolean;\n AddEditBulkApprovalLabel: boolean;\n AuthorizeStatus: number;\n checkedBulkList: any[];\n dateForExportSearch: any;\n ddlDropdownValue: any;\n IsComingFromExport: boolean=false;\n constructor(public _userService:UserService,private router: Router,private _roleAccess:RoleAccessService,\n private _spinner:NgxSpinnerService,public _login: LoginService,private _encrypt:EncryptdecryptService\n , public _PaginationService:PaginationService, private ngbDateParserFormatter: NgbDateParserFormatter) {}\n\n\n // Declare this key and iv values in declaration\n private key = CryptoJS.enc.Utf8.parse('MAKV2SPBNI992121');\n private iv = CryptoJS.enc.Utf8.parse('MAKV2SPBNI992121');\n\n decryptUsingAES256(decString) {\n var decrypted = CryptoJS.AES.decrypt(decString, this.key, {\n keySize: 128 / 8,\n iv: this.iv,\n mode: CryptoJS.mode.CBC,\n padding: CryptoJS.pad.Pkcs7\n }); \n return decrypted.toString(CryptoJS.enc.Utf8);\n }\n\n ngOnInit(): void {\n // If LoginUserId is null then it will return\n if(localStorage.getItem('LoginUserId')==null){\n this.router.navigate([\"\"]);\n return;\n }\n// To display header\n if(!$('.js-sticky-header').is(':visible')){\n $('.js-sticky-header').css('display','block');\n }\n \n this.UsreMaster();\n this._spinner.show();\n localStorage.removeItem('UserDataId');\n\n this.onTop();\n// Getting Privillage based on userid\n this.GetPrivillageRoles();\n // Getting user data from database\n //this.fnGetAllUserDetails();\n \n this.config = {\n itemsPerPage: 10,\n currentPage: 1,\n };\n this.ddlshowvalue =10;\n this.ddlshowStartValue = 1;\n // sorting table data\n sortTableUserMst(7,false); \n this.pageNumber[0] = true; \n this._PaginationService.temppage = 0; \n }\n GetHistoryPrivillage(){\n this.LoginAccessList= this._login.LoginAccessList;\n this.LoginAccessList.forEach(element => {\n if(element.menuName==\"Reports\")\n {\n element.moduleList.forEach(element => {\n if(element[\"moduleName\"]=='User Audit Trail')\n { \n this.HistoryPrivllage=true;\n } \n });\n }\n });\n \n // if(this.LoginAccessList[4].menuName==\"Reports\")\n // {\n // this.LoginAccessList[4].moduleList.forEach(element => {\n // if(element[\"moduleName\"]=='User Audit Trail')\n // { \n // this.HistoryPrivllage=true;\n // } \n // });\n // }\n}\n\n// Getting Privillage based on id\n GetPrivillageRoles(){ \n this._roleAccess.fnGetRoleAccess(localStorage.getItem('LoginUserId'),this.router.url).subscribe(roleAccess=>{ \n this.RoleAccess=roleAccess[0]; \n this.CheckerPrivillage = roleAccess[0].CheckerAccess; \n this.EditPriv =this.RoleAccess.EditAccess; \n this.DeletePrivllage=this.RoleAccess.DeleteAccess;\n this.AddPrivillage=this.RoleAccess.AddAccess;\n this.MappingPriv=this.RoleAccess.MappingPriv;\n this.AddImportAccess = this.RoleAccess.AddImportAccess;\n this.AddExportAccess=this.RoleAccess.AddExportAccess;\n if(this.AddImportAccess || this.AddExportAccess){\n this.PrivillageImportExportdv=true;\n }\n else{\n this.PrivillageImportExportdv=false;\n \n }\n this.checkerAccess=this.RoleAccess.CheckerAccess;\n if(!this.EditPriv && this.RoleAccess.ViewAccess)\n this.ViewPrivllage=true;\n // Getting user data from database\n this.fnGetAllUserDetails('','','','1','','','','',this.sortOrder,\"1\");\n //this.UserListForExport();\n }\n , (err) => {\n this.router.navigate([\"404\"]);\n }); \n }\n //-----Get UserData for Export----------------\n ExportUsers:any = [];\n FilterExportUsers: any = [];\n // UserListForExport(){\n // this._userService.fnGetUserListForExport(localStorage.getItem('LoginUserId')).subscribe(Users=>{\n // this.ExportUsers = Users;\n // this.FilterExportUsers = Users;\n // this.FilterExportUsers = this.FilterExportUsers.filter(row=>{\n // return row.IsActive== \"Active\";\n // });\n // for(var i = 0; i < this.ExportUsers.length; i++){\n // if(this.ExportUsers[i].CreatedBy== this.decryptUsingAES256(localStorage.getItem('LoginUserId'))){\n // this.ExportUsers[i].IsUserDisabled = true;\n // }\n // this.ExportUsers[i].RoleName=this.decryptUsingAES256(this.ExportUsers[i].RoleName);\n // this.ExportUsers[i].RoleNames=this.decryptUsingAES256(this.ExportUsers[i].RoleNames);\n // }\n // });\n // }\n \n NewUser() { \n localStorage.setItem('UserId', JSON.stringify(0));\n localStorage.setItem('UserDataId',this._encrypt.encryptUsingAES256(JSON.stringify(0)) );\n this._userService.formData = {\n UserId:\"0\",\n RoleId:null,\n FirstName:'',\n MiddleName:'',\n LastName:'',\n Password:'',\n CnfrmPassword:'',\n Gender:'',\n BirthDate:null,\n EmailId:'',\n MobileNumber:'',\n AltMobileNumber:'',\n TransactionLimit:'',\n Address:'',\n AltAddress:'',\n CountryId:0,\n StateId:0,\n CityId:0,\n IsActive:'null',\n Pincode:'',\n limit:0,\n UserType:'1',\n BankCorpUser:null,\n BranchUser:null,\n CreatedBy:0,\n UpdatedBy:0,\n lblTitle:'Add User Master',\n btnTitle:'Submit',\n msg:'',\n CreatedDate:'',\n DateCreated:'',\n CreatedName:'',\n UpdatedDate:'',\n UpdatedName:'',\n UserTypedesc:'',\n UserTypeName:'',\n IsUserSelected:false,\n reviewStatus:'2',RoleName:''\n ,\n formatedBithDate:'',\n RoleNames:'',\n CustomerName:'',\n BranchName:'',\n RequestType:'',\n UserlistCount:0\n }\n this.router.navigate(['/UserMaster']);\n }\n UsreMaster() { \n this._userService.formData = {\n UserId:\"0\",\n RoleId:null,\n FirstName:'',\n MiddleName:'',\n LastName:'',\n Password:'',\n CnfrmPassword:'',\n Gender:'',\n BirthDate:null,\n EmailId:'',\n MobileNumber:'',\n AltMobileNumber:'',\n TransactionLimit:'',\n Address:'',\n AltAddress:'',\n CountryId:0,\n StateId:0,\n CityId:0,\n IsActive:'1',\n Pincode:'',\n limit:0,\n UserType:'1',\n BankCorpUser:null,\n BranchUser:null,\n CreatedBy:0,\n UpdatedBy:0,\n lblTitle:'',\n btnTitle:'Submit',\n msg:'',\n CreatedDate:'',\n DateCreated:'',\n CreatedName:'',\n UpdatedDate:'',\n UpdatedName:'',\n UserTypedesc:'',\n UserTypeName:'',\n IsUserSelected:false,\n reviewStatus:'2',RoleName:''\n ,\n formatedBithDate:'',\n RoleNames:'',\n CustomerName:'',\n BranchName:'',\n RequestType:'',\n UserlistCount:0\n\n }\n\n }\n\n EditUserDetails(User: UserMaster) {\n localStorage.setItem('localUserId', JSON.stringify(User.UserId));\n localStorage.setItem('UserDataId',String( User.UserId));\n localStorage.setItem('UserViewMode',String(\"edit\"));\n \n this._userService.formData = User;\n // this._userService.GetDecryptPassword( this._userService.formData.Password).subscribe(data=>{ \n // this.password = data.toString();\n // this._userService.formData.Password = this.password;\n // this._userService.formData.CnfrmPassword = this.password;\n // });\n this.router.navigate(['/UserMaster']);\n // User.lblTitle = \"Edit User Master\";\n // User.btnTitle = \"Update\";\n // if(User.IsActive == \"Inactive\"){\n // User.IsActive = \"0\";\n // }\n // else{\n // User.IsActive = \"1\";\n // }\n\n // this._userService.fnGetRoleByUserId(User.UserId).subscribe(role=>{\n // this.Roles = role;\n // this.Roles.forEach(element => {\n // this.Roles2.push(element[\"RoleId\"]);\n // });\n // User.RoleId = this.Roles2;\n // });\n\n // this._userService.GetDecryptPassword(User.Password).subscribe(data=>{ \n // this.password = data.toString();\n // User.Password = this.password;\n // User.CnfrmPassword = this.password;\n // });\n \n //this._userService.formData = User; \n \n }\n\n viewUserDetails(User: UserMaster) { \n\n localStorage.setItem('UserDataId',String( User.UserId));\n // User.lblTitle = \"View User Master\";\n // User.btnTitle = \"View\";\n // if(User.IsActive == \"Inactive\"){\n // User.IsActive = \"0\";\n // }\n // else{\n // User.IsActive = \"1\";\n // }\n\n // this._userService.fnGetRoleByUserId(User.UserId).subscribe(role=>{\n // this.Roles = role;\n // this.Roles.forEach(element => {\n // this.Roles2.push(element[\"RoleId\"]);\n // });\n // User.RoleId = this.Roles2;\n // });\n \n // this._userService.formData = User;\n let viewMode='view';\n let navigationExtras: NavigationExtras = {\n queryParams: {\n viewMode\n }\n };\n if(viewMode == 'view'){\n this.router.navigate([\"UserMaster\"], navigationExtras);\n } \n }\n// Getting user data from database\n fnGetAllUserDetails(UserName,Email,Phone,Status,date,usertype,requestType,CreatedBy,SortOrder = \"\",pageNumber=\"\"){\n if(pageNumber != \"\")\n this.pageNo=pageNumber;\n this._userService.fnGetUserData(localStorage.getItem('LoginUserId'),\"0\",this.pageNo,\n this.config.itemsPerPage.toString(),UserName,Email,Phone,usertype,CreatedBy,date,\n requestType,Status,this.sortOrder).subscribe(allUsers=>{ \n this.allUsers = allUsers;\n\n \n // if(this.allUsers[0].ErrorMsg != \"\"){\n // this.showMsg = false;\n // this.showerrormsg = true;\n // //this.lblMessage = 'An error occured.';\n // this.onTop();\n // this.router.navigate([\"404\"]);\n // return;\n \n // }\n // this._userService.fnGetUserData(localStorage.getItem('LoginUserId')).subscribe(allUsers=>{ \n // this.allUsers = allUsers;\n // if(this.allUsers[0].ErrorMsg != \"\"){\n // this.showMsg = false;\n // this.showerrormsg = true;\n // //this.lblMessage = 'An error occured.';\n // this.onTop();\n // this.router.navigate([\"404\"]);\n // return;\n \n // }\n // else{ \n // this.allUsers.forEach(element => {\n // if(element[\"UserType\"] == \"1\")\n // this.mappingPriv = true;\n // else\n // this.mappingPriv = false;\n // });\n for (var i = 0; i < this.allUsers.length; i++) {\n \n if(this.allUsers[i].CreatedBy== this.decryptUsingAES256(localStorage.getItem('LoginUserId'))){\n this.allUsers[i].IsUserDisabled = true;}\n // this.allUsers[i].IsUserSelected = false;\n this.allUsers[i].RoleName=this.decryptUsingAES256(this.allUsers[i].RoleName);\n this.allUsers[i].RoleNames=this.decryptUsingAES256(this.allUsers[i].RoleNames);\n if(this.checkedList.length > 0){ \n for (var j = 0; j < this.checkedList.length; j++) {\n if(this.checkedList[j].UserId == this.allUsers[i].UserId){\n this.allUsers[i].IsUserSelected = true; \n } \n }} \n if(this.allUsers[i].IsActive == \"Pending\" && this.allUsers[i].RequestType == \"Edit Approval Pending\" && this.allUsers[i].RoleNames!=\"\"){\n this.allUsers[i].RoleName = this.allUsers[i].RoleNames;\n }\n\n if(this.allUsers[i].IsActive == \"Pending\")\n this.allUsers[i].IsAuthorizeDisable = false;\n else\n this.allUsers[i].IsAuthorizeDisable = true;\n \n if(this.decryptUsingAES256(allUsers[i].UserId) == localStorage.getItem('LoginUserId')){ \n this.allUsers[i].loggedInUserDisable = true;\n }\n else if(this.allUsers[i].reviewStatus == 1 || this.allUsers[i].reviewStatus==4){\n this.allUsers[i].loggedInUserDisable = true;\n }\n else if(this.allUsers[i].reviewStatus ==7 && (!this.CheckerPrivillage || this.allUsers[i].CreatedBy == this.decryptUsingAES256(localStorage.getItem('LoginUserId')))){\n this.allUsers[i].loggedInUserDisable = true;\n }\n else{this.allUsers[i].loggedInUserDisable=false;}\n }\n this.FilteredUserList = this.allUsers;\n this.listLengthForSelect = this.allUsers.length;\n if(this.allUsers.length > 0){ \n this.totalCount = this.allUsers[0].UserlistCount;\n this.totalNoOfPages(); \n } \n else if(this.allUsers.length==0){\n this.totalCount = 0;\n this.totalNoOfPages();\n } \n // this.OnSearch(\"\",\"\",\"\",\"Active\",\"\",\"\",\"\",\"\");\n this.GetHistoryPrivillage(); \n //------page Listing Meassage-----------------\n if(this.ddlDropdownValue==10 || this.ddlDropdownValue==undefined){\n if(this.FilteredUserList.length<10 ){\n this.ddlshowvalue = this.totalCount;\n }\n else if(this.FilteredUserList.length==0){\n this.ddlshowvalue = 0;\n }\n }\n if(this.ddlDropdownValue==25){\n if(this.FilteredUserList.length<25 ){\n this.ddlshowvalue = this.totalCount;\n }\n else if(this.FilteredUserList.length==0){\n this.ddlshowvalue = 0;\n }\n }\n if(this.ddlDropdownValue==50){\n if(this.FilteredUserList.length<50 ){\n this.ddlshowvalue = this.totalCount;\n }\n else if(this.FilteredUserList.length==0){\n this.ddlshowvalue = 0;\n }\n }\n if(this.ddlDropdownValue==100){\n if(this.FilteredUserList.length<100){\n this.ddlshowvalue = this.totalCount;\n }\n else if(this.FilteredUserList.length==0){\n this.ddlshowvalue = 0;\n }\n }\n // ----checker side Bulk Authorize---------------------------\n this.getCheckedBulkAuthorize();\n if (this.FilteredUserList.length!=0 && this.CheckerPrivillage==true && \n (this._userService.formData.RequestType==\"1\" || this._userService.formData.RequestType==\"4\") &&\n (this._userService.formData.IsActive==\"2\" || this._userService.formData.IsActive==\"\")){\n this.BulkApprovalAuthorize=true;\n }\n else{\n this.BulkApprovalAuthorize=false;\n this.AddEditBulkApprovalLabel=false;\n }\n // ----End checker side Bulk Authorize---------------------------\n \n });\n setTimeout(() => {\n this._spinner.hide(); \n }, 500,(err)=>{\n this.router.navigate([\"404\"]);\n });\n }\n\n public NavigateToManageAccess(id) {\n let navigationExtras: NavigationExtras = {\n queryParams: {\n id\n }\n }; \n this.router.navigate([\"ManageAccess\"], navigationExtras); \n}\n\nNavigateToCustomerMapping(id,name){\n let navigationExtras: NavigationExtras = {\n queryParams: {\n id,name\n }\n};\nthis.router.navigate([\"CustomerMapping\"], navigationExtras); \n}\n\nDeleteUserMasterById(User: UserMaster) {\n this.UserModel = User;\n this.UserStatus=User.IsActive;\n this.show();\n}\ndisplaySuccessOrWarning:number;\nDeleteConfirm(){\n // if(this.UserStatus==\"Pending\"){\n // this.lblDeleteMessage= \"You can not delete User. It has been sent for review\";//\"Holiday Deleted Successfully\"\n // this.showDeletelbl();\n // this.hide();\n // this.onTop();\n // }\n // else{\n this._userService.fnDeleteUserMasterDetails(this.UserModel.UserId,localStorage.getItem('LoginUserId')).subscribe(res=>{ \n // this.displaySuccessOrWarning=+res.toString();\n // if(this.displaySuccessOrWarning==0){\n // this.lblDeleteMessage=\"Deleted User has been sent for checker review.\";\n // this.showDeletelbl();\n // this.hidelbl();\n // }\n // else{\n // this.lblMessage=\"User Deleted Successfully.\";\n // this.showlbl();\n // }\n this.lblMessage = res.toString();\n if(res == 'User Deleted Successfully.')\n {\n this.showDeleteMsg = false;\n this.showMsg = true;\n }\n else {\n this.showMsg = false;\n this.showDeleteMsg = true;\n }\n this.pageNumber = [];\n this.pageNumber[0] = true;\n this.currentPage=1;\n this._userService.formData.FirstName=\"\",this._userService.formData.EmailId=\"\",\n this._userService.formData.MobileNumber=\"\",this._userService.formData.UserTypedesc=\"\",\n this._userService.formData.CreatedName=null,this._userService.formData.CreatedDate=\"\",\n this._userService.formData.RequestType=\"\",this._userService.formData.IsActive=\"1\";\n this.showFirstPage(this._userService.formData.FirstName,\n this._userService.formData.EmailId,this._userService.formData.MobileNumber,\n this._userService.formData.IsActive,this._userService.formData.CreatedDate,\n this._userService.formData.UserTypedesc,this._userService.formData.RequestType,\n this._userService.formData.CreatedName);\n \n\n this.hide();\n this._userService.formData.RequestType = \"\";\n this._userService.formData.IsActive = \"1\";\n \n this.onTop();\n },\n (err)=>{\n this.router.navigate([\"404\"]);\n });\n // }\n}\n\n// Scroll function\nonTop(){\n window.scroll({\n top: 0,\n left: 0,\n behavior:'smooth'\n })\n}\npageChanged(event) {\n this.config.currentPage = event;\n this.ddlshowvalue = this.config.currentPage*this.config.itemsPerPage;\n this.ddlshowStartValue = this.ddlshowvalue - (this.config.itemsPerPage-1);\n\n // if(this.FilteredUserList.length<=this.ddlshowvalue)\n // this.ddlshowvalue = this.FilteredUserList.length;\n}\n\nshow() { this.showModal = true;\n $(document).ready(function () {\n $('#IDshowModal').eq(0).focus();\n });}\nhide() { this.showModal = false; }\nshowlbl(){\n this.showMsg = true;\n}\nhidelbl(){\n this.showMsg = false;\n}\nshowDeleteMsg:boolean;\nshowDeletelbl(){\n this.showDeleteMsg = true;\n}\nhideDeletelbl(){\n this.showDeleteMsg = false;\n}\n\n AllDeletehide(){this.showModalForAllDelete=false;\n this.isActive = false;\n this.chkValue=false;\n }\n\n AllDeleteShow(){\n if(this.AllSelected==true){\n this.ConfirmationMsg=\"Are you sure you want to delete All records?\"\n }\n if(this.AllSelected==false){\n this.ConfirmationMsg=\"Are you sure you want to delete selected records?\"\n }\n this.showModalForAllDelete=true\n }\n lblDeleteMessage:string;\n AllDeleteConfirm(){\n this.FilteredUserList.forEach(element => {\n if(element.IsUserSelected == true){\n this._userService.fnDeleteUserMasterDetails(element.UserId,localStorage.getItem('LoginUserId')).subscribe(res=>{\n this.fnGetAllUserDetails('','','','1','','','','',this.sortOrder,\"1\");\n this.hide();\n \n if(this.checkerAccess){\n this.lblMessage=\"All Selected Users Deleted Successfully\"\n this.showlbl();\n }\n else{\n this.lblDeleteMessage=\"All Selected Users are sent for review to checker\"\n this.showDeletelbl();\n }\n \n \n this.onTop();\n this.AllDeletehide();\n this.BulkDelete = true;\n this.UserSelected = false;\n }\n ,(err)=>{\n this.router.navigate([\"404\"]);\n });\n }\n });\n }\n\nAllDeleteConfirmation(){\n this.AllDeleteShow();\n }\n\ncheckUncheckAllUser() {\n this.AllSelected=true;\n this.isActive = true;\n // this.chkValue=true;\n\n this.UserSelected != this.UserSelected;\n\n if (this.FilteredUserList.length > 0) {\n for (var i = 0; i < this.FilteredUserList.length; i++) {\n this.FilteredUserList[i].IsUserSelected = this.UserSelected; \n }\n }\n else\n {\n for (var i = 0; i < this.listLengthForSelect; i++) {\n this.allUsers[i].IsUserSelected = this.UserSelected; \n }\n }\n\n this.getCheckedItemList();\n}\n\nisChecked(UserId,status){\n this.AllSelected=false;\n this.IsUserSelected != status;\n for (var i = 0; i < this.listLengthForSelect; i++) {\n this.allUsers[i].IsUserSelected == this.IsUserSelected; \n}\n this.getCheckedItemList();\n}\n\nUserAuditHistory(UserId){\n let navigationExtras: NavigationExtras = {\n queryParams: {\n UserId\n }\n};\nthis.router.navigate([\"UserAuditReportById\"], navigationExtras); \n// localStorage.setItem(\"AuditUserId\",String(User.UserId)); \n // this.router.navigate(['/UserAuditReport']);\n}\ngetCheckedItemList(){\n this.checkedList = [];\n for (var i = 0; i < this.listLengthForSelect; i++) {\n if(this.allUsers[i].IsUserSelected == true)\n this.checkedList.push(this.allUsers[i]);\n }\n this.checkedList = JSON.stringify(this.checkedList);\n\n if(this.checkedList.length > 2){\n this.BulkDelete = false;\n }\n else{\n this.BulkDelete = true;\n }\n}\n\n// Filtering data from list\nOnSearch(UserName,Email,Phone,Status,date,usertype,requestType,CreatedBy){\n this._spinner.show();\n this.pageNumber = [];\n this.pageNumber[0] = true;\n this._PaginationService.comingFromPreAndNext = false;\n this.dateForExportSearch=date;\n if(date == null || date == undefined || date == \"\")\n date = \"\"; \n else if (date != null && date!=\"\") {\n date = this.ngbDateParserFormatter.format(date.singleDate.date);\n }\n if(this.IsComingFromExport == false){ \n this.fnGetAllUserDetails(UserName,Email,Phone,Status,date,usertype,requestType,CreatedBy,this.sortOrder,\"1\");\n this.pageChanged(1); \n }\n if(this.IsComingFromExport == true){\n this.FilterExportUsers = this.ExportUsers.filter(row=>{\n return row.FirstName.toLocaleLowerCase().match(UserName.toLocaleLowerCase());\n });\n this.FilterExportUsers = this.FilterExportUsers.filter(row=>{\n return row.EmailId.toLocaleLowerCase().match(Email.toLocaleLowerCase());\n });\n this.FilterExportUsers = this.FilterExportUsers.filter(row=>{\n return row.MobileNumber.toLocaleLowerCase().match(Phone.toLocaleLowerCase());\n });\n if(date!=null && date!=\"\"){\n this.FilterExportUsers = this.FilterExportUsers.filter(row=>{\n return row.CreatedDate.toLocaleLowerCase().match(this.dateForExportSearch.singleDate.formatted.toLocaleLowerCase());\n });\n }\n if(Status !=\"\"){\n if(Status == \"1\") { Status = \"Active\"; } else if(Status == \"2\") {Status = \"Pending\"; } else{ Status = \"Inactive\"; }\n this.FilterExportUsers = this.FilterExportUsers.filter(row => {\n return row.IsActive == Status;\n });\n }\n else{\n this.FilterExportUsers = this.FilterExportUsers.filter(row=>{\n return row.IsActive.match(Status);\n });\n }\n if(requestType == \"1\") { requestType = \"Add Approval Pending\"; } \n else if(requestType == \"2\") {requestType = \"Add Approved\"; }\n else if(requestType == \"3\") {requestType = \"Add Rejected\"; } \n else if(requestType == \"4\") {requestType = \"Edit Approval Pending\"; }\n else if(requestType == \"5\") {Status = \"Edit Approved\"; }\n else if(requestType == \"6\") {requestType = \"Edit Rejected\"; }\n else if(requestType == \"7\") { requestType = \"Delete Approval Pending\"; } \n else if(requestType == \"8\") {requestType = \"Delete Approved\"; }\n else if(requestType == \"9\") {requestType = \"Delete Rejected\"; }\n this.FilterExportUsers=this.FilterExportUsers.filter(row=>{\n return row.RequestType.toLocaleLowerCase().match(requestType.toLocaleLowerCase());\n });\n if(usertype == \"1\") { usertype = \"Bank User\"; } \n else if(usertype == \"2\") {usertype = \"Corporate User\"; } \n else if(usertype == \"3\") {usertype = \"Branch User\"; }\n this.FilterExportUsers = this.FilterExportUsers.filter(row=>{\n return row.UserTypedesc.match(usertype);\n });\n this.FilterExportUsers=this.FilterExportUsers.filter(row=>{\n return row.CreatedName.toLocaleLowerCase().match(CreatedBy.toLocaleLowerCase());\n });\n this.IsComingFromExport = false;\n } \n// if(!UserName && !Email && !Phone && !Status && !usertype && (!date || date==null) && !requestType && !CreatedBy) {\n// this.FilteredUserList = this.allUsers;\n// } \n// else{\n// this.FilteredUserList = this.allUsers.filter(row=>{\n// return row.UserName.toLocaleLowerCase().match(UserName.toLocaleLowerCase());\n// });\n// this.FilteredUserList = this.FilteredUserList.filter(row=>{\n// return row.EmailId.toLocaleLowerCase().match(Email.toLocaleLowerCase());\n// });\n// this.FilteredUserList = this.FilteredUserList.filter(row=>{\n// return row.MobileNumber.toLocaleLowerCase().match(Phone.toLocaleLowerCase());\n// });\n// if(date!=null && date!=\"\"){\n// this.FilteredUserList = this.FilteredUserList.filter(row=>{\n// return row.CreatedDate.toLocaleLowerCase().match(date.singleDate.formatted.toLocaleLowerCase());\n// });\n// }\n// // this.FilteredUserList = this.FilteredUserList.filter(row=>{\n// // return row.State.toLocaleLowerCase().match(State.toLocaleLowerCase());\n// // });\n \n// this.FilteredUserList = this.FilteredUserList.filter(row=>{\n// return row.IsActive.match(Status);\n// });\n// this.FilteredUserList=this.FilteredUserList.filter(row=>{\n// return row.RequestType.toLocaleLowerCase().match(requestType.toLocaleLowerCase());\n// });\n// this.FilteredUserList = this.FilteredUserList.filter(row=>{\n// return row.UserTypedesc.match(usertype);\n// });\n// this.FilteredUserList=this.FilteredUserList.filter(row=>{\n// return row.CreatedName.toLocaleLowerCase().match(CreatedBy.toLocaleLowerCase());\n// });\n// }\n// // if(this.FilteredUserList.length < this.ddlshowvalue)\n// // this.showvalue = this.FilteredUserList.length;\n// // else \n// // this.showvalue = this.ddlshowvalue;\n// // this.filterfrom = '(filtered from '+ this.allUsers.length +' total entries)';\n// if (UserName !=\"\" || Email !=\"\" || Phone != \"\" || Status != \"\" || date !=\"\" || usertype !=\"\" || requestType !=\"\" || CreatedBy !=\"\") {\n// this.ddlshowvalue=this.FilteredUserList.length;\n// if (this.ddlshowvalue <= this.config.itemsPerPage) {\n// // this.ddlshowvalue = 0;\n// this.ddlshowvalue = this.FilteredUserList.length;\n// this.ddlshowStartValue = 1;\n// }\n// else {\n// this.ddlshowvalue = 0;\n// this.ddlshowvalue = this.config.itemsPerPage;\n// this.ddlshowStartValue = 1;\n// }\n// // this.ddlshowStartValue=1;\n// // this.ddlshowvalue = 0;\n// // this.ddlshowvalue = this.config.itemsPerPage;\n// this.searchCount = \"\";\n// this.searchCount = this.FilteredUserList.length;\n// this.filterCount = \"(filtered from \"+ this.allUsers.length +\" total entries)\";\n// }\n// else{\n// if (this.ddlshowvalue <= this.config.itemsPerPage) {\n// // this.ddlshowvalue = 0;\n// this.ddlshowvalue = this.ddlshowvalue;\n// this.ddlshowStartValue = 1;\n// this.searchCount = this.allUsers.length.toString();\n// this.filterCount =\"\";\n// }\n// else {\n// this.ddlshowvalue = 0;\n// this.ddlshowvalue = this.config.itemsPerPage; \n// this.ddlshowStartValue = 1;\n// this.searchCount = this.allUsers.length.toString();\n// this.filterCount =\"\";\n// }\n\n// // this.ddlshowStartValue = 1;\n// // this.ddlshowvalue = 0;\n// // this.ddlshowvalue = this.config.itemsPerPage;\n// // // this.ddlshowvalue = this.config.currentPage*this.config.itemsPerPage;\n// // //this.ddlshowStartValue = this.ddlshowvalue - (this.config.itemsPerPage-1);\n// // this.searchCount = this.allUsers.length;\n// // this.filterCount =\"\";\n// }debugger;\n// this.getCheckedBulkAuthorize();\n// if (this.FilteredUserList.length!=0 && this.CheckerPrivillage==true && (requestType==\"Add Approval Pending\" || requestType==\"Edit Approval Pending\") && (Status==\"Pending\" || Status==\"\")){\n// this.BulkApprovalAuthorize=true;\n// }\n// else{\n// this.BulkApprovalAuthorize=false;\n// this.AddEditBulkApprovalLabel=false;\n// }\n}\nUncheckAllcheckbox(){\n this.UserSelected=false;\n this.AddEditBulkApprovalLabel=false;\n for (var i = 0; i < this.FilteredUserList.length; i++) {\n this.FilteredUserList[i].IsUserSelected = false;\n //this.checkedBulkList.push(this.allUsers[i]);\n }\n for (var i = 0; i < this.FilterExportUsers.length; i++) {\n this.FilterExportUsers[i].IsUserSelected = false;\n //this.checkedBulkList.push(this.allUsers[i]);\n }\n // this.checkedList = JSON.stringify(this.checkedBulkList);\n\n}\n//---------pagination dropdown---------------------------------\nfnShowonchange(newObj,UserName,Email,Phone,Status,date,usertype,requestType,CreatedBy){\n this.ddlDropdownValue= newObj.target.value;\n this.ddlshowvalue = newObj.target.value;\n this.ddlshowStartValue = 1;\n this.currentPage = 1;\n this.config = {\n itemsPerPage: this.ddlshowvalue,\n currentPage: 1,\n };\n this.pageNumber = [];\n this.pageNumber[0] = true;\n this._PaginationService.comingFromPreAndNext = false;\n if(date == null || date == undefined || date == \"\")\n date = \"\"; \n else if (date != null && date!=\"\") {\n date = this.ngbDateParserFormatter.format(date.singleDate.date);\n }\n this.fnGetAllUserDetails(UserName,Email,Phone,Status,date,usertype,requestType,CreatedBy,this.sortOrder,\"1\");\n}\n\nhideerror(){\n this.showerrormsg = false;\n}\n\n//navigate to upload user\nAddbullkUser() {\n \n this.router.navigate(['/UploadBullkUser']);\n}\n\n// this lone for download PDF\n@ViewChild('tblUserMasterhide') tblUserMasterhide:ElementRef;\nfndownloadReport(ddlValue){ \n if(this.FilterExportUsers.length == 0 || this.FilterExportUsers == null || this.FilterExportUsers == undefined){\n this._spinner.show(); \n this._userService.fnGetUserListForExport(localStorage.getItem('LoginUserId')).subscribe(Users=>{\n this.ExportUsers = Users;\n for(var i = 0; i < this.ExportUsers.length; i++){ \n this.ExportUsers[i].RoleName=this.decryptUsingAES256(this.ExportUsers[i].RoleName);\n this.ExportUsers[i].RoleNames=this.decryptUsingAES256(this.ExportUsers[i].RoleNames);\n }\n this.FilterExportUsers = this.ExportUsers;\n this.IsComingFromExport = true;\n this.OnSearch( this._userService.formData.FirstName, this._userService.formData.EmailId,this._userService.formData.MobileNumber,\n this._userService.formData.IsActive, this._userService.formData.CreatedDate, this._userService.formData.UserTypedesc,\n this._userService.formData.RequestType, this._userService.formData.CreatedName);\n setTimeout(() => {\n this.ExportForUser(ddlValue);\n this._spinner.hide();\n }, 500);\n },(err)=>{\n this.router.navigate([\"404\"]);\n }); \n}\nelse{\n this._spinner.show();\n this.IsComingFromExport = true;\n this.OnSearch( this._userService.formData.FirstName, this._userService.formData.EmailId,this._userService.formData.MobileNumber,\n this._userService.formData.IsActive, this._userService.formData.CreatedDate, this._userService.formData.UserTypedesc,\n this._userService.formData.RequestType, this._userService.formData.CreatedName);\n setTimeout(() => {\n this.ExportForUser(ddlValue);\n this._spinner.hide();\n }, 500);\n }\n} // fun closing\n\nExportForUser(ddlValue){\n if(ddlValue === \"excel\"){\n this.fileName= 'UserMasterReport.xlsx';\n //let element = document.getElementById('tblAccountMaster'); \n const ws: XLSX.WorkSheet = XLSX.utils.table_to_sheet(this.tblUserMasterhide.nativeElement);\n\n /* generate workbook and add the worksheet */\n const wb: XLSX.WorkBook = XLSX.utils.book_new();\n XLSX.utils.book_append_sheet(wb, ws, 'Sheet1');\n\n /* save to file */\n XLSX.writeFile(wb, this.fileName);\n }\n \n // if(ddlValue === \"pdf\"){\n // this._spinner.show();\n // debugger\n // this.fileName = 'UserMasterReport.pdf';\n // $(\"#dvUserMasterhide\").css(\"display\", \"block\");\n // var data = document.getElementById('tblUserMasterhide'); \n // html2Canavas(data).then(canvas => { \n // // Few necessary setting options \n // var imgWidth = 208; \n // var pageHeight = 295; \n // var imgHeight = canvas.height * imgWidth / canvas.width; \n // var heightLeft = imgHeight; \n // setTimeout(function(){\n // $(\"#dvUserMasterhide\").css(\"display\", \"none\"); \n // }, 100);\n // const contentDataURL = canvas.toDataURL('image/png') \n // let pdf = new jsPDF('p', 'mm', 'a4'); // A4 size page of PDF \n // var position = 0; \n // pdf.addImage(contentDataURL, 'PNG', 0, position, imgWidth, imgHeight) \n // pdf.save(this.fileName); // Generated PDF \n // this._spinner.hide();\n // }); \n // }\n\n if(ddlValue === \"rtf\"){\n this.fileName = 'UserMasterReport.rtf';\n var ele = document.getElementById('tblUserMasterhidertf');\n var blob = new Blob([\"

User Master's Report.


\"+ele.innerHTML+\"
\"], {\n type: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8\"\n });\n saveAs(blob, this.fileName);\n }\n\n if(ddlValue === \"html\"){\n this.fileName = 'UserMasterReport.html'; \n var ele = document.getElementById('tblUserMasterhide');\n var blob = new Blob([\"

User Master's Report.


\"+ele.innerHTML+\"
\"], {\n type: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8\"\n });\n saveAs(blob, this.fileName);\n }\n}\n\n@ViewChild('tblUserMasterhidepdf', {static: false}) tblUserMasterhidepdf: ElementRef;\nfndownloadReportPdf(ddlValue){\n if(this.FilterExportUsers.length == 0 || this.FilterExportUsers == null || this.FilterExportUsers == undefined){\n this._spinner.show(); \n this._userService.fnGetUserListForExport(localStorage.getItem('LoginUserId')).subscribe(Users=>{\n this.ExportUsers = Users;\n for(var i = 0; i < this.ExportUsers.length; i++){ \n this.ExportUsers[i].RoleName=this.decryptUsingAES256(this.ExportUsers[i].RoleName);\n this.ExportUsers[i].RoleNames=this.decryptUsingAES256(this.ExportUsers[i].RoleNames);\n }\n this.FilterExportUsers = this.ExportUsers;\n this.IsComingFromExport = true;\n this.OnSearch( this._userService.formData.FirstName, this._userService.formData.EmailId,this._userService.formData.MobileNumber,\n this._userService.formData.IsActive, this._userService.formData.CreatedDate, this._userService.formData.UserTypedesc,\n this._userService.formData.RequestType, this._userService.formData.CreatedName);\n setTimeout(() => {\n this.ExportUserPDF(ddlValue);\n this._spinner.hide();\n }, 500);\n },(err)=>{\n this.router.navigate([\"404\"]);\n }); \n}\nelse{\n this._spinner.show(); \n this.IsComingFromExport = true;\n this.OnSearch( this._userService.formData.FirstName, this._userService.formData.EmailId,this._userService.formData.MobileNumber,\n this._userService.formData.IsActive, this._userService.formData.CreatedDate, this._userService.formData.UserTypedesc,\n this._userService.formData.RequestType, this._userService.formData.CreatedName);\n setTimeout(() => {\n this.ExportUserPDF(ddlValue);\n this._spinner.hide();\n }, 500);\n}\n}\nExportUserPDF(ddlValue){\n if(ddlValue === \"pdf\"){\n let DATA = this.tblUserMasterhidepdf.nativeElement;\n var ele = document.getElementById('tblUserMasterhidepdf');\n let doc = new jsPDF('l','mm',[2700,1300]);\n var blob = new Blob([], {\n });\n let handleElement = {\n '#editor':function(element,renderer){\n return true;\n }\n };\n doc.fromHTML(\"

User Master's Report.


\"+DATA.innerHTML+\"
\",15,15,{\n 'width':1300,\n 'elementHandlers': handleElement\n });\n doc.save('UserMasterReport.pdf');\n \n }\n}\n// Sorting user master data\nfnSortUserMaster(field,obj) {\n debugger;\n if(this.lastSortedByField === field) {\n this.ascendingOrder = !this.ascendingOrder;\n\n sortTableUserMst(obj,this.ascendingOrder);\n }\n else {\n this.lastSortedByField = field;\n this.ascendingOrder = true;\n\n sortTableUserMst(obj,this.ascendingOrder);\n }\n\n if(this.ascendingOrder) {\n this.FilteredUserList = this.FilteredUserList.sort((a, b) => {\n if(field ==='CreatedDate'){\n if (a[\"DateCreated\"].toLowerCase() < b[\"DateCreated\"].toLowerCase())\n return -1;\n if (a[\"DateCreated\"].toLowerCase() > b[\"DateCreated\"].toLowerCase())\n return 1;\n }\n else{\n if (a[field].toLowerCase() < b[field].toLowerCase())\n return -1;\n if (a[field].toLowerCase() > b[field].toLowerCase())\n return 1;\n }\n });\n } else {\n this.FilteredUserList = this.FilteredUserList.sort((a, b) => {\n if(field ==='CreatedDate'){\n if (a[\"DateCreated\"].toLowerCase() > b[\"DateCreated\"].toLowerCase())\n return -1;\n if (a[\"DateCreated\"].toLowerCase() < b[\"DateCreated\"].toLowerCase())\n return 1;\n }\n else{\n if (a[field].toLowerCase() > b[field].toLowerCase())\n return -1;\n if (a[field].toLowerCase() < b[field].toLowerCase())\n return 1;\n }\n });\n }\n}\n\nonKeyDown(event: KeyboardEvent) {\n let a= (event.charCode == 8 || event.charCode == 45 || event.charCode == 0 ) ? null : event.charCode >= 48 && event.charCode <= 57;\nreturn a;\n}\n\n\ncheckDateValidity(date){ \n const mxDate = new Date();\n this.inputDate = date.singleDate.jsDate;\n \n if (this.inputDate > mxDate) {\n this.futureDateError = true;\n this.disabledsearchbtn = true;\n }\n else{\n this.futureDateError = false;\n this.disabledsearchbtn = false;\n }\n return this.futureDateError\n } \n //---------------Bulk Authorize--------------------------------------------------------\n checkUncheckAllBulkApproval(){\n if(this.FilterExportUsers.length == 0 || this.FilterExportUsers == null || this.FilterExportUsers == undefined){\n this._spinner.show(); \n this._userService.fnGetUserListForExport(localStorage.getItem('LoginUserId')).subscribe(Users=>{\n this.ExportUsers = Users;\n for(var i = 0; i < this.ExportUsers.length; i++){\n if(this.ExportUsers[i].CreatedBy== this.decryptUsingAES256(localStorage.getItem('LoginUserId'))){\n this.ExportUsers[i].IsUserDisabled = true;\n }\n }\n this.FilterExportUsers = this.ExportUsers;\n this.IsComingFromExport = true;\n this.OnSearch( this._userService.formData.FirstName, this._userService.formData.EmailId,this._userService.formData.MobileNumber,\n this._userService.formData.IsActive, this._userService.formData.CreatedDate, this._userService.formData.UserTypedesc,\n this._userService.formData.RequestType, this._userService.formData.CreatedName);\n setTimeout(() => {\n this.ExportAllCheckbox();\n this._spinner.hide();\n }, 500);\n },(err)=>{\n this.router.navigate([\"404\"]);\n }); \n }\n else{\n this._spinner.show();\n this.IsComingFromExport = true;\n this.OnSearch( this._userService.formData.FirstName, this._userService.formData.EmailId,this._userService.formData.MobileNumber,\n this._userService.formData.IsActive, this._userService.formData.CreatedDate, this._userService.formData.UserTypedesc,\n this._userService.formData.RequestType, this._userService.formData.CreatedName);\n setTimeout(() => {\n this.ExportAllCheckbox();\n this._spinner.hide();\n }, 500);\n }\n\n// if (this.FilteredUserList.length > 0) {\n// for (var i = 0; i < this.FilteredUserList.length; i++) {\n// this.FilteredUserList[i].IsUserSelected = this.UserSelected; \n// }\n// }\n// if(this.UserSelected==true){\n// this.AddEditBulkApprovalLabel=true;\n// }\n// else{\n// this.AddEditBulkApprovalLabel=false;\n// }\n}\nExportAllCheckbox(){\n this.UserSelected != this.UserSelected;\n if (this.FilteredUserList.length > 0) {\n for (var i = 0; i < this.FilteredUserList.length; i++) {\n if(this.FilteredUserList[i].IsUserDisabled != true){\n this.FilteredUserList[i].IsUserSelected = this.UserSelected; \n }\n }\n }\n else\n {\n for (var i = 0; i < this.listLengthForSelect; i++) {\n if(this.allUsers[i].IsUserDisabled != true){\n this.allUsers[i].IsUserSelected = this.UserSelected; \n }\n }\n }\n if (this.FilterExportUsers.length > 0) {\n for (var j = 0; j < this.FilterExportUsers.length; j++) {\n if(this.FilterExportUsers[j].IsUserDisabled != true){\n this.FilterExportUsers[j].IsUserSelected = this.UserSelected; \n }\n }\n }\n else\n {\n for (var j = 0; j < this.ExportUsers.length; j++) {\n if(this.ExportUsers[j].IsUserDisabled != true){\n this.ExportUsers[j].IsUserSelected = this.UserSelected; \n }\n }\n }\nthis.getCheckedBulkAuthorize();\n}\nIsBulkAutherizeCheck(UserId,status){\n if(this.FilterExportUsers.length == 0 || this.FilterExportUsers == null || this.FilterExportUsers == undefined){\n this._spinner.show(); \n this._userService.fnGetUserListForExport(localStorage.getItem('LoginUserId')).subscribe(Users=>{\n this.ExportUsers = Users;\n for(var i = 0; i < this.ExportUsers.length; i++){\n if(this.ExportUsers[i].CreatedBy== this.decryptUsingAES256(localStorage.getItem('LoginUserId'))){\n this.ExportUsers[i].IsUserDisabled = true;\n }\n }\n this.FilterExportUsers = this.ExportUsers;\n this.IsComingFromExport = true;\n this.OnSearch( this._userService.formData.FirstName, this._userService.formData.EmailId,this._userService.formData.MobileNumber,\n this._userService.formData.IsActive, this._userService.formData.CreatedDate, this._userService.formData.UserTypedesc,\n this._userService.formData.RequestType, this._userService.formData.CreatedName);\n setTimeout(() => {\n this.ExportOneCheckbox(UserId,status);\n this._spinner.hide();\n }, 500);\n },(err)=>{\n this.router.navigate([\"404\"]);\n }); \n}\nelse{\n this._spinner.show();\n this.IsComingFromExport = true;\n this.OnSearch( this._userService.formData.FirstName, this._userService.formData.EmailId,this._userService.formData.MobileNumber,\n this._userService.formData.IsActive, this._userService.formData.CreatedDate, this._userService.formData.UserTypedesc,\n this._userService.formData.RequestType, this._userService.formData.CreatedName);\n setTimeout(() => {\n this.ExportOneCheckbox(UserId,status);\n this._spinner.hide();\n }, 500);\n }\n //status!= this.UserSelected ;\n \n// for (var i = 0; i < this.listLengthForSelect; i++) {\n// if(this.FilteredUserList[i].IsUserSelected == true){\n// this.AddEditBulkApprovalLabel=true;\n// } \n// }\n} \nExportOneCheckbox(UserId,status){\n for (var i = 0; i < this.FilteredUserList.length; i++) {\n if(this.FilteredUserList[i].UserId==UserId){\n this.FilteredUserList[i].IsUserSelected = status; \n }\n} \nfor (var j = 0; j < this.FilterExportUsers.length; j++) {\n if(this.FilterExportUsers[j].UserId==UserId){\n this.FilterExportUsers[j].IsUserSelected = status; \n }\n} \nthis.getCheckedBulkAuthorize();\n} \ngetCheckedBulkAuthorize(){\n // this.checkedBulkList = [];\n // for (var i = 0; i < this.listLengthForSelect; i++) {\n // if(this.allUsers[i].IsUserSelected == true)\n // this.checkedBulkList.push(this.allUsers[i]);\n // }\n // this.checkedList = JSON.stringify(this.checkedBulkList);\n\n // if(this.checkedBulkList.length >= 1){\n // this.AddEditBulkApprovalLabel=true; }\n // else{\n // this.AddEditBulkApprovalLabel=false;\n // }\n this.checkedBulkList = [];\n for (var i = 0; i < this.FilterExportUsers.length; i++) {\n if(this.FilterExportUsers[i].IsUserSelected == true)\n this.checkedBulkList.push(this.FilterExportUsers[i]);\n }\n this.checkedList = this.checkedBulkList;\n if(this.checkedBulkList.length >= 1){\n this.AddEditBulkApprovalLabel=true; }\n else{\n this.AddEditBulkApprovalLabel=false;\n }\n}\nApproved(){\n \n this.showModalForAllDelete=true;\n $(document).ready(function () {\n $('#IDshowModalForAuthorize').eq(0).focus();\n });\n this.ConfirmationMsg=\"Approve\"\n this.AuthorizeStatus=2;\n this._userService.formData.RequestType = \"\";\n this._userService.formData.IsActive = \"1\";\n}\n\nRejectd(){\n this.showModalForAllDelete=true;\n $(document).ready(function () {\n $('#IDshowModalForAuthorize').eq(0).focus();\n });\n this.ConfirmationMsg=\"Reject\";\n this.AuthorizeStatus=3;\n this._userService.formData.RequestType = \"\";\n this._userService.formData.IsActive = \"1\";\n}\nselectUserList:any[];\nBulkAuthorizeConfirm(){\n \n this.selectUserList=[];\n \n for(var i=0;i0){\n this._userService.fnBulkUserAuthorize(this.selectUserList,localStorage.getItem('LoginUserId'),this.AuthorizeStatus).subscribe(res => { \n this.fnGetAllUserDetails('','','','1','','','','',this.sortOrder,\"1\");\n this.pageNumber=[];\n this.pageNumber[0] = true; \n this.AddEditBulkApprovalLabel=false;\n this.showModalForAllDelete=false;\n this.onTop();\n this.showMsg=true;\n this.lblMessage=\"Bulk Authorize Completed For All Selected Records Succesfully\";\n //this.lblMessage=\"All Account Deleted Successfully except Account Number used in Other Master. \n }\n ,(err)=>{\n this.router.navigate([\"404\"]);\n });\n } \n} \n//---------------Bulk Authorize-------------------------------------------------------- \n\nfnOpengearMenu(){\n $(\".icon-cog\").trigger(\"click\");\n}\nfnsubOpengearMenu(){\n $('[class=\"dropdown-menu\"]').trigger(\"click\").css('display','block');\n}\n//--------------------Pagination Start --------------------------------------\npageNo: any = 1; \npageNumber: boolean[] = []; \nsortOrder: any = 'CreatedDate_DESC'; \norder:any='CreatedDate';\n\npageField = []; \nexactPageList: any; \npaginationData: number; \norderBy: string='Desc'; \n\ntotalCount: any; \ncurrentPage = 1; \nComingFromLast:boolean = false;\nComingFromFirst:boolean = false;\n\ntotalNoOfPages() { \n if(this.ComingFromLast == true){\n this.pageNumber = []; \n this.pageNumber[this._PaginationService.pageNumberShow - 1] = true; \n this.ComingFromLast = false;\n }\n if(this.ComingFromFirst == true){\n this.pageNumber = []; \n this.pageNumber[0] = true;\n this.ComingFromFirst = false;\n } \n this.filterCount = this.totalCount;\n this.paginationData = Number(this.totalCount/this.config.itemsPerPage); \n let tempPageData = this.paginationData.toFixed(); \n if (Number(tempPageData) < this.paginationData) { \n this.exactPageList = Number(tempPageData) + 1; \n this._PaginationService.exactPageList = this.exactPageList; \n } else { \n this.exactPageList = Number(tempPageData); \n this._PaginationService.exactPageList = this.exactPageList \n }\n if(this._PaginationService.exactPageList < 10){\n // this._PaginationService.temppage = 0;\n this._PaginationService.pageNumberShow = this._PaginationService.exactPageList;\n this._PaginationService.disabledPrevBtn = true;\n this._PaginationService.disabledNextBtn = true;\n }\n else{\n // this._PaginationService.temppage = 0;\n this._PaginationService.pageNumberShow = 10;\n } \n this._PaginationService.pageOnLoad(); \n this.pageField = this._PaginationService.pageField; \n\n if(this.pageField.length < 10){\n this._PaginationService.disabledNextBtn = true;\n this._PaginationService.disabledPrevBtn = true;\n }\n} \n\nsortByHeading(value: string, id,UserName,Email,Phone,Status,date,usertype,requestType,CreatedBy ) { \n this.sortOrder = value; \n this.order =value; \n if (this.orderBy == \"Desc\") { \n this.orderBy = \"Asc\" \n this.sortOrder =this.sortOrder+'_ASC'; \n sortTableUserMst(id,true);\n } else { \n this.orderBy = \"Desc\"; \n this.sortOrder =this.sortOrder+'_DESC';\n sortTableUserMst(id,false); \n } \n\n if(date == null || date == undefined || date == \"\")\n date = \"\"; \n else if (date != null && date!=\"\") {\n date = this.ngbDateParserFormatter.format(date.singleDate.date);\n }\n\n this.fnGetAllUserDetails(UserName,Email,Phone,Status,date,usertype,requestType,CreatedBy,this.sortOrder); \n this.pageChanged(this.pageNo); \n\n} \n\nshowFirstPage(UserName,Email,Phone,Status,date,usertype,requestType,CreatedBy){\n // if (this._PaginationService.showNoOfCurrentPage != 1) { \n this._PaginationService.temppage = 10;\n this._PaginationService.pageNumberShow = 10;\n this._PaginationService.showNoOfCurrentPage = 1;\n this._PaginationService.FirstValue(); \n // this.pageNumber = []; \n // this.pageNumber[0] = true; \n this.currentPage = this._PaginationService.pageField[0]; \n this.pageNo = this._PaginationService.pageField[0];\n\n if(date == null || date == undefined || date == \"\")\n date = \"\"; \n else if (date != null && date!=\"\") {\n date = this.ngbDateParserFormatter.format(date.singleDate.date);\n }\n this.fnGetAllUserDetails(UserName,Email,Phone,Status,date,usertype,requestType,CreatedBy,this.sortOrder); \n this.pageChanged(this.pageNo);\n this.ComingFromFirst = true;\n // } \n}\n\nshowPrevAccounts(UserName,Email,Phone,Status,date,usertype,requestType,CreatedBy) { \n if (this._PaginationService.showNoOfCurrentPage != 1) { \n this._PaginationService.pageNumberShow = 10;\n this._PaginationService.prevValue(); \n this.pageNumber = []; \n this.pageNumber[0] = true; \n this.currentPage = this._PaginationService.pageField[0]; \n this.pageNo = this._PaginationService.pageField[0];\n if(date == null || date == undefined || date == \"\")\n date = \"\"; \n else if (date != null && date!=\"\") {\n date = this.ngbDateParserFormatter.format(date.singleDate.date);\n }\n this.fnGetAllUserDetails(UserName,Email,Phone,Status,date,usertype,requestType,CreatedBy,this.sortOrder); \n this.pageChanged(this.pageNo); \n } \n\n}\n\nshowAccountsByPageNumber(page, i,UserName,Email,Phone,Status,date,usertype,requestType,CreatedBy) { \n //this.FilteredUserList = []; \n this.pageNumber = []; \n this.pageNumber[i] = true; \n this.pageNo = page; \n this.currentPage =page; \n if(date == null || date == undefined || date == \"\")\n date = \"\"; \n else if (date != null && date!=\"\") {\n date = this.ngbDateParserFormatter.format(date.singleDate.date);\n }\n this.fnGetAllUserDetails(UserName,Email,Phone,Status,date,usertype,requestType,CreatedBy,this.sortOrder); \n this.pageChanged(this.pageNo); \n} \n\nshowNext(UserName,Email,Phone,Status,date,usertype,requestType,CreatedBy) { \n\n if (this._PaginationService.disabledNextBtn == false) { \n this.pageNumber = []; \n this._PaginationService.nextValue(); \n this.pageNumber[0] = true; \n this.currentPage = this._PaginationService.pageField[0]; \n this.pageNo = this._PaginationService.pageField[0]; \n\n if(date == null || date == undefined || date == \"\")\n date = \"\"; \n else if (date != null && date!=\"\") {\n date = this.ngbDateParserFormatter.format(date.singleDate.date);\n }\n this.fnGetAllUserDetails(UserName,Email,Phone,Status,date,usertype,requestType,CreatedBy,this.sortOrder);\n this.pageChanged(this.pageNo); \n } \n} \n\nshowLastPage(UserName,Email,Phone,Status,date,usertype,requestType,CreatedBy){\n //if(this._PaginationService.disabledNextBtn == false){\n \n this._PaginationService.temppage = this._PaginationService.exactPageList;\n if(this._PaginationService.exactPageList%10 == 0)\n this._PaginationService.pageNumberShow = 10;\n else \n this._PaginationService.pageNumberShow = this._PaginationService.exactPageList%10;\n \n this._PaginationService.showNoOfCurrentPage = Math.ceil(this._PaginationService.exactPageList/10);\n this._PaginationService.comingFromPreAndNext = true;\n this._PaginationService.LastValue(); \n \n this.currentPage = this._PaginationService.pageField[this._PaginationService.pageNumberShow - 1]; \n this.pageNo = this._PaginationService.pageField[this._PaginationService.pageNumberShow - 1];\n \n if(date == null || date == undefined || date == \"\")\n date = \"\"; \n else if (date != null && date!=\"\") {\n date = this.ngbDateParserFormatter.format(date.singleDate.date);\n }\n this.fnGetAllUserDetails(UserName,Email,Phone,Status,date,usertype,requestType,CreatedBy,this.sortOrder);\n this.pageChanged(this.pageNo); \n this.ComingFromLast = true;\n // }\n}\n\nAuthorize(User: UserMaster){\n localStorage.setItem('localUserId', JSON.stringify(User.UserId));\n localStorage.setItem('UserDataId',String( User.UserId));\n localStorage.setItem('UserViewMode',String(\"authorize\"));\n this._userService.formData = User;\n this.router.navigate(['/UserMaster']);\n }\n}","\n
\n
\n\n
\n
\n

User Master

\n
\n
\n\n
\n\n

\n
\n
\n ×\n Error! {{lblMessage}}.\n
\n
\n\n
\n\n
\n ×\n Success! {{lblMessage}}.\n
\n\n
\n
\n\n
\n ×\n {{lblMessage}}.\n
\n\n
\n
\n \n
\n\n
\n \n \n\n
\n Please Enter valid First Name\n
\n\n
\n\n
\n \n \n\n
\n Please Enter valid email address\n
\n\n
\n\n
\n \n \n\n
\n Please Enter valid Phone Number\n
\n\n
\n
\n \n
\n \n
\n \n \n\n
\n Please Enter valid Name\n
\n \n
\n\n
\n \n\n
\n \n \n\n
\n \n
\n
\n
\n Please Enter a valid Date Format\n
\n\n
\n Created Date should be less than or equal to current date\n
\n
\n \n \n
\n
\n
\n
\n \n
\n
\n
\n \n
\n\n \n\n \n \n
\n
\n \n
\n
\n\n
\n\n
\n\n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n\n
\n \n
\n\n \n
\n
\n \n \n\n
\n
\n \n \n\n
\n
\n
\n \n
\n \n
\n \n \n
\n \n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
User NameEmailPhoneRoleRequest TypeStatusCreated ByCreated / Updated Date & TimeUser Type \n Action\n \n \n
\n \n \n
\n
{{users.UserName}}{{users.EmailId}}{{users.MobileNumber}}{{users.RoleName}}{{users.RequestType}}{{users.IsActive}}{{users.CreatedName}}{{users.CreatedDate}}{{users.UserTypedesc}}\n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n \n \n
\n
\n \n
\n
\n \n
\n
\n
\n
\n \n \n
\n
No records found.
\n
\n
\n \n \n
\n \n
\n \n \n
\n
\n
\n \n
\n Page {{currentPage}} of Total page {{_PaginationService.exactPageList}} \n
\n \n
\n
\n
\n
\n \n
\n \" class=\"nav-link\" class=\"btn btn-primary btn-md text-white pull-right\" id=\"navbarDropdownMenuLink\" data-toggle=\"dropdown\" \n style=\"margin-top: 0em;margin-left: 2.5em;color:#4ad4e3;font-size: 15px;;\" aria-haspopup=\"true\" \n aria-expanded=\"false\"/>\n \n \n
\n \n
\n\n \n\n
\n
\n
\n \n \n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
StatusFirst Name Middle NameLast Name Gender Birth Date Email IdMobile NumberOther NumberTransaction Limit Role User Type User NameCreated ByCreated DateUpdated ByUpdated Date
{{users.IsActive}}{{users.FirstName}}{{users.MiddleName}}{{users.LastName}}{{users.Gender}}{{users.formatedBithDate}}{{users.EmailId}}{{users.MobileNumber}}{{users.AltMobileNumber}}{{users.TransactionLimit}}{{users.RoleName}}{{users.UserTypedesc}}{{users.UserTypeName}}{{users.CreatedName}}{{users.CreatedDate}}{{users.UpdatedName}}{{users.UpdatedDate}}
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
User NameEmailPhoneRoleRequest TypeStatusCreated ByCreated Date & TimeUser Type
{{users.UserName}}{{users.EmailId}}{{users.MobileNumber}}{{users.RoleName}}{{users.RequestType}}{{users.IsActive}}{{users.CreatedName}}{{users.CreatedDate}}{{users.UserTypedesc}}
\n\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
User NameEmailPhoneRoleRequest TypeStatusCreated ByCreated Date & TimeUser Type
{{users.UserName}}{{users.EmailId}}{{users.MobileNumber}}{{users.RoleName}}{{users.RequestType}}{{users.IsActive}}{{users.CreatedName}}{{users.CreatedDate}}{{users.UserTypedesc}}
\n\n
\n\n\n
\n
\n
\n
\n

Confirmation

\n \n
\n
\n

Are you sure you want to delete?

\n
\n
\n \n \n
\n
\n
\n
\n\n
\n
\n
\n
\n

Confirmation

\n \n
\n
\n

Are you sure you want to {{ConfirmationMsg}} All Selected Records?

\n
\n
\n \n \n
\n
\n
\n
\n\n \n ","import { Component, OnInit } from '@angular/core';\nimport { RoleService} from '../../MasterService/role.service';\nimport { RoleMaster , RoleCreatedUpdated} from '../../MasterService/role-master';\nimport { HttpClientModule, HttpClient } from '@angular/common/http';\nimport { FormGroup, FormControl, NgForm } from '@angular/forms';\nimport {Constants } from 'src/app/Common/constant';\nimport {ActivatedRoute,Router} from \"@angular/router\";\nimport { NgxSpinnerService } from \"ngx-spinner\";\nimport { threadId } from 'worker_threads';\nimport { EncryptdecryptService } from 'src/app/MasterService/encryptdecrypt.service';\n\n@Component({\n selector: 'app-role-master',\n templateUrl: './role-master.component.html',\n styleUrls: ['./role-master.component.css']\n})\nexport class RoleMasterComponent implements OnInit {\n\n moduleListLength:0;\n\n IsAddSelected:any;\n IsEditSelected:any;\n IsViewSelected:any;\n IsDeleteSelected:any;\n IsCheckerSelected:any;\n IsImportSelected:any;\n IsExportSelected:any;\n\n disableButton: boolean;\n viewMode:boolean;\n\n showModal: boolean;\n lblMessage:string;\n\n ModuleList:any = [];\n\n FilteredModuleList:any = [];\n\n checkedList:any;\n\n CheckListLength:0;\n\n showMsg:boolean;\n showerrormsg:boolean;\n config: any;\n editMode:string;\n showValidation:boolean;\n \n\n\n RoleCreatedUpdated1:RoleCreatedUpdated[];\n createdBy:number;\n createdDate:string;\n userNameCreated:string;\n usernameUpdte:string;\n updtedDate:string;\n showCreatedDiv:boolean=false;\n showUpdatedDiv:boolean=false;\n disableClear:boolean=false;\n HiddenClr:boolean=false;\n editedRoleId:number=0;\n roleFlag:string;\n IsValidFlag:boolean;\n ErrorMsg: string;\n editRoleName: string;\n editRoleStatus: string;\n EditStatus: string;\n IsSweepExecuteSelected: boolean;\n \n constructor(public _roleService:RoleService , private httpService : HttpClient, private route:ActivatedRoute, private router:Router, \n public _spinner:NgxSpinnerService, public _encreptdecrept:EncryptdecryptService) { }\n\n ngOnInit(): void {\n debugger;\n // If LoginUserId is null then it will return\n if(localStorage.getItem('LoginUserId')==null){\n this.router.navigate([\"\"]);\n return;\n }\n \n this._spinner.show();\n this.editedRoleId = +localStorage.getItem('RoleDataId');\n this.roleFlag = localStorage.getItem('RoleFlag');\n this.editRoleName = localStorage.getItem('RoleDataName');\n this.editRoleStatus = localStorage.getItem('RoleDataStatus');\n\n \n \n if(this.editedRoleId == undefined) \n this.editedRoleId=0;\n this.disableButton = false;\n\n if(this.editedRoleId > 0){\n // Getting role data from database\n this.fnGetRoleName(this.editedRoleId);\n // Getting created and updated history\n this.fnGetCreatedNUpdatedRole(this.editedRoleId);\n\n if(this.roleFlag == 'edit'){\n this.lblTitle=\"Edit Role Master\";\n this.disableClear = true;\n this.HiddenClr = true;\n this.btnTitle=\"Update\";\n }\n else if(this.roleFlag == 'view'){\n this.lblTitle=\"View Role Master\";\n this.disableButton = true;\n this.viewMode = true;\n }\n\n }\n else{\n this._roleService.formData = {\n roleID:0,\n roleName:'',\n Status:'0',\n isActive:'0',\n msg:'' ,\n lblTitle:'Add Role Master',\n btnTitle:'Submit',\n DateCreated:'',\n CreatedDate:'',\n CreatedName:'',\n IsRoleSelected:false\n\n }\n this.lblTitle=\"Add Role Master\";\n this.btnTitle=\"Submit\";\n }\n // Getting all role data from database\n this.fnGetAllRole();\n \n this.route.queryParams.subscribe(params => {\n this.editMode = params[\"flag\"];\n });\n\n if(this.editMode=='view'){\n this.disableButton=true; \n }\n\n this.config = {\n itemsPerPage: 5,\n currentPage: 1,\n };\n\n this.lblMessage = localStorage.getItem(\"Msg\");\n if (this.lblMessage == null || this.lblMessage == \"\") {\n this.onTop();\n }else{\n this.lblMessage == localStorage.getItem(\"Msg\");\n this.showMsg = true;\n this.showerrormsg = false;\n localStorage.removeItem(\"Msg\");\n this.onTop();\n }\n \n }\n\n omit_special_char(event){ \n this.showMsg = false;\n this.showerrormsg = false;\n }\n\n show() { this.showModal = true; }\n hide() { this.showModal = false; }\n showlbl(){this.showMsg = true; }\n hidelbl(){this.showMsg = false;}\n showerror(){this.showerrormsg = true;}\n hideerror(){this.showerrormsg = false;}\n showValidationmsg(){this.showValidation = true;}\n hideValidationmsg(){this.showValidation = false;}\n\n // page changed event called\n pageChanged(event) {\n debugger;\n this.config.currentPage = event;\n }\n // To reset form\n resetForm(form?: NgForm) {\n debugger\n if (this.roleFlag == 'edit' && this.editedRoleId > 0) { \n if (form != null) \n this.onTop();\n \n //form.resetForm();\n this._roleService.formData = {\n roleID:this.editedRoleId,\n roleName:this.editRoleName,\n Status:this.editRoleStatus,\n msg:'' ,\n lblTitle:'Edit Role Master',\n btnTitle:'Submit',\n isActive: this.editRoleStatus,\n DateCreated:'',\n CreatedDate:'',\n CreatedName:'',\n IsRoleSelected:false\n }\n for (var i = 0; i < this.ModuleList.length; i++) {\n this.ModuleList[i].Add = 0;\n this.ModuleList[i].IsAddSelected = false;\n this.ModuleList[i].Edit = 0; \n this.ModuleList[i].IsEditSelected = false;\n this.ModuleList[i].View = 0;\n this.ModuleList[i].IsViewSelected = false;\n this.ModuleList[i].Delete = 0;\n this.ModuleList[i].IsDeleteSelected = false;\n this.ModuleList[i].Checker = 0;\n this.ModuleList[i].IsCheckerSelected = false;\n this.ModuleList[i].Import = 0;\n this.ModuleList[i].IsImportSelected = false;\n this.ModuleList[i].Export = 0;\n this.ModuleList[i].IsExportSelected = false;\n this.ModuleList[i].SweepExecute = 0;\n this.ModuleList[i].IsSweepExecuteSelected = false;\n }\n this.showMsg=false;\n this.showerrormsg = false;\n \n }\n else{\n if (form != null) \n form.resetForm();\n this._roleService.formData = {\n roleID:0,\n roleName:'',\n Status:'0',\n msg:'' ,\n lblTitle:'Add Role Master',\n btnTitle:'Submit',\n isActive:'0' ,\n DateCreated:'',\n CreatedDate:'',\n CreatedName:'',\n IsRoleSelected :false\n }\n }\n }\n // after submit page refresh method is called\n fnPageRefresh(form){\n if (this.roleFlag == 'edit' && this.editedRoleId > 0) { \n this.resetForm(form);\n this.onTop();\n } \n else {\n this.resetForm(form)\n // this.onTop();\n // document.location.reload();\n \n setTimeout(function(){\n this.document.location.reload();\n }, 1000);\n }\n }\n // Getting all role data\n fnGetAllRole(){ \n var id = +localStorage.getItem('RoleDataId'); \n if(id ===0)\n id=0;\n this._roleService.fnGetModule(id.toString()).subscribe(data=>{\n this.ModuleList = data;\n debugger;\n this.moduleListLength = this.ModuleList.length; \n this.FilteredModuleList = this.ModuleList; \n this._spinner.hide();\n }, (err) => {\n this.router.navigate([\"404\"]);\n });\n }\n // Getting role data based on id\n fnGetRoleName(editedroleid:number){ \n if(editedroleid >0){\n this._roleService.fnGetAllRoleMaster(editedroleid.toString()).subscribe(data=>{\n this._roleService.formData=data[0]; \n }, (err) => {\n this.router.navigate([\"404\"]);\n });\n // this.fnGetAllRole();\n }\n this._spinner.hide();\n }\n // If add is checked then it is called\n isAddChecked(id,val,isChecked){\n this.IsAddSelected = !isChecked;\n for (var i = 0; i < this.ModuleList.length; i++) {\n ///moduleListLength changes to -ModuleList.length; --Rubina 7:35PM\n\n if(this.ModuleList[i].ModuleId == id && val == 1 && this.IsAddSelected == true){\n this.ModuleList[i].Add = 1;\n this.ModuleList[i].IsAddSelected = true;\n }\n if(this.ModuleList[i].ModuleId == id && val == 1 && this.IsAddSelected == false){\n this.ModuleList[i].Add = 0;\n this.ModuleList[i].IsAddSelected = false;\n } \n if(this.ModuleList[i].ModuleId == 27 && id == 27 && val==1) {\n if(this.ModuleList[i].IsCheckerSelected == true && id == 27){\n this.ModuleList[i].Checker = 0;\n this.ModuleList[i].IsCheckerSelected = false;\n }\n } \n }\n this.getCheckedItemList();\n }\n // If edit is checked then it is called\n isEditChecked(id,val,isChecked){\n this.IsEditSelected = !isChecked;\n \n for (var i = 0; i < this.ModuleList.length; i++) {\n ///moduleListLength changes to -ModuleList.length; --Rubina 7:35PM\n\n\n if(this.ModuleList[i].ModuleId == id && val == 2 && this.IsEditSelected == true){\n this.ModuleList[i].Edit = 1;\n this.ModuleList[i].IsEditSelected = true;\n }\n \n if(this.ModuleList[i].ModuleId == id && val == 2 && this.IsEditSelected == false){\n this.ModuleList[i].Edit = 0; \n this.ModuleList[i].IsEditSelected = false;\n } \n }\n this.getCheckedItemList();\n }\n // If view is checked then it is called\n isViewChecked(id,val,isChecked){\n this.IsViewSelected = !isChecked;\n \n for (var i = 0; i < this.ModuleList.length; i++) {\n\n if(this.ModuleList[i].ModuleId == id && val == 3 && this.IsViewSelected == true){\n this.ModuleList[i].View = 1;\n this.ModuleList[i].IsViewSelected = true;\n }\n if(this.ModuleList[i].ModuleId == id && val == 3 && this.IsViewSelected == false){\n this.ModuleList[i].View = 0;\n this.ModuleList[i].IsViewSelected = false;\n } \n }\n this.getCheckedItemList();\n }\n// If delete is checked then it is called\n isDeleteChecked(id,val,isChecked){\n this.IsDeleteSelected = !isChecked;\n \n for (var i = 0; i < this.ModuleList.length; i++) {\n\n if(this.ModuleList[i].ModuleId == id && val == 4 && this.IsDeleteSelected == true){\n this.ModuleList[i].Delete = 1;\n this.ModuleList[i].IsDeleteSelected = true;\n }\n if(this.ModuleList[i].ModuleId == id && val == 4 && this.IsDeleteSelected == false){\n this.ModuleList[i].Delete = 0;\n this.ModuleList[i].IsDeleteSelected = false;\n } \n }\n this.getCheckedItemList();\n }\n// If checker is checked then it is called\n isCheckerChecked(id,val,isChecked){\n this.IsCheckerSelected = !isChecked;\n \n for (var i = 0; i < this.ModuleList.length; i++) {\n\n if(this.ModuleList[i].ModuleId == id && val == 5 && this.IsCheckerSelected == true){\n this.ModuleList[i].Checker = 1;\n this.ModuleList[i].IsCheckerSelected = true;\n }\n if(this.ModuleList[i].ModuleId == id && val == 5 && this.IsCheckerSelected == false){\n this.ModuleList[i].Checker = 0;\n this.ModuleList[i].IsCheckerSelected = false;\n } \n if(this.ModuleList[i].ModuleId == 27 && id == 27 && val==5) {\n if(this.ModuleList[i].IsAddSelected == true && id == 27){\n this.ModuleList[i].Add = 0;\n this.ModuleList[i].IsAddSelected = false;\n }\n } \n }\n this.getCheckedItemList();\n }\n// If import is checked then it is called\n isImportChecked(id,val,isChecked){\n this.IsImportSelected = !isChecked;\n \n for (var i = 0; i < this.ModuleList.length; i++) {\n\n if(this.ModuleList[i].ModuleId == id && val == 6 && this.IsImportSelected == true){\n this.ModuleList[i].Import = 1;\n this.ModuleList[i].IsImportSelected = true;\n }\n if(this.ModuleList[i].ModuleId == id && val == 6 && this.IsImportSelected == false){\n this.ModuleList[i].Import = 0;\n this.ModuleList[i].IsImportSelected = false;\n } \n }\n this.getCheckedItemList();\n }\n// If export is checked then it is called\n isExportChecked(id,val,isChecked){\n this.IsExportSelected = !isChecked;\n \n for (var i = 0; i < this.ModuleList.length; i++) {\n\n if(this.ModuleList[i].ModuleId == id && val == 7 && this.IsExportSelected == true){\n this.ModuleList[i].Export = 1;\n this.ModuleList[i].IsExportSelected = true;\n }\n if(this.ModuleList[i].ModuleId == id && val == 7 && this.IsExportSelected == false){\n this.ModuleList[i].Export = 0;\n this.ModuleList[i].IsExportSelected = false;\n } \n }\n this.getCheckedItemList();\n }\n // If sweep is checked then it is called\n isSweepExecuteChecked(id,val,isChecked){\n debugger\n this.IsSweepExecuteSelected = !isChecked;\n \n for (var i = 0; i < this.ModuleList.length; i++) {\n\n if(this.ModuleList[i].ModuleId == id && val == 8 && this.IsSweepExecuteSelected == true){\n this.ModuleList[i].SweepExecute = 1;\n this.ModuleList[i].IsSweepExecuteSelected = true;\n }\n if(this.ModuleList[i].ModuleId == id && val == 8 && this.IsSweepExecuteSelected == false){\n this.ModuleList[i].SweepExecute = 0;\n this.ModuleList[i].IsSweepExecuteSelected = false;\n } \n }\n this.getCheckedItemList();\n }\n//Getting all items in list which is selected\n getCheckedItemList(){\n this.checkedList = [];\n for (var i = 0; i < this.ModuleList.length; i++) {\n ///moduleListLength changes to -ModuleList.length; --Rubina 7:35PM\n if(this.ModuleList[i].IsAddSelected == true || this.ModuleList[i].IsEditSelected == true || this.ModuleList[i].IsViewSelected == true ||\n this.ModuleList[i].IsDeleteSelected == true || this.ModuleList[i].IsCheckerSelected == true || this.ModuleList[i].IsImportSelected == true \n || this.ModuleList[i].IsExportSelected == true || this.ModuleList[i].IsSweepExecuteSelected == true )\n this.checkedList.push(this.ModuleList[i]);\n }\n\n this.checkedList = JSON.stringify(this.checkedList);\n this.CheckListLength = this.checkedList.length;\n\n if(this.checkedList.length!= 0){\n this.hideValidationmsg();\n }\n else{\n this.showValidationmsg();\n }\n }\n lblTitle:string;\n btnTitle:string;\n // submitting form data into database\n onSubmit(form: NgForm) {\n var roleName = this._roleService.formData.roleName;\n roleName = roleName.replace(/\\s/g, \"\");\n if (roleName == \"\") {\n this._roleService.formData.roleName = roleName;\n }\n if (this._roleService.formData.roleName == \"\") {\n (Object).values(form.controls).forEach(control => {\n control.markAsTouched();\n });\n return false;\n }\n else {\n if (form.valid) {\n this.disableButton = true;\n }\n this.IsValidFlag = true;\n var postData = {};\n\n if(form.value[\"roleID\"] == null)\n form.value[\"roleID\"] = 0;\n \n postData[\"roleID\"] = form.value[\"roleID\"];\n postData[\"roleName\"] = form.value[\"roleName\"];\n postData[\"isActive\"] = form.value[\"Status\"];\n postData[\"userId\"] = this._encreptdecrept.decryptUsingAES256(localStorage.getItem('LoginUserId'));\n\n this._roleService.fnRoleNameduplicate(form.value[\"roleName\"],form.value[\"roleID\"]).subscribe(data=>{\n if (data == 1) {\n this.showMsg = false;\n this.showerrormsg = true;\n this.ErrorMsg=\"Error!\"\n this.lblMessage = 'Role Name Already Exists';\n this.onTop();\n this.disableButton = false;\n this.IsValidFlag = false;\n }\n else{\n /*Start check Duplicate fun*/\n if (this.editedRoleId === 0) {\n // this.IsValidFlag = false;\n var RoleList = [];\n\n for (var i = 0; i < this.ModuleList.length; i++) {\n var roleObj = {};\n\n if(this.ModuleList[i].IsAddSelected == true || this.ModuleList[i].IsEditSelected == true || this.ModuleList[i].IsViewSelected == true ||\n this.ModuleList[i].IsDeleteSelected == true || this.ModuleList[i].IsCheckerSelected == true || this.ModuleList[i].IsImportSelected == true\n || this.ModuleList[i].IsExportSelected == true || this.ModuleList[i].IsSweepExecuteSelected == true){\n roleObj[\"moduleID\"] = this.ModuleList[i].ModuleId;\n roleObj[\"Add\"] = this.ModuleList[i].Add;\n roleObj[\"Edit\"] = this.ModuleList[i].Edit;\n roleObj[\"View\"] = this.ModuleList[i].View;\n roleObj[\"Delete\"] = this.ModuleList[i].Delete;\n roleObj[\"Checker\"] = this.ModuleList[i].Checker;\n roleObj[\"Import\"] = this.ModuleList[i].Import;\n roleObj[\"Export\"] = this.ModuleList[i].Export;\n roleObj[\"SweepExecute\"] = this.ModuleList[i].SweepExecute;\n RoleList.push(roleObj);\n }\n }\n\n postData[\"roleModules\"] = RoleList;\n\n if(RoleList.length != 0){\n this._roleService.fnInsertUpdateRole(postData).subscribe(data=>{\n this.lblMessage = data.roleName + \" \" + data.msg;\n // this._roleService.formData.roleID = data.roleID;\n // this.editedRoleId = this._roleService.formData.roleID;\n this.showMsg = true;\n this.showerrormsg = false;\n this.hideValidationmsg();\n \n this.disableButton = false;\n //this.disableClear=false;\n if(this.editedRoleId > 0){\n this.fnGetCreatedNUpdatedRole(this.editedRoleId);\n this.onTop(); \n }\n else{\n // form.resetForm();\n this.fnPageRefresh(form);\n this.lblMessage=data.roleName+ \" \"+ data.msg;\n localStorage.setItem(\"Msg\",this.lblMessage);\n this.onTop(); \n \n form.value[\"roleID\"] = 0;\n postData = {};\n for (var i = 0; i < this.ModuleList.length; i++) {\n this.ModuleList[i].Add = 0;\n this.ModuleList[i].IsAddSelected = false;\n this.ModuleList[i].Edit = 0; \n this.ModuleList[i].IsEditSelected = false;\n this.ModuleList[i].View = 0;\n this.ModuleList[i].IsViewSelected = false;\n this.ModuleList[i].Delete = 0;\n this.ModuleList[i].IsDeleteSelected = false;\n this.ModuleList[i].Checker = 0;\n this.ModuleList[i].IsCheckerSelected = false;\n this.ModuleList[i].Import = 0;\n this.ModuleList[i].IsImportSelected = false;\n this.ModuleList[i].Export = 0;\n this.ModuleList[i].IsExportSelected = false;\n this.ModuleList[i].SweepExecute = 0;\n this.ModuleList[i].IsSweepExecuteSelected = false;\n }\n // this._roleService.formData.isActive = '0';\n }\n },\n (error)=>{\n debugger;\n this.showMsg = false;\n //this.showerrormsg = true;\n //this.lblMessage = 'An error occured.';\n this.onTop();\n this.disableButton = false;\n // this.disableClear=false;\n this.router.navigate([\"404\"]);\n });\n }\n else{\n this.disableButton = false;\n // this.disableClear=false;\n this.showValidationmsg();\n this.lblMessage= \"Please select Module\";\n this.showerrormsg = true;\n this.showMsg=false;\n this.onTop();\n }\n }\n \n else if (this.editedRoleId > 0 && form.value[\"Status\"] === \"0\") {\n this._roleService.fnRoleInUsed(this.editedRoleId.toString()).subscribe(data=>{\n\n if (data == 1) {\n this.showMsg = false;\n this.showerrormsg = true;\n this.lblMessage = 'This role is in used You can not set InActive';\n this.onTop();\n this.disableButton = false;\n this.IsValidFlag = false;\n }\n else{\n var RoleList = [];\n\n for (var i = 0; i < this.ModuleList.length; i++) {\n var roleObj = {};\n\n if(this.ModuleList[i].IsAddSelected == true || this.ModuleList[i].IsEditSelected == true || this.ModuleList[i].IsViewSelected == true ||\n this.ModuleList[i].IsDeleteSelected == true || this.ModuleList[i].IsCheckerSelected == true || this.ModuleList[i].IsImportSelected == true\n || this.ModuleList[i].IsExportSelected == true || this.ModuleList[i].IsSweepExecuteSelected == true){\n roleObj[\"moduleID\"] = this.ModuleList[i].ModuleId;\n roleObj[\"Add\"] = this.ModuleList[i].Add;\n roleObj[\"Edit\"] = this.ModuleList[i].Edit;\n roleObj[\"View\"] = this.ModuleList[i].View;\n roleObj[\"Delete\"] = this.ModuleList[i].Delete;\n roleObj[\"Checker\"] = this.ModuleList[i].Checker;\n roleObj[\"Import\"] = this.ModuleList[i].Import;\n roleObj[\"Export\"] = this.ModuleList[i].Export; \n roleObj[\"SweepExecute\"] = this.ModuleList[i].SweepExecute;\n RoleList.push(roleObj);\n }\n }\n postData[\"roleModules\"] = RoleList;\n\n \n if(RoleList.length != 0){\n debugger;\n this._roleService.fnInsertUpdateRole(postData).subscribe(data=>{\n this.lblMessage=data.roleName + \" \" + data.msg;\n //this._roleService.formData.roleID = data.roleID;\n //this.editedRoleId = this._roleService.formData.roleID;\n this.showMsg = true;\n this.showerrormsg = false;\n this.hideValidationmsg();\n \n this.disableButton = false;\n //this.disableClear=false;\n\n if(this.editedRoleId > 0){\n this.fnGetCreatedNUpdatedRole(this.editedRoleId);\n this.onTop(); \n }\n else{\n // form.resetForm();\n this.fnPageRefresh(form);\n this.lblMessage=data.roleName+ \" \"+ data.msg;\n localStorage.setItem(\"Msg\",this.lblMessage);\n this.onTop(); \n \n form.value[\"roleID\"] = 0;\n postData = {};\n for (var i = 0; i < this.ModuleList.length; i++) {\n this.ModuleList[i].Add = 0;\n this.ModuleList[i].IsAddSelected = false;\n this.ModuleList[i].Edit = 0; \n this.ModuleList[i].IsEditSelected = false;\n this.ModuleList[i].View = 0;\n this.ModuleList[i].IsViewSelected = false;\n this.ModuleList[i].Delete = 0;\n this.ModuleList[i].IsDeleteSelected = false;\n this.ModuleList[i].Checker = 0;\n this.ModuleList[i].IsCheckerSelected = false;\n this.ModuleList[i].Import = 0;\n this.ModuleList[i].IsImportSelected = false;\n this.ModuleList[i].Export = 0;\n this.ModuleList[i].IsExportSelected = false;\n this.ModuleList[i].SweepExecute = 0;\n this.ModuleList[i].IsSweepExecuteSelected = false;\n }\n // this._roleService.formData.isActive = '0';\n }\n },\n (error)=>{\n debugger;\n this.showMsg = false;\n //this.showerrormsg = true;\n //this.lblMessage = 'An error occured.';\n this.onTop();\n this.disableButton = false;\n // this.disableClear=false;\n this.router.navigate([\"404\"]);\n });\n }\n else{\n this.disableButton = false;\n // this.disableClear=false;\n this.showValidationmsg();\n this.showerrormsg = true;\n this.showMsg=false;\n this.lblMessage= \"Please select Module\";\n this.onTop();\n }\n \n }\n }, (err) => {\n this.router.navigate([\"404\"]);\n });\n }\n else{\n var RoleList = [];\ndebugger\n;\n for (var i = 0; i < this.ModuleList.length; i++) {\n var roleObj = {};\n\n if(this.ModuleList[i].IsAddSelected == true || this.ModuleList[i].IsEditSelected == true || this.ModuleList[i].IsViewSelected == true ||\n this.ModuleList[i].IsDeleteSelected == true || this.ModuleList[i].IsCheckerSelected == true || this.ModuleList[i].IsImportSelected == true\n || this.ModuleList[i].IsExportSelected == true || this.ModuleList[i].IsSweepExecuteSelected == true){\n roleObj[\"moduleID\"] = this.ModuleList[i].ModuleId;\n roleObj[\"Add\"] = this.ModuleList[i].Add;\n roleObj[\"Edit\"] = this.ModuleList[i].Edit;\n roleObj[\"View\"] = this.ModuleList[i].View;\n roleObj[\"Delete\"] = this.ModuleList[i].Delete;\n roleObj[\"Checker\"] = this.ModuleList[i].Checker;\n roleObj[\"Import\"] = this.ModuleList[i].Import;\n roleObj[\"Export\"] = this.ModuleList[i].Export;\n roleObj[\"SweepExecute\"] = this.ModuleList[i].SweepExecute;\n RoleList.push(roleObj);\n }\n }\n\n postData[\"roleModules\"] = RoleList;\n\n debugger;\n if(RoleList.length != 0){\n this._roleService.fnInsertUpdateRole(postData).subscribe(data=>{\n this.lblMessage= data.roleName + \" \" + data.msg;\n // this._roleService.formData.roleID = data.roleID;\n // this.editedRoleId = this._roleService.formData.roleID;\n this.showMsg = true;\n this.showerrormsg = false;\n this.hideValidationmsg();\n \n this.disableButton = false;\n //this.disableClear=false;\n if(this.editedRoleId > 0){\n this.fnGetCreatedNUpdatedRole(this.editedRoleId);\n this.onTop(); \n }\n else{\n form.resetForm();\n this.fnPageRefresh(form);\n this.lblMessage=data.roleName+ \" \"+ data.msg;\n localStorage.setItem(\"Msg\",this.lblMessage);\n this.onTop(); \n \n form.value[\"roleID\"] = 0;\n postData = {};\n for (var i = 0; i < this.ModuleList.length; i++) {\n this.ModuleList[i].Add = 0;\n this.ModuleList[i].IsAddSelected = false;\n this.ModuleList[i].Edit = 0; \n this.ModuleList[i].IsEditSelected = false;\n this.ModuleList[i].View = 0;\n this.ModuleList[i].IsViewSelected = false;\n this.ModuleList[i].Delete = 0;\n this.ModuleList[i].IsDeleteSelected = false;\n this.ModuleList[i].Checker = 0;\n this.ModuleList[i].IsCheckerSelected = false;\n this.ModuleList[i].Import = 0;\n this.ModuleList[i].IsImportSelected = false;\n this.ModuleList[i].Export = 0;\n this.ModuleList[i].IsExportSelected = false;\n }\n // this._roleService.formData.isActive = '0';\n }\n },\n (error)=>{\n debugger;\n this.showMsg = false;\n //this.showerrormsg = true;\n //this.lblMessage = 'An error occured.';\n this.onTop();\n this.disableButton = false;\n this.router.navigate([\"404\"]);\n // this.disableClear=false;\n });\n }\n else{\n this.disableButton = false;\n // this.disableClear=false;\n this.showValidationmsg();\n this.showerrormsg = true;\n this.showMsg=false;\n this.lblMessage= \"Please select Module\";\n this.onTop();\n }\n }\n }\n }, (err) => {\n this.router.navigate([\"404\"]);\n });\n }\n}\n\n onTop(){\n window.scroll({\n top: 0,\n left: 0,\n behavior:'smooth'\n })\n }\n\n BankButton(){\n localStorage.removeItem('RoleDataId');\n localStorage.removeItem('RoleDataName');\n localStorage.removeItem('RoleDataStatus');\n this.router.navigate(['/ManageRole']);\n }\n // Getting created and updated history\n fnGetCreatedNUpdatedRole(roleId :number){\n this._roleService.fnGetCreatedNUpdatedRoleMaster(roleId.toString()).subscribe(userdates=>{\n this.RoleCreatedUpdated1=userdates;\n \n if(this.RoleCreatedUpdated1[0].CreatedDate != ''){\n this.showCreatedDiv=true;\n this.createdDate=this.RoleCreatedUpdated1[0].CreatedDate;\n this.userNameCreated=this.RoleCreatedUpdated1[0].UserName;\n }\n if(this.RoleCreatedUpdated1[1].UpdatedDate != ''){\n this.showUpdatedDiv=true;\n this.usernameUpdte=this.RoleCreatedUpdated1[1].UserName;\n this.updtedDate=this.RoleCreatedUpdated1[1].UpdatedDate;\n }\n\n }, (err) => {\n this.router.navigate([\"404\"]);\n });\n }\n// Filtering module from list\n OnSearch(ModuleName){\n debugger;\n this.pageChanged(event);\n\n this.FilteredModuleList = this.ModuleList.filter(row=>{\n return row.ModuleName.toLocaleLowerCase().match(ModuleName.toLocaleLowerCase());\n });\n\n }\n}\n","
\n
\n
\n
\n \n
\n
\n \n \n
\n
\n

\n {{ lblTitle }}\n

\n
\n
\n
\n
\n\n
\n \n \n
\n \n

\n * Marked Fields Are Mandatory.\n

\n
\n
\n \n
\n \n
\n\n
\n \n
\n \n\n
\n
\n\n
\n
\n \n \n
\n \n \n \n\n
\n \n
\n \n
\n \n
\n\n \n\n
\n\n \n\n \n \n \n \n \n \n
\n
\n \n \n \n Modules\n Add\n Edit\n View\n Delete\n Checker\n Import\n Export\n Sweep Execution\n \n \n \n \n {{ _module.ModuleName }}\n \n
\n \n\n \n \n
\n \n \n
\n \n \n
\n \n \n \n \n \n
\n \n \n
\n \n \n
\n \n \n \n \n \n
\n \n \n
\n \n \n\n \n
\n \n \n
\n \n \n\n \n
\n \n \n
\n \n \n
\n \n \n \n No records found\n \n \n \n
\n \n
\n \n \n \n\n
\n
\n \n \n \n \n
\n
\n\n\n \n Created By {{ userNameCreated }} on {{ createdDate }}\n \n \n Updated By {{ usernameUpdte }} on {{ updtedDate }}\n \n \n \n \n \n \n\n\n\n
\n
\n
\n

Confirmation

\n \n ×\n \n
\n
\n {{ lblMessage }}\n
\n
\n \n Close\n \n
\n
\n
\n\n\n\n\n","import { Component, OnInit } from '@angular/core';\nimport { ChargesSweepService } from '../../MasterService/charges-sweep.service';\nimport { FormGroup, FormControl, NgForm } from '@angular/forms';\nimport { SweepCharges, FlatSweepCharges, SweepChargesClass, SweepCreatedUpdated } from 'src/app/MasterService/sweep-charges';\nimport { LoginDetails } from '../../Common/LoginDetail';\nimport { Router } from '@angular/router';\nimport { NgxSpinnerService } from \"ngx-spinner\";\nimport { element } from 'protractor';\nimport { RoleAccessService } from 'src/app/MasterService/role-access.service';\nimport { EncryptdecryptService } from 'src/app/MasterService/encryptdecrypt.service';\n\n@Component({\n selector: 'app-sweep-charges-master',\n templateUrl: './sweep-charges-master.component.html',\n styleUrls: ['./sweep-charges-master.component.css']\n})\nexport class SweepChargesMasterComponent implements OnInit {\n requiredFreqency: boolean;\n requiredType: boolean;\n requiredFrom: boolean;\n requiredTo: boolean;\n requiredTotal: boolean;\n\n constructor(public _sweepChargesService: ChargesSweepService, private router: Router, private _spinner: NgxSpinnerService,\n private _roleAccess: RoleAccessService, public _encreptdecrept: EncryptdecryptService) { }\n\n lblMessage: string;\n lblAsperName: string;\n showModal: boolean;\n divhideshow: boolean;\n divFlatFee: boolean;\n divCount: boolean;\n txtRate: boolean = false;\n showMsg: boolean;\n showerrormsg: boolean;\n iChargeId: number;\n divFrequ: boolean;\n divType: boolean;\n IsFlatFromRangeExceed: boolean;\n IsFlatToRangeExceed: boolean;\n IsRateRangeExceed: boolean;\n IsFlatduplicate: boolean = true;\n Rangemsg: string;\n FromRangemsg: string;//Rubina added\n ToRangemsg: string;\n\n RateRangemsg: string;\n _CustId: string;\n _CustName: string;\n IsFreqNull: boolean;\n disableButton: boolean;\n disableStatus: boolean;\n CheckerPrivillage: boolean;\n reviewStatus: number;\n showStatusDiv: boolean = false;\n showApprovalInfo: string;\n buttonvalue: string;\n DecryptUserId: number;\n validStatus: boolean = true;\n disabledfourinone: boolean = true;\n enabledisableFlatRange: boolean = true;\n enabledisableothercharges: boolean = true;\n _oldRangeType: string;\n _oldFrequency: string;\n _oldChargeType: string;\n _disabledflatrange: boolean = true;\n _rateMargin:string;\n showCreatedDiv:boolean=false;\n showUpdatedDiv:boolean=false;\n SweepCreatedUpdated1:SweepCreatedUpdated[];\n createdDate:string;\n userNameCreated:string;\n usernameUpdte:string;\n updtedDate:string;\n\n allChargeType: any = [];\n\n dynamicArray: Array = [];\n\n newDynamic: any = {};\n\n allFrequency: any = [];\n\n allType: any = [];\n editedSweepChargesInfo: any = [];\n\n IsApprovedLable: string;\n IsApprovedByChecker: boolean;\n\n ngOnInit(): void {\n debugger;\n this.onTop();\n\n this.buttonvalue = 'Submit';\n\n localStorage.setItem('_ChargesTypeId', '');\n this._CustId = localStorage.getItem('_CustId');\n this._CustName = localStorage.getItem('_CustName');\n this.DecryptUserId = +this._encreptdecrept.decryptUsingAES256(localStorage.getItem('LoginUserId'));\n\n // debugger;\n // if(this._sweepChargesService.formData.SweepCharges.SweepChargeId > 0 && this._CustId != \"\"){\n // this.fnGetCreatedNUpdatedSweep();\n // }\n this.fnNewSweepCharges();\n this.GetPrivillageRoles();\n this.fnGetChargeTypeData();\n this.fnGetFrequencyTypeData();\n //this.fnGetChargeTypeById();\n this._spinner.show();\n\n var loadTime = window.performance.timing.domContentLoadedEventEnd - window.performance.timing.navigationStart;\n\n setTimeout(() => {\n this._spinner.hide();\n }, 100);\n }\n\n BankButton() {\n this.router.navigate(['/ManageCustomer']);\n }\n\n fnonChargesMethodchange() {\n debugger;\n if (this.editedSweepChargesInfo.ChargesMethod == \"2\") {\n this._sweepChargesService.formData.SweepCharges = {\n SweepChargeId: 0,\n SweepChargeType: '',\n CustomerId: +this._CustId,\n CustomerName: this._CustName,\n ChargesMethod: '2',\n Rate: '',\n UserId: '',\n FrequencyId: null,\n Frequency: '',\n TypeId: null,\n TypeName: '',\n Message: '',\n RangeType: \"1\",\n Status: null,\n ReviewStatus: null,\n CreatedBy: 0,\n OldChargesMethodName: '',\n OldRate: '',\n OldFrequency: '',\n OldChargeType: '',\n OldRangeType: '',\n IsApproved: null,\n WithEffectDate: ''\n }\n\n this.divFrequ = true;\n this.divType = true;\n this.divFlatFee = true;\n this.divhideshow = false;\n localStorage.setItem('_ChargesTypeId', '');\n localStorage.setItem('_ChargesTypeId', this._sweepChargesService.formData.SweepCharges.ChargesMethod.toString());\n }\n\n if (this.editedSweepChargesInfo.ChargesMethod == \"1\") {\n this.divFrequ = false;\n this.divType = false;\n this.divFlatFee = false;\n this.divhideshow = true;\n this.txtRate = false;\n this.lblAsperName = \"Per Sweep\";\n localStorage.setItem('_ChargesTypeId', '');\n localStorage.setItem('_ChargesTypeId', this._sweepChargesService.formData.SweepCharges.ChargesMethod.toString());\n this._sweepChargesService.formData.SweepCharges.Rate = this._sweepChargesService.formData.SweepCharges.Rate == \"0\" || this._sweepChargesService.formData.SweepCharges.Rate.length > 0 ? \"\" : this._sweepChargesService.formData.SweepCharges.Rate;\n }\n\n if (this.editedSweepChargesInfo.ChargesMethod == \"3\") {\n this.divFrequ = false;\n this.divType = false;\n this.divFlatFee = false;\n this.divhideshow = true;\n this.txtRate = false;\n this.lblAsperName = \"Per Day\";\n localStorage.setItem('_ChargesTypeId', '');\n localStorage.setItem('_ChargesTypeId', this._sweepChargesService.formData.SweepCharges.ChargesMethod.toString());\n this._sweepChargesService.formData.SweepCharges.Rate = this._sweepChargesService.formData.SweepCharges.Rate == \"0\" || this._sweepChargesService.formData.SweepCharges.Rate.length > 0 ? \"\" : this._sweepChargesService.formData.SweepCharges.Rate;\n }\n\n if (this.editedSweepChargesInfo.ChargesMethod == \"4\") {\n this.divFrequ = false;\n this.divType = false;\n this.divFlatFee = false;\n this.divhideshow = true;\n this.txtRate = false;\n this.lblAsperName = \"Per Month\";\n localStorage.setItem('_ChargesTypeId', '');\n localStorage.setItem('_ChargesTypeId', this._sweepChargesService.formData.SweepCharges.ChargesMethod.toString());\n this._sweepChargesService.formData.SweepCharges.Rate = this._sweepChargesService.formData.SweepCharges.Rate == \"0\" || this._sweepChargesService.formData.SweepCharges.Rate.length > 0 ? \"\" : this._sweepChargesService.formData.SweepCharges.Rate;\n }\n\n if (this.editedSweepChargesInfo.ChargesMethod == \"5\") {\n this.divFrequ = false;\n this.divType = false;\n this.divFlatFee = false;\n this.divhideshow = true;\n localStorage.setItem('_ChargesTypeId', '');\n localStorage.setItem('_ChargesTypeId', this._sweepChargesService.formData.SweepCharges.ChargesMethod.toString());\n if (this._sweepChargesService.formData.SweepCharges.Rate == \"\" || this._sweepChargesService.formData.SweepCharges.Rate != \"\") {\n this._sweepChargesService.formData.SweepCharges.Rate = \"0\";\n }\n this.txtRate = true;\n this.lblAsperName = \"\";\n }\n this.fnRateType(this._sweepChargesService.formData.SweepCharges.RangeType);\n }\n\n\n addRow() {\n debugger;\n\n if (this._sweepChargesService.formData.flatChargeObj.FromRange == '' && this._sweepChargesService.formData.flatChargeObj.ToRange == '' && this._sweepChargesService.formData.flatChargeObj.Total == '') {\n this.FromRangemsg = \"\";\n this.FromRangemsg = \"From Range is required\";\n this.IsFlatFromRangeExceed = true;\n this.ToRangemsg = \"\";\n this.ToRangemsg = \"To Range is required\";\n this.IsFlatToRangeExceed = true;\n this.RateRangemsg = \"\";\n this.RateRangemsg = \"Rate is required\";\n this.IsRateRangeExceed = true;\n return;\n }\n if (this._sweepChargesService.formData.flatChargeObj.ToRange == '' && this._sweepChargesService.formData.flatChargeObj.Total == '') {\n this.Rangemsg = \"\";\n this.ToRangemsg = \"\";\n this.ToRangemsg = \"To Range is required\";\n this.IsFlatToRangeExceed = true;\n this.RateRangemsg = \"\";\n this.RateRangemsg = \"Rate is required\";\n this.IsRateRangeExceed = true;\n return;\n }\n if (this._sweepChargesService.formData.flatChargeObj.FromRange == '' && this._sweepChargesService.formData.flatChargeObj.ToRange == '') {\n this.RateRangemsg = \"\";\n this.FromRangemsg = \"\";\n this.FromRangemsg = \"From Range is required\";\n this.IsFlatFromRangeExceed = true;\n this.ToRangemsg = \"\";\n this.ToRangemsg = \"To Range is required\";\n this.IsFlatToRangeExceed = true;\n return;\n }\n if (this._sweepChargesService.formData.flatChargeObj.FromRange == '' && this._sweepChargesService.formData.flatChargeObj.Total == '') {\n this.ToRangemsg = \"\";\n this.FromRangemsg = \"\";\n this.FromRangemsg = \"From Range is required\";\n this.IsFlatFromRangeExceed = true;\n this.RateRangemsg = \"\";\n this.RateRangemsg = \"Rate is required\";\n this.IsRateRangeExceed = true;\n return;\n }\n\n if (this._sweepChargesService.formData.flatChargeObj.FromRange == '') {\n this.FromRangemsg = \"\";\n this.RateRangemsg = \"\";\n this.ToRangemsg = \"\";\n this.FromRangemsg = \"From Range is required\";\n this.IsFlatFromRangeExceed = true;\n return;\n }\n if (this._sweepChargesService.formData.flatChargeObj.ToRange == '') {\n this.FromRangemsg = \"\";\n this.RateRangemsg = \"\";\n this.ToRangemsg = \"\";\n this.ToRangemsg = \"To Range is required\";\n this.IsFlatToRangeExceed = true;\n return;\n }\n if (this._sweepChargesService.formData.flatChargeObj.Total == '') {\n this.Rangemsg = \"\";\n this.RateRangemsg = \"\";\n this.ToRangemsg = \"\";\n this.RateRangemsg = \"Rate is required\";\n this.IsRateRangeExceed = true;\n return;\n }\n if (this._sweepChargesService.formData.flatChargeObj.FromRange != '' && this._sweepChargesService.formData.flatChargeObj.ToRange != '' && this._sweepChargesService.formData.flatChargeObj.Total != '') {\n this.Rangemsg = \"\";\n this.RateRangemsg = \"\";\n this.ToRangemsg = \"\";\n this.FromRangemsg = \"\";\n }\n\n if (parseInt(this._sweepChargesService.formData.flatChargeObj.FromRange) == parseInt(this._sweepChargesService.formData.flatChargeObj.ToRange)) {\n this.IsFlatFromRangeExceed = true;\n this.Rangemsg = \"\";\n this.Rangemsg = \"From Range and To Range value should not be the same\";\n return;\n }\n else {\n this.IsFlatFromRangeExceed = true;\n this.Rangemsg = \"\";\n }\n\n if (parseInt(this._sweepChargesService.formData.flatChargeObj.FromRange) > parseInt(this._sweepChargesService.formData.flatChargeObj.ToRange)) {\n this.IsFlatFromRangeExceed = true;\n this.Rangemsg = \"\";\n this.Rangemsg = \"From Range should not be Less Than To Range\";\n return;\n }\n else {\n this.IsFlatFromRangeExceed = true;\n this.Rangemsg = \"\";\n }\n\n if (this._sweepChargesService.formData.sweepChargeLsts.length > 0) {\n debugger;\n this.IsFlatduplicate = true;\n\n this._sweepChargesService.formData.sweepChargeLsts.forEach(element => {\n\n if (this.IsFlatduplicate) {\n\n // if((+this._sweepChargesService.formData.flatChargeObj.FromRange.toString()) == (+element[\"ToRange\"].toString())){\n // this.IsFlatduplicate = false;\n // }\n\n if ((+this._sweepChargesService.formData.flatChargeObj.FromRange.toString()) <= (+element[\"FromRange\"].toString()) &&\n (+element[\"FromRange\"].toString()) <= (+this._sweepChargesService.formData.flatChargeObj.ToRange.toString())) {\n this.IsFlatduplicate = false;\n }\n\n if ((+this._sweepChargesService.formData.flatChargeObj.FromRange.toString()) <= (+element[\"ToRange\"].toString()) &&\n (+element[\"ToRange\"].toString()) <= (+this._sweepChargesService.formData.flatChargeObj.ToRange.toString())) {\n this.IsFlatduplicate = false;\n }\n\n if ((+element[\"FromRange\"].toString() < (+this._sweepChargesService.formData.flatChargeObj.FromRange.toString())) &&\n (+this._sweepChargesService.formData.flatChargeObj.ToRange.toString()) < (+element[\"ToRange\"].toString())) {\n this.IsFlatduplicate = false;\n }\n\n // if (a_start <= b_start && b_start <= a_end)\n // return true; // b starts in a\n // if (a_start <= b_end && b_end <= a_end)\n // return true; // b ends in a\n // if (b_start < a_start && a_end < b_end)\n // return true; // a in b \n\n // if((+this._sweepChargesService.formData.flatChargeObj.FromRange.toString()) < (+element[\"ToRange\"].toString())){\n // this.IsFlatduplicate = false;\n // }\n\n }\n });\n }\n\n if (this.IsFlatduplicate) {\n if (this._sweepChargesService.formData.flatChargeObj.FromRange != '' && this._sweepChargesService.formData.flatChargeObj.ToRange != '' && this._sweepChargesService.formData.flatChargeObj.Total != '') {\n this._sweepChargesService.formData.sweepChargeLsts.push(this._sweepChargesService.formData.flatChargeObj);\n this._sweepChargesService.formData.flatChargeObj = { FromRange: '', ToRange: '', Total: '' };\n this.divCount = true;\n }\n }\n\n }\n\n deleteRow(index) {\n if (this._sweepChargesService.formData.sweepChargeLsts.length > 0) {\n this._sweepChargesService.formData.sweepChargeLsts.splice(index, 1);\n }\n }\n\n onTop() {\n window.scroll({\n top: 0,\n left: 0,\n behavior: 'smooth'\n })\n }\n\n fnGetChargeTypeData() {\n this._sweepChargesService.fnGetChargeTypeData().subscribe(data => {\n this.allChargeType = data;\n }, (err) => {\n this.router.navigate([\"404\"]);\n });\n }\n\n fnGetFrequencyTypeData() {\n this._sweepChargesService.fnGetFrequencyTypeData().subscribe(data => {\n this.allFrequency = data.frequencylst;\n this.allType = data.typelst;\n }, (err) => {\n this.router.navigate([\"404\"]);\n });\n }\n\n fnGetChargeTypeById() {\n this.iChargeId = isNaN(parseInt(localStorage.getItem('_ChargesTypeId'))) ? 0 : parseInt(localStorage.getItem('_ChargesTypeId'));\n\n this._sweepChargesService.fnGetChargeTypeById(this.iChargeId.toString(), localStorage.getItem('_CustId')).subscribe(data => {\n debugger;\n this.reviewStatus = +data.SweepCharges.ReviewStatus;\n\n if (this.reviewStatus == 1 || this.reviewStatus == 4 || this.reviewStatus == 7) {\n this.showStatusDiv = true;\n }\n\n if (data.SweepCharges.Status == \"InActive\") {\n data.SweepCharges.Status = \"0\";\n }\n else if (data.SweepCharges.Status == \"Active\") {\n data.SweepCharges.Status = \"1\";\n }\n else {\n data.SweepCharges.Status = \"2\";\n }\n\n if (!this.CheckerPrivillage && data.SweepCharges.Status == \"2\") {\n this.disableButton = true;\n }\n else if (this.CheckerPrivillage && data.SweepCharges.Status != \"2\" && (data.SweepCharges.CreatedBy != +this._encreptdecrept.decryptUsingAES256(localStorage.getItem(\"LoginUserId\")))) {\n this.disableButton = true;\n }\n else {\n this.disableButton = false;\n }\n\n if (this.CheckerPrivillage == true && (data.SweepCharges.CreatedBy != +this._encreptdecrept.decryptUsingAES256(localStorage.getItem(\"LoginUserId\")))) {\n this.buttonvalue = \"Verify\";\n this.showApprovalInfo = \"Pending\";\n this.disableStatus = false;\n\n if (this.CheckerPrivillage && data.SweepCharges.Status == \"2\" && data.SweepCharges.SweepChargeId == 0 && data.SweepCharges.CreatedBy == 0) {\n this.buttonvalue = \"Submit\";\n this.showApprovalInfo = \"\";\n this.disableStatus = true;\n }\n\n }\n else {\n this.buttonvalue = \"Submit\";\n this.showApprovalInfo = \"\";\n if (!this.CheckerPrivillage && data.SweepCharges.Status == \"2\" && data.SweepCharges.SweepChargeId == 0) {\n this.disableButton = false;\n }\n }\n\n if (this.CheckerPrivillage && data.SweepCharges.Status == \"2\" && (data.SweepCharges.CreatedBy == +this._encreptdecrept.decryptUsingAES256(localStorage.getItem(\"LoginUserId\")))) {\n this.showStatusDiv = true;\n this.disableStatus = true;\n this.disableButton = true;\n }\n\n if (this.CheckerPrivillage && data.SweepCharges.Status == \"2\")\n data.SweepCharges.Status = null;\n\n if (data.SweepCharges.ChargesMethod === '1') {\n localStorage.setItem('_SweepChargeId', data.SweepCharges.SweepChargeId.toString());\n localStorage.setItem('_ChargesTypeId', '');\n localStorage.setItem('_ChargesTypeId', data.SweepCharges.ChargesMethod);\n this.divFlatFee = false;\n this.divFrequ = false;\n this.divType = false;\n this.divhideshow = true;\n this.txtRate = false;\n this.lblAsperName = \"Per Sweep\";\n this.enabledisableothercharges = false;\n\n if (this.CheckerPrivillage && this.reviewStatus == 4 && \n (data.SweepCharges.CreatedBy == +this._encreptdecrept.decryptUsingAES256(localStorage.getItem(\"LoginUserId\")))) {\n this.enabledisableothercharges = true;\n }\n\n this._sweepChargesService.formData.SweepCharges = {\n SweepChargeId: data.SweepCharges.SweepChargeId,\n SweepChargeType: '',\n CustomerId: data.SweepCharges.CustomerId,\n CustomerName: localStorage.getItem('_CustName'),\n ChargesMethod: data.SweepCharges.ChargesMethod,\n Rate: data.SweepCharges.Rate,\n UserId: '',\n FrequencyId: 0,\n Frequency: '',\n TypeId: 0,\n TypeName: '',\n Message: '',\n RangeType: data.SweepCharges.RangeType,\n Status: null,\n ReviewStatus: null,\n CreatedBy: 0,\n OldChargesMethodName: 'Per Sweep Fee',\n OldRate: data.SweepCharges.Rate,\n OldFrequency: '',\n OldChargeType: '',\n OldRangeType: '',\n IsApproved: null,\n WithEffectDate: ''\n }\n }\n\n if (data.SweepCharges.ChargesMethod === '2') {\n localStorage.setItem('_SweepChargeId', data.SweepCharges.SweepChargeId.toString());\n localStorage.setItem('_ChargesTypeId', '');\n localStorage.setItem('_ChargesTypeId', data.SweepCharges.ChargesMethod);\n this.divFlatFee = true;\n this.divFrequ = true;\n this.divType = true;\n this.divhideshow = false;\n this.txtRate = false;\n this.lblAsperName = \"\";\n\n if (this.reviewStatus != 0)\n this.enabledisableFlatRange = false;\n\n if (this.CheckerPrivillage && this.reviewStatus == 4 && \n (data.SweepCharges.CreatedBy == +this._encreptdecrept.decryptUsingAES256(localStorage.getItem(\"LoginUserId\")))) {\n this.enabledisableFlatRange = true;\n }\n\n if (data.SweepCharges.FrequencyId == 6) {\n this._oldFrequency = \"\";\n this._oldFrequency = \"Daily\";\n } else {\n this._oldFrequency = \"\";\n this._oldFrequency = \"Monthly\";\n }\n\n if (data.SweepCharges.TypeId == 8) {\n this._oldChargeType = \"\";\n this._oldChargeType = \"Direct\";\n } else {\n this._oldChargeType = \"\";\n this._oldChargeType = \"Percentage\";\n }\n\n if (data.SweepCharges.RangeType == '1') {\n this._oldRangeType = \"\";\n this._oldRangeType = \"Transactions Based\";\n } else {\n this._oldRangeType = \"\";\n this._oldRangeType = \"Amount Based\";\n }\n\n this._sweepChargesService.formData.SweepCharges = {\n SweepChargeId: data.SweepCharges.SweepChargeId,\n SweepChargeType: '',\n CustomerId: data.SweepCharges.CustomerId,\n CustomerName: localStorage.getItem('_CustName'),\n ChargesMethod: data.SweepCharges.ChargesMethod,\n Rate: data.SweepCharges.Rate,\n UserId: '',\n FrequencyId: data.SweepCharges.FrequencyId,\n Frequency: '',\n TypeId: data.SweepCharges.TypeId,\n TypeName: '',\n Message: '',\n RangeType: data.SweepCharges.RangeType,\n Status: null,\n ReviewStatus: null,\n CreatedBy: 0,\n OldChargesMethodName: 'Flat Range Fee',\n OldRate: '',\n OldFrequency: this._oldFrequency,\n OldChargeType: this._oldChargeType,\n OldRangeType: this._oldRangeType,\n IsApproved: null,\n WithEffectDate: ''\n }\n this._sweepChargesService.formData.OldsweepChargeLsts = data.sweepChargeLsts;\n \n this.divCount = true;\n }\n\n if (data.SweepCharges.ChargesMethod === '3') {\n localStorage.setItem('_SweepChargeId', data.SweepCharges.SweepChargeId.toString());\n localStorage.setItem('_ChargesTypeId', '');\n localStorage.setItem('_ChargesTypeId', data.SweepCharges.ChargesMethod);\n this.divFlatFee = false;\n this.divFrequ = false;\n this.divType = false;\n this.divhideshow = true;\n this.txtRate = false;\n this.lblAsperName = \"Per Day\";\n this.enabledisableothercharges = false;\n\n if (this.CheckerPrivillage && this.reviewStatus == 4 && \n (data.SweepCharges.CreatedBy == +this._encreptdecrept.decryptUsingAES256(localStorage.getItem(\"LoginUserId\")))) {\n this.enabledisableothercharges = true;\n }\n\n this._sweepChargesService.formData.SweepCharges = {\n SweepChargeId: data.SweepCharges.SweepChargeId,\n SweepChargeType: '',\n CustomerId: data.SweepCharges.CustomerId,\n CustomerName: localStorage.getItem('_CustName'),\n ChargesMethod: data.SweepCharges.ChargesMethod,\n Rate: data.SweepCharges.Rate,\n UserId: '',\n FrequencyId: 0,\n Frequency: '',\n TypeId: 0,\n TypeName: '',\n Message: '',\n RangeType: data.SweepCharges.RangeType,\n Status: null,\n ReviewStatus: null,\n CreatedBy: 0,\n OldChargesMethodName: 'Daily Fixed Sweep Fee',\n OldRate: data.SweepCharges.Rate,\n OldFrequency: '',\n OldChargeType: '',\n OldRangeType: '',\n IsApproved: null,\n WithEffectDate: ''\n }\n }\n\n if (data.SweepCharges.ChargesMethod === '4') {\n localStorage.setItem('_SweepChargeId', data.SweepCharges.SweepChargeId.toString());\n localStorage.setItem('_ChargesTypeId', '');\n localStorage.setItem('_ChargesTypeId', data.SweepCharges.ChargesMethod);\n this.divFlatFee = false;\n this.divFrequ = false;\n this.divType = false;\n this.divhideshow = true;\n this.txtRate = false;\n this.lblAsperName = \"Per Month\";\n this.enabledisableothercharges = false;\n\n if (this.CheckerPrivillage && this.reviewStatus == 4 && \n (data.SweepCharges.CreatedBy == +this._encreptdecrept.decryptUsingAES256(localStorage.getItem(\"LoginUserId\")))) {\n this.enabledisableothercharges = true;\n }\n\n this._sweepChargesService.formData.SweepCharges = {\n SweepChargeId: data.SweepCharges.SweepChargeId,\n SweepChargeType: '',\n CustomerId: data.SweepCharges.CustomerId,\n CustomerName: localStorage.getItem('_CustName'),\n ChargesMethod: data.SweepCharges.ChargesMethod,\n Rate: data.SweepCharges.Rate,\n UserId: '',\n FrequencyId: 0,\n Frequency: '',\n TypeId: 0,\n TypeName: '',\n Message: '',\n RangeType: data.SweepCharges.RangeType,\n Status: null,\n ReviewStatus: null,\n CreatedBy: 0,\n OldChargesMethodName: 'Monthly Fixed Sweep Fee',\n OldRate: data.SweepCharges.Rate,\n OldFrequency: '',\n OldChargeType: '',\n OldRangeType: '',\n IsApproved: null,\n WithEffectDate: ''\n }\n\n }\n\n if (data.SweepCharges.ChargesMethod === '5') {\n localStorage.setItem('_SweepChargeId', data.SweepCharges.SweepChargeId.toString());\n localStorage.setItem('_ChargesTypeId', '');\n localStorage.setItem('_ChargesTypeId', data.SweepCharges.ChargesMethod);\n this.divFlatFee = false;\n this.divFrequ = false;\n this.divType = false;\n this.divhideshow = true;\n this.txtRate = true;\n this.lblAsperName = \"\";\n this.enabledisableothercharges = false;\n\n if (this.CheckerPrivillage && this.reviewStatus == 4 && \n (data.SweepCharges.CreatedBy == +this._encreptdecrept.decryptUsingAES256(localStorage.getItem(\"LoginUserId\")))) {\n this.enabledisableothercharges = true;\n }\n\n this._sweepChargesService.formData.SweepCharges = {\n SweepChargeId: data.SweepCharges.SweepChargeId,\n SweepChargeType: '',\n CustomerId: data.SweepCharges.CustomerId,\n CustomerName: localStorage.getItem('_CustName'),\n ChargesMethod: data.SweepCharges.ChargesMethod,\n Rate: '0',\n UserId: '',\n FrequencyId: 0,\n Frequency: '',\n TypeId: 0,\n TypeName: '',\n Message: '',\n RangeType: data.SweepCharges.RangeType,\n Status: null,\n ReviewStatus: null,\n CreatedBy: 0,\n OldChargesMethodName: 'Waived Off',\n OldRate: data.SweepCharges.Rate,\n OldFrequency: '',\n OldChargeType: '',\n OldRangeType: '',\n IsApproved: null,\n WithEffectDate: ''\n }\n }\n\n if (this.CheckerPrivillage && this.reviewStatus == 1) {\n this.enabledisableFlatRange = true;\n this.enabledisableothercharges = true;\n }\n if (this.CheckerPrivillage && (data.SweepCharges.ReviewStatus == 2 || data.SweepCharges.ReviewStatus == 3 ||\n data.SweepCharges.ReviewStatus == 5 || data.SweepCharges.ReviewStatus == 6 || data.SweepCharges.ReviewStatus == 8 || data.SweepCharges.ReviewStatus == 9)) {\n this.enabledisableFlatRange = true;\n this.enabledisableothercharges = true;\n }\n\n this.fnRateType(this._sweepChargesService.formData.SweepCharges.RangeType);\n\n debugger;\n this.fnGetEditedSweepChargeTypeById(this._sweepChargesService.formData.SweepCharges.SweepChargeId.toString(), localStorage.getItem('_CustId'));\n }, (err) => {\n this.router.navigate([\"404\"]);\n });\n\n\n\n }\n\n onSubmit(form: NgForm) {\n debugger;\n if (form.valid && this.validStatus==true) {\n this.disableButton = true;\n \n var swpClassObje = new SweepChargesClass();\n /*----------------Maker checker flow Start---------------------------- */\n if (!this.CheckerPrivillage) {\n form.value[\"Status\"] = 2;\n\n if (this.reviewStatus == 5 || this.reviewStatus == 6) {\n form.value[\"ReviewStatus\"] = 4;//Edit approval pending\n }\n else if (this.reviewStatus == 2 || this.reviewStatus == 3) {\n form.value[\"ReviewStatus\"] = 4;\n }\n else if (this.reviewStatus == 8 || this.reviewStatus == 9) {\n form.value[\"ReviewStatus\"] = 4;\n }\n else {\n form.value[\"ReviewStatus\"] = 1;\n }\n }\n else {\n if (form.value[\"Status\"] == 1 && this.reviewStatus == undefined) {\n form.value[\"ReviewStatus\"] = 2;\n }\n else if (form.value[\"Status\"] == 0 && this.reviewStatus == undefined) {\n form.value[\"ReviewStatus\"] = 3;\n }\n if (form.value[\"Status\"] == 1 && this.reviewStatus == 1) {\n form.value[\"ReviewStatus\"] = 2;\n }\n else if (form.value[\"Status\"] == 0 && this.reviewStatus == 1) {\n form.value[\"ReviewStatus\"] = 3;\n }\n\n if (form.value[\"Status\"] == 1 && this.reviewStatus == 4) {\n form.value[\"ReviewStatus\"] = 5;\n }\n else if (form.value[\"Status\"] == 0 && this.reviewStatus == 4) {\n form.value[\"ReviewStatus\"] = 6;\n }\n\n if (form.value[\"Status\"] == 1 && this.reviewStatus == 7) {\n form.value[\"ReviewStatus\"] = 8;\n form.value[\"Status\"] = 0;\n }\n else if (form.value[\"Status\"] == 0 && this.reviewStatus == 7) {\n form.value[\"ReviewStatus\"] = 9;\n form.value[\"Status\"] = 1;\n }\n\n // for add by checker add\n if (form.value[\"Status\"] == undefined && (this.reviewStatus == undefined || this.reviewStatus == 0)) {\n form.value[\"ReviewStatus\"] = 1;\n form.value[\"Status\"] = 2;\n }\n if (form.value[\"Status\"] == 1 && (this.reviewStatus == 2 || this.reviewStatus == 3)) {\n form.value[\"ReviewStatus\"] = 4;\n form.value[\"Status\"] = 2;\n }\n if (form.value[\"Status\"] == 1 && (this.reviewStatus == 5 || this.reviewStatus == 6)) {\n form.value[\"ReviewStatus\"] = 4;\n form.value[\"Status\"] = 2;\n }\n if (form.value[\"Status\"] == 0 && this.reviewStatus == 3) {\n form.value[\"ReviewStatus\"] = 4;\n form.value[\"Status\"] = 2;\n }\n if (form.value[\"Status\"] == 0 && (this.reviewStatus == 5 || this.reviewStatus == 6)) {\n form.value[\"ReviewStatus\"] = 4;\n form.value[\"Status\"] = 2;\n }\n if (form.value[\"Status\"] == 0 && this.reviewStatus == 8) {\n form.value[\"ReviewStatus\"] = 4;\n form.value[\"Status\"] = 2;\n }\n if (form.value[\"Status\"] == 1 && this.reviewStatus == 9) {\n form.value[\"ReviewStatus\"] = 4;\n form.value[\"Status\"] = 2;\n }\n if (form.value[\"Status\"] == undefined && (this.reviewStatus == 2 || this.reviewStatus == 5 || this.reviewStatus == 6)) {\n form.value[\"ReviewStatus\"] = 4;\n form.value[\"Status\"] = 2;\n }\n }\n /*----------------Maker checker flow End---------------------------- */\n\n\n\n swpClassObje.SweepCharges = form.value;\n swpClassObje.SweepCharges.SweepChargeId = parseInt(localStorage.getItem('_SweepChargeId'));\n swpClassObje.SweepCharges.UserId = (localStorage.getItem('LoginUserId'));\n\n if (this.divhideshow) {\n if (swpClassObje.SweepCharges.ChargesMethod.toString() == \"5\")\n localStorage.setItem('_Rate', \"0\");\n else\n localStorage.setItem('_Rate', swpClassObje.SweepCharges.Rate.toString());\n }\n\n if (swpClassObje.SweepCharges.FrequencyId != undefined) {\n localStorage.setItem('_FrequencyId', swpClassObje.SweepCharges.FrequencyId.toString());\n } else {\n localStorage.setItem('_FrequencyId', \"0\");\n }\n\n if (swpClassObje.SweepCharges.TypeId != undefined) {\n localStorage.setItem('_TypeId', swpClassObje.SweepCharges.TypeId.toString());\n } else {\n localStorage.setItem('_TypeId', \"0\");\n }\n\n swpClassObje.sweepChargeLsts = this._sweepChargesService.formData.sweepChargeLsts;\n if(form.value[\"Rate\"] == undefined && form.value[\"ChargesMethod\"] == \"5\")\n swpClassObje.SweepCharges.Rate = this._sweepChargesService.formData.SweepCharges.Rate;\n if(form.value[\"Rate\"] == undefined && form.value[\"ChargesMethod\"] == \"2\" && (this._sweepChargesService.formData.SweepCharges.Rate == \"\" ||\n this._sweepChargesService.formData.SweepCharges.Rate == null))\n swpClassObje.SweepCharges.Rate = \"0\";\n\n this._sweepChargesService.fnInsertUpdateSweepCharges(swpClassObje).subscribe(data => {\n debugger;\n if (this.CheckerPrivillage && data.SweepCharges.SweepChargeId > 0 && (data.SweepCharges.ReviewStatus == 2 || data.SweepCharges.ReviewStatus == 3 ||\n data.SweepCharges.ReviewStatus == 5 || data.SweepCharges.ReviewStatus == 6 || data.SweepCharges.ReviewStatus == 8 || data.SweepCharges.ReviewStatus == 9)) {\n this.disableButton = true;\n }\n else if (data.SweepCharges.ReviewStatus == 4) {\n this.disableButton = true;\n }\n else {\n // this.disableButton = false;\n }\n\n if (data.SweepCharges.SweepChargeId == -1) {\n this.lblMessage = data.SweepCharges.Message;\n this.showMsg = false;\n this.showerrormsg = true;\n this.disableButton = false;\n } else {\n this.lblMessage = data.SweepCharges.Message;\n this.showMsg = true;\n this.showerrormsg = false;\n this.fnGetCreatedNUpdatedSweep(data.SweepCharges.SweepChargeId.toString());\n }\n //this.disableButton = false;\n this.onTop();\n }, (error) => {\n this.showMsg = false;\n this.router.navigate([\"404\"]);\n this.onTop();\n }\n );\n }\n}\n showlbl() {\n this.showMsg = true;\n }\n hidelbl() {\n this.showMsg = false;\n }\n\n showerror() {\n this.showerrormsg = true;\n }\n hideerror() {\n this.showerrormsg = false;\n }\n\n resetForm(form?: NgForm) {\n\n this._sweepChargesService.formData.SweepCharges = {\n SweepChargeId: 0,\n SweepChargeType: '',\n CustomerId: parseInt(localStorage.getItem('_CustId')),\n CustomerName: localStorage.getItem('_CustName'),\n ChargesMethod: localStorage.getItem('_ChargesTypeId'),\n Rate: localStorage.getItem('_Rate'),\n UserId: '',\n FrequencyId: parseInt(localStorage.getItem('_FrequencyId')),\n Frequency: '',\n TypeId: parseInt(localStorage.getItem('_TypeId')),\n TypeName: '',\n Message: '',\n RangeType: '1',\n Status: null,\n ReviewStatus: null,\n CreatedBy: 0,\n OldChargesMethodName: '',\n OldRate: '',\n OldFrequency: '',\n OldChargeType: '',\n OldRangeType: '',\n IsApproved: null,\n WithEffectDate: ''\n }\n this._sweepChargesService.formData.flatChargeObj = {\n FromRange: '',\n ToRange: '',\n Total: '',\n }\n\n //this._sweepChargesService.formData.sweepChargeLsts = [];\n }\n\n numberOnly(event): boolean {\n const charCode = (event.which) ? event.which : event.keyCode;\n // if (charCode > 31 && (charCode < 48 || charCode > 57)) {\n // return false;\n // }\n if (charCode != 46 && charCode > 31 && (charCode < 48 || charCode > 57)) {\n return false;\n }\n return true;\n //////////////\n }\n\n fncheckRangeValidation() {\n var _FromRange = this._sweepChargesService.formData.flatChargeObj.FromRange;\n\n var _ToRange = this._sweepChargesService.formData.flatChargeObj.ToRange;\n\n if (_FromRange > _ToRange) {\n\n }\n }\n\n fnNewSweepCharges() {\n debugger;\n var swobj = new SweepChargesClass();\n this._sweepChargesService.formData = swobj;\n\n this.disableStatus = true;\n\n this._sweepChargesService.formData.SweepCharges = {\n SweepChargeId: 0,\n SweepChargeType: '',\n CustomerId: +this._CustId,\n CustomerName: this._CustName,\n ChargesMethod: '',\n Rate: '',\n UserId: '',\n FrequencyId: null,\n Frequency: '',\n TypeId: null,\n TypeName: '',\n Message: '',\n RangeType: '',\n Status: null,\n ReviewStatus: null,\n CreatedBy: 0,\n OldChargesMethodName: '',\n OldRate: '',\n OldFrequency: '',\n OldChargeType: '',\n OldRangeType: '',\n IsApproved: null,\n WithEffectDate: ''\n }\n\n this._sweepChargesService.formData.flatChargeObj = {\n FromRange: '',\n ToRange: '',\n Total: '',\n }\n\n this._sweepChargesService.formData.sweepChargeLsts = [];\n }\n\n fnFreqChange(freqval) {\n debugger;\n if (freqval == \"null\")\n this._sweepChargesService.formData.SweepCharges.FrequencyId = null;\n }\n\n fnTypeChange(typeval) {\n debugger;\n if (typeval == \"null\")\n this._sweepChargesService.formData.SweepCharges.TypeId = null;\n\n if (this._sweepChargesService.formData.SweepCharges.TypeId == 8) {\n this._sweepChargesService.formData.SweepCharges.RangeType = \"1\";\n this.fnRateType(\"1\");\n this._rateMargin = \"-65px\";\n }\n else if (this._sweepChargesService.formData.SweepCharges.TypeId == 9) {\n this._sweepChargesService.formData.SweepCharges.RangeType = \"2\";\n this.fnRateType(\"2\");\n this._rateMargin = \"-45px\";\n }\n }\n\n fromPlaceHolder: string;\n fromToName: string;\n rateLable: string;\n fnRateType(rateType) {\n if (rateType == 1) {\n this.fromPlaceHolder = \"Number Of Transactions\";\n this.fromToName = \"Range\";\n this.rateLable = \"Rate\";\n this._sweepChargesService.formData.sweepChargeLsts = [];\n }\n else if (rateType == 2) {\n this.fromPlaceHolder = \"Amount\";\n this.fromToName = \"Amount\";\n this.rateLable = \"Percent Rate\";\n this._sweepChargesService.formData.sweepChargeLsts = [];\n }\n }\n\n GetPrivillageRoles() {\n this._roleAccess.fnGetRoleAccess(localStorage.getItem('LoginUserId'), '/ManageCustomer').subscribe(roleAccess => {\n this.CheckerPrivillage = roleAccess[0].CheckerAccess;\n\n this.fnGetChargeTypeById();\n }, (err) => {\n this.router.navigate([\"404\"]);\n });\n }\n\n fnGetEditedSweepChargeTypeById(_ichargedId, _customerId) {\n if (_ichargedId > 0) {\n this._sweepChargesService.fnGetEditedSweepChargeTypeById(_ichargedId, _customerId).subscribe(data => {\n\n this.editedSweepChargesInfo = data.SweepCharges;\n if (this.editedSweepChargesInfo != null) {\n if (this.CheckerPrivillage && this.editedSweepChargesInfo.IsApproved) {\n this.showStatusDiv = false;\n this.disableButton = true;\n this.lblMessage = \"Sweep Charges Approved successful and will be applied from \"+ this.editedSweepChargesInfo.WithEffectDate;\n this.showlbl();\n }\n }\n debugger;\n if (this.editedSweepChargesInfo.ChargesMethod === '1') {\n localStorage.setItem('_SweepChargeId', this.editedSweepChargesInfo.SweepChargeId.toString());\n localStorage.setItem('_ChargesTypeId', '');\n localStorage.setItem('_ChargesTypeId', this.editedSweepChargesInfo.ChargesMethod);\n this.divFlatFee = false;\n this.divFrequ = false;\n this.divType = false;\n this.divhideshow = true;\n this.txtRate = false;\n this.lblAsperName = \"Per Sweep\";\n\n this._sweepChargesService.formData.SweepCharges.Rate = this.editedSweepChargesInfo.Rate;\n }\n\n if (this.editedSweepChargesInfo.ChargesMethod === '2') {\n localStorage.setItem('_SweepChargeId', this.editedSweepChargesInfo.SweepChargeId.toString());\n localStorage.setItem('_ChargesTypeId', '');\n localStorage.setItem('_ChargesTypeId', this.editedSweepChargesInfo.ChargesMethod);\n this.divFlatFee = true;\n this.divFrequ = true;\n this.divType = true;\n this.divhideshow = false;\n this.txtRate = false;\n this.lblAsperName = \"\";\n\n this._sweepChargesService.formData.SweepCharges.FrequencyId = this.editedSweepChargesInfo.FrequencyId;\n this._sweepChargesService.formData.SweepCharges.TypeId = this.editedSweepChargesInfo.TypeId;\n this._sweepChargesService.formData.SweepCharges.RangeType = this.editedSweepChargesInfo.RangeType;\n\n this._sweepChargesService.formData.sweepChargeLsts = data.sweepChargeLsts;\n this.divCount = true;\n }\n\n if (this.editedSweepChargesInfo.ChargesMethod === '3') {\n localStorage.setItem('_SweepChargeId', data.SweepCharges.SweepChargeId.toString());\n localStorage.setItem('_ChargesTypeId', '');\n localStorage.setItem('_ChargesTypeId', data.SweepCharges.ChargesMethod);\n this.divFlatFee = false;\n this.divFrequ = false;\n this.divType = false;\n this.divhideshow = true;\n this.txtRate = false;\n this.lblAsperName = \"Per Day\";\n\n this._sweepChargesService.formData.SweepCharges.Rate = this.editedSweepChargesInfo.Rate;\n }\n\n if (this.editedSweepChargesInfo.ChargesMethod === '4') {\n localStorage.setItem('_SweepChargeId', data.SweepCharges.SweepChargeId.toString());\n localStorage.setItem('_ChargesTypeId', '');\n localStorage.setItem('_ChargesTypeId', data.SweepCharges.ChargesMethod);\n this.divFlatFee = false;\n this.divFrequ = false;\n this.divType = false;\n this.divhideshow = true;\n this.txtRate = false;\n this.lblAsperName = \"Per Month\";\n\n this._sweepChargesService.formData.SweepCharges.Rate = this.editedSweepChargesInfo.Rate;\n }\n\n if (this.editedSweepChargesInfo.ChargesMethod === '5') {\n localStorage.setItem('_SweepChargeId', data.SweepCharges.SweepChargeId.toString());\n localStorage.setItem('_ChargesTypeId', '');\n localStorage.setItem('_ChargesTypeId', data.SweepCharges.ChargesMethod);\n this.divFlatFee = false;\n this.divFrequ = false;\n this.divType = false;\n this.divhideshow = true;\n this.txtRate = true;\n this.lblAsperName = \"\";\n\n this._sweepChargesService.formData.SweepCharges.Rate = '0';\n }\n\n\n });\n this.fnGetCreatedNUpdatedSweep(_ichargedId);\n }\n else {\n this.editedSweepChargesInfo = this._sweepChargesService.formData.SweepCharges;\n localStorage.removeItem('_SweepChargeId');\n }\n }\n\n checkStatusVlidaity(status) {\n this._sweepChargesService.formData.SweepCharges.Status = status;\n if (this.CheckerPrivillage == true) {\n if (status == \"null\") {\n this.validStatus = false;\n }\n else {\n this.validStatus = true;\n }\n }\n }\n\n fnGetCreatedNUpdatedSweep(sId:string=\"0\"){\n\n this._sweepChargesService.fnGetCreatedUpdateSweep(sId).subscribe(userdates=>{\n this.SweepCreatedUpdated1 = userdates;\n\n if(this.SweepCreatedUpdated1[0].CreatedDate != ''){\n this.showCreatedDiv = true;\n this.createdDate = this.SweepCreatedUpdated1[0].CreatedDate;\n this.userNameCreated = this.SweepCreatedUpdated1[0].UserName;\n }\n if(this.SweepCreatedUpdated1[1].UpdatedDate != ''){\n this.showUpdatedDiv = true;\n this.usernameUpdte = this.SweepCreatedUpdated1[1].UserName;\n this.updtedDate = this.SweepCreatedUpdated1[1].UpdatedDate;\n }\n\n }, (err) => {\n this.router.navigate([\"404\"]);\n });\n }\n\n}\n","
\n
\n
\n
\n\n
\n
\n
\n \n
\n\n
\n

Sweep Charges For {{_CustName}}

\n \n
\n\n
\n
\n\n
\n\n
\n\n \n\n
\n

* Marked Fields Are Mandatory.

\n
\n
\n\n
\n\n
\n \n
\n\n
\n\n \n\n \n \n\n
\n Please select Charges Method
\n
\n\n
\n \n
\n\n
\n\n \n\n
\n Please select Frequency\n
\n\n
\n
\n\n
\n
\n \n
\n
\n \n\n
Please enter Rate
\n
\n
\n \n
\n
\n\n
\n\n
\n
\n \n
\n\n
\n\n \n\n
\n Please select Charge Type\n
\n
\n \n
\n \n
\n\n
\n \n
\n
\n
\n\n
\n
\n
\n \n
\n\n
\n \n\n \n \n
\n Status is required\n
\n\n
\n\n
\n
\n\n
\n
\n
\n
\n
\n

*Add Record For Flat Range Fee.

\n
\n
\n\n
\n\n
\n \n
\n\n
\n \n
{{FromRangemsg}}\n
\n\n
\n \n
\n\n
\n \n
{{ToRangemsg}}\n
\n
\n\n
\n \n
\n\n
\n \n
{{RateRangemsg}}\n
\n\n
\n
\n \n
\n\n
\n
\n
\n
\n
{{Rangemsg}}
\n
This range already exists in list Please add new range
\n
\n
\n

\n\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Sr NoNumber Of Sweep {{fromToName}}From {{fromToName}}To {{fromToName}}RateAction
{{i+1}}Number Of Sweep {{fromToName}}{{dynamic.FromRange}}{{dynamic.ToRange}}{{dynamic.Total}}\n \n
\n
\n
\n
\n\n
\n
\n \n
\n
\n\n \n
\n
\n\n
\n \n
\n \n
\n \n
\n

\n \n
\n
\n \n
\n \n
\n \n
\n \n
\n \n
\n
\n
\n \n\n \n
\n
\n\n
\n \n
\n\n
\n \n
\n\n
\n \n
\n\n
\n \n
\n\n
\n

\n
\n\n
\n \n
\n\n
\n \n
\n\n
\n \n
\n\n
\n \n
\n\n
\n
\n \n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Sr NoNumber Of Sweep {{fromToName}}From {{fromToName}}To {{fromToName}}Rate
{{i+1}}Number Of Sweep {{fromToName}}{{dynamic.FromRange}}{{dynamic.ToRange}}{{dynamic.Total}}
\n
\n
\n
\n \n
\n Created By {{ userNameCreated }} on {{ createdDate }}\n
\n
\n Updated By {{ usernameUpdte }} on {{ updtedDate }}\n
\n \n
\n
\n
\n
\n
\n\n","import { Component, OnInit } from '@angular/core';\nimport { FormGroup, FormControl, NgForm } from '@angular/forms';\nimport { UserService } from '../../MasterService/user.service';\nimport { CustomerService } from '../../MasterService/customer.service';\nimport { RoleService } from '../../MasterService/role.service';\nimport { Router } from '@angular/router';\nimport { ActivatedRoute } from \"@angular/router\";\nimport { AccountMasterService } from 'src/app/MasterService/account-master.service';\nimport { NgxSpinnerService } from \"ngx-spinner\";\nimport { UserCreatedUpdated } from '../../MasterService/user-master';\nimport { Server } from 'http';\nimport { importType, THIS_EXPR } from '@angular/compiler/src/output/output_ast';\nimport { from } from 'rxjs';\n\nimport { NgbDateCustomParserFormatter } from '../../MasterService/date-format';\nimport { NgbDateParserFormatter, NgbDateStruct } from '@ng-bootstrap/ng-bootstrap';\nimport * as moment from 'moment';\nimport { debug } from 'console';\nimport { IAngularMyDpOptions, IMyDateModel } from 'angular-mydatepicker';\nimport { RoleAccessService } from '../../MasterService/role-access.service';\nimport { ignoreElements } from 'rxjs/operators';\nimport * as CryptoJS from 'crypto-js';\nimport { unwrapResolvedMetadata } from '@angular/compiler';\n\ndeclare const UserShowDummyPassword: any;\n\n@Component({\n selector: 'app-user-master',\n templateUrl: './user-master.component.html',\n styleUrls: ['./user-master.component.css'],\n\n})\nexport class UserMasterComponent implements OnInit {\n\n myDpOptions: IAngularMyDpOptions = {\n dateRange: false,\n dateFormat: 'dd-mm-yyyy',\n // other options are here...\n };\n\n model: IMyDateModel = null;\n\n disableButton: boolean;\n disableClear: boolean;\n HiddenClr: boolean = false;\n showModal: boolean;\n hidelist: boolean;\n hideBranch: boolean;\n lblMessage: string;\n\n Roles: any = [];\n Rolesedit: any = [];\n Rolesedit1: any = [];\n Rolesave: any = [];\n allBranchList: any = [];\n\n\n showMsg: boolean;\n showerrormsg: boolean;\n\n bankcorporatelist: any = [];\n\n loginUser_UserType: string;\n loginUser_UserTypeCorpId: string;\n loginUser_UserTypeBranchId: string;\n\n _userType: string;\n viewMode: string;\n mobNumberPattern = \"^((\\\\+91-?)|0)?[0-9]{10}$\";\n editedUserId: number;\n lblTitle: string;\n IsViewMode: boolean;\n UserEditView: string;\n newdate: string;\n validDate: boolean = true;\n bankblock: boolean;\n branchblock: boolean;\n corpblock: boolean;\n branchselectblock: boolean;\n corpselectblock: boolean;\n minDate: object;\n reviewStatus: number;\n showStatusDiv: boolean = false;\n editedUserInfo: any = [];\n editedUserInfoKeptPassword: string;\n KeptPassword: string;\n editedUserInfoKeptconfPassword: string;\n KeptconfPassword: string;\n IsCustomerInActive: boolean = false;\n\n newDateFomat: { day: number; month: number; year: number; };\n IsPasswordChanged: boolean;\n\n constructor(public _userService: UserService, public _masterService: RoleService, private router: Router,\n private _routeWithQuerystring: ActivatedRoute, public _AccountService: AccountMasterService,\n public _customerService: CustomerService, public _spinner: NgxSpinnerService, public _roleAccess: RoleAccessService) {\n this.minDate = { year: 1900, month: 1, day: 1 }\n }\n\n // Declare this key and iv values in declaration\n private key = CryptoJS.enc.Utf8.parse('MAKV2SPBNI992121');\n private iv = CryptoJS.enc.Utf8.parse('MAKV2SPBNI992121');\n\n decryptUsingAES256(decString) {\n var decrypted = CryptoJS.AES.decrypt(decString, this.key, {\n keySize: 128 / 8,\n iv: this.iv,\n mode: CryptoJS.mode.CBC,\n padding: CryptoJS.pad.Pkcs7\n });\n return decrypted.toString(CryptoJS.enc.Utf8);\n }\n\n // Methods for the encrypt and decrypt Using AES\n encryptUsingAES256(password: string) {\n var encrypted = CryptoJS.AES.encrypt(CryptoJS.enc.Utf8.parse(JSON.stringify(password)), this.key, {\n keySize: 128 / 8,\n iv: this.iv,\n mode: CryptoJS.mode.CBC,\n padding: CryptoJS.pad.Pkcs7\n });\n return encrypted.toString();\n }\n\n ngOnInit(): void {\n debugger;\n // If LoginUserId is null then it will return\n if (localStorage.getItem('LoginUserId') == null) {\n this.router.navigate([\"\"]);\n return;\n }\n this._spinner.show();\n this.disableButton = false;\n this.onTop();\n this.editedUserInfo;\n if (localStorage.getItem('UserDataId') != null) {\n this.editedUserId = +this.decryptUsingAES256(localStorage.getItem('UserDataId'));\n }\n this.UserEditView = localStorage.getItem('UserViewMode');\n // Getting Privillage based on id\n this.GetPrivillageRoles();\n // Getting role from database \n this.fnGetRoles();\n // storing view moe value from query string\n this._routeWithQuerystring.queryParams.subscribe(params => {\n this.viewMode = params[\"viewMode\"];\n });\n debugger;\n if (this.editedUserId == 0 || this.editedUserId == undefined || isNaN(this.editedUserId)) {\n this.lblTitle = \"Add User Master\";\n }\n if (this.editedUserId == 0) {\n this.lblTitle = \"Add User Master\";\n this.GetUserDataByUserId();\n this.fnUserTypeDetails();\n this._spinner.hide();\n }\n\n this.lblMessage = localStorage.getItem(\"Msg\");\n if (this.lblMessage == null || this.lblMessage == \"\") {\n\n } else {\n this.lblMessage == localStorage.getItem(\"Msg\");\n this.showMsg = true;\n this.showerrormsg = false;\n localStorage.removeItem(\"Msg\");\n this.onTop();\n }\n // Getting user type from database\n this.fncheckUserType();\n // Getting branch name from database\n this.fnGetBranchName();\n if (this.viewMode == 'view') {\n this.disableButton = true;\n this.disableClear = true;\n }\n }\n futureDateError: boolean;\n inputDate: Date;\n checkDateValidity(date) {\n const mxDate = new Date();\n this.inputDate = date.singleDate.jsDate;\n\n if (this.inputDate > mxDate) {\n this.futureDateError = true;\n }\n else {\n this.futureDateError = false;\n }\n return this.futureDateError\n\n }\n // Getting user type from databse \n fncheckUserType() {\n debugger;\n this._userService.fnGetUserData(localStorage.getItem('LoginUserId'),\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\", 'Edit').subscribe(Users => {\n this.loginUser_UserType = Users[0][\"UserType\"];\n this.loginUser_UserTypeCorpId = Users[0][\"BankCorpUser\"];\n this.loginUser_UserTypeBranchId = Users[0][\"BranchUser\"];\n\n if (this.loginUser_UserType == \"1\") {\n this.bankblock = true;\n this.corpblock = true;\n this.branchblock = true;\n // this.hidelist = false;\n // this.hideBranch=false;\n this.corpselectblock = true;\n this.branchselectblock = true;\n // this._userService.formData.UserType = \"1\";\n this.editedUserInfo.BankCorpUser = \"0\";\n this.editedUserInfo.BranchUser = \"0\";\n this._userService.formData.BranchUser = \"0\";\n this._userService.formData.BankCorpUser = \"0\";\n }\n\n else if (this.loginUser_UserType == \"2\") {\n this.fnBankCorporateUser(2);\n this.bankblock = false;\n this.corpblock = true;\n this.branchblock = false;\n this.hidelist = true;\n this.hideBranch = false;\n this.corpselectblock = false;\n this._userService.formData.UserType = \"2\";\n this._userService.formData.BankCorpUser = this.loginUser_UserTypeCorpId;\n\n }\n\n else if (this.loginUser_UserType == \"3\") {\n this.bankblock = false;\n this.corpblock = false;\n this.branchblock = true;\n this.hidelist = false;\n this.hideBranch = true;\n this.branchselectblock = false;\n this._userService.formData.UserType = \"3\";\n this._userService.formData.BranchUser = this.loginUser_UserTypeBranchId;\n\n }\n }\n\n , (err) => {\n this.router.navigate([\"404\"]);\n });\n }\n\n CheckerPrivillage: boolean;\n GetPrivillageRoles() {\n this._roleAccess.fnGetRoleAccess(localStorage.getItem('LoginUserId'), '/ManageUserMaster').subscribe(roleAccess => {\n this.CheckerPrivillage = roleAccess[0].CheckerAccess;\n // Getting user data from database \n this.GetUserDataByUserId();\n }\n , (err) => {\n this.router.navigate([\"404\"]);\n });\n }\n\n // decryptpassword(){\n // this._userService.GetDecryptPassword( this._userService.formData.Password).subscribe(data=>{ \n // this.password = data.toString();\n // this._userService.formData.Password = this.password;\n // this._userService.formData.CnfrmPassword = this.password;\n // }); \n // }\n\n MaleRadio() {\n if(this.editedUserInfo.Gender==\"\"){\n jQuery('input:radio[value=M] ').prop('checked', true);\n this._userService.formData.Gender = 'M'\n jQuery('input:radio[value=M]').blur(function () {\n });\n }\n }\n\n methodM(male) {\n jQuery('input:radio[value=M] ').prop('checked', true);\n }\n methodF() {\n jQuery('input:radio[value=F] ').prop('checked', true);\n\n this._userService.formData.Gender = 'F'\n }\n\n formate1(value: string): NgbDateStruct {\n if (value) {\n\n const dateParts = value.trim().split('/');\n if (dateParts.length === 1 && Number(dateParts[0])) {\n return { day: parseInt(dateParts[0]), month: null, year: null };\n } else if (dateParts.length === 2 && Number(dateParts[0]) && Number(dateParts[1])) {\n return { day: parseInt(dateParts[0]), month: parseInt(dateParts[1]), year: null };\n } else if (dateParts.length === 3 && Number(dateParts[0]) && Number(dateParts[1]) && Number(dateParts[2])) {\n return { day: parseInt(dateParts[0]), month: parseInt(dateParts[1]), year: parseInt(dateParts[2]) };\n var date = { day: parseInt(dateParts[0]), month: parseInt(dateParts[1]), year: parseInt(dateParts[2]) };\n }\n }\n return null;\n }\n\n format(date: NgbDateStruct) {\n\n //this.newdate = date.year+\"-\"+date.month+\"-\"+form.value.BirthDate.day;\n // this.newDateFomat = {day: date.day, month:date.month, year: date.year};\n //const dateParts = date.trim().split('-');\n // var date = dateParts[0];\n //return date ?\n //`${Number(dateParts[0]) < 10 ? 0 +''+ Number(dateParts[0]) : Number(dateParts[0])}-${Number(dateParts[1]) < 10 ? 0 +''+ Number(dateParts[1]) : Number(dateParts[1])}-${dateParts[2]}` :\n //'';\n\n //\n // return date ?\n // `${Number(date.day) < 10 ? 0 +''+ Number(date.day) : Number(date.day)}-${Number(date.month) < 10 ? 0 +''+ Number(date.month) : Number(date.month)}-${date.year}` :\n // '';\n }\n\n\n formatDate(date) {\n //alert(date);\n this.format(date);\n\n }\n\n\n fnUserTypeDetails() {\n this._userType = this._userService.formData.UserType === \"\" ? \"1\" : this._userService.formData.UserType;\n\n if (this._userType === \"1\") {\n this.fnBankCorporateUser(this._userType);\n }\n else {\n this.fnBankCorporateUser(this._userType);\n }\n if (this._userService.formData.UserType == \"2\") {\n this.hideBranch = false;\n this.hidelist = true;\n\n this._userService.formData.BankCorpUser = this._userService.formData.BankCorpUser;\n\n if (this._userService.formData.BankCorpUser == \"\")\n this._userService.formData.BankCorpUser = \"\";\n }\n else {\n this.hidelist = false;\n this._userService.formData.BankCorpUser = \"0\";\n }\n if (this._userService.formData.UserType == \"3\") {\n this.hidelist = false;\n this.hideBranch = true;\n //this.fnGetBranchName();\n this._userService.formData.BranchUser = this._userService.formData.BranchUser;\n\n if (this._userService.formData.BranchUser == \"\")\n this._userService.formData.BranchUser = \"\";\n }\n else {\n this._userService.formData.BranchUser = \"0\";\n }\n }\n _userType1: string;\n fnEditedUserTypeDetails() {\n\n this._userType1 = this.editedUserInfo.UserType === \"\" ? \"1\" : this.editedUserInfo.UserType;\n\n // if (this._userType1 === \"1\") {\n // this.fnBankCorporateUser(this._userType1);\n // }\n // else {\n // this.fnBankCorporateUser(this._userType1);\n // }\n\n if (this.editedUserInfo.UserType == \"2\") {\n this.hideBranch = false;\n this.hidelist = true;\n\n this.editedUserInfo.BankCorpUser = this.editedUserInfo.BankCorpUser;\n\n if (this.editedUserInfo.BankCorpUser == \"\")\n this.editedUserInfo.BankCorpUser = \"\";\n }\n else {\n this.hidelist = false;\n this.editedUserInfo.BankCorpUser = \"0\";\n }\n if (this.editedUserInfo.UserType == \"3\") {\n this.hidelist = false;\n this.hideBranch = true;\n //this.fnGetBranchName();\n this.editedUserInfo.BranchUser = this.editedUserInfo.BranchUser;\n\n if (this.editedUserInfo.BranchUser == \"\")\n this.editedUserInfo.BranchUser = \"\";\n }\n else {\n this.editedUserInfo.BranchUser = \"0\";\n }\n //this when branch user is switch to bank user hide additional dropdowns\n if ((this._userService.formData.UserType == \"2\" || this._userService.formData.UserType == \"3\") && this.editedUserInfo.UserType == \"1\") {\n this.fnonUserTypechange(this.editedUserInfo.UserType);\n }\n }\n\n password: string;\n Roles2: any = [];\n Roles21: any = [];\n UserCreatedUpdated1: UserCreatedUpdated[];\n createdBy: number;\n createdDate: string;\n userNameCreated: string;\n usernameUpdte: string;\n updtedDate: string;\n showCreatedDiv: boolean = false;\n showUpdatedDiv: boolean = false;\n formatedGender: string;\n roleLabel: boolean = false;\n buttonValue: string;\n disableStatus: boolean;\n selfCheckerShuoldNotDisplay: boolean = true;\n decryptUserIDs: number;\n setButtonValue() {\n if (this.editedUserId > 0) {\n this.decryptUserIDs = +this.decryptUsingAES256(localStorage.getItem(\"LoginUserId\"));\n if (this.CheckerPrivillage && this._userService.formData.CreatedBy != this.decryptUserIDs &&\n (this.reviewStatus == 1 || this.reviewStatus == 4 || this.reviewStatus == 7)) {\n this.buttonValue = \"Verify\";\n }\n else if ((this.CheckerPrivillage && (this._userService.formData.CreatedBy != this.decryptUserIDs))) {\n this.buttonValue = \"Verify\";\n this.disableButton = true;\n }\n else {\n this.buttonValue = \"Submit\";\n }\n // else{\n // this.buttonValue=\"Verify\";\n // this.disableButton=true;\n // }\n if ((this.CheckerPrivillage && (this._userService.formData.CreatedBy == this.decryptUserIDs)) && (this.reviewStatus == 1 || this.reviewStatus == 4 || this.reviewStatus == 7)) {\n this.disableButton = true;\n this.disableStatus = true;\n }\n if (!this.CheckerPrivillage && (this.reviewStatus == 1 || this.reviewStatus == 4 || this.reviewStatus == 7)) {\n this.disableButton = true;\n }\n if(this.UserEditView == \"edit\" && this.CheckerPrivillage && this._userService.formData.CreatedBy != this.decryptUserIDs){\n this.disableButton = true;\n }\n //this when checker edit any fields dont show values to self checker.\n if (this.CheckerPrivillage && this._userService.formData.CreatedBy == this.decryptUserIDs) {\n this.selfCheckerShuoldNotDisplay = false;\n }\n }\n else {\n if (this.CheckerPrivillage && this._userService.formData.CreatedBy != this.decryptUserIDs && this._userService.formData.CreatedBy > 0) {\n this.buttonValue = \"Verify\";\n }\n else {\n this.buttonValue = \"Submit\";\n //this.showStatusDiv=true;\n }\n }\n if (this.reviewStatus == 8) {\n this.disableButton = true;\n }\n }\n\n IsAuthorize:boolean=false;\n // Getting user data from database\n GetUserDataByUserId() {\n\n if (this.editedUserId > 0) {\n\n if (this.viewMode == 'view') {\n this.lblTitle = \"View User Master\";\n this.IsViewMode = true;\n this.disableStatus = true;\n } else {\n this.lblTitle = \"Edit User Master\";\n this.IsViewMode = false;\n this.HiddenClr = true;\n }\n\n if(this.UserEditView == \"authorize\"){\n this.IsAuthorize = true;\n }\ndebugger;\n this._userService.fnGetUserData(localStorage.getItem('UserDataId'),\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",'Edit').subscribe(Users => {\n this._userService.formData = Users[0];\n Users[0].BirthDate = this.decryptUsingAES256(Users[0].BirthDate);\n if (Users[0].BirthDate != null) {\n var _savedStartDate = { isRange: false, singleDate: { date: { year: 0, month: 0, day: 0 }, jsDate: \"\", formatted: \"\", epoc: \"\" }, dateRange: null };\n this._userService.formData.formatedBithDate = Users[0].formatedBithDate;\n var newObj = moment(Users[0].BirthDate).toObject();\n _savedStartDate.singleDate.date.day = newObj.date;\n _savedStartDate.singleDate.date.month = newObj.months + 1;\n _savedStartDate.singleDate.date.year = newObj.years;\n //var _savedStartDateObject = {day:0,month:0,year:0};\n // _savedStartDateObject.day = _savedStartDate.date;\n // _savedStartDateObject.month = _savedStartDate.months+1;\n // _savedStartDateObject.year = _savedStartDate.years;\n this._userService.formData.BirthDate = _savedStartDate;\n\n }\n this.reviewStatus = +this._userService.formData.reviewStatus;\n if (this.reviewStatus == 1 || this.reviewStatus == 4 || this.reviewStatus == 7) {\n this.showStatusDiv = true;\n }\n // this.decryptpassword();\n // this._userService.formData.Password = \"*\".repeat(this._userService.formData.Password.length);\n if (this._userService.formData.IsActive == \"Inactive\") {\n this._userService.formData.IsActive = \"0\";\n }\n else if (this._userService.formData.IsActive == \"Pending\") {\n this._userService.formData.IsActive = \"2\";\n }\n else {\n this._userService.formData.IsActive = \"1\";\n }\n //this.lblTitle = \"Edit User Master\"; \n\n this.fnCreatedByUpdatedBy(this._userService.formData.UserId);\n\n this._userService.fnGetRoleByUserId(this._userService.formData.UserId).subscribe(role => {\n this.Rolesedit = role;\n this.Rolesedit.forEach(element => {\n this.Roles2.push(element[\"RoleId\"]);\n });\n this.editedUserInfo.RoleId = this.Roles2;\n // this._userService.formData.RoleId = this.Roles2; \n });\n this._userService.formData.RoleNames = this.decryptUsingAES256(this._userService.formData.RoleNames);\n this._userService.formData.UserId = this.decryptUsingAES256(this._userService.formData.UserId);\n this._userService.formData.RoleName = this.decryptUsingAES256(this._userService.formData.RoleName);\n this.fnUserTypeDetails();\n if (this._userService.formData.Gender == 'M') {\n this.formatedGender = \"Male\";\n }\n else if (this._userService.formData.Gender == 'F') {\n this.formatedGender = \"Female\";\n }\n this._spinner.hide();\n this.setButtonValue();\n }\n , (err) => {\n this.router.navigate([\"404\"]);\n });\n\n this._userService.fnGetEditedUserData((localStorage.getItem('UserDataId'))).subscribe(editedUser => {\n this.editedUserInfo = editedUser[0];\n editedUser[0].BirthDate = this.decryptUsingAES256(editedUser[0].BirthDate);\n if (editedUser[0].BirthDate != null) {\n var _savedStartDate = { isRange: false, singleDate: { date: { year: 0, month: 0, day: 0 }, jsDate: \"\", formatted: \"\", epoc: \"\" }, dateRange: null };\n this.editedUserInfo.formatedBithDate = editedUser[0].formatedBithDate;\n var newObj = moment(editedUser[0].BirthDate).toObject();\n _savedStartDate.singleDate.date.day = newObj.date;\n _savedStartDate.singleDate.date.month = newObj.months + 1;\n _savedStartDate.singleDate.date.year = newObj.years;\n this.editedUserInfo.BirthDate = _savedStartDate;\n\n }\n UserShowDummyPassword(this.editedUserInfo.Password);\n // this._userService.GetDecryptPassword(this.editedUserInfo.Password).subscribe(data1=>{ \n // this.editedUserInfo.Password=data1.toString();\n // this.editedUserInfo.CnfrmPassword=data1.toString();\n // });\n\n\n this.editedUserInfo.RoleName = this.decryptUsingAES256(this.editedUserInfo.RoleName);\n this._userService.fnGetRoleByUserId(this.editedUserInfo.UserId).subscribe(role => {\n this.Rolesedit1 = role;\n this.Rolesedit.forEach(element => {\n this.Roles21.push(element[\"RoleId\"]);\n });\n this._userService.formData.RoleId = +this.decryptUsingAES256(this.Roles21);\n\n\n //this.editedUserInfo.RoleId = this.Roles21;\n\n });\n this.editedUserInfo.UserId = this.decryptUsingAES256(this.editedUserInfo.UserId);\n this.fnEditedUserTypeDetails();\n this._spinner.hide();\n }, (err) => {\n this.router.navigate([\"404\"]);\n });\n\n\n }\n else {\n this._userService.formData = {\n UserId: \"0\",\n RoleId: null,\n FirstName: '',\n MiddleName: '',\n LastName: '',\n Password: '',\n CnfrmPassword: '',\n Gender: '',\n BirthDate: null,\n EmailId: '',\n MobileNumber: '',\n AltMobileNumber: '',\n TransactionLimit: '',\n Address: '',\n AltAddress: '',\n CountryId: 0,\n StateId: 0,\n CityId: 0,\n IsActive: '1',\n Pincode: '',\n limit: 0,\n UserType: '1',\n BankCorpUser: null,\n BranchUser: null,\n CreatedBy: 0,\n UpdatedBy: 0,\n lblTitle: 'Add User Master',\n btnTitle: 'Submit',\n msg: '',\n CreatedDate: '',\n DateCreated: '',\n CreatedName: '',\n UpdatedDate: '',\n UpdatedName: '',\n UserTypedesc: '',\n UserTypeName: '',\n IsUserSelected: false,\n reviewStatus: '2',\n RoleName: '',\n formatedBithDate: '',\n RoleNames: '',\n CustomerName: '',\n BranchName: '',\n RequestType: '',\n UserlistCount:0\n }\n this.editedUserInfo = this._userService.formData;\n this._spinner.hide();\n this.setButtonValue();\n this.fnonUserTypechange(\"1\");\n }\n\n\n }\n\n\n\n fnGetBranchName() {\n return this._AccountService.fnGetBranchName().subscribe(data => {\n this.allBranchList = data;\n\n if (this.loginUser_UserType == \"3\") {\n // defect 1509--Rubina\n this.allBranchList = this.allBranchList.filter(row => {\n return row.BranchId == +this.loginUser_UserTypeBranchId;\n });\n }\n }, (err) => {\n this.router.navigate([\"404\"]);\n });\n }\n fnonUserTypechange(_val: any) {\n\n if (_val == \"1\") {\n // this.nameChangeAsPerUserType = 'Select Bank User';\n // this.fnBankCorporateUser(_val);\n this.hidelist = false;\n this.hideBranch = false;\n this._userService.formData.BankCorpUser = \"0\";\n this._userService.formData.BranchUser = \"0\";\n this.editedUserInfo.BankCorpUser = \"0\";\n this.editedUserInfo.BranchUser = \"0\";\n }\n if (_val == \"2\") {//corpo\n // this.nameChangeAsPerUserType = 'Select Corporate User';\n this.fnBankCorporateUser(_val);\n this.hidelist = true;\n this.hideBranch = false;\n this._userService.formData.BankCorpUser\n this._userService.formData.BankCorpUser = null;\n this._userService.formData.BranchUser = \"0\";\n this.editedUserInfo.BankCorpUser = null;\n this.editedUserInfo.BranchUser = \"0\";\n if (this._userService.formData.BankCorpUser == \"\") {\n this.editedUserInfo.BankCorpUser = \"\";\n this._userService.formData.BankCorpUser = \"\";\n }\n\n\n }\n if (_val == \"3\") {\n // this.nameChangeAsPerUserType = 'Select Corporate User';\n //this.fnBankCorporateUser(_val);\n this.hidelist = false;\n this.hideBranch = true;\n this._userService.formData.BranchUser\n this._userService.formData.BranchUser = null;\n this._userService.formData.BankCorpUser = \"0\";\n this.editedUserInfo.BranchUser = null;\n this.editedUserInfo.BankCorpUser = \"0\";\n if (this._userService.formData.BranchUser == \"\") {\n this._userService.formData.BranchUser = \"\";\n this.editedUserInfo.BranchUser = \"\";\n }\n\n }\n }\n\n fnBankCorporateUser(_userType: any) {\n this.bankcorporatelist = [];\n return this._userService.fnGetCustomerListForDropdown(localStorage.getItem('UserDataId'), localStorage.getItem(\"LoginUserId\")).subscribe(data => {\n data.forEach(element => {\n if (this.bankcorporatelist != null) {\n // if(element[\"Status\"] == \"Active\")\n // {\n // this.bankcorporatelist.push(element);\n // } \n this.bankcorporatelist.push(element);\n if (element[\"Status\"] == '0' || element[\"Status\"] == '2') {\n this.IsCustomerInActive = true;\n }\n }\n\n // this.bankcorporatelist=this.removeDuplicates(this.bankcorporatelist);\n });\n },\n (err) => {\n this.router.navigate([\"404\"]);\n });\n\n }\n removeDuplicates(arr) {\n\n const result = [];\n const duplicatesIndices = [];\n\n // Loop through each item in the original array\n arr.forEach((current, index) => {\n\n if (duplicatesIndices.includes(index)) return;\n\n result.push(current);\n\n // Loop through each other item on array after the current one\n for (let comparisonIndex = index + 1; comparisonIndex < arr.length; comparisonIndex++) {\n\n const comparison = arr[comparisonIndex];\n const currentKeys = Object.keys(current);\n const comparisonKeys = Object.keys(comparison);\n\n // Check number of keys in objects\n if (currentKeys.length !== comparisonKeys.length) continue;\n\n // Check key names\n const currentKeysString = currentKeys.sort().join(\"\").toLowerCase();\n const comparisonKeysString = comparisonKeys.sort().join(\"\").toLowerCase();\n if (currentKeysString !== comparisonKeysString) continue;\n\n // Check values\n let valuesEqual = true;\n for (let i = 0; i < currentKeys.length; i++) {\n const key = currentKeys[i];\n if (current[key] !== comparison[key]) {\n valuesEqual = false;\n break;\n }\n }\n if (valuesEqual) duplicatesIndices.push(comparisonIndex);\n\n } // end for loop\n\n }); // end arr.forEach()\n\n return result;\n }\n show() { this.showModal = true; }\n hide() { this.showModal = false; }\n\n BankButton() {\n localStorage.removeItem('UserDataId');\n this.router.navigate(['/ManageUserMaster']);\n }\n\n // after submit page refresh method is called\n fnPageRefresh(form) {\n\n this._userService.formData;\n if (this.UserEditView == \"edit\" && this.editedUserId > 0) {\n // this.resetForm(form);\n localStorage.setItem('UserTypeVal', '');\n localStorage.setItem('UserTypeVal', this._userService.formData.UserType)\n this._userService.formData.UserId = this.editedUserId.toString();\n this._userService.formData.RoleId = null;\n this._userService.formData.EmailId = '';\n this._userService.formData.FirstName = '';\n this._userService.formData.MiddleName = '';\n this._userService.formData.LastName = '';\n this._userService.formData.IsActive = '1';\n this._userService.formData.Password = '';\n this._userService.formData.CnfrmPassword = '';\n this._userService.formData.Gender = '';\n this._userService.formData.AltAddress = '';\n this._userService.formData.MobileNumber = '';\n this._userService.formData.UserType = localStorage.getItem('UserTypeVal');\n this._userService.formData.AltMobileNumber = '';\n this._userService.formData.BirthDate = null;\n this.onTop();\n }\n else {\n //this.resetForm(form)\n this.onTop();\n setTimeout(function () {\n this.document.location.reload();\n }, 1000);\n }\n }\n\n resetForm(form?: NgForm) {\n\n if (this.UserEditView == \"edit\" && this.editedUserId > 0) {\n if (form != null)\n //form.resetForm();\n this._userService.formData = {\n UserId: this.editedUserId.toString(),\n RoleId: null,\n FirstName: '',\n MiddleName: '',\n LastName: '',\n Password: '',\n CnfrmPassword: '',\n Gender: '',\n BirthDate: null,\n EmailId: '',\n MobileNumber: '',\n AltMobileNumber: '',\n TransactionLimit: '',\n Address: '',\n AltAddress: '',\n CountryId: 1,\n StateId: 1,\n CityId: 1,\n IsActive: 'null',\n Pincode: '',\n limit: 0,\n UserType: localStorage.getItem('UserTypeVal'),\n BankCorpUser: '',\n BranchUser: '',\n CreatedBy: 0,\n UpdatedBy: 0,\n lblTitle: 'Edit User Master',\n btnTitle: 'Submit',\n msg: '',\n CreatedDate: '',\n DateCreated: '',\n CreatedName: '',\n UpdatedDate: '',\n UpdatedName: '',\n UserTypedesc: '',\n UserTypeName: '',\n IsUserSelected: false,\n reviewStatus: '2',\n RoleName: '',\n formatedBithDate: '',\n RoleNames: '',\n CustomerName: '',\n BranchName: '',\n RequestType: '',\n UserlistCount:0\n }\n\n }\n else {\n if (form != null)\n form.resetForm();\n\n this._userService.formData = {\n UserId: \"0\",\n RoleId: null,\n FirstName: '',\n MiddleName: '',\n LastName: '',\n Password: '',\n CnfrmPassword: '',\n Gender: '',\n BirthDate: null,\n EmailId: '',\n MobileNumber: '',\n AltMobileNumber: '',\n TransactionLimit: '',\n Address: '',\n AltAddress: '',\n CountryId: 1,\n StateId: 1,\n CityId: 1,\n IsActive: 'null',\n Pincode: '',\n limit: 0,\n UserType: '',\n BankCorpUser: '',\n BranchUser: '',\n CreatedBy: 0,\n UpdatedBy: 0,\n lblTitle: 'Add User Master',\n btnTitle: 'Submit',\n msg: '',\n CreatedDate: '',\n DateCreated: '',\n CreatedName: '',\n UpdatedDate: '',\n UpdatedName: '',\n UserTypedesc: '',\n UserTypeName: '',\n IsUserSelected: false,\n reviewStatus: '2',\n RoleName: '',\n formatedBithDate: '',\n RoleNames: '',\n CustomerName: '',\n BranchName: '',\n RequestType: '',\n UserlistCount:0\n }\n }\n }\n\n get btnTitle() { return this._userService.formData.btnTitle }\n getDate(date) {\n\n if (date.year >= 9999 || date.year <= 999) {\n // this.validDate=false;\n }\n else {\n // this.validDate = true;\n }\n }\n showStatusMessage: boolean = false;\n // submitting form data into database\n onSubmit(form: NgForm) {\n debugger;\n if(form.value[\"Password\"] == undefined)\n form.value[\"Password\"] = this.editedUserInfo.Password;\n if(form.value[\"Gender\"] == undefined)\n form.value[\"Gender\"] = this.editedUserInfo.Gender;\n if(form.value[\"BirthDate\"] == undefined)\n form.value[\"BirthDate\"] = this.editedUserInfo.BirthDate; \n if(form.value[\"UserType\"] == undefined)\n form.value[\"UserType\"] = this.editedUserInfo.UserType;\n if(form.value[\"BankCorpUser\"] == undefined)\n form.value[\"BankCorpUser\"] = this.editedUserInfo.BankCorpUser; \n if(form.value[\"BranchUser\"] == undefined)\n form.value[\"BranchUser\"] = this.editedUserInfo.BranchUser;\n if(form.value[\"RoleId\"] == undefined)\n form.value[\"RoleId\"] = this.editedUserInfo.RoleId; \n \n\n if ((document.getElementById('actPswd')).value.includes(\"|\")) {\n (document.getElementById('actPswd')).value = (document.getElementById('actPswd')).value.slice(0, -1);\n }\n if (form.value[\"Password\"].includes(\"|\")) {\n form.value[\"Password\"] = form.value[\"Password\"].slice(0, -1);\n }\n\n if (form.value[\"IsActive\"] == 2 && this.CheckerPrivillage) {\n this.showStatusMessage = true;\n return;\n }\n else {\n this.showStatusMessage = false;\n }\n\n if (form.valid && this.validDate == true) {\n this.disableButton = true;\n }\n\n //Maker flow\n if (!this.CheckerPrivillage) {\n form.value[\"IsActive\"] = 2;//pending\n if (this.reviewStatus == 5 || this.reviewStatus == 6) {\n form.value[\"reviewStatus\"] = 4;//Edit approval pending\n }\n else if (this.reviewStatus == 2 || this.reviewStatus == 3) {\n form.value[\"reviewStatus\"] = 4;//Edit approval pending\n }\n else if (this.reviewStatus == 8 || this.reviewStatus == 9) {\n form.value[\"reviewStatus\"] = 4;\n }\n else {\n form.value[\"reviewStatus\"] = 1;//Add approval pending\n }\n }\n else {\n //checker flow\n //this when checker is creating an user\n if (form.value[\"IsActive\"] == 1 && this.reviewStatus == undefined) {\n form.value[\"reviewStatus\"] = 1;//When checker adds users\n form.value[\"IsActive\"] = 2;\n }\n else if (form.value[\"IsActive\"] == 0 && this.reviewStatus == undefined) {\n form.value[\"reviewStatus\"] = 3;//add reject\n }\n //IsActive is approved\n if (form.value[\"IsActive\"] == 1 && this.reviewStatus == 1) {\n form.value[\"reviewStatus\"] = 2;//Add approved \n }\n else if (form.value[\"IsActive\"] == 0 && this.reviewStatus == 1) {\n form.value[\"reviewStatus\"] = 3;//Add rejected\n }\n\n if (form.value[\"IsActive\"] == 1 && this.reviewStatus == 4) {\n form.value[\"reviewStatus\"] = 5;//edit approved\n }\n else if (form.value[\"IsActive\"] == 0 && this.reviewStatus == 4) {\n form.value[\"reviewStatus\"] = 6;//edit rejected\n }\n\n if (form.value[\"IsActive\"] == 1 && this.reviewStatus == 7) {\n form.value[\"reviewStatus\"] = 8;//delete approved \n form.value[\"IsActive\"] = 0;\n }\n else if (form.value[\"IsActive\"] == 0 && this.reviewStatus == 7) {\n form.value[\"reviewStatus\"] = 9;//deleted rejected \n form.value[\"IsActive\"] = 1;\n }\n\n //when checker editd it should send for review.\n if ((form.value[\"IsActive\"] == 1 || form.value[\"IsActive\"] == 0) && (this.reviewStatus == 2 || this.reviewStatus == 3 || this.reviewStatus == 5 || this.reviewStatus == 6)) {\n form.value[\"reviewStatus\"] = 4;//Edit pending \n form.value[\"IsActive\"] = 2;\n }\n if ((form.value[\"IsActive\"] == 1) && (this.reviewStatus == 8 || this.reviewStatus == 9)) {\n form.value[\"reviewStatus\"] = 4;\n form.value[\"IsActive\"] = 2;\n }\n }\n\n\n if (form.value.BirthDate.singleDate.date.month >= \"10\") {\n this.newdate = form.value.BirthDate.singleDate.date.year + \"-\" + form.value.BirthDate.singleDate.date.month + \"-\" + form.value.BirthDate.singleDate.date.day;\n }\n else {\n this.newdate = form.value.BirthDate.singleDate.date.year + \"-0\" + form.value.BirthDate.singleDate.date.month + \"-\" + form.value.BirthDate.singleDate.date.day;\n }\n if (this.futureDateError) {\n this.disableButton = false;\n return;\n }\n\n if (form.value[\"UserId\"] > 0) {\n form.value[\"UpdatedBy\"] = localStorage.getItem('LoginUserId');\n }\n else {\n form.value[\"CreatedBy\"] = localStorage.getItem('LoginUserId');\n }\n var postData = {};\n\n postData[\"RoleId\"] = [];\n\n if ((this.editedUserInfo.RoleName != this._userService.formData.RoleNames) && this.editedUserInfo.IsActive == \"0\" && this.reviewStatus == 4) {\n this.Rolesave.forEach(element => {\n var UserAccessObj = {};\n UserAccessObj[\"RoleId\"] = element[\"RoleId\"];\n postData[\"RoleId\"].push(UserAccessObj);\n });\n }\n else {\n form.value[\"RoleId\"].forEach(element => {\n var UserAccessObj = {};\n UserAccessObj[\"RoleId\"] = element;\n postData[\"RoleId\"].push(UserAccessObj);\n });\n }\n\n\n postData[\"loggedInUser\"] = localStorage.getItem('LoginUserId');\n postData[\"UserId\"] = form.value[\"UserId\"];\n postData[\"FirstName\"] = form.value[\"FirstName\"];\n postData[\"MiddleName\"] = form.value[\"MiddleName\"];\n\n var pass = \"********\";\n // var pass1= \"*********\";\n if (form.value[\"UserId\"] > 0 && form.value[\"Password\"] == pass) {\n postData[\"Password\"] = \"\";\n }\n // else if(form.value[\"UserId\"] >0 && form.value[\"Password\"] == pass1){\n // postData[\"Password\"]=\"\";\n // }\n else {\n postData[\"Password\"] = (document.getElementById('actPswd')).value;\n }\n\n // postData[\"Password\"] = form.value[\"Password\"];\n postData[\"BirthDate\"] = this.newdate;\n postData[\"EmailId\"] = form.value[\"EmailId\"];\n postData[\"LastName\"] = form.value[\"LastName\"];\n postData[\"Gender\"] = form.value[\"Gender\"];\n postData[\"MobileNumber\"] = form.value[\"MobileNumber\"];\n postData[\"AltMobileNumber\"] = form.value[\"AltMobileNumber\"];\n postData[\"TransactionLimit\"] = form.value[\"TransactionLimit\"];\n\n postData[\"Address\"] = ''; //form.value[\"Address\"];\n postData[\"AltAddress\"] = ''; // form.value[\"AltAddress\"];\n postData[\"CountryId\"] = 1; //form.value[\"CountryId\"];\n postData[\"StateId\"] = 1; //form.value[\"StateId\"];\n postData[\"CityId\"] = 1; //form.value[\"CityId\"];\n postData[\"Pincode\"] = 1234; //form.value[\"Pincode\"];\n postData[\"IsActive\"] = form.value[\"IsActive\"];\n postData[\"limit\"] = 0; //form.value[\"limit\"];\n postData[\"UserType\"] = form.value[\"UserType\"];\n postData[\"BankCorpUser\"] = form.value[\"BankCorpUser\"];\n postData[\"BranchUser\"] = form.value[\"BranchUser\"];\n postData[\"CreatedBy\"] = form.value[\"CreatedBy\"];\n postData[\"UpdatedBy\"] = form.value[\"UpdatedBy\"];\n postData[\"reviewStatus\"] = form.value[\"reviewStatus\"];\n\n ////Rubina 29/05/2020 2:35Pm\n if (this.validDate == true) {\n if (+this.editedUserId > 0) {\n this._userService.fnEmailExists(localStorage.getItem('UserDataId'), form.value[\"EmailId\"].toString(), form.value[\"MobileNumber\"].toString()).subscribe(data => {\n debugger;\n if (data == 1) {\n this.showMsg = false;\n this.showerrormsg = true;\n this.lblMessage = 'Email id already exists';\n this.onTop();\n this.disableButton = false;\n }\n if (data == 2) {\n this.showMsg = false;\n this.showerrormsg = true;\n this.lblMessage = 'Mobile Number already exists';\n this.onTop();\n this.disableButton = false;\n }\n if (data == 3) {\n this.showMsg = false;\n this.showerrormsg = true;\n this.lblMessage = 'Email id and Mobile Number already exists';\n this.onTop();\n this.disableButton = false;\n }\n else if (data == 0 && postData[\"RoleId\"] != null && postData[\"RoleId\"] != []) {\n if (form.value[\"reviewStatus\"] == 4) {\n var password1 = \"\";\n if (postData[\"Password\"] == \"\" && (document.getElementById('actPswd')).value != \"********\") {\n password1 = (document.getElementById('actPswd')).value;\n }\n else\n password1 = postData[\"Password\"];\n this._userService.GetfnUserPasswordExist(password1, postData[\"UserId\"]).subscribe(data => {\n debugger;\n if (data == true) {\n this._userService.fnSaveUserMasterDetails(postData).subscribe(res => {\n\n if (res.toString().length > 0) {\n this.disableButton = false;\n }\n\n if (res.UserId == \"-1\") {\n this.lblMessage = res.msg;\n this.showerrormsg = true;\n this.showMsg = false;\n\n this.onTop();\n\n }\n else {\n this.lblMessage = res.FirstName + \" \" + res.msg;\n this.showMsg = true;\n this.showerrormsg = false;\n this._userService.formData.UserId = (res.UserId);\n this.onTop();\n this.fnCreatedByUpdatedBy(this._userService.formData.UserId);\n this.disableButton = true;\n }\n },\n (error) => {\n this.showMsg = false;\n this.showerrormsg = true;\n this.router.navigate([\"404\"]);\n this.onTop();\n this.disableButton = false;\n }\n );\n //new -->Password changed with old password\n }\n else {\n this.showMsg = false;\n this.showerrormsg = true;\n this.lblMessage = 'You used this password recently.Please choose a different one. ';\n this.onTop();\n this.disableButton = false;\n }\n });\n }\n else {\n this._userService.fnSaveUserMasterDetails(postData).subscribe(res => {\n\n if (res.toString().length > 0) {\n this.disableButton = false;\n }\n\n if (res.UserId == \"-1\") {\n this.lblMessage = res.msg;\n this.showerrormsg = true;\n this.showMsg = false;\n\n this.onTop();\n\n }\n else {\n this.lblMessage = res.FirstName + \" \" + res.msg;\n this.showMsg = true;\n this.showerrormsg = false;\n this._userService.formData.UserId = (res.UserId);\n this.onTop();\n this.fnCreatedByUpdatedBy(this._userService.formData.UserId);\n this.disableButton = true;\n }\n },\n (error) => {\n this.showMsg = false;\n this.showerrormsg = true;\n this.router.navigate([\"404\"]);\n this.onTop();\n this.disableButton = false;\n }\n );\n } //mobile\n }//ntn\n });\n } else {\n if (this.editedUserId == undefined)\n this.editedUserId = 0;\n this._userService.fnEmailExists(localStorage.getItem('UserDataId'), form.value[\"EmailId\"].toString(), form.value[\"MobileNumber\"].toString()).subscribe(data => {\n if (data == 1) {\n this.showMsg = false;\n this.showerrormsg = true;\n this.lblMessage = 'Email id already exists';\n this.onTop();\n this.disableButton = false;\n }\n if (data == 2) {\n this.showMsg = false;\n this.showerrormsg = true;\n this.lblMessage = 'Mobile Number already exists';\n this.onTop();\n this.disableButton = false;\n }\n if (data == 3) {\n this.showMsg = false;\n this.showerrormsg = true;\n this.lblMessage = 'Email id and Mobile Number already exists';\n this.onTop();\n this.disableButton = false;\n }\n\n else if (data == 0) {\n this._userService.fnSaveUserMasterDetails(postData).subscribe(res => {\n\n if (res.toString().length > 0) {\n this.disableButton = false;\n }\n\n if (res.UserId == \"-1\") {\n this.lblMessage = res.msg;\n this.showerrormsg = true;\n this.showMsg = false;\n this.disableButton = false;\n this.onTop();\n\n }\n else {\n\n this.lblMessage = res.FirstName + \" \" + res.msg;\n\n document.location.reload();\n localStorage.setItem(\"Msg\", this.lblMessage);\n this.onTop();\n\n }\n },\n (error) => {\n this.showMsg = false;\n this.showerrormsg = true;\n this.lblMessage = 'An error occured.';\n this.onTop();\n this.disableButton = false;\n this.router.navigate([\"404\"]);\n }\n );\n }\n });\n }\n }\n }\n\n\n fnHideSuccessMsg(event) {\n this.showMsg = false;\n this.showerrormsg = false;\n\n }\n\n showlbl() {\n this.showMsg = true;\n }\n hidelbl() {\n this.showMsg = false;\n }\n\n showerror() {\n this.showerrormsg = true;\n }\n hideerror() {\n this.showerrormsg = false;\n }\n\n fnGetRoles() {\n this._masterService.fnGetAllRoleMaster().subscribe(data => {\n this.Roles = data;\n }\n , (err) => {\n this.router.navigate([\"404\"]);\n });\n }\n\n onTop() {\n window.scroll({\n top: 0,\n left: 0,\n behavior: 'smooth'\n })\n }\n\n numberOnly(event): boolean {\n const charCode = (event.which) ? event.which : event.keyCode;\n // if (charCode > 31 && (charCode < 48 || charCode > 57)) {\n // return false;\n // }\n if (charCode != 46 && charCode > 31 && (charCode < 48 || charCode > 57)) {\n return false;\n }\n return true;\n }\n // Getting created and updated history\n fnCreatedByUpdatedBy(UserId) {\n this._userService.fnGetCreatedNUpdatedUserMaster(UserId).subscribe(userdates => {\n this.UserCreatedUpdated1 = userdates;\n\n if (this.UserCreatedUpdated1[0].CreatedDate != null) {\n this.showCreatedDiv = true;\n this.createdDate = this.UserCreatedUpdated1[0].CreatedDate;\n this.userNameCreated = this.UserCreatedUpdated1[0].UserName;\n }\n if (this.UserCreatedUpdated1[1].UpdatedDate != null) {\n this.showUpdatedDiv = true;\n this.usernameUpdte = this.UserCreatedUpdated1[1].UserName;\n this.updtedDate = this.UserCreatedUpdated1[1].UpdatedDate;\n }\n\n });\n }\n\n onKeyDown(event: KeyboardEvent) {\n\n let a = (event.charCode == 8 || event.charCode == 45 || event.charCode == 0) ? null : event.charCode >= 48 && event.charCode <= 57;\n return a;\n }\n\n IsAlphaNumeric(e) {\n var keyCode = e.keyCode == 0 ? e.charCode : e.keyCode;\n var ret = ((keyCode >= 48 && keyCode <= 57) || (keyCode >= 65 && keyCode <= 90) || (keyCode >= 97 && keyCode <= 122) || (keyCode == 32));\n //document.getElementById(\"error\").style.display = ret ? \"none\" : \"inline\";\n return ret;\n\n }\n\n selectOldrole(status) {\n if ((this.editedUserInfo.RoleName != this._userService.formData.RoleNames) && this.reviewStatus == 4 && status == \"0\") {\n this._userService.fnGetOldRoleByUserId(this.encryptUsingAES256(this.editedUserInfo.UserId)).subscribe(role => {\n this.Rolesave = role;\n });\n }\n }\n\n passwordToStar() {\n var pswd = (document.getElementById('pswdField'));\n var actpswd = (document.getElementById('actPswd'));\n var fval = '';\n for (var i = 0; i < pswd.value.length; i++) {\n fval += '*';\n }\n var repVal = (pswd.value).split(\"*\").join(\"\");//replace all *\n if (repVal.length == 1 || (pswd.value.lastIndexOf(\"*\") != -1 && repVal.length != 0))\n actpswd.value += repVal;\n else if (repVal.length == 0)\n actpswd.value = actpswd.value.substring(0, pswd.value.length);\n else\n actpswd.value = repVal;\n\n pswd.value = fval;\n }\n\n ConfimrPasswordToStar() {\n var pswd = (document.getElementById('ConfirmpswdField'));\n var actpswd = (document.getElementById('actConfPswd'));\n var fval = '';\n for (var i = 0; i < pswd.value.length; i++) {\n fval += '*';\n }\n var repVal = (pswd.value).split(\"*\").join(\"\");//replace all *\n if (repVal.length == 1 || (pswd.value.lastIndexOf(\"*\") != -1 && repVal.length != 0))\n actpswd.value += repVal;\n else if (repVal.length == 0)\n actpswd.value = actpswd.value.substring(0, pswd.value.length);\n else\n actpswd.value = repVal;\n\n pswd.value = fval;\n }\n}\n","
\n\n
\n
\n
\n
\n
\n
\n \n \n
\n
\n

\n {{ lblTitle }}\n

\n
\n
\n
\n
\n\n
\n
\n
\n

\n * Marked Fields Are Mandatory.\n

\n
\n
\n\n \n
\n
\n
\n ×\n Success! {{ lblMessage }}.\n
\n\n
\n ×\n Error! {{ lblMessage }}.\n
\n
\n \n
\n\n
\n\n \n\n \n\n \n\n
\n \n\n \n \n {{_userService.formData.FirstName}} \n\n
\n
\n First Name is required.\n
\n
\n Please provide a valid First Name.\n
\n
\n \n
\n\n
\n \n \n {{_userService.formData.MiddleName}} \n \n
\n
\n Please provide a valid Middle Name.\n
\n
\n \n
\n \n\n \n
\n \n \n {{_userService.formData.LastName}} \n\n
\n
\n Last Name is required.\n
\n
\n Please provide a valid Last Name.\n
\n
\n \n
\n
\n \n
\n \n
\n \n
\n \n
\n
\n \n
\n This Gender is required\n
\n
\n {{formatedGender}} \n
\n \n
\n
\n \n \n\n \n \n
\n \n
\n This password is required.\n
\n
\n password must be at least 8 characters long\n
\n
\n \n\n \n
\n
\n \n \n\n \n\n \n\n
\n \n \n
\n This Confirm Password is\n required\n Passwords must match\n
\n
\n\n
\n \n\n \n\n \n \n\n
\n \n
\n \n
\n
\n {{_userService.formData.formatedBithDate}} \n\n \n \n\n \n
\n Birth Date should be less than or equal to current date\n
\n
\n This Birth Date is required\n
\n
\n Enter a valid date in DD-MM-YYYY format\n
\n \n \n
\n\n\n
\n \n \n {{_userService.formData.EmailId}} \n \n
\n
This Email Id is required
\n
Please provide a valid email address
\n \n
\n
\n \n\n \n
\n \n \n {{_userService.formData.MobileNumber}} \n \n
\n
\n Mobile Number field is required.\n
\n
\n Mobile number should be only numbers.\n
\n
\n Mobile number should be 10 digit.\n
\n
\n
\n
\n \n \n {{_userService.formData.AltMobileNumber}} \n
\n
\n Phone number should be only numbers.\n
\n
\n Phone number should be 10 digit.\n
\n
\n
\n\n\n
\n \n \n {{_userService.formData.UserTypedesc}} \n
\n This User Type is required\n
\n
\n\n
\n \n \n \n {{_userService.formData.CustomerName}} \n
\n Select Corporate is required\n
\n
\n\n
\n \n \n {{_userService.formData.BranchName}} \n
\n Select Branch User is required\n
\n\n \n
\n \n \n\n \n \n \n\n \n \n \n \n\n \n \n
\n
\n
\n \n \n {{_userService.formData.RoleNames}} \n
\n This Role is required\n
\n
\n\n
\n \n \n {{_userService.formData.TransactionLimit}} \n
\n
\n Transaction Limit is required.\n
\n\n
\n\n
\n\n
\n \n\n \n \n \n
\n
\n Status is required.\n
\n
\n Please select status.\n
\n
\n
\n\n \n
\n \n
\n
\n \n\n \n\n \n
\n
\n\n
\n Created By {{ userNameCreated }} on {{ createdDate }}\n
\n
\n Updated By {{ usernameUpdte }} on {{ updtedDate }}\n
\n
\n
\n
\n
\n
\n\n\n\n\n","import { Component, OnInit } from '@angular/core';\nimport {BranchService} from '../../MasterService/branch.service';\nimport {ActivatedRoute} from \"@angular/router\";\nimport { FormGroup, FormControl} from '@angular/forms';\nimport { Router } from '@angular/router';\n\n@Component({\n selector: 'app-view-branch-master',\n templateUrl: './view-branch-master.component.html',\n styleUrls: ['./view-branch-master.component.css']\n})\nexport class ViewBranchMasterComponent implements OnInit {\n\n branchForm:FormGroup;\n _BranchId:string;\n // public CreatedBy:string;\n // public CreatedDate:string;\n // public UpdatedBy:string;\n // public UpdatedDate:string;\n\n constructor(private _branchService:BranchService,private router: Router,private route: ActivatedRoute) { }\n\n ngOnInit(): void {\n if(localStorage.getItem('LoginUserId')==null){\n this.router.navigate([\"\"]);\n return;\n }\n this.branchForm = new FormGroup({\n Correspondent:new FormControl(),\n BankName:new FormControl(),\n BranchCode:new FormControl(),\n BranchName:new FormControl(),\n BICCode:new FormControl(),\n IFSCCode:new FormControl(),\n MICRCode:new FormControl(),\n Address1:new FormControl(),\n Address2:new FormControl(),\n CountryName:new FormControl(),\n StateName:new FormControl(),\n CityName:new FormControl(),\n CreatedBy:new FormControl(),\n CreatedDate:new FormControl(),\n UpdatedBy:new FormControl(),\n UpdatedDate:new FormControl(),\n });\n\n this.route.queryParams.subscribe(params => {\n this._BranchId = params[\"id\"];\n });\n\n this.fnViewBranchMaster();\n }\n\n fnViewBranchMaster(){\n this._branchService.fnGetBranchDetailsById(this._BranchId).subscribe(data=>{\n this.branchForm.setValue({\n Correspondent:data.Correspondent,\n BankName:data.BankName,\n BranchCode:data.BranchCode,\n BranchName:data.BranchName,\n BICCode:data.BICCode,\n IFSCCode:data.IFSCCode,\n MICRCode:data.MICRCode,\n Address1:data.Address1,\n Address2:data.Address2,\n CountryName:data.Country,\n StateName:data.State,\n CityName:data.City,\n // CreatedBy:data.CreatedBy,\n // CreatedDate:data.CreatedDate,\n // UpdatedBy:data.UpdatedBy,\n // UpdatedDate:data.UpdatedDate,\n });\n });\n }\n\n}\n","
\n
\n
\n
\n
\n

View Branch Master

\n \n\n
\n
\n \n
\n \n
\n \n
\n\n \n
\n \n
\n
\n
\n
\n\n
\n\n
\n \n \n
\n\n
\n \n \n
\n \n
\n \n \n
\n\n
\n \n \n
\n
\n\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n

Address Details

\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n
\n \n
\n
\n
\n \n
\n
\n
\n \n
\n
\n
\n
\n
\n \n \n
\n
\n \n
\n
\n \n \n
\n \n
\n \n \n
\n
\n\n
\n
\n \n \n
\n \n
\n \n \n
\n
\n \n
\n
\n
\n
\n
\n\n\n\n","export class AccountLinkMaster {\n AclinkId: number;\n CustomerId: number;\n OutputJson: string;\n status: string;\n AccLinkName: string;\n CustomerName: string;\n Comments: string;\n AccountType: string;\n UserId: string;\n CreatedBy: string;\n CreatedDate: string;\n DateCreated: string;\n UpdatedBy: string;\n UpdatedDate: string;\n Oldcomment:string;\n StructorId:number\n StructorName:string;\n Priority : number;\n CustomerStatus : string;\n InactiveCustomer : string;\n IsEditDisabled : boolean;\n CreatedById: number;\n UpdatedById: number;\n SweepExecutionApproval:number;\n AccLinkStatusName:string;\n NewAccLinkName: string;\n IsAcLinkSelected:boolean;\n IsDisableCheckbox:boolean;\n SweepApprovalRequestedBy:number;\n RefAclinkId:number;\n IsLastApproved:number;\n sweepStatus:number;\n}\n\nexport class AccountRelation {\n AcLinkRelationId : number\n AclinkId : number\n AccountId : number\n ParentId: number\n BlockId: number\n AccountNumber : string\n CurrentBalance : number\n}\n\nexport class AccoutnLinkClass {\n AccLink: AccountLinkMaster;\n AccLinkDetails: AccountRelation [];\n}\n\nexport class SweepMethodClass {\n sweepName:string;\n BodSweepExecutionType:number;\n EodSweepExecutionType:number;\n}\n\nexport class AccountLinkStatus {\n AccLinkStatusId:number\n AccLinkStatusName:string\n}","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders} from '@angular/common/http'\nimport { BranchMaster} from './branch-master'\nimport { Observable} from 'rxjs';\nimport { Constants} from '../Common/constant';\nimport { BizRule, BizRuleCreatedUpdated, AccountList } from './BIz-RuleMaster';\nimport { debugOutputAstAsTypeScript } from '@angular/compiler';\nimport { RulesSummaryReports } from './RuleSummaryReports';\nimport { TokenService } from 'src/app/MasterService/token.service';\nimport { EncryptdecryptService } from './encryptdecrypt.service';\n@Injectable({\n providedIn: 'root'\n})\nexport class BizRuleService {\n\n readonly rootURL = Constants.apiURL + 'BizRuleMasterApi/';\n encryptSchemeId: any;\n encryptRuleId: string;\n encryptfrequency: string;\n encryptFromAccountId:string;\n encryptSchemeAcLinkid:string;\n\n constructor(private http: HttpClient, public _token: TokenService,public _encryption: EncryptdecryptService) { }\n formData: BizRule;\n BranchList: BizRule[];\n\n\n fnSaveBIZMasterDetails(postData){\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n }; \n return this.http.post(this.rootURL + 'SaveBizRuleMaster', postData, httpOptions) \n }\n fnGetBIZRuleData(SchemeId: string,FromAccountId:string): Observable{\n this.encryptSchemeId=this._encryption.encryptUsingAES256(SchemeId.toString());\n this.encryptFromAccountId=this._encryption.encryptUsingAES256(FromAccountId.toString());\n \n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetBIZRuleMaster?schemeId=' + this.encryptSchemeId + '&FromAccountId=' + this.encryptFromAccountId, httpOptions)\n } \n fnDeleteBIZRule(id) {\n this.encryptRuleId=this._encryption.encryptUsingAES256(id.toString()); \n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'DeleteBIZRuleMaster?RuleId=' + this.encryptRuleId, httpOptions);\n }\n fnGetCreatedNUpdatedNBIZRuleMaster(RuleID: string): Observable{\n this.encryptRuleId=this._encryption.encryptUsingAES256(RuleID.toString());\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetCreatedNUpatedDateOfBizRuleMaster?RuleID=' + this.encryptRuleId, httpOptions);\n }\n\n fnGetBIZRulePriority(RuleId: string, frequency: string, schemeId: string) {\n this.encryptRuleId=this._encryption.encryptUsingAES256(RuleId.toString());\n this.encryptfrequency=this._encryption.encryptUsingAES256(frequency.toString());\n this.encryptSchemeId=this._encryption.encryptUsingAES256(schemeId.toString());\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n debugger\n return this.http.get(this.rootURL + 'BIZPriorityIcrement?RuleId=' + this.encryptRuleId + '&Frequency=' + this.encryptfrequency + '&schemeId=' + this.encryptSchemeId, httpOptions);\n } \n \n fnGetBizRuleBySchemeId(ruleId: string): Observable{\n this.encryptRuleId=this._encryption.encryptUsingAES256(ruleId.toString());\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n debugger;\n return this.http.get(this.rootURL + 'GetBIzRuleMasterListById?ruleId=' + this.encryptRuleId, httpOptions);\n }\n fnSaveBIZRuleExecute(formData: BizRule): Observable {\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n \n return this.http.post(this.rootURL + 'SaveBizRuleExecuteMaster', formData, httpOptions) \n }\n \n fnSaveBIZBulkRuleExecute(formData: BizRule[]): Observable {\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n \n return this.http.post(this.rootURL + 'BulkSaveBizRuleExecuteMaster', formData, httpOptions) \n}\n\n\nfnGetAccountList(SchemeId: string, SchemeAcLinkid:string): Observable{\n this.encryptSchemeId=this._encryption.encryptUsingAES256(SchemeId.toString());\n this.encryptSchemeAcLinkid =this._encryption.encryptUsingAES256(SchemeAcLinkid.toString());\n \n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetAccountsForRule?SchemeId=' + this.encryptSchemeId + '&SchemeAcLinkId=' + this.encryptSchemeAcLinkid, httpOptions)\n} \n fnDublcateRuleName(SchemeId: string,RuleId :string, RuleName:string): Observable {\n this._token.fnrenewToken();\n debugger;\n SchemeId=this._encryption.encryptUsingAES256(SchemeId);\n RuleId=this._encryption.encryptUsingAES256(RuleId);\n RuleName=this._encryption.encryptUsingAES256(RuleName);\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'fnDuplicateRuleName?SchemeId='+SchemeId+'&RuleId='+RuleId+'&RuleName='+RuleName, httpOptions);\n}\n\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { Constants } from 'src/app/Common/constant';\nimport { Holiday, HolidayCreatedUpdated,EditedHolidayMaster } from './Holiday';\nimport { TokenService } from 'src/app/MasterService/token.service';\nimport { EncryptdecryptService } from './encryptdecrypt.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class HolidayService {\n\n formData: Holiday;\n HolidayList: Holiday[];\n\n readonly rootURL = Constants.apiURL + 'HolidayMasterApi/';\n encryptHolidayId: any;\n encryptReviewStatus: string;\n encryptStatus: string;\n encryptBranchId: string;\n decHolidayId: string;\n decLeave: string;\n decBankName: string;\n decBranchId: string;\n decDate: string;\n decDateFrom: string;\n decDateTo: string;\n\n constructor(private http: HttpClient, public _token: TokenService, public _encryption: EncryptdecryptService) { }\n\n \n fnSaveHolidayMasterDetails(formData: Holiday):Observable {\n this._token.fnrenewToken();\n\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n }; \n return this.http.post(this.rootURL + 'AddEditHoliday', formData, httpOptions) \n }\n fnSaveHolidayAsWorking(holidayId) { \n this.encryptHolidayId=this._encryption.encryptUsingAES256(holidayId.toString());\n this._token.fnrenewToken();\n\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n }; \n return this.http.post(this.rootURL + 'HolidayAsWorking?HolidayId=' + this.encryptHolidayId + '&UserId=' + localStorage.getItem('LoginUserId'), holidayId, httpOptions);\n }\n \n fnGetHolidayData(editedHolidayId: string ='0', PageNo:string=\"\", PageSize:string=\"\",\n BankName:string=\"\", HolidayName:string=\"\", HolidayType:string=\"\", \n CreatedBy:string=\"\", CreatedDate :string=\"\",HolidayDate:string =\"\",\n RequestType:string=\"\", Status:string=\"\" , SortOrder:string=\"\" ): Observable {\n editedHolidayId = this._encryption.encryptUsingAES256(editedHolidayId);\n PageNo = this._encryption.encryptUsingAES256(PageNo);\n PageSize = this._encryption.encryptUsingAES256(PageSize);\n BankName = this._encryption.encryptUsingAES256(BankName);\n HolidayName = this._encryption.encryptUsingAES256(HolidayName);\n HolidayType = this._encryption.encryptUsingAES256(HolidayType);\n CreatedBy = this._encryption.encryptUsingAES256(CreatedBy);\n RequestType = this._encryption.encryptUsingAES256(RequestType);\n Status = this._encryption.encryptUsingAES256(Status);\n SortOrder = this._encryption.encryptUsingAES256(SortOrder);\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({ \n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetHolidayMaster?HolidayId='+editedHolidayId\n +'&PageNo='+PageNo+ '&PageSize=' +PageSize+'&BankName='+BankName+'&HolidayName='+HolidayName\n +'&HolidayType='+HolidayType+ '&CreatedBy='+CreatedBy+'&CreatedDate='+CreatedDate\n +'&HolidayDate='+HolidayDate\n +'&RequestType='+RequestType+'&Status='+Status+'&SortOrder='+SortOrder, httpOptions);\n }\n\n fnGetHolidayDataForExport( HolidayId: string = '0'): Observable{\n this._token.fnrenewToken();\n HolidayId = this._encryption.encryptUsingAES256(HolidayId);\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetHolidayMasterExport?HolidayId='+HolidayId, httpOptions);\n }\n\n // fnGetHolidayData():Observable{\n // this.http.get(this.rootURL + 'GetHolidayMaster');\n // //.toPromise().then(res => this.HolidayList = res as Holiday[]);\n // }\n fnGetCreatedNUpatedDateOfHolidayMaster(holidayId: string ='0') {\n this.encryptHolidayId=this._encryption.encryptUsingAES256(holidayId.toString());\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetCreatedNUpatedDateOfHolidayMaster?holidayId=' + this.encryptHolidayId, httpOptions);\n }\n fnDeleteHoliday(id:string,loginId:string,ReviewStatus:string): Observable {\n this.encryptHolidayId=this._encryption.encryptUsingAES256(id.toString());\n this.encryptReviewStatus=this._encryption.encryptUsingAES256(ReviewStatus.toString());\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'DeleteHolidayMaster?HolidayId=' + this.encryptHolidayId + '&LoggedinUserId='+loginId + '&ReviewStatus='+ this.encryptReviewStatus, httpOptions);\n }\n fnHolidayasWorking(id) {\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.put(this.rootURL + 'HolidayAsWorking?HolidayId=' + id, id, httpOptions);\n }\n\n fnUploadHoliay(uploadHoliday,headerColumns:string,UserID:string):Observable{\n headerColumns=this._encryption.encryptUsingAES256(headerColumns);\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n }; \n return this.http.post(this.rootURL + 'UploadHoliday?headerColumns=' + headerColumns + \"&UserId=\" + UserID, uploadHoliday, httpOptions)\n }\n\n fnGetEditedHolidayValue(HolidayId: string): Observable{\n this.encryptHolidayId=this._encryption.encryptUsingAES256(HolidayId.toString());\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetEditedHolidayInfoByAccountId?holidayId=' + this.encryptHolidayId, httpOptions);\n}\n\nfnGetBranchName(): Observable{\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetBranchName', httpOptions);\n}\n\nfnBranchCode(branchId): Observable{\n this.encryptBranchId=this._encryption.encryptUsingAES256(branchId.toString());\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'fnBranchCodeById?BranchId=' + this.encryptBranchId, httpOptions);\n}\n\nfnBulkAuthorize(UserID:string,HolidayId:string,ReviewStatus:string,Status:string):Observable{\n this._token.fnrenewToken();\n this.encryptHolidayId=this._encryption.encryptUsingAES256(HolidayId.toString());\n this.encryptReviewStatus=this._encryption.encryptUsingAES256(ReviewStatus.toString());\n this.encryptStatus=this._encryption.encryptUsingAES256(Status.toString());\n \n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n }; \n return this.http.get(this.rootURL + 'BulkHolidayAuthorize?UserId='+UserID+'&HolidayId='+this.encryptHolidayId+'&ReviewStatus='+this.encryptReviewStatus+'&Status='+this.encryptStatus,httpOptions)\n}\n\nfnBulkUHolidayAuthorize(listAccount,UserID:string,AuthorizeStatus):Observable{\n this._token.fnrenewToken();\n \n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n }; \n return this.http.post(this.rootURL + 'BulkHolidayAuthorize?UserID='+UserID +'&AuthorizeStatus='+AuthorizeStatus,listAccount,httpOptions)\n}\n\nfnGHolidayAlreadyExist(HolidayId:string,Leave:string,BankName:string,BranchCode:string,Date:string,DateFrom:string,DateTo:string): Observable {\n this.decHolidayId=this._encryption.encryptUsingAES256(HolidayId);\n this.decLeave=this._encryption.encryptUsingAES256(Leave);\n this.decBankName=this._encryption.encryptUsingAES256(BankName);\n this.decBranchId=this._encryption.encryptUsingAES256(BranchCode);\n this.decDate=this._encryption.encryptUsingAES256(Date);\n this.decDateFrom=this._encryption.encryptUsingAES256(DateFrom);\n this.decDateTo=this._encryption.encryptUsingAES256(DateTo);\n\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({ \n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'IsHolidayExist?HolidayId='+this.decHolidayId+'&Leave='+this.decLeave+ '&BankName='+this.decBankName+'&BranchName='+this.decBranchId+'&Date='+this.decDate+ '&DateFrom='+this.decDateFrom+'&DateTo='+this.decDateTo,httpOptions);\n}\n\nGetAndInsertImportFileData(fileName,userId):Observable{\n this._token.fnrenewToken();\n\n fileName=this._encryption.encryptUsingAES256(fileName);\n\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetAndInsertImportFileData?userId='+userId +'&fileName='+fileName,httpOptions);\n}\n\nfnUploadFile(formData: FormData): Observable{ \n return this.http.post(this.rootURL + 'PostFile' , formData);\n}\n\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders,HttpParams } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { Constants } from '../Common/constant';\nimport { LoginDetails } from '../Common/LoginDetail';\nimport { Login,ForgotPassword } from './Login';\nimport{TokenService} from 'src/app/MasterService/token.service';\nimport { EncryptdecryptService } from 'src/app/MasterService/encryptdecrypt.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class LoginService {\n\n LoginAccessList:[];\n LoginAccessData:[];\n displaystart:boolean;\n displayLogin:boolean;\n menuModuleListForDashboard:[];\n \n \n constructor(private http: HttpClient,public _token:TokenService,public _encrypt:EncryptdecryptService) { }\n readonly rootURL = Constants.apiURL;\n arr:[];\n\n \n currentUser(){\n this.arr= JSON.parse(localStorage.getItem('LoginData'));\n LoginDetails.UserId=this.arr[\"UserId\"];\n LoginDetails.Email=this.arr[\"Email\"];\n LoginDetails.FirstName=this.arr[\"FirstName\"];\n LoginDetails.LastName=this.arr[\"LastName\"];\n localStorage.setItem('LoginUserId',this.arr[\"UserId\"]);\n localStorage.setItem('LoginFirstName',this.arr[\"FirstName\"]);\n localStorage.setItem('LoginLastName',this.arr[\"LastName\"]);\n }\n // fnGetLoginUserID(id) {\n // return this.http.get(this.rootURL+'/MenuModuleApi/GetMenuModuleList?userID='+id)\n // .subscribe(res => {this.LoginAccessList = res as []});\n // }\n \n fnGetLohinData(username:string):Observable{\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json' ,\n 'Authorization' :this._token.token\n })\n };\n return this.http.get(this.rootURL + 'UserLoginAPi/GetLoginData?username=' + username,httpOptions);\n }\n\n fnGetLoginUserID(id) {\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json' ,\n 'Authorization' :this._token.token\n })\n };\n this.http.get(this.rootURL+'/MenuModuleApi/GetMenuModuleList?userID='+id,httpOptions).subscribe(\n data=>{\n this.LoginAccessList = data as [];\n });\n }\n\n fnGetMenuModuleListForDashboard(id) {\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json' ,\n 'Authorization' :this._token.token\n })\n };\n this.http.get(this.rootURL+'/MenuModuleApi/GetMenuModuleListForDashboard?userID='+id,httpOptions).subscribe(\n data=>{\n this.menuModuleListForDashboard = data as [];\n localStorage.setItem('MenuItems',JSON.stringify(this.menuModuleListForDashboard));\n });\n }\n\n\n fnForgotPassword(username:string,mobileNumber:string){\n username = this._encrypt.encryptUsingAES256(username);\n mobileNumber = this._encrypt.encryptUsingAES256(mobileNumber);\n // this._token.fnrenewToken();\n // const httpOptions = {\n // headers: new HttpHeaders({\n // 'Content-Type': 'application/json' ,\n // 'Authorization' :this._token.token\n // })\n // };\n //,httpOptions\n return this.http.post(this.rootURL + '/UserLoginAPi/ValidateForgotPassword?username=' + username+'&moblieNumber='+mobileNumber,null);\n }\n\n fnValidateToken(token:string,resetUserId:string){\n\n token = this._encrypt.encryptUsingAES256(token);\n resetUserId = this._encrypt.encryptUsingAES256(resetUserId);\n\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json' \n //'Authorization' :this._token.token\n })};\n return this.http.get(this.rootURL + '/UserLoginAPi/ValidateToken?token=' + token+'&resetUserId='+resetUserId,httpOptions);\n }\n \n fnUpdatePassword(password:string,uid:string){\n\n password = this._encrypt.encryptUsingAES256(password);\n uid = this._encrypt.encryptUsingAES256(uid);\n \n this._token.fnrenewToken();\n \n const httpOptions = {\n headers: new HttpHeaders({ \n 'Content-Type':'application/json' ,\n //'Authorization' :this._token.token\n })\n }; \n return this.http.post(this.rootURL + '/UserLoginAPi/UpdtePassword?password=' + password+'&userId='+uid,null,httpOptions);\n }\n fnGetLoginMenuNModule(id) {\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json' ,\n 'Authorization' :this._token.token\n })\n };\n return this.http.get(this.rootURL+'/MenuModuleApi/GetMenuModuleList?userID='+id,httpOptions);\n \n }\n }\n\n\n \n","export class Login {\n UserId: number\n RoleId: number\n EmployeeId: number\n UserName: string\n FirstName: string\n MiddleName: string\n LastName: string\n Password: string\n Gender: string\n BirthDate: string\n MobileNumber: string\n AltMobileNumber: string\n Email: string\n Address: string\n AlternateAddress: string\n CountryId: number\n StateId: number\n CityId: number\n Pincode: number\n IsActive: number\n msg: string\n ErrorMsg:string; \n Isdelete:number; \n}\n\nexport class ForgotPassword{\n userExist:boolean\n userId:number\n tokenMatched:boolean\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { Constants } from 'src/app/Common/constant';\nimport { TokenService } from 'src/app/MasterService/token.service';\nimport { SiteConfig, SiteConfigCreatedUpdated } from './SiteConfiguration';\nimport { EncryptdecryptService } from './encryptdecrypt.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SiteConfigurationService {\n\n formData: SiteConfig;\n HolidayList: SiteConfig[];\n\n readonly rootURL = Constants.apiURL + 'SiteConfigration/';\n\n constructor(private http: HttpClient, public _token: TokenService,public _encreptdecrept:EncryptdecryptService) { }\n\n \n fnSaveSiteConfigurationDetails(formData: SiteConfig ):Observable {\n this._token.fnrenewToken();\n\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n }; \n return this.http.post(this.rootURL + 'AddEditSiteConfigration', formData, httpOptions) \n }\n\n fnGetSiteConfigurationDetails(UserID):Observable { \n this._token.fnrenewToken()\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n }; \n return this.http.get(this.rootURL + 'GetSiteConfiguration?UserID='+UserID,httpOptions); \n }\n \n fnGetCreatedUpdateSiteConfig(SiteConfId: string): Observable{\n this._token.fnrenewToken();\n SiteConfId = this._encreptdecrept.encryptUsingAES256(SiteConfId);\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n debugger;\n return this.http.get(this.rootURL + 'GetCreatedByUpdatedBysiteconfiguration?SiteConfId=' + SiteConfId, httpOptions);\n}\n\n}\n","import { Injectable } from '@angular/core';\nimport { AccountLinkMaster, AccoutnLinkClass, SweepMethodClass, AccountLinkStatus} from './AccountLinkMaster';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { Constants } from 'src/app/Common/constant';\nimport { TokenService } from 'src/app/MasterService/token.service';\nimport { EncryptdecryptService } from 'src/app/MasterService/encryptdecrypt.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AccountLinkMasterService {\n\n readonly rootURL = Constants.apiURL + 'AccountMasterApi/';\n\n CustomerId: number;\n\n formData: AccountLinkMaster;\n EditedformData: AccountLinkMaster;\n\n constructor(private http: HttpClient, public _token: TokenService,public _encrypt:EncryptdecryptService) { }\n\n fnGetAccountLinkList(UserId: string): Observable {\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetAccountLinkingMaster?UserId=' + UserId, httpOptions);\n }\n\n\n fnGetAccountLinkMaster(AclinkId): Observable {\n AclinkId = this._encrypt.encryptUsingAES256(AclinkId);\n\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetAcccountMasterLink?AcLinkId=' + AclinkId, httpOptions);\n }\n\n fnGetAccountLinkMasterEdited(AclinkId): Observable {\n AclinkId = this._encrypt.encryptUsingAES256(AclinkId);\n\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetAcccountMasterLinkEdited?AcLinkId=' + AclinkId, httpOptions);\n }\n\n fnDeleteAccountLinkMaster(id: number, userId: string) {\n var Id = this._encrypt.encryptUsingAES256(id);\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'DeleteAccountMasterLinkById?id=' + Id + '&loggedInUser=' + userId, httpOptions);\n }\n\n fnGetAccountLinkMasterMaxPriority(customerId: number) {\n var custid = this._encrypt.encryptUsingAES256(customerId);\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetMaxAccountLinkPrirority?customerId=' + custid, httpOptions);\n }\n\n fnResetTree(AclinkId): Observable {\n AclinkId = this._encrypt.encryptUsingAES256(AclinkId);\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'ResetTree?AcLinkId=' + AclinkId, httpOptions);\n }\n\n fnResetTreelable(AclinkId): Observable {\n AclinkId = this._encrypt.encryptUsingAES256(AclinkId);\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'ResetTreeLable?AcLinkId=' + AclinkId, httpOptions);\n }\n\n fndownloadTTUM(UserId): Observable {\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'FnTTUMDownloadFile?UserId=' + UserId, httpOptions);\n }\n\n\n fnSweepExecute(AcLinkId, UserId: string):Observable {\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n // return this.http.post(this.rootURL + 'SweepExecuteonPriority?UserId='+ UserId, AcLinkId,httpOptions)\n return this.http.get(this.rootURL + 'SweepExecuteonPriority?AccLinkIdList='+ AcLinkId + \"&UserId=\" + UserId,httpOptions)\n }\n\n fnReverseSweepExecute(acclinkList: AccountLinkMaster[], UserId: string):Observable {\n //UserId = this._encrypt.encryptUsingAES256(UserId); \n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.post(this.rootURL + 'ReverseSweepExecuteonPriority?UserId='+ UserId, acclinkList,httpOptions)\n }\n\n fnAccountLinkNameduplicate(accLinkName: string, accLinkId: number,CustomerId:number): Observable {\n accLinkName = this._encrypt.encryptUsingAES256(accLinkName); \n var aclinkid = this._encrypt.encryptUsingAES256(accLinkId);\n var custId = this._encrypt.encryptUsingAES256(CustomerId);\n\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'fnDuplicateAccountLinkName?acLinkName=' + accLinkName + '&acLinkId=' + aclinkid + '&CustomerId=' + custId, httpOptions);\n}\n\nfnGetSweepMethodSiteConfiguration(): Observable {\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'fnGetSweepMethodSiteConfiguration', httpOptions);\n}\n\nfnGetAccountLinkStatus(): Observable {\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetAccoountLinkStatus', httpOptions);\n}\n\nfnUpdateBulkStatusOfAccountLink(Accountlink:AccountLinkMaster[]):Observable {\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.post(this.rootURL + 'UpdateAccountLinkMaster', Accountlink,httpOptions)\n }\n\n fnBulkSweepExecute(AcLinkId,TriggerPoints):Observable<\"\"> {\n TriggerPoints = this._encrypt.encryptUsingAES256(TriggerPoints);\n AcLinkId = this._encrypt.encryptUsingAES256(AcLinkId);\n\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get<\"\">(this.rootURL + 'AddSweepListToServiceTable?triggerPoint='+ TriggerPoints + \"&AcLinkIdList=\" +AcLinkId,httpOptions)\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { AccountMaster, EditedAccontMaster, AccountType, UploadAccount, AccountTypeClass, AccountCreatedUpdated,AccountAuditMaster } from './AccountMaster'\nimport { Observable } from 'rxjs';\nimport { Constants } from 'src/app/Common/constant';\nimport { TokenService } from 'src/app/MasterService/token.service';\nimport{EncryptdecryptService} from 'src/app/MasterService/encryptdecrypt.service';\nimport { ParseError } from '@angular/compiler';\nimport { Customer } from './customer';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AccountMasterService {\n\n formData: AccountMaster;\n\n //for Audit Data\n AuditFormData:AccountAuditMaster\n\n readonly rootURL = Constants.apiURL + 'AccountMasterApi/';\n\n readonly accauditrootURL = Constants.apiURL + 'ReportsApi/';\n\n constructor(private http: HttpClient, public _token: TokenService,private _encryption:EncryptdecryptService) { }\n\n // fnSaveAccountMasterDetails(formData: AccountMaster):Observable{\n // return this.http.post(this.rootURL + 'AddEditAccount', formData)\n // }\n\n // adding a method seema 21-05-2020 17:20 PM\n fnSaveAccountMasterDetails(formData: AccountMaster): Observable {\n\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n\n return this.http.post(this.rootURL + 'AddEditAccount', formData, httpOptions);\n }\n\n fnGetAccountList(UserId:string, editedAcountId:string=\"\", PageNo:string=\"\", PageSize:string=\"\", AccountName:string=\"\" , \n AccountNumber:string=\"\",AccountType:string=\"\", BranchName:string=\"\" , CreatedBy:string=\"\", CreatedDate:string=\"\",\n corpCode:string=\"\", requestType:string=\"\", Status:string=\"\" , SortOrder:string = \"\"): Observable { \n this._token.fnrenewToken(); \n\n //#region \n editedAcountId=this._encryption.encryptUsingAES256(editedAcountId);\n PageNo=this._encryption.encryptUsingAES256(PageNo);\n PageSize=this._encryption.encryptUsingAES256(PageSize);\n AccountName=this._encryption.encryptUsingAES256(AccountName);\n AccountNumber=this._encryption.encryptUsingAES256(AccountNumber);\n AccountType=this._encryption.encryptUsingAES256(AccountType);\n BranchName=this._encryption.encryptUsingAES256(BranchName);\n CreatedBy=this._encryption.encryptUsingAES256(CreatedBy);\n // CreatedDate=this._encryption.encryptUsingAES256(CreatedDate);\n corpCode=this._encryption.encryptUsingAES256(corpCode);\n requestType=this._encryption.encryptUsingAES256(requestType);\n Status=this._encryption.encryptUsingAES256(Status);\n SortOrder=this._encryption.encryptUsingAES256(SortOrder);\n //#endregion\n\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetAcccountList?UserId=' + UserId\n + '&EditeAccountId=' + editedAcountId + '&PageNo=' + PageNo + '&PageSize=' + PageSize + '&AccountName=' + AccountName\n + '&AccountNumber=' + AccountNumber + '&AccounType=' + AccountType + '&Branchname=' + BranchName + '&CreatedBy=' + CreatedBy\n + '&CreatedDate=' + CreatedDate + '&corpCode=' + corpCode + '&requestType=' + requestType + '&Status=' + Status \n + '&SortOrder=' + SortOrder, httpOptions);\n }\n\n fnGetIndentAccountList(IndentId: string): Observable { \n this._token.fnrenewToken(); \n IndentId=this._encryption.encryptUsingAES256(IndentId);\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetIndentAccountList?IndentId=' + IndentId, httpOptions);\n }\n\n fnDeleteAccount(id: string, status: string, userId: string): Observable {\n this._token.fnrenewToken();\n id=this._encryption.encryptUsingAES256(id);\n status=this._encryption.encryptUsingAES256(status); \n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'DeleteAccountListById?id=' + id + '&status=' + status + '&userId=' + userId, httpOptions);\n }\n\n fnBulkDeleteAccount(id: string, status: string, userId: string): Observable {\n this._token.fnrenewToken();\n id=this._encryption.encryptUsingAES256(id);\n status=this._encryption.encryptUsingAES256(status); \n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'DeleteBulAccountListById?id=' + id + '&status=' + status + '&userId=' + userId, httpOptions);\n }\n\n fnGetCustomerName(): Observable {\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetCustomerName', httpOptions);\n }\n\n fnGetBranchName(): Observable {\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetBranchNamewithIDBI', httpOptions);\n }\n fnGetAccountListForAccountLink(_userId: string, CustomerId:string=\"\"): Observable {\n this._token.fnrenewToken();\n var _CustomerId=this._encryption.encryptUsingAES256(CustomerId);\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetAcccountListForAccLinkMaster?UserId=' + _userId + \"&CustomerId=\" + _CustomerId, httpOptions);\n }\n\n fnGetEditedAccountValue(accountId: string): Observable {\n this._token.fnrenewToken();\n accountId=this._encryption.encryptUsingAES256(accountId);\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetEditedAccountInfoByAccountId?accountId=' + accountId, httpOptions);\n }\n\n fnGetAccountType(): Observable {\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetAcccountType', httpOptions);\n }\n\n fnGetCreatedUpdateAccount(accountId: string): Observable {\n this._token.fnrenewToken();\n accountId=this._encryption.encryptUsingAES256(accountId);\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetCreatedNUpatedDateOfAccountMaster?AccountID=' + accountId, httpOptions);\n }\n\n fnUploadAccount(uploadAccount, headerColumns: string, UserID: string): Observable {\n\n this._token.fnrenewToken();\n headerColumns=this._encryption.encryptUsingAES256(headerColumns);\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n\n return this.http.post(this.rootURL + 'UploadAccount?headerColumns=' + headerColumns + \"&UserId=\" + UserID, uploadAccount, httpOptions)\n }\n\n fnAccountNumberduplicate(accNumber, AccountId: string, branchId:string): Observable {\n this._token.fnrenewToken();\n AccountId=this._encryption.encryptUsingAES256(AccountId);\n accNumber=this._encryption.encryptUsingAES256(accNumber);\n branchId=this._encryption.encryptUsingAES256(branchId);\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'fnDuplicateAccountNumber?AccountNumber=' + accNumber + '&AccountId=' + AccountId + '&BranchId=' + branchId, httpOptions);\n }\n\n fnAccountNameduplicate(accName: string, accId: string): Observable {\n this._token.fnrenewToken();\n accName=this._encryption.encryptUsingAES256(accName);\n accId=this._encryption.encryptUsingAES256(accId);\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'fnDuplicateAccountName?AccountName=' + accName + '&AccountId=' + accId, httpOptions);\n }\n\n fnFetchBalance(AccountNumber: string): Observable {\n this._token.fnrenewToken();\n AccountNumber=this._encryption.encryptUsingAES256(AccountNumber);\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'FetchBalance?AccountNumber=' + AccountNumber, httpOptions);\n }\n\n fnBulkAuthorize(UserID:string,accountId:string,ReviewStatus:string,Status:string):Observable{\n this._token.fnrenewToken();\n accountId=this._encryption.encryptUsingAES256(accountId);\n ReviewStatus=this._encryption.encryptUsingAES256(ReviewStatus);\n Status=this._encryption.encryptUsingAES256(Status);\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n }; \n return this.http.get(this.rootURL + 'BulkAuthorize?UserId='+UserID+'&accountId='+accountId+'&ReviewStatus='+ReviewStatus+'&Status='+Status,httpOptions)\n }\n \n fnBulkAccountAuthorize(listAccount,UserID:string,AuthorizeStatus):Observable{\n this._token.fnrenewToken();\n \n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n }; \n return this.http.post(this.rootURL + 'BulkAuthorize1?UserID='+UserID +'&AuthorizeStatus='+AuthorizeStatus,listAccount,httpOptions)\n }\n\n fnGetAccountAuditHistory(accId:string = '0'):Observable{\n this._token.fnrenewToken();\n accId = this._encryption.encryptUsingAES256(accId);\n \n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.accauditrootURL + 'fnGetAccountAuditHistory?AccountId='+accId+'&loginUserId='+localStorage.getItem('LoginUserId'),httpOptions);\n }\n\n fnIsIDBIBank(branchId:string): Observable {\n this._token.fnrenewToken();\n branchId = this._encryption.encryptUsingAES256(branchId);\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'fnIsIDBIBank?BranchId=' + branchId, httpOptions);\n }\n\n fnUploadFile(formData: FormData): Observable{ \n return this.http.post(this.rootURL + 'PostFile' , formData);\n }\n GetAndInsertImportFileData(fileName,userId):Observable{\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n }; \n fileName=this._encryption.encryptUsingAES256(fileName);\n return this.http.get(this.rootURL + 'GetAndInsertImportFileData?userId='+userId +'&fileName='+fileName,httpOptions);\n }\n\n fnAccountExistinAccountLink(accId: string): Observable {\n this._token.fnrenewToken();\n accId=this._encryption.encryptUsingAES256(accId);\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'fnAccountExistinAccountLink?AccountId=' + accId, httpOptions);\n }\n\n\n fnGetAccountListForExport(UserId:string): Observable { \n this._token.fnrenewToken(); \n\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetAccountListForExport?UserId=' + UserId, httpOptions);\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { RoleMaster } from './role-master'\nimport { CountryMaster } from './country-master'\nimport { StateMaster } from './state-master'\nimport { CityMaster } from './city-master'\nimport { module } from './module'\nimport { Observable } from 'rxjs';\nimport { Constants } from '../Common/constant';\nimport { TokenService } from 'src/app/MasterService/token.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AllMasterApiService {\n \n readonly rootURL = Constants.apiURL + 'CountryApi/';\n\n constructor(private http: HttpClient, public _token: TokenService) { }\n\n fnGetRoleMaster(): Observable{\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetRoles', httpOptions);\n }\n\n fnGetCountryMaster(): Observable{\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetCountry', httpOptions);\n }\n\n fnGetStateMaster(id: number): Observable{\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetStates?id=' + id, httpOptions);\n }\n\n fnGetCityMaster(id: number): Observable{\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetCity?id=' + id, httpOptions);\n }\n\n fnGetAllStateMaster(): Observable{\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetAllStates', httpOptions);\n }\n\n fnGetAllCityMaster(): Observable{\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetAllCity', httpOptions);\n }\n \n}\n","import { Injectable } from \"@angular/core\";\nimport { Router } from '@angular/router';\nimport { LoginDetails } from 'src/app/Common/LoginDetail';\nimport { LoginService } from 'src/app/MasterService/Login.service';\n\nconst MINUTES_UNITL_AUTO_LOGOUT = 30 // in mins\nconst CHECK_INTERVAL = 15000 // in ms\nconst STORE_KEY = 'lastAction';\n@Injectable()\n\nexport class AutoLogoutService {\n public getLastAction() { \n return parseInt(localStorage.getItem(STORE_KEY));\n }\n\n public setLastAction(lastAction: number) {\n localStorage.setItem(STORE_KEY, lastAction.toString());\n }\n\n constructor(private router: Router,public _login: LoginService) { \n this.check();\n this.initListener();\n this.initInterval(); \n localStorage.setItem(STORE_KEY,Date.now().toString()); \n }\n\n initListener() {\n document.body.addEventListener('click', () => this.reset());\n document.body.addEventListener('mouseover',()=> this.reset());\n document.body.addEventListener('mouseout',() => this.reset());\n document.body.addEventListener('keydown',() => this.reset());\n document.body.addEventListener('keyup',() => this.reset());\n document.body.addEventListener('keypress',() => this.reset());\n }\n\n reset() {\n this.setLastAction(Date.now());\n }\n\n initInterval() {\n setInterval(() => {\n this.check();\n }, CHECK_INTERVAL);\n }\n\n check() { \n const now = Date.now();\n const timeleft = this.getLastAction() + MINUTES_UNITL_AUTO_LOGOUT * 60 * 1000;\n const diff = timeleft - now;\n const isTimeout = diff < 0;\n if (isTimeout) { \n LoginDetails.UserId =0; \n localStorage.setItem('LoginFirstName','');\n localStorage.setItem('LoginLastName',''); \n this._login.displaystart=true;\n this._login.displayLogin=false; \n localStorage.clear();\n this.router.navigate([\"./LoginPage\"], ); \n }\n }\n\n}","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders} from '@angular/common/http'\nimport { BranchMaster, UploadBranch, BranchCreatedUpdated,EditedBranchMaster} from './branch-master'\nimport { Observable} from 'rxjs';\nimport { Constants } from '../Common/constant';\nimport { TokenService } from 'src/app/MasterService/token.service';\nimport { EncryptdecryptService } from './encryptdecrypt.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class BranchService {\n\n readonly rootURL = Constants.apiURL + 'BranchMasterApi/';\n\n constructor(private http: HttpClient, public _token: TokenService,public _encreptdecrept:EncryptdecryptService) { }\n formData: BranchMaster;\n BranchList: BranchMaster[];\n\n fnGetBranchData( branchId: string = '0',PageNo:string=\"\", PageSize:string=\"\",\n BankName:string=\"\",BranchName:string=\"\", BranchCode:string=\"\",BICCode:string=\"\" , \n CorrespondentBank:string =\"\", CreatedDate :string=\"\",CreatedBy:string=\"\", \n RequestType:string=\"\", Status:string=\"\" ,\n SortOrder:string=\"\"): Observable{\n this._token.fnrenewToken();\n branchId = this._encreptdecrept.encryptUsingAES256(branchId);\n PageNo = this._encreptdecrept.encryptUsingAES256(PageNo);\n PageSize = this._encreptdecrept.encryptUsingAES256(PageSize);\n BankName = this._encreptdecrept.encryptUsingAES256(BankName);\n BranchName = this._encreptdecrept.encryptUsingAES256(BranchName);\n BranchCode = this._encreptdecrept.encryptUsingAES256(BranchCode);\n BICCode = this._encreptdecrept.encryptUsingAES256(BICCode);\n CreatedBy = this._encreptdecrept.encryptUsingAES256(CreatedBy);\n RequestType = this._encreptdecrept.encryptUsingAES256(RequestType);\n Status = this._encreptdecrept.encryptUsingAES256(Status);\n CorrespondentBank = this._encreptdecrept.encryptUsingAES256(CorrespondentBank);\n SortOrder = this._encreptdecrept.encryptUsingAES256(SortOrder);\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetBranchData?branchId='+branchId+'&PageNo='+PageNo\n +'&PageSize='+PageSize+'&BankName='+BankName+'&BranchName='+BranchName+'&BranchCode='+BranchCode\n +'&BICCode='+BICCode+'&CreatedBy='+CreatedBy+'&CreatedDate='+CreatedDate+'&RequestType='+RequestType\n + '&Status='+Status+ '&CorrespondentBank='+CorrespondentBank+'&SortOrder='+SortOrder, httpOptions);\n }\n\n fnGetBranchDataForExport( branchId: string = '0'): Observable{\n this._token.fnrenewToken();\n branchId = this._encreptdecrept.encryptUsingAES256(branchId);\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetBranchMasterExport?branchId='+branchId, httpOptions);\n }\n fnGetBranchDetailsById(branchID: string): Observable{ \n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetBranchDataById' + '?BranchId=' + branchID, httpOptions);\n }\n\n\n \n fnSaveBranchMasterDetails(branchMaster:BranchMaster):Observable{\n debugger;\n //return this.http.post(this.rootURL + 'SaveBranchMasterDetails', branchMaster) \n \n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n\n return this.http.post(this.rootURL + 'SaveBranchMasterDetails', branchMaster, httpOptions);\n }\n\n fnDeleteBranchDetailsById(branchID:string , loginUserId:string,ReviewStatus:string):Observable{\n //let httpHeaders = new HttpHeaders().set('Content-Type','application/json');\n this._token.fnrenewToken();\n branchID = this._encreptdecrept.encryptUsingAES256(branchID);\n ReviewStatus = this._encreptdecrept.encryptUsingAES256(ReviewStatus);\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'DeleteBranchDataById' + '?BranchId=' + branchID + \"&LoggedinUserId=\" + loginUserId +'&ReviewStatus=' +ReviewStatus, httpOptions);\n }\n\n fnDeleteBulkBranchDataById(branchID:string):Observable{\n //let httpHeaders = new HttpHeaders().set('Content-Type','application/json');\n this._token.fnrenewToken();\n branchID = this._encreptdecrept.encryptUsingAES256(branchID);\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'DeleteBulkBranchDataById' + '?BranchId=' + branchID , httpOptions);\n }\n \n\n fnIsBranchInUsed(BranchId: string): Observable {\n this._token.fnrenewToken();\n BranchId = this._encreptdecrept.encryptUsingAES256(BranchId);\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'IsBranchInUsed?BranchId=' + BranchId, httpOptions);\n }\n\n fnUploadBranch(uploadBranch,headerColumns:string,UserID:string):Observable{\n \n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n\n return this.http.post(this.rootURL + 'UploadBanch?headerColumns=' + headerColumns + \"&UserId=\" + UserID, uploadBranch, httpOptions);\n }\n\n\n fnGetCreatedUpdateBranchc(BranchId: string): Observable{\n this._token.fnrenewToken();\n BranchId = this._encreptdecrept.encryptUsingAES256(BranchId);\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n debugger;\n return this.http.get(this.rootURL + 'GetCreatedNUpatedDateOfBranchMaster?BranchID=' + BranchId, httpOptions);\n }\n\n fnIsBranchCodeExists(BranchCode: string): Observable {\n this._token.fnrenewToken();\n BranchCode = this._encreptdecrept.encryptUsingAES256(BranchCode);\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'fnIsBranchCodeExists?BranchCode=' + BranchCode, httpOptions);\n }\n\n fnIsBranchCodeExistsEditMode(iBranchId: string, BranchCode: string): Observable {\n this._token.fnrenewToken();\n iBranchId = this._encreptdecrept.encryptUsingAES256(iBranchId);\n BranchCode = this._encreptdecrept.encryptUsingAES256(BranchCode);\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'fnIsBranchCodeExistsEditMode?BranchId=' + iBranchId + \"&BranchCode=\" + BranchCode, httpOptions);\n }\n\n fnGetEditedBranchValue(BranchId: string): Observable{\n this._token.fnrenewToken();\n BranchId = this._encreptdecrept.encryptUsingAES256(BranchId);\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetEditedBranchInfoByBranchId?branchId=' + BranchId, httpOptions);\n }\n fnBulkAuthorize(UserID:string,BranchId:string,ReviewStatus:string,Status:string):Observable{\n this._token.fnrenewToken();\n debugger\n BranchId = this._encreptdecrept.encryptUsingAES256(BranchId);\n ReviewStatus = this._encreptdecrept.encryptUsingAES256(ReviewStatus);\n Status = this._encreptdecrept.encryptUsingAES256(Status);\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n }; \n return this.http.get(this.rootURL + 'BranchBulkAuthorize?UserId='+UserID+'&BranchId='+BranchId+'&ReviewStatus='+ReviewStatus+'&Status='+Status,httpOptions)\n }\n\n fnBulkBranchAuthorize(listAccount,UserID:string,AuthorizeStatus):Observable{\n this._token.fnrenewToken();\n \n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n }; \n return this.http.post(this.rootURL + 'BulkAuthorize1?userID='+UserID +'&AuthorizeStatus='+AuthorizeStatus,listAccount,httpOptions)\n }\n\n fnGetIFSCCode(bankname,branchname): Observable{\n bankname = this._encreptdecrept.encryptUsingAES256(bankname);\n branchname = this._encreptdecrept.encryptUsingAES256(branchname);\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n debugger;\n return this.http.get(this.rootURL + 'GetIFSCCOde?BankName=' + bankname + \"&BranchName=\" + branchname , httpOptions);\n }\n\n fnselectIFSCCode(ifscCode,transactionType): Observable{\n ifscCode = this._encreptdecrept.encryptUsingAES256(ifscCode);\n transactionType = this._encreptdecrept.encryptUsingAES256(transactionType);\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'SelectIfscCode?ifscCode=' + ifscCode + \"&TransactionType=\" + transactionType , httpOptions);\n }\n\n fnUploadFile(formData: FormData): Observable{ \n return this.http.post(this.rootURL + 'PostFile' , formData);\n }\n GetAndInsertImportFileData(fileName,userId):Observable{\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n }; \n fileName=this._encreptdecrept.encryptUsingAES256(fileName);\n return this.http.get(this.rootURL + 'GetAndInsertImportFileData?userId='+userId +'&fileName='+fileName,httpOptions);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { SweepCharges,SweepChargesClass,FrequencyTypecls,EditedSweepChargesClass,SweepCreatedUpdated} from './sweep-charges';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Constants} from '../Common/constant';\nimport { Observable } from 'rxjs';\nimport { TokenService } from 'src/app/MasterService/token.service';\nimport { EncryptdecryptService } from './encryptdecrypt.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ChargesSweepService {\n\n readonly rootURL = Constants.apiURL + 'SweepChsrgesMasterApi/';\n\n formData:SweepChargesClass;\n\n constructor(private http: HttpClient, public _token: TokenService, public _encreptdecrept:EncryptdecryptService) { }\n\n fnGetChargeTypeData(): Observable{\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetChargeTypeData', httpOptions);\n }\n\n fnGetChargeTypeById(chargeTypeId: string, customerId: string): Observable{\n this._token.fnrenewToken();\n chargeTypeId = this._encreptdecrept.encryptUsingAES256(chargeTypeId);\n customerId = this._encreptdecrept.encryptUsingAES256(customerId);\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetChargeTypeById?chargeTypeId=' + chargeTypeId + '&customerId=' + customerId, httpOptions);\n }\n\n fnGetFrequencyTypeData(): Observable{\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetFrequencyAndTypeData', httpOptions);\n }\n\n fnInsertUpdateSweepCharges(sweepcharges:SweepChargesClass):Observable{\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n\n return this.http.post(this.rootURL + 'fnSaveSweepCharges', sweepcharges, httpOptions)\n }\n\n fnGetEditedSweepChargeTypeById(chargeTypeId: string, customerId: string): Observable{\n this._token.fnrenewToken();\n chargeTypeId = this._encreptdecrept.encryptUsingAES256(chargeTypeId);\n customerId = this._encreptdecrept.encryptUsingAES256(customerId);\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'fnGetEditedSweepChargeTypeById?chargeTypeId=' + chargeTypeId + '&customerId=' + customerId, httpOptions);\n}\n\nfnGetCreatedUpdateSweep(SweepID: string): Observable{\n this._token.fnrenewToken();\n SweepID = this._encreptdecrept.encryptUsingAES256(SweepID);\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n debugger;\n return this.http.get(this.rootURL + 'GetCreatedNUpatedDateOfSweepMaster?sweepID=' + SweepID, httpOptions);\n}\n\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Customer ,CustomerAuditMaster,CustomerCreatedUpdated} from './customer'\nimport { Observable } from 'rxjs';\nimport { Constants } from 'src/app/Common/constant';\nimport { TokenService } from 'src/app/MasterService/token.service';\nimport {EncryptdecryptService} from 'src/app/MasterService/encryptdecrypt.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CustomerService {\n\n readonly rootURL = Constants.apiURL + 'CustomerMasterApi/';\n\n \n formData: Customer;\n customerList: Customer[];\n custoformData: CustomerAuditMaster;\n custList: CustomerAuditMaster[];\n constructor(private http: HttpClient, public _token: TokenService,public _encrypt:EncryptdecryptService) { }\n\n fnSaveCustomerMasterDetails(formData: Customer):Observable {\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.post(this.rootURL + 'SaveCustomerMasterDetails', formData, httpOptions);\n }\n\n fnGetCustomerData(userid: string , editCustomerId: number = 0,PageNo:string = \"\", PageSize:string= \"\", CustomerName:string= \"\",\n CorpCode:string = \"\", StateId:string = \"\", CityId:string = \"\", CreatedBy:string = \"\" , CreatedDate:string = \"\", RequestType:string = \"\",\n Status:string = \"\",SortOrder:string = \"\"): Observable{\n var editedcustId = this._encrypt.encryptUsingAES256(editCustomerId.toString());\n var PageNo = this._encrypt.encryptUsingAES256(PageNo.toString());\n var PageSize = this._encrypt.encryptUsingAES256(PageSize.toString());\n var CustomerName = this._encrypt.encryptUsingAES256(CustomerName.toString());\n var CorpCode = this._encrypt.encryptUsingAES256(CorpCode.toString());\n var StateId = this._encrypt.encryptUsingAES256(StateId.toString());\n var CityId = this._encrypt.encryptUsingAES256(CityId.toString());\n var CreatedBy = this._encrypt.encryptUsingAES256(CreatedBy.toString());\n var RequestType = this._encrypt.encryptUsingAES256(RequestType.toString());\n var Status = this._encrypt.encryptUsingAES256(Status.toString());\n var SortOrder = this._encrypt.encryptUsingAES256(SortOrder.toString());\n\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetCustomerMasterData?Userid=' + userid + \"&editCustomerId=\" + editedcustId\n + \"&PageNo=\" + PageNo + \"&PageSize=\" + PageSize + \"&CustomerName=\" + CustomerName + \"&CorpCode=\" + CorpCode + \"&StateId=\" + StateId \n + \"&CityId=\" + CityId + \"&CreatedBy=\" + CreatedBy + \"&CreateDate=\" + CreatedDate + \"&requestType=\" + RequestType\n + \"&status=\" + Status + \"&SortOrder=\" + SortOrder, httpOptions);\n }\n \n fnGetCustomerDataForAClink(userid: string , editCustomerId: number = 0): Observable{\n var editedcustId = this._encrypt.encryptUsingAES256(editCustomerId.toString());\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetCustomerNameForACLINK?userId=' + userid + \"&editCustomerId=\" + editedcustId, httpOptions);\n }\n fnGetCustomerCorporationCode(userid: string , editCustomerId: number = 0): Observable{\n var editedcustId = this._encrypt.encryptUsingAES256(editCustomerId.toString());\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetCustomerCorporationCode?userId=' + userid + \"&editCustomerId=\" + editedcustId, httpOptions);\n }\n fnGetCustomerListForDropdown(id:string = '0',UserId:string):Observable{\n var Id = this._encrypt.encryptUsingAES256(id); \n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetCustomerListForDropdown?Id='+Id+\"&UserId=\"+UserId,httpOptions);\n}\n \n \n fnGetCreatedNUpatedDateOfCustomerMaster(customerId: number = 0): Observable{\n \n var customerid = this._encrypt.encryptUsingAES256(customerId);\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetCreatedNUpatedDateOfCustomerMaster?customerId=' + customerid, httpOptions);\n }\n // fnGetCustomerData() {\n // this.http.get(this.rootURL + 'GetCustomerMasterData')\n // .toPromise().then(res => this.customerList = res as Customer[]);\n // }\n\n fnGetEditedCustomerMasterValues(customerId: number = 0): Observable{\n var custId = this._encrypt.encryptUsingAES256(customerId);\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetEditedCustomerMasterValues?customerId=' + custId, httpOptions);\n }\n\n fnDeleteCustomer(id: string,LoggedInUser:string): Observable {\n id = this._encrypt.encryptUsingAES256(id);\n LoggedInUser = this._encrypt.encryptUsingAES256(LoggedInUser);\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'DeleteCustomer?customerId=' + id + '&LoggedInUser=' + LoggedInUser, httpOptions);\n }\n\n fnCheckCorporationCodeExists(Code: string, id: number) {\n\n Code = this._encrypt.encryptUsingAES256(Code);\n var Id = this._encrypt.encryptUsingAES256(id);\n\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'CheckCorporationCodeExists?Code=' + Code + \"&Id=\" + Id, httpOptions);\n }\n \n fnUploadCustomer(uploadCustomer,headerColumns:string,UserId:string):Observable{\n headerColumns=this._encrypt.encryptUsingAES256(headerColumns);\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.post(this.rootURL + 'UploadCustomer?headerColumns=' + headerColumns + \"&UserId=\" + UserId, uploadCustomer, httpOptions);\n }\n\n fnGetCustomerMasterList(): Observable{\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetCustomerMasterList', httpOptions);\n }\n\n fnBulkAuthorize(listCustomer,UserId:string,AuthorizeStatus):Observable{\n this._token.fnrenewToken();\n \n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n }; \n return this.http.post(this.rootURL + 'CustomerBulkAuthorize?UserId='+UserId+'&AuthorizeStatus='+AuthorizeStatus,listCustomer,httpOptions)\n }\n \n fnGetUserAuditHistory(CustPKId:number=0):Observable{ \n var custid = this._encrypt.encryptUsingAES256(CustPKId);\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetCustomerAuditHistory?CustPKId='+custid+'&loginUserId='+localStorage.getItem('LoginUserId'),httpOptions);\n }\n\n fnUploadFile(formData: FormData): Observable{ \n return this.http.post(this.rootURL + 'PostFile' , formData);\n }\n GetAndInsertImportFileData(fileName,userId):Observable{\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n }; \n fileName=this._encrypt.encryptUsingAES256(fileName);\n return this.http.get(this.rootURL + 'GetAndInsertImportFileData?userId='+userId +'&fileName='+fileName,httpOptions);\n }\n\n fnGetCustomerDataExport(userid: string): Observable{\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetCustomerMasterExport?Userid=' + userid , httpOptions);\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { ValidatorFn, AbstractControl } from '@angular/forms';\nimport { FormGroup } from '@angular/forms';\nimport { UserService } from '../MasterService/user.service';\nimport { UserMaster } from '../MasterService/user-master';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CustomvalidationService {\n constructor(private _userService:UserService) { }\n \n userNameValidator(userControl: AbstractControl) {\n return new Promise(resolve => {\n setTimeout(() => {\n if (this.validateUserName(userControl.value)) {\n resolve({ userNameNotAvailable: true });\n } else {\n resolve(null);\n }\n }, 1000);\n });\n }\n\n UserEmailList:any =[];\n validateUserName(userName: string) { \n this._userService.fnGetUserData('0').subscribe(allUsers=>{\n this.UserEmailList = []; \n allUsers.forEach(element => {\n if(element[\"UserId\"] != (localStorage.getItem('localUserId'))) \n this.UserEmailList.push(element[\"EmailId\"]); \n }); \n });\n const UserList = this.UserEmailList; \n return (UserList.indexOf(userName) > -1);\n }\n}","import { Injectable } from '@angular/core';\nimport * as CryptoJS from 'crypto-js';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class EncryptdecryptService {\n\n constructor() { }\n\n // Declare this key and iv values in declaration\n private key = CryptoJS.enc.Utf8.parse('MAKV2SPBNI992121');\n private iv = CryptoJS.enc.Utf8.parse('MAKV2SPBNI992121');\n\n decryptUsingAES256(decString) {\n var decrypted = CryptoJS.AES.decrypt(decString, this.key, {\n keySize: 128 / 8,\n iv: this.iv,\n mode: CryptoJS.mode.CBC,\n padding: CryptoJS.pad.Pkcs7\n }); \n return decrypted.toString(CryptoJS.enc.Utf8);\n }\n\n encryptUsingAES256(encryptString) {\n var encrypted = CryptoJS.AES.encrypt(CryptoJS.enc.Utf8.parse(JSON.stringify(encryptString)), this.key, {\n keySize: 128 / 8,\n iv: this.iv,\n mode: CryptoJS.mode.CBC,\n padding: CryptoJS.pad.Pkcs7\n });\n return encrypted.toString();\n}\n\n\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { FundDisbursment , FundDisbursemenetAccount , FundCreatedUpdated} from './fund-disbursment'\nimport { Observable } from 'rxjs';\nimport { Constants } from 'src/app/Common/constant';\nimport { TokenService } from 'src/app/MasterService/token.service';\nimport { EncryptdecryptService } from './encryptdecrypt.service';\nimport { AccountMaster } from 'src/app/MasterService/AccountMaster';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class FundDisbursmentService {\n\n formData: FundDisbursment;\n\n readonly rootURL = Constants.apiURL + 'FunddisbursementApi/';\n EncrypFundDIsburseID: any;\n encryptFundId: string;\n\n constructor(private http: HttpClient, public _token: TokenService , public _encryption: EncryptdecryptService) { }\n\n\n fnAddEditFundDisbursmentDetails(formData:FundDisbursment):Observable{\n debugger;\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n\n return this.http.post(this.rootURL + 'AddEFundMasterDetails', formData, httpOptions);\n }\n\n// fnGetFundDisbursmentList():Observable{\n// return this.http.get(this.rootURL + 'GetAcccountList');\n// }\n\n fnGetFundDisbursmenetAccount(): Observable{\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetFundDisbursemenetAccount', httpOptions);\n }\n\n fnGetFundDisbursmenetList(id: string, PageNo:string=\"\", PageSize:string = \"\", SortOrder:string = \"\", \n RequestDate:string = \"\" , Amount:string = \"\" , CustomerName:string = \"\", Status:string = \"\", CreatedDate:string = \"\"): Observable{\n \n //encrypt parameter value \n PageNo = this._encryption.encryptUsingAES256(PageNo);\n PageSize = this._encryption.encryptUsingAES256(PageSize);\n SortOrder = this._encryption.encryptUsingAES256(SortOrder);\n Amount = this._encryption.encryptUsingAES256(Amount);\n CustomerName = this._encryption.encryptUsingAES256(CustomerName);\n Status = this._encryption.encryptUsingAES256(Status);\n \n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetIndentData?id=' + id + \"&PageNo=\" + PageNo \n + \"&PageSize=\" + PageSize + \"&SortOrder=\" + SortOrder + \"&RequestedDate=\" + RequestDate + \"&Amount=\" + Amount + \"&CustomerName=\" + CustomerName +\n \"&Status=\" + Status + \"&CreatedDate=\" + CreatedDate, httpOptions);\n }\n\n fnDeleteIndent(id: string,UserId): Observable {\n this.encryptFundId=this._encryption.encryptUsingAES256(id.toString());\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'DeleteIndentById?id=' + this.encryptFundId + '&UserId=' + UserId, httpOptions);\n }\n\n GetIndentDataById(editid: string): Observable{\n this.encryptFundId=this._encryption.encryptUsingAES256(editid.toString());\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetIndentDataById?editid=' + this.encryptFundId, httpOptions);\n }\n\n fnGetCreatedNUpatedDateOfFundDisbursement(FundId: string= '0'): Observable{\n this.encryptFundId=this._encryption.encryptUsingAES256(FundId.toString());\n \n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetCreatedNUpdatedDateOfFundDisbursemene?FundId=' + this.encryptFundId, httpOptions);\n }\n\n fnDeleteInvoceCopy(deleteid: number): Observable{\n this.encryptFundId=this._encryption.encryptUsingAES256(deleteid.toString());\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'fnDeleteInvoceCopy?deleteID=' + this.encryptFundId, httpOptions);\n }\n\n fnUploadFile(formData: FormData): Observable{\n // this._token.fnrenewToken();\n // const httpOptions = {\n // headers: new HttpHeaders({\n // 'Content-Type': 'application/json',\n // 'Authorization': this._token.token\n // })\n // };\n\n // return this.http.post(this.rootURL + 'PostFile' , formData , httpOptions);\n return this.http.post(this.rootURL + 'PostFile' , formData);\n }\n\n fnDuplicateIndent(IndentId, CustId, FromAccId, ToAccId): Observable {\n debugger;\n this._token.fnrenewToken();\n\n IndentId=this._encryption.encryptUsingAES256(IndentId);\n CustId=this._encryption.encryptUsingAES256(CustId);\n FromAccId=this._encryption.encryptUsingAES256(FromAccId);\n ToAccId=this._encryption.encryptUsingAES256(ToAccId);\n\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'fnDuplicateIndent?IndentId=' + IndentId + '&CustId=' + CustId + '&FromAccId=' + FromAccId + '&ToAccId=' + ToAccId, httpOptions);\n }\n\n fnGetAccountForFund(userId, CustId): Observable { \n CustId=this._encryption.encryptUsingAES256(CustId);\n this._token.fnrenewToken(); \n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetAccountForFund?UserId=' + userId + \"&CustId=\" + CustId, httpOptions);\n }\n\n fnFundTranfer(FundId,UserId): Observable {\n this.encryptFundId=this._encryption.encryptUsingAES256(FundId.toString());\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'fnFundTransfer?FundId=' + this.encryptFundId + \"&UserId=\"+ UserId, httpOptions);\n }\n\n fnGetExportFundDisbursmenetList(id: string): Observable{\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetExportIndentData?id=' + id, httpOptions);\n }\n}","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { AccountMaster, EditedAccontMaster, AccountType, UploadAccount, AccountTypeClass, AccountCreatedUpdated,AccountAuditMaster } from './AccountMaster'\nimport { Observable } from 'rxjs';\nimport { Constants } from 'src/app/Common/constant';\nimport { TokenService } from 'src/app/MasterService/token.service';\nimport{EncryptdecryptService} from 'src/app/MasterService/encryptdecrypt.service';\nimport {payment} from 'src/app/Payments/payments.component'\n\n@Injectable({\n providedIn: 'root'\n})\nexport class PaymentsService {\n readonly rootURL = Constants.apiURL + 'PaymentsApi/';\n constructor(private http: HttpClient, public _token: TokenService,private _encryption:EncryptdecryptService) { }\n\n getAccounts(): Observable {\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.post(this.rootURL + 'GetAcccounts',null, httpOptions);\n }\n addAccounts(payment:payment): Observable{\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.post(this.rootURL + 'GetPayments',payment, httpOptions);\n }\n Execute(payments:payment[]): Observable{\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.post(this.rootURL + 'Execute',payments, httpOptions);\n }\n fnUploadFile(formData: FormData): Observable{ \n return this.http.post(this.rootURL + 'PostFile' , formData);\n }\n GetAndInsertImportFileData(fileName,userId):Observable{\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n }; \n fileName=this._encryption.encryptUsingAES256(fileName);\n return this.http.get(this.rootURL + 'GetAndInsertImportFileData?userId='+userId +'&fileName='+fileName,httpOptions);\n }\n}\n","import { Injectable } from '@angular/core';\nimport{RoleAccess}from'./RoleAccess';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { Constants } from 'src/app/Common/constant';\nimport { TokenService } from 'src/app/MasterService/token.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class RoleAccessService {\n\n formData: RoleAccess;\n\n readonly rootURL = Constants.apiURL + 'RoleMasterApi/';\n constructor(private http: HttpClient, public _token: TokenService) { }\n\n fnGetRoleAccess(userId: string, pageName: string): Observable{\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetRolePrivillages?userId=' + userId + '&pageName=' + pageName, httpOptions);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { RoleMaster,RoleCreatedUpdated } from './role-master'\nimport { module } from './module'\nimport { Observable } from 'rxjs';\nimport { Constants } from '../Common/constant';\nimport { TokenService } from 'src/app/MasterService/token.service';\nimport { EncryptdecryptService } from './encryptdecrypt.service';\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class RoleService {\n\n postData: {};\n\n formData: RoleMaster;\n \n readonly rootURL = Constants.apiURL + 'RoleMasterApi/';\n\n constructor(private http: HttpClient, public _token: TokenService, public _encreptdecrept:EncryptdecryptService) { }\n\n fnGetAllRoleMaster(roleId: string = '0'): Observable{\n this._token.fnrenewToken();\n roleId = this._encreptdecrept.encryptUsingAES256(roleId);\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetRoles?roleId=' + roleId, httpOptions);\n }\n\n fnDeleteRoleDetailsById(roleID: string): Observable{\n this._token.fnrenewToken();\n roleID = this._encreptdecrept.encryptUsingAES256(roleID);\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n let httpHeaders = new HttpHeaders().set('Content-Type','application/json');\n\n return this.http.get(this.rootURL + 'DeleteRoleById?RoleId=' + roleID, httpOptions);\n }\n\n fnGetModule(Id: string = '0'): Observable{\n this._token.fnrenewToken();\n Id = this._encreptdecrept.encryptUsingAES256(Id);\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetModules?RoleId=' + Id, httpOptions);\n }\n \n GetRolesWithStatus( LoginUserId:string=\"0\",PageNo:string=\"\", PageSize:string=\"\",RoleName:string=\"\",\n Status:string=\"\", CreatedBy:string=\"\", CreatedDate :string=\"\",\n SortOrder:string=\"\", ): Observable{\n\n //encrypted paremeter\n PageNo = this._encreptdecrept.encryptUsingAES256(PageNo); \n PageSize = this._encreptdecrept.encryptUsingAES256(PageSize); \n RoleName = this._encreptdecrept.encryptUsingAES256(RoleName); \n Status = this._encreptdecrept.encryptUsingAES256(Status); \n CreatedBy = this._encreptdecrept.encryptUsingAES256(CreatedBy); \n SortOrder = this._encreptdecrept.encryptUsingAES256(SortOrder); \n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetRolesWithStatus?loginUserId='+LoginUserId+\n '&PageNo='+ PageNo+ '&PageSize=' +PageSize+ '&RoleName=' +RoleName+ '&Status='+Status+\n '&CreatedBy='+CreatedBy+ '&CreatedDate='+CreatedDate+ '&SortOrder='+SortOrder,httpOptions)\n // return this.http.get(this.rootURL + 'GetRolesWithStatus?loginUserId='+LoginUserId\n // + '&PageNo=' + PageNo + '&PageSize=' + PageSize + '&RoleName=' + RoleName\n // + '&Status=' + Status + '&CreatedBy=' + CreatedBy + '&CreatedDate=' + CreatedDate +\n // + '&SortOrder=' + SortOrder, httpOptions);\n }\n\n // fnSaveRole(postData) {\n // return this.http.post(this.rootURL + 'CreateRole', postData)\n // }\n\n fnInsertUpdateRole(postData){\n this._token.fnrenewToken();\n\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n }; \n\n return this.http.post(this.rootURL + 'CreateRole', postData, httpOptions)\n }\n\n fnIsRoleInUsed(RoleId: string) {\n this._token.fnrenewToken();\n RoleId = this._encreptdecrept.encryptUsingAES256(RoleId);\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'IsRoleInUsed?RoleId=' + RoleId, httpOptions);\n }\n\n fnGetCreatedNUpdatedRoleMaster(RoleId: string): Observable{\n this._token.fnrenewToken();\n RoleId = this._encreptdecrept.encryptUsingAES256(RoleId);\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetCreatedNUpatedDateOfRoleMaster?RoleId=' + RoleId, httpOptions);\n }\n\n\n fnRoleInUsed(RoleId: string): Observable {\n this._token.fnrenewToken();\n RoleId = this._encreptdecrept.encryptUsingAES256(RoleId);\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'IsRoleInUsed?RoleId=' + RoleId, httpOptions);\n }\n\n fnRoleNameduplicate(roleName: string, rolId: string): Observable {\n this._token.fnrenewToken();\n roleName = this._encreptdecrept.encryptUsingAES256(roleName);\n rolId = this._encreptdecrept.encryptUsingAES256(rolId);\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'fnIsRoleNameDuplicate?RoleName=' + roleName + \"&RoleId=\" + rolId, httpOptions);\n }\n \n}\n","import { Injectable } from '@angular/core';\nimport { SchemeAccountLink, schemeAccoutnLinkClass , SchemeAcCreatedUpdated ,StructorType} from '../MasterService/scheme-account-link';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { Constants } from 'src/app/Common/constant';\nimport { TokenService } from 'src/app/MasterService/token.service';\nimport { EncryptdecryptService } from 'src/app/MasterService/encryptdecrypt.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SchemeAccountLinkService {\n\n formData: SchemeAccountLink;\n EditedformData: SchemeAccountLink;\n\n readonly rootURL = Constants.apiURL + 'SchemeMasterApi/';\n\n constructor(private http: HttpClient, public _token: TokenService, public _encrypt:EncryptdecryptService) { }\n\n fnGetSchemeAccountLinkMaster(scAclinkId): Observable{\n scAclinkId = this._encrypt.encryptUsingAES256(scAclinkId);\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetSchemeAcccountMasterLink?scAcLinkId=' + scAclinkId, httpOptions);\n }\n\n fnGetCreatedUpdateSchemeAccount(scAccountId: number): Observable{\n var scAccountid = this._encrypt.encryptUsingAES256(scAccountId);\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetCreatedNUpatedDateOfSchemeAccountLink?ScAccountID=' + scAccountid, httpOptions);\n }\n\n fnGetStructorType(): Observable{\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetStructorType', httpOptions);\n }\n\n fnGetSchemeAccountLinkMasterMaxPriority(customerId: number) {\n var custid = this._encrypt.encryptUsingAES256(customerId);\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetMaxSchemeAccountLinkPrirority?customerId=' + custid, httpOptions);\n }\n\n fnResetTree(scAclinkId): Observable {\n scAclinkId = this._encrypt.encryptUsingAES256(scAclinkId);\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'ResetTree?scAccLinkId=' + scAclinkId, httpOptions);\n }\n\n fnResetTreelable(scAclinkId): Observable {\n scAclinkId = this._encrypt.encryptUsingAES256(scAclinkId);\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'ResetTreeLable?scAcLinkId=' + scAclinkId, httpOptions);\n}\n\n fnSweepBalance(sclinkId:string,LoginUserId:string,SchemeId:string): Observable {\n sclinkId = this._encrypt.encryptUsingAES256(sclinkId);\n SchemeId = this._encrypt.encryptUsingAES256(SchemeId);\n\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'SweepOnSchemeAccounts?ScAclinkId=' + sclinkId + '&UserId=' + LoginUserId + '&SchemeId=' + SchemeId, httpOptions);\n}\n\nfngetschemeaccountmasterlinkEdited(scAclinkId): Observable{\n scAclinkId = this._encrypt.encryptUsingAES256(scAclinkId);\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'getschemeaccountmasterlinkEdited?scAcLinkId=' + scAclinkId, httpOptions);\n}\n\nfnClearTree(Data:SchemeAccountLink): Observable {\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.post(this.rootURL + 'ClearTree', Data, httpOptions);\n}\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { SchemeMaster, SchemeCreatedUpdated } from './SchemeMaster'\nimport { Observable } from 'rxjs';\nimport { Constants } from 'src/app/Common/constant';\nimport { TokenService } from 'src/app/MasterService/token.service';\nimport { EncryptdecryptService } from 'src/app/MasterService/encryptdecrypt.service';\nimport { AccountTypeClass} from './AccountMaster'\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SchemeMasterService {\n\n readonly rootURL = Constants.apiURL + 'SchemeMasterApi/';\n\n formData: SchemeMaster;\n DecryptSchemeName: string;\n DecryptSchemeId: string;\n\n constructor(private http: HttpClient, public _token: TokenService , public _encrypt:EncryptdecryptService) { }\n\n\n fnGetSchemMasterList(UserId: string): Observable{\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetSchemMasterList?UserId=' + UserId, httpOptions);\n }\n\n fnAddEditScheme(formData: SchemeMaster): Observable {\n debugger\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.post(this.rootURL + 'AddEditScheme', formData, httpOptions);\n }\n \n fnDeleteSchemeById(id: string,userid : string) {\n\n id = this._encrypt.encryptUsingAES256(id);\n \n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'DeleteSchemeById?id=' + id + '&userid=' + userid, httpOptions);\n }\n\n fnBulkDeleteSchemeById(id: string) {\n id = this._encrypt.encryptUsingAES256(id);\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'BulkDeleteSchemeById?id=' + id, httpOptions);\n}\n\n fnGetSchemeBySchemeId(schedmeid: string): Observable{\n schedmeid = this._encrypt.encryptUsingAES256(schedmeid);\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetSchemMasterListById?id=' + schedmeid, httpOptions);\n }\n\n fnGetEditedSchemeBySchemeId(schedmeid: string): Observable{\n schedmeid = this._encrypt.encryptUsingAES256(schedmeid); \n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetEditedSchemMasterListById?SchemeId=' + schedmeid, httpOptions);\n }\n\n fnGetCreatedNUpdatedUserMaster(SchemeID: string): Observable{\n debugger\n SchemeID = this._encrypt.encryptUsingAES256(SchemeID);\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetCreatedNUpatedDateOfSchemeMaster?SchemeID=' + SchemeID, httpOptions);\n }\n\n fnBulkAuthorize(UserID:string,SchemeID:string,ReviewStatus:string,Status:string):Observable{\n SchemeID = this._encrypt.encryptUsingAES256(SchemeID);\n ReviewStatus = this._encrypt.encryptUsingAES256(ReviewStatus);\n Status = this._encrypt.encryptUsingAES256(Status);\n \n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n }; \n return this.http.get(this.rootURL + 'SchemeBulkAuthorize?UserId='+UserID+'&SchemeId='+SchemeID+'&ReviewStatus='+ReviewStatus+'&Status='+Status,httpOptions)\n}\n\nfnBulkSchemeAuthorize(listAccount,UserID:string,AuthorizeStatus):Observable{\n this._token.fnrenewToken();\n \n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n }; \n return this.http.post(this.rootURL + 'BulkSchemeAuthorize?&UserID='+UserID +'&AuthorizeStatus='+AuthorizeStatus,listAccount,httpOptions)\n}\n\nfnSchemeNameduplicate(SchemeName: string, SchemeId: string='0'): Observable {\n this._token.fnrenewToken();\n debugger;\n this.DecryptSchemeName=this._encrypt.encryptUsingAES256(SchemeName);\n this.DecryptSchemeId=this._encrypt.encryptUsingAES256(SchemeId);\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'fnDuplicateSchemeName?SchemeName=' + this.DecryptSchemeName + '&SchemeId=' + this.DecryptSchemeId, httpOptions);\n}\nfnGetSchemeListforDropDown(SchemeId: string): Observable{\n this._token.fnrenewToken();\n SchemeId = this._encrypt.encryptUsingAES256(SchemeId);\n \n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetSchemeListForDropdown?SchemeId=' + SchemeId, httpOptions);\n }\n\n fnGetAccountListForSchemeParentAccount(_userId: string, CustomerId:string=\"\"): Observable {\n CustomerId = this._encrypt.encryptUsingAES256(CustomerId);\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetAcccountListForSchemeParentAccount?UserId=' + _userId + \"&CustomerId=\" + CustomerId, httpOptions);\n}\n}\n","import { Injectable } from '@angular/core';\nimport { Constants } from '../Common/constant';\nimport { SweepChargesModel } from './SweepChargesModel';\nimport { Observable } from 'rxjs';\nimport { Customer } from './customer';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { TokenService } from 'src/app/MasterService/token.service';\nimport { EncryptdecryptService } from './encryptdecrypt.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SweepChargesModelService {\n formData: SweepChargesModel;\n \n constructor(private http: HttpClient, public _token: TokenService, public _encreptdecrept:EncryptdecryptService) { }\n readonly rootURL = Constants.apiURL + 'SweepChargesApi/';\n\n fnGetAllSweepChargesList(UserID,customerName,fromDate,toDate,chargeStatus,waiveOffStatus,pageSize,pageNumber,sortOrder): Observable {\n this._token.fnrenewToken();\n var custName=this._encreptdecrept.encryptUsingAES256(customerName);\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetSweepChargesList?UserId=' + UserID +'&cutomerName='+custName+\n '&fromDate='+fromDate+'&toDate='+toDate +'&chargeStatus='+chargeStatus +'&waiveOffStatus='+waiveOffStatus\n +'&pageSize='+pageSize+'&pageNumber='+pageNumber +'&sortOrder='+sortOrder, httpOptions);\n }\n\n fnPerSweepCharges(userId: string, customerId: number, fromDate: Date, toDate: Date): Observable {\n this._token.fnrenewToken();\n var encryptedcustomerId = this._encreptdecrept.encryptUsingAES256(customerId ?? '0').toString();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'PerSweepCharges?userId=' + userId + '&customerId=' + encryptedcustomerId + '&fromDate=' + fromDate + '&toDate=' + toDate, httpOptions);\n }\n\n fnGetAllDailyAndFlatDailySweepChargesList(UserID,customerName,fromDate,toDate,chargeStatus,waiveOffStatus,pageSize,pageNumber,sortOrder): Observable {\n this._token.fnrenewToken();\n var customerId=this._encreptdecrept.encryptUsingAES256(customerName);\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetDailyAndFlatDailySweepChargesList?UserId=' + UserID +'&customerName='+customerId\n +'&fromDate='+fromDate +'&toDate='+toDate+'&chargeStatus='+chargeStatus+'&waiveOffStatus='+waiveOffStatus+'&pageSize='+pageSize+'&pageNumber='+pageNumber\n +'&sortOrder='+sortOrder, httpOptions);\n }\n\n fnDailyAndFlatDailySweepCharges(userId: string, customerId: number, fromDate: Date, toDate: Date): Observable {\n this._token.fnrenewToken();\n var encryptedcustomerId = this._encreptdecrept.encryptUsingAES256(customerId ?? '0').toString();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'DailyAndFlatDailySweepCharges?userId=' + userId + '&customerId=' + encryptedcustomerId + '&fromDate=' + fromDate + '&toDate=' + toDate, httpOptions);\n }\n\n fnGetAllMonthlyAndFlatMonthlySweepChargesList(UserID,customerName,fromDate,month,year,chargeStatus,waiveOffStatus,pageSize,pagenumber,sortOrder): Observable {\n this._token.fnrenewToken();\n var customerId=this._encreptdecrept.encryptUsingAES256(customerName);\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetMonthlyAndFlatMonthlySweepChargesList?UserId=' + UserID + '&customerId='+customerId +'&fromDate='+fromDate\n +'&month='+month +'&year='+year +'&chargeStatus='+chargeStatus + '&waiveOffStatus='+waiveOffStatus + '&pageSize='+pageSize +'&pagenumber='+pagenumber\n +'&sortOrder='+sortOrder, httpOptions);\n}\n\n fnMonthlyAndFlatMonthlySweepCharges(userId: string, customerId: number, fromDate: Date, toDate: Date): Observable {\n this._token.fnrenewToken();\n var encryptedcustomerId = this._encreptdecrept.encryptUsingAES256(customerId ?? '0').toString();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'MonthlyAndFlatMonthlySweepCharges?userId=' + userId + '&customerId=' + encryptedcustomerId + '&fromDate=' + fromDate + '&toDate=' + toDate, httpOptions);\n }\n\n fnGetSweepTransGraphData(customerId: number, type: number): Observable {\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetSweepTransGraphData?customerId=' + customerId + '&type=' + type, httpOptions);\n }\n\n fnGetCustomerListForSweepCharges(UserID): Observable {\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetCustomerListForSweepCharges?UserId=' + UserID, httpOptions);\n }\n\n fndownloadTTUM(UserId): Observable {\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'FnTTUMSweepChargesFile?UserId=' + UserId , httpOptions);\n }\n\n fnUpdateWaiveOffStatusAndBalance(checkedWaiveOffList,waiveOffStatus,comment,sweepChargeType):Observable{\n this._token.fnrenewToken();\n var userid=(localStorage.getItem('LoginUserId'));\n\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n }; \n comment=this._encreptdecrept.encryptUsingAES256(comment);\n return this.http.post(this.rootURL + 'UpdateWaiveOffStatus?waiveOffStatus='+waiveOffStatus +'&comment='+comment +'&userID='+ userid +'&sweepChargeType='+sweepChargeType,checkedWaiveOffList,httpOptions)\n}\nfnPerSweepChargesApply(userId: string, customerId: number,status:number=0,checkedList):Observable{\n this._token.fnrenewToken();\n var userId=(localStorage.getItem('LoginUserId'));\n var encryptedcustomerId = this._encreptdecrept.encryptUsingAES256(customerId ?? '0').toString();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n }; \n return this.http.post(this.rootURL + 'PerSweepChargesApply?userId=' + userId + '&customerId=' + encryptedcustomerId + '&status='+status,checkedList,httpOptions)\n}\n\nfnDailyAndFlatChargesApply(userId: string, customerId: number, fromDate: Date, toDate: Date,status:number=0,checkedList,pageNo,pageSize,SortOrder):Observable{\n this._token.fnrenewToken();\n var userId=(localStorage.getItem('LoginUserId'));\n var encryptedcustomerId = this._encreptdecrept.encryptUsingAES256(customerId ?? '0').toString();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n }; \n return this.http.post(this.rootURL + 'DailyAndFlatChargesApply?userId=' + userId + '&customerId=' + encryptedcustomerId + \n '&fromDate=' + fromDate + '&toDate=' + toDate +'&status='+status +'&pageNo='+pageNo+'&pageSize='+pageSize+'&SortOrder='+SortOrder,checkedList,httpOptions)\n}\n\nfnMonthlyAndFlatChargesApply(userId: string, customerId: number,status:number=0,checkedList):Observable{\n this._token.fnrenewToken();\n var userId=(localStorage.getItem('LoginUserId'));\n var encryptedcustomerId = this._encreptdecrept.encryptUsingAES256(customerId ?? '0').toString();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n }; \n return this.http.post(this.rootURL + 'MonthlyAndFlatChargesApply?userId=' + userId + '&customerId=' + encryptedcustomerId + '&status='+status,checkedList,httpOptions)\n}\n\nfnGetAllSweepChargesListExport(UserID): Observable {\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetSweepChargesListForExport?UserId=' + UserID , httpOptions);\n}\n\nfnGetAllDailyAndFlatDailySweepChargesListExport(userID): Observable {\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetDailyAndFlatDailySweepChargesListExport?UserId=' + userID, httpOptions);\n}\n\nfnGetAllMonthlyAndFlatMonthlySweepChargesListExport(UserID): Observable {\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetMonthlyAndFlatMonthlySweepChargesListExport?UserId=' + UserID, httpOptions);\n}\n\n}\n","export class SweepCharges {\n SweepChargeId:number;\n SweepChargeType:string;\n CustomerId:number;\n CustomerName:string;\n ChargesMethod:string;\n Rate:string;\n UserId:string;\n FrequencyId:number;\n Frequency:string;\n TypeId:number;\n TypeName:string;\n Message:string;\n RangeType:string;\n Status:string;\n ReviewStatus:number;\n CreatedBy:number;\n OldChargesMethodName:string;\n OldRate:string;\n OldFrequency:string;\n OldChargeType:string;\n OldRangeType:string;\n IsApproved:boolean;\n WithEffectDate:string;\n}\n\nexport class FlatSweepCharges {\n FromRange:string;\n ToRange:string;\n Total:string;\n}\n\nexport class SweepChargesClass\n{\n SweepCharges:SweepCharges;\n flatChargeObj:FlatSweepCharges;\n sweepChargeLsts:FlatSweepCharges[];\n OldsweepChargeLsts:FlatSweepCharges[];\n}\n\nexport class FrequencyTypecls\n{\n frequencylst:SweepCharges[];\n typelst:SweepCharges[];\n}\n\nexport class EditedSweepChargesClass\n{\n EditedSweepCharges:EditedSweepCharges;\n EditedflatChargeObj:FlatSweepCharges;\n EditedsweepChargeLsts:FlatSweepCharges[];\n}\n\nexport class EditedSweepCharges {\n SweepChargeId:number;\n SweepChargeType:string;\n CustomerId:number;\n CustomerName:string;\n ChargesMethod:string;\n Rate:string;\n UserId:string;\n FrequencyId:number;\n Frequency:string;\n TypeId:number;\n TypeName:string;\n Message:string;\n RangeType:string;\n Status:string;\n ReviewStatus:number;\n OldChargesMethodName:string;\n OldRate:string;\n OldFrequency:string;\n OldChargeType:string;\n OldRangeType:string;\n}\n\nexport class SweepCreatedUpdated{\n CreatedBy:number;\n UpdatedBy:number;\n CreatedDate:string;\n UpdatedDate:string;\n UserName:string\n}","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\nimport { Observable, throwError } from 'rxjs';\nimport { Constants } from '../Common/constant';\nimport { catchError } from 'rxjs/operators';\nimport { map } from 'rxjs/operators/map';\nimport { error } from '@angular/compiler/src/util';\ndeclare const RenewToken: any;\n\n@Injectable({\n providedIn: 'root'\n})\nexport class TokenService {\n\n constructor(private http: HttpClient) { }\n readonly tokenURL = Constants.tokenURL;\n readonly tokenExpiryTime=Constants.tokenExpiryTime;\n token: string;\n\n async GetToken(username: string, password: string, usertype: string) {\n const params = new HttpParams({\n fromObject: {\n grant_type: 'password',\n username: username,\n password: password,\n usertype: usertype\n }\n });\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/x-www-form-urlencoded'\n })\n };\n return await this.http.post(this.tokenURL + '/token', params, httpOptions).pipe(\n map(res => res),\n catchError(this.handleError)\n ).toPromise();\n //return this.http.post('https://192.168.0.104:786/token',params,httpOptions);\n }\n handleError(error) {\n return throwError(error.error.error_description);\n }\n getTokenExpiryTime: string;\n currentTime: Date;\n timediff: number;\n currSec: number;\n exSec: number;\n date: Date;\n renewTokenTime: Date;\n\n fnUpdateTokenInDb(userName:string,token:string):Observable{ \n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': 'bearer' +' '+ localStorage.getItem('TID')\n })\n }; \n return this.http.get(Constants.apiURL + '/UserMasterApi/UpdateTokenInDb?userName='+userName +'&token='+ token,httpOptions)\n }\n \ntokenExipryTimeForCalculatin:number;\n fnrenewToken() {\n this.token = 'bearer' + ' ' + localStorage.getItem('TID');\n this.getTokenExpiryTime = sessionStorage.getItem('TExp'); \n this.tokenExipryTimeForCalculatin=+this.tokenExpiryTime;// +localStorage.getItem('tokenExpiryTimeForCalutation');\n this.date = new Date(this.getTokenExpiryTime);\n this.currentTime = new Date(); \n var currentTime = this.currentTime; \n var tokenGeneratedTime = this.date ; \n var dif = currentTime.getTime() - tokenGeneratedTime.getTime();\n\n var Seconds_from_T1_to_T2 = dif / 1000;\n var Seconds_Between_Dates = Math.abs(Seconds_from_T1_to_T2); \n var expiryTimeToken=+localStorage.getItem('tokenExpiryTimeForCalutation');\n \n var differenceSeconds=expiryTimeToken-1;\n if(differenceSeconds ==-1)\n differenceSeconds=5\n \n if(Seconds_Between_Dates > differenceSeconds){\n \n RenewToken(localStorage.getItem('UID'), localStorage.getItem('PID'), localStorage.getItem('UType')); \n this.token = 'bearer' + ' ' + localStorage.getItem('TID');\n this.fnUpdateTokenInDb(localStorage.getItem('UID'), localStorage.getItem('TID')).subscribe(data=>{\n \n }); \n } \n }\n\n async fnrenewTokenTest() {\n try {\n let data = await this.GetToken(localStorage.getItem('UID'), localStorage.getItem('PID'), localStorage.getItem('UType'));\n if (data != null) {\n localStorage.setItem('TID', data.access_token);\n this.renewTokenTime = new Date();\n sessionStorage.setItem('TExp', this.renewTokenTime.toString());\n this.token = 'bearer' + ' ' + localStorage.getItem('TID');\n //console.log(this.token);\n this.fnUpdateTokenInDb(localStorage.getItem('UID'), data.access_token).subscribe(data=>{\n \n });\n }\n } catch (error) {\n \n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { UserCustomer } from './user-customer'\nimport { module } from './module'\nimport { Observable } from 'rxjs';\nimport { Constants } from '../Common/constant';\nimport { TokenService } from 'src/app/MasterService/token.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class UserCustomerService {\n\n postData: {};\n\n formData: UserCustomer;\n\n readonly rootURL = Constants.apiURL + 'UserMasterApi/';\n\n constructor(private http: HttpClient, public _token: TokenService) { }\n\n fnGetCustomerListForUser(userid: string): Observable{\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetCustomerListForUser?UserId=' + userid, httpOptions);\n }\n\n fnAddUserCustomer(postData){\n \n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.post(this.rootURL + 'AddUpadateUserCustomer' , postData , httpOptions)\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { UserMaster, UserCreatedUpdated } from './user-master'\nimport { Observable } from 'rxjs';\nimport { Constants } from 'src/app/Common/constant';\nimport { TokenService } from 'src/app/MasterService/token.service';\nimport { Customer } from './customer'\nimport * as CryptoJS from 'crypto-js';\nimport { stream } from 'xlsx/types';\nimport { Login } from './Login';\nimport { EncryptdecryptService } from './encryptdecrypt.service';\n@Injectable({\n providedIn: 'root'\n})\nexport class UserService {\n\n readonly rootURL = Constants.apiURL + 'UserMasterApi/';\n\n formData: UserMaster;\n _userId: string;\n\n constructor(private http: HttpClient, public _token: TokenService,public _encreptdecrept:EncryptdecryptService) { }\n\n // Declare this key and iv values in declaration\n private key = CryptoJS.enc.Utf8.parse('MAKV2SPBNI992121');\n private iv = CryptoJS.enc.Utf8.parse('MAKV2SPBNI992121');\n \n // Methods for the encrypt and decrypt Using AES\n encryptUsingAES256(password:string) {\n var encrypted = CryptoJS.AES.encrypt(CryptoJS.enc.Utf8.parse(JSON.stringify(password)), this.key, {\n keySize: 128 / 8,\n iv: this.iv,\n mode: CryptoJS.mode.CBC,\n padding: CryptoJS.pad.Pkcs7\n });\n return encrypted.toString();\n }\n encryptUserId:string;\n \n\n fnGetUserData(_userId: string, LoginUserId:string=\"0\", PageNo:string=\"\", PageSize:string=\"\",\n UserName:string=\"\" , Email:string=\"\", Mobile:string=\"\", UserType :string=\"\",\n CreatedBy:string=\"\", CreatedDate:string=\"\", RequestType :string=\"\", Status:string=\"\", \n SortOrder:string=\"\", flag: string = \"\"): Observable {\n \n //#region (this.rootURL + 'GetUserData?id=' + _userId\n + '&LoginUserId=' + LoginUserId + '&PageNo=' + PageNo + '&PageSize=' + PageSize + '&UserName=' + UserName\n + '&Email=' + Email + '&Mobile=' + Mobile + '&UserType=' + UserType + '&CreatedBy=' + CreatedBy\n + '&CreatedDate=' + CreatedDate + '&RequestType=' + RequestType + '&Status=' + Status \n + '&SortOrder=' + SortOrder+ '&flag=' + flag , httpOptions);\n }\n\n fnGetEditedUserData(_userId: string, flag: string = ''): Observable {\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n flag=this.encryptUsingAES256(flag);\n return this.http.get(this.rootURL + 'GetEditedUserData?id=' + _userId + '&flag=' + flag, httpOptions);\n }\n\n fnGetCreatedNUpdatedUserMaster(userId: string): Observable {\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetCreatedNUpdatedUserMaster?userId=' + userId, httpOptions);\n }\n\n fnGetRoleByUserId(UserId: string) {\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetRoleByuserId?UserId=' + UserId, httpOptions);\n }\n\n fnGetOldRoleByUserId(UserId: string) {\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetOldRoleByuserId?UserId=' + UserId, httpOptions);\n }\n\n fnGetUserTypeData(_userType: string): Observable {\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetBankUserandCorporateUser?UserType=' + _userType, httpOptions);\n }\n\n fnDeleteUserMasterDetails(id: string, loggedinUserId: string) {\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'DeleteUserMasterById?id=' + id + '&loggedinUserId=' + loggedinUserId, httpOptions);\n }\n\n fnUserRegisteration(userSignUp: UserMaster): Observable {\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n\n return this.http.post(this.rootURL + 'UserRegisteration', userSignUp, httpOptions)\n }\n\n fnSaveUserMasterDetails(postData) {\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n\n return this.http.post(this.rootURL + 'SaveUserMasterDetails', postData, httpOptions)\n }\n\n fnUploadUser(uploadUser, headerColumns: string, UserID: string): Observable {\n headerColumns=this.encryptUsingAES256(headerColumns);\n \n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n\n return this.http.post(this.rootURL + 'UploadUser?headerColumns=' + headerColumns + \"&UserId=\" + UserID, uploadUser, httpOptions);\n }\n\n GetDecryptPassword(password: string) {\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetDecryptPassword?password=' + password, httpOptions);\n }\n\n fnEmailExists(iUserId: string, vEmail: string, vMobile: string): Observable {\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n }; \n if(iUserId==null){\n iUserId=this.encryptUsingAES256('0');\n }\n vEmail=this.encryptUsingAES256(vEmail);\n vMobile=this.encryptUsingAES256(vMobile);\n return this.http.get(this.rootURL + 'UDPISMOBILEEXISTS?UserId=' + iUserId + \"&Email=\" + vEmail + \"&Mobile=\" + vMobile, httpOptions);\n }\n\n fnIsMobileExistsEditMode(iUserId: number, vMobile: string): Observable {\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'fnIsMobileExistsEditMode?UserId=' + iUserId + \"&Mobile=\" + vMobile, httpOptions);\n }\n fnBulkAuthorize(UserID:string,UserMasterid:string,ReviewStatus:string,Status:string):Observable{\n this._token.fnrenewToken();\n \n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n }; \n // UserMasterid=this.encryptUsingAES256(UserMasterid);\n ReviewStatus=this.encryptUsingAES256(ReviewStatus);\n Status=this.encryptUsingAES256(Status);\n return this.http.get(this.rootURL + 'UserMasterBulkAuthorize?UserId='+UserID+'&UserMasterId='+UserMasterid+'&ReviewStatus='+ReviewStatus+'&Status='+Status,httpOptions)\n }\n\n fnBulkUserAuthorize(listAccount,UserID:string,AuthorizeStatus):Observable{\n this._token.fnrenewToken();\n \n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n }; \n return this.http.post(this.rootURL + 'BulkUserAuthorize?UserID='+UserID +'&AuthorizeStatus='+AuthorizeStatus,listAccount,httpOptions)\n }\n\n fnGetCustomerListForDropdown(id:string='0',UserId:string):Observable{\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetCustomerListForDropdown?Id='+id+\"&UserId=\"+UserId,httpOptions);\n }\n \n fnUpdateTokenInDb(userName:string,token:string):Observable{ \n return this.http.get(Constants.apiURL + '/UnAuthorizedApi/UpdateTokenInDb?userName='+userName +'&token='+ token)\n } \n fnUploadFile(formData: FormData): Observable{ \n return this.http.post(this.rootURL + 'PostFile' , formData);\n }\n GetAndInsertImportFileData(fileName,userId):Observable{\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n }; \n fileName=this.encryptUsingAES256(fileName);\n return this.http.get(this.rootURL + 'GetAndInsertImportFileData?userId='+userId +'&fileName='+fileName,httpOptions);\n }\n GetfnUserPasswordExist(Password,UserId):Observable{\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n }; \n UserId=this.encryptUsingAES256(UserId);\n Password=this.encryptUsingAES256(Password);\n return this.http.get(this.rootURL + 'fnUserPasswordExist?Password='+Password +'&UserId='+UserId,httpOptions);\n }\n fnGetUserListForExport(UserId:string): Observable { \n this._token.fnrenewToken(); \n \n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetUserListForExport?UserId=' + UserId, httpOptions);\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport {Constants } from 'src/app/Common/constant';\nimport { UserAuditMaster } from '../MasterService/UserAudit';\nimport { TokenService } from 'src/app/MasterService/token.service';\nimport { EncryptdecryptService } from './encryptdecrypt.service';\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class UserauditreportService {\n formData: UserAuditMaster;\n constructor(private http: HttpClient, public _token: TokenService,public _encreptdecrept:EncryptdecryptService) { }\n readonly rootURL = Constants.apiURL + 'ReportsApi/';\n\n \n fnGetUserAuditHistory(UserId:string='0'):Observable{\n UserId = this._encreptdecrept.encryptUsingAES256(UserId);\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetUserAuditHistory?UserId='+UserId+'&loginUserId='+localStorage.getItem('LoginUserId'),httpOptions);\n }\n}\n","import { Directive, forwardRef } from '@angular/core';\nimport { Validator, AbstractControl, NG_ASYNC_VALIDATORS } from '@angular/forms';\nimport { CustomvalidationService } from '../MasterService/customvalidation.service';\nimport { Observable } from 'rxjs';\n\n@Directive({\n selector: '[appValidateUserName]',\n providers: [{ provide: NG_ASYNC_VALIDATORS, useExisting: forwardRef(() => ValidateUserNameDirective), multi: true }]\n\n})\nexport class ValidateUserNameDirective implements Validator {\n\n constructor(private customValidator: CustomvalidationService) { }\n\n validate(control: AbstractControl): Promise<{ [key: string]: any }> | Observable<{ [key: string]: any }> {\n return this.customValidator.userNameValidator(control);\n }\n}","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n}) \nexport class PaginationService { \n //Pagination Variables \n pageNumberPerPage = 0; \n pageNumberShow = 10; \n temppage: number = 0; \n disabledNextBtn: boolean; \n disabledPrevBtn: boolean = true; \n pageField = []; \n exactPageList: any; \n prevtrue: boolean; \n nexttrue: boolean; \n currentPage = 1; \n pageNumber: boolean[] = []; \n showNoOfCurrentPage: any = 1; \n showPageOnlyOntabsChange: boolean = true; \n lastPage: any = 0; \n comingFromPreAndNext:boolean=false;\n constructor() {} \n // On page load \n pageOnLoad() { \n \n if (this.temppage == 0) { \n this.pageField = []; \n for (var a = 0; a < this.pageNumberShow; a++) { \n this.pageField[a] = this.temppage + 1; \n this.temppage = this.temppage + 1; \n if (this.exactPageList == this.pageField[a]) { \n for (var b = 0; b < this.pageNumberShow - 7; b++) { \n if (a == b) { \n this.temppage = this.temppage - (b + 1); \n this.prevtrue = false; \n break; \n } \n } \n this.disabledNextBtn = true; \n break; \n } else { \n this.disabledNextBtn = false; \n } \n } \n } \n if(!this.comingFromPreAndNext){\n this.pageField = []; \n this.temppage=0;\n for (var a = 0; a < this.pageNumberShow; a++) { \n this.pageField[a] = this.temppage + 1; \n this.temppage = this.temppage + 1; \n if (this.exactPageList == this.pageField[a]) { \n for (var b = 0; b < this.pageNumberShow - 7; b++) { \n if (a == b) { \n this.temppage = this.temppage - (b + 1); \n this.prevtrue = false; \n break; \n } \n } \n this.disabledNextBtn = true; \n break; \n } else { \n this.disabledNextBtn = false; \n } \n } \n }\n } \n\n prevValue() { \n this.pageNumber[0] = true; \n this.nexttrue = true; \n this.comingFromPreAndNext=true;\n if (this.showNoOfCurrentPage != 1) { \n this.disabledNextBtn = false; \n this.showNoOfCurrentPage = this.showNoOfCurrentPage - 1; \n if (this.prevtrue) { \n if (this.lastPage == 0) { \n this.temppage = this.temppage - 10; \n this.prevtrue = false; \n } else { \n this.temppage = this.lastPage; \n this.nexttrue = false; \n this.prevtrue = false; \n this.lastPage = 0; \n } \n } \n for (var a = this.pageNumberShow - 1; a >= 0; a--) { \n this.pageField[a] = this.temppage; \n this.temppage = this.temppage - 1; \n } \n if (this.temppage == 0) { \n this.showPageOnlyOntabsChange = false; \n } \n this.currentPage = this.pageField[0]; \n } \n }\n \n nextValue() { \n if (this.disabledNextBtn == false) { \n this.disabledPrevBtn = false; \n this.pageField = []; \n this.comingFromPreAndNext=true;\n this.prevtrue = true; \n this.showNoOfCurrentPage = this.showNoOfCurrentPage + 1; \n this.pageNumber[0] = true; \n // if (this.nexttrue) { \n // this.temppage = this.temppage + 10; \n // this.nexttrue = false; \n // } \n for (var a = 0; a < this.pageNumberShow; a++) { \n this.pageField[a] = this.temppage + 1; \n this.temppage = this.temppage + 1; \n if (this.exactPageList == this.pageField[a]) { \n this.lastPage = this.pageField[a]; \n this.lastPage = this.lastPage - (a + 1); \n for (var b = 0; b < this.pageNumberShow - 7; b++) { \n if (a == b) { \n this.temppage = this.temppage - (b + 1); \n //this.prevtrue = false; \n break; \n } \n } \n this.disabledNextBtn = true; \n break; \n } else { \n this.disabledNextBtn = false; \n } \n } \n this.currentPage = this.pageField[0]; \n } \n } \n\n FirstValue(){\n this.pageField = [];\n this.pageNumber[0] = true; \n // this.nexttrue = true; \n this.disabledNextBtn = false; \n this.comingFromPreAndNext=true; \n // this.showNoOfCurrentPage = 1; \n for (var a = this.pageNumberShow - 1; a >= 0; a--) { \n this.pageField[a] = this.temppage; \n this.temppage = this.temppage - 1; \n } \n if (this.temppage == 0) { \n this.showPageOnlyOntabsChange = false; \n } \n this.currentPage = this.pageField[0]; \n }\n\n LastValue(){\n this.pageField = []; \n this.pageNumber[0] = true; \n this.disabledNextBtn = true;\n this.disabledPrevBtn = false;\n this.comingFromPreAndNext=true;\n for (var a = this.pageNumberShow - 1; a >= 0; a--) { \n this.pageField[a] = this.temppage; \n this.temppage = this.temppage - 1; \n } \n if (this.temppage == 0) { \n this.showPageOnlyOntabsChange = false; \n } \n this.currentPage = this.pageField[0]; \n}\n} ","import { Component, OnInit } from '@angular/core';\nimport { IAngularMyDpOptions } from 'angular-mydatepicker';\nimport { NgxSpinnerService } from 'ngx-spinner';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport * as CryptoJS from 'crypto-js';\nimport * as $ from 'jquery';\nimport { AccountMasterService } from 'src/app/MasterService/account-master.service';\nimport { EncryptdecryptService } from 'src/app/MasterService/encryptdecrypt.service';\ndeclare var sortTableAccountAuditReport: Function;\n@Component({\n selector: 'app-account-audit-report',\n templateUrl: './account-audit-report.component.html',\n styleUrls: ['./account-audit-report.component.css']\n})\nexport class AccountAuditReportComponent implements OnInit {\n today = new Date();\n DpOptions1: IAngularMyDpOptions = {\n dateRange: false,\n dateFormat: 'dd-mm-yyyy',\n disableSince: {year: this.today.getFullYear(), month: this.today.getMonth() + 1, day: this.today.getDate() + 1}\n\n };\n\n config:any;\n ddlshowvalue:number;\n filterCount:string;\n accountAudit:any = [];\n FilteredAccountAuditReports:any = [];\n searchCount:string;\n AuditAccId:any=0;\n lastSortedByField: any;\n ascendingOrder: boolean;\n futureDateError:boolean;\n inputDate:Date; \n disabledsearchbtn:boolean;\n BackBtnDisplay: boolean;\n showAccountNameFiled: boolean;\n AccountID: number;\n encryptAuditAccId: any;\n decryptAuditAccId: string;\n ddlshowStartValue: number;\n\n constructor( private _encryption:EncryptdecryptService,private route: ActivatedRoute,private _spinner:NgxSpinnerService, private router: Router, public _AccountAuditService: AccountMasterService) { \n // this.router.routeReuseStrategy.shouldReuseRoute = function() {\n // return false;\n // };\n }\n\n ngOnInit(): void {\n debugger\n // location.reload();\n this._spinner.show(); \n // Getting query string paremeters\n this.route.queryParams.subscribe(params => {\n this.encryptAuditAccId=params[\"AccountId\"];\n this.decryptAuditAccId=this._encryption.decryptUsingAES256(params[\"AccountId\"])\n this.AuditAccId = (this.decryptAuditAccId); \n });\n\n // To display header\n if(!$('.js-sticky-header').is(':visible')){\n $('.js-sticky-header').css('display','block');\n }\n // if(localStorage.getItem('AuditaccId') != null){\n // this.AuditAccId = +localStorage.getItem('AuditaccId'); \n // }\n this.config = {\n itemsPerPage: 10,\n currentPage: 1,\n };\n this.ddlshowvalue =10;\n this.filterCount = \"\";\n //set default value for Account Audit Report \n this.fnAccountAuditReport();\n // Getting account Audit History data from database\n this.fnGetAccountAuditHistory();\n // sorting table data\n sortTableAccountAuditReport(5,false);\n debugger\n if(this.AuditAccId == 0){\n this.BackBtnDisplay=false;\n this.showAccountNameFiled=true;\n }\n if( this.AuditAccId != 0){\n this.BackBtnDisplay=true;\n this.showAccountNameFiled=false;\n } \n localStorage.removeItem('AuditaccId');\n }\n\n //set default value for Account Audit Report \n fnAccountAuditReport(){\n this._AccountAuditService.AuditFormData={\n AccountName:'',\n fieldValue:'',\n oldValue:'',\n newValue:'',\n action:'',\n modifiedUser:'',\n createdDate:'',\n DateCreated:''\n }\n }\n\n // Getting account Audit History data from database\n fnGetAccountAuditHistory(){\n this._AccountAuditService.fnGetAccountAuditHistory(this.AuditAccId).subscribe(allaccount=>{ \n this.accountAudit = allaccount;\n this.FilteredAccountAuditReports = this.accountAudit;\n this.searchCount = this.FilteredAccountAuditReports.length;\n this.filterCount = \"\";\n this.OnSearch(\"\",\"\",\"\");\n },(err)=>{\n this.router.navigate([\"404\"]);\n });\n setTimeout(() => {\n this._spinner.hide(); \n }, 500);\n }\n\n //Filtering data from list\n OnSearch(AccountName,Action,CretedDate) {\n if ( !AccountName && !Action && (!CretedDate || CretedDate==null)) {\n this.FilteredAccountAuditReports = this.accountAudit;\n }\n else{\n this.FilteredAccountAuditReports = this.accountAudit.filter(row=>{\n return row.AccountName.toLocaleLowerCase().match(AccountName.toLocaleLowerCase());\n });\n this.FilteredAccountAuditReports = this.FilteredAccountAuditReports.filter(row=>{\n return row.action.toLocaleLowerCase().match(Action.toLocaleLowerCase());\n });\n if(CretedDate!=\"\" && CretedDate!=null ){\n this.FilteredAccountAuditReports = this.FilteredAccountAuditReports.filter(row=>{\n return row.createdDate.toLocaleLowerCase().match(CretedDate.singleDate.formatted.toLocaleLowerCase());\n });\n }\n \n this.FilteredAccountAuditReports;\n this.config = {\n itemsPerPage: 10,\n currentPage: 1,\n };\n }\n this.ddlshowvalue=this.FilteredAccountAuditReports.length;\n if (Action !=\"\" || CretedDate!=\"\" || AccountName!=\"\") {\n if (this.ddlshowvalue <= this.config.itemsPerPage) {\n // this.ddlshowvalue = 0;\n this.ddlshowvalue = this.ddlshowvalue;\n this.ddlshowStartValue = 1;\n }\n else {\n this.ddlshowvalue = 0;\n this.ddlshowvalue = this.config.itemsPerPage; \n this.ddlshowStartValue = 1;\n }\n // this.ddlshowStartValue = 1;\n // this.ddlshowvalue = 0;\n // this.ddlshowvalue = this.config.itemsPerPage; \n this.searchCount = \"\";\n this.searchCount = this.FilteredAccountAuditReports.length;\n this.filterCount = \"(filtered from \"+ this.accountAudit.length +\" total entries)\";\n }else{\n if (this.ddlshowvalue <= this.config.itemsPerPage) {\n // this.ddlshowvalue = 0;\n this.ddlshowvalue = this.ddlshowvalue;\n this.ddlshowStartValue = 1;\n this.searchCount = this.FilteredAccountAuditReports.length.toString();\n this.filterCount =\"\";\n }\n else {\n this.ddlshowvalue = 0;\n this.ddlshowvalue = this.config.itemsPerPage; \n this.ddlshowStartValue = 1;\n this.searchCount = this.FilteredAccountAuditReports.length.toString();\n this.filterCount =\"\";\n }\n \n // this.ddlshowStartValue = 1;\n // this.ddlshowvalue = 0;\n // this.ddlshowvalue = this.config.itemsPerPage; \n // this.searchCount = \"\";\n // this.searchCount = this.FilteredAccountAuditReports.length;\n // this.filterCount = \"\";\n }\n }\n\n BankButton() {\n localStorage.removeItem('AuditaccId');\n this.router.navigate(['/ManageAccount']);\n }\n\n // page changed event function\n pageChanged(event) {\n this.config.currentPage = event;\n this.ddlshowvalue = this.config.currentPage*this.config.itemsPerPage;\n this.ddlshowStartValue = this.ddlshowvalue - (this.config.itemsPerPage-1);\n if(this.FilteredAccountAuditReports.length<=this.ddlshowvalue)\n this.ddlshowvalue = this.FilteredAccountAuditReports.length;\n \n }\n\n // Sorting table data\n fnSortAccountAuditRpt(field,obj){\n if(this.lastSortedByField === field) {\n this.ascendingOrder = !this.ascendingOrder;\n sortTableAccountAuditReport(obj,this.ascendingOrder);\n }\n else {\n this.lastSortedByField = field;\n this.ascendingOrder = true;\n sortTableAccountAuditReport(obj,this.ascendingOrder);\n }\n\n if(this.ascendingOrder) {\n this.FilteredAccountAuditReports = this.FilteredAccountAuditReports.sort((a, b) => {\n if(field === 'createdDate'){\n if (a[\"DateCreated\"].toLowerCase() < b[\"DateCreated\"].toLowerCase())\n return -1;\n if (a[\"DateCreated\"].toLowerCase() > b[\"DateCreated\"].toLowerCase())\n return 1;\n }\n else{\n if (a[field].toLowerCase() < b[field].toLowerCase())\n return -1;\n if (a[field].toLowerCase() > b[field].toLowerCase())\n return 1;\n }\n return 0;\n });\n } else {\n this.FilteredAccountAuditReports = this.FilteredAccountAuditReports.sort((a, b) => {\n if(field === 'createdDate'){\n if (a[\"DateCreated\"].toLowerCase() < b[\"DateCreated\"].toLowerCase())\n return 1;\n if (a[\"DateCreated\"].toLowerCase() > b[\"DateCreated\"].toLowerCase())\n return -1;\n }\n else{\n if (a[field].toLowerCase() < b[field].toLowerCase())\n return 1;\n if (a[field].toLowerCase() > b[field].toLowerCase())\n return -1;\n }\n return 0;\n });\n }\n\n }\n fnShowonchange(newObj){\n this.ddlshowvalue = 0;\n this.ddlshowvalue = newObj.target.value;\n this.config = {\n itemsPerPage: this.ddlshowvalue,\n currentPage: 1,\n };\n }\n\n onKeyDown(event: KeyboardEvent) {\n debugger;\n let a= (event.charCode == 8 || event.charCode == 45 || event.charCode == 0 ) ? null : event.charCode >= 48 && event.charCode <= 57;\n return a;\n }\n\n checkDateValidity(date){ \n const mxDate = new Date();\n this.inputDate = date.singleDate.jsDate;\n\n if (this.inputDate > mxDate) {\n this.futureDateError = true;\n this.disabledsearchbtn = true;\n }\n else{\n this.futureDateError = false;\n this.disabledsearchbtn = false;\n }\n return this.futureDateError\n} \n\n}\n","
\n
\n
\n
\n
\n
\n \n
\n
\n\n
\n

Account Audit Report

\n
\n
\n
\n\n
\n
\n \n
\n
\n \n \n\n
\n Please Enter a valid Account Name\n
\n
\n \n
\n \n \n
\n\n
\n \n
\n \n\n
\n \n
\n
\n
\n Please Enter a valid Date Format\n
\n
\n Created Date should be less than or equal to current date\n
\n
\n
\n
\n
\n \n
\n
\n
\n \n
\n \n
\n
\n \n
\n\n
\n \n
\n\n
\n \n
\n
\n\n
\n \n
\n \n
\n \n
\n \n
\n \n
\n
\n \n \n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Account NameField NameOld ValueNew ValueCreated ByCreated / Updated Date & TimeAction
{{ _accAdut.AccountName }}{{ _accAdut.fieldValue }}{{_accAdut.oldValue}}{{_accAdut.newValue}}{{_accAdut.modifiedUser}}{{_accAdut.createdDate}}{{_accAdut.action}}
No records found.
\n
\n
\n \n
\n
\n \n
\n
\n \n
\n \n
\n
\n \n ","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { CustomerService } from 'src/app/MasterService/customer.service';\nimport { CustomerAuditMaster } from 'src/app/MasterService/customer';\nimport { NgxSpinnerService } from 'ngx-spinner';\nimport { IAngularMyDpOptions } from 'angular-mydatepicker';\nimport { EncryptdecryptService } from 'src/app/MasterService/encryptdecrypt.service';\ndeclare var sortTableCustomerAuditReport: Function;\n@Component({\n selector: 'app-customer-audit-report',\n templateUrl: './customer-audit-report.component.html',\n styleUrls: ['./customer-audit-report.component.css']\n})\nexport class CustomerAuditReportComponent implements OnInit {\n today = new Date();\n DpOptions1: IAngularMyDpOptions = {\n dateRange: false,\n dateFormat: 'dd-mm-yyyy',\n disableSince: {year: this.today.getFullYear(), month: this.today.getMonth() + 1, day: this.today.getDate() + 1}\n \n //disableSince: {year: this.today.getFullYear(), month: this.today.getMonth() + 1, day: this.today.getDate() + 1}\n };\n\n customerAuditReport: CustomerAuditMaster[];\n decryptAuditId: any;\n decryptAuditCustId: any;\n EditAuditCustId: number=0;\n ddlshowvalue: number;\n searchCount: any;\n FilteredCutomerAuditReports: any;\n filterCount: string;\n config: { itemsPerPage: number; currentPage: number; };\n lastSortedByField;\n ascendingOrder = true;\n futureDateError:boolean;\n inputDate:Date; \n disabledsearchbtn:boolean;\n BackBtnDisplay: boolean;\n showCustomerNameFiled: boolean;\n encryptAuditcustomerId: any;\n decryptAuditCustomerId: any;\n ddlshowStartValue: number;\n\n constructor(public _encrypt:EncryptdecryptService, private route: ActivatedRoute,private router: Router,public _customerService: CustomerService,private _spinner:NgxSpinnerService) { \n // this.router.routeReuseStrategy.shouldReuseRoute = function() {\n // return false;\n // };\n }\n \n ngOnInit(): void {\n debugger;\n // To display header\n if(!$('.js-sticky-header').is(':visible')){\n $('.js-sticky-header').css('display','block');\n }\n\n // Getting query string paremeters\n this.route.queryParams.subscribe(params => {\n this.encryptAuditcustomerId=params[\"CustomerId\"];\n this.decryptAuditCustomerId=this._encrypt.decryptUsingAES256(params[\"CustomerId\"])\n this.EditAuditCustId = (this.decryptAuditCustomerId); \n });\n // if(localStorage.getItem('AuditCustomerId') != null){\n // this.EditAuditCustId=+localStorage.getItem('AuditCustomerId'); \n // }else{ this.EditAuditCustId=0;}\n //set default value for cust Audit Report \n this.custAuditReport();\n this._spinner.show(); \n // Getting customer Audit History data from database\n this.GetAuditHistory();\n\n this.config = {\n itemsPerPage: 10,\n currentPage: 1,\n };\n this.ddlshowvalue =10; \n //Sorting table data\n sortTableCustomerAuditReport(5,false);\n localStorage.removeItem('AuditCustomerId');\n if(this.EditAuditCustId == 0){\n this.BackBtnDisplay=false;\n this.showCustomerNameFiled=true;\n \n }\n if(this.EditAuditCustId != 0){\n this.BackBtnDisplay=true;\n this.showCustomerNameFiled=false;\n \n } \n }\n\n BackButton(){\n localStorage.removeItem('AuditCustomerId');\n this.router.navigate(['/ManageCustomer']);\n }\n fnShowonchange(newObj){\n this.ddlshowvalue = 0;\n this.ddlshowvalue = newObj.target.value;\n this.config = {\n itemsPerPage: this.ddlshowvalue,\n currentPage: 1,\n };\n }\n\n //sorting table records in asc/desc \n fnSortCustomerAuditSummaryRpt(field,obj){\n\n debugger;\n if(this.lastSortedByField === field) {\n this.ascendingOrder = !this.ascendingOrder;\n sortTableCustomerAuditReport(obj,this.ascendingOrder);\n }\n else {\n this.lastSortedByField = field;\n this.ascendingOrder = true;\n\n sortTableCustomerAuditReport(obj,this.ascendingOrder);\n }\n\n if(this.ascendingOrder) {\n this.FilteredCutomerAuditReports = this.FilteredCutomerAuditReports.sort((a, b) => {\n if(field === 'createdDate'){\n if (a[\"DateCreated\"].toLowerCase() < b[\"DateCreated\"].toLowerCase())\n return -1;\n if (a[\"DateCreated\"].toLowerCase() > b[\"DateCreated\"].toLowerCase())\n return 1;\n }\n else{\n if (a[field].toLowerCase() < b[field].toLowerCase())\n return -1;\n if (a[field].toLowerCase() > b[field].toLowerCase())\n return 1;\n }\n return 0;\n });\n } else {\n this.FilteredCutomerAuditReports = this.FilteredCutomerAuditReports.sort((a, b) => {\n if(field === 'createdDate'){\n if (a[\"DateCreated\"].toLowerCase() < b[\"DateCreated\"].toLowerCase())\n return 1;\n if (a[\"DateCreated\"].toLowerCase() > b[\"DateCreated\"].toLowerCase())\n return -1;\n }\n else{\n if (a[field].toLowerCase() < b[field].toLowerCase())\n return 1;\n if (a[field].toLowerCase() > b[field].toLowerCase())\n return -1;\n }\n return 0;\n });\n }\n\n }\n // page changed event function\n pageChanged(event) {\n this.config.currentPage = event;\n this.ddlshowvalue = this.config.currentPage*this.config.itemsPerPage;\n this.ddlshowStartValue = this.ddlshowvalue - (this.config.itemsPerPage-1);\n if(this.FilteredCutomerAuditReports.length<=this.ddlshowvalue)\n this.ddlshowvalue = this.FilteredCutomerAuditReports.length;\n \n }\n\n // Getting customer audit history\n GetAuditHistory(){ debugger;\n this._customerService.fnGetUserAuditHistory(this.EditAuditCustId).subscribe(allUsers=>{\n debugger;\n this.customerAuditReport = allUsers; \n this.FilteredCutomerAuditReports = this.customerAuditReport;\n this.searchCount = this.FilteredCutomerAuditReports.length;\n this.filterCount =\"\";\n this.OnSearch(\"\",\"\",\"\");\n },(err)=>{\n this.router.navigate([\"404\"]);\n });\n setTimeout(() => {\n this._spinner.hide(); \n }, 500);\n } \n\n // Filtering data from list\n OnSearch(CustomerName,Action,CretedDate) {\n debugger;\n if (!CustomerName && !Action && (!CretedDate || CretedDate==null)) {\n this.FilteredCutomerAuditReports = this.customerAuditReport;\n }\n else{\n this.FilteredCutomerAuditReports = this.customerAuditReport.filter(row=>{\n return row.CustomerName.toLocaleLowerCase().match(CustomerName.toLocaleLowerCase());\n });\n this.FilteredCutomerAuditReports = this.FilteredCutomerAuditReports.filter(row=>{\n return row.action.toLocaleLowerCase().match(Action.toLocaleLowerCase());\n });\n if(CretedDate!=\"\" && CretedDate!=null ){\n this.FilteredCutomerAuditReports = this.FilteredCutomerAuditReports.filter(row=>{\n return row.createdDate.toLocaleLowerCase().match(CretedDate.singleDate.formatted.toLocaleLowerCase());\n });\n }\n \n this.FilteredCutomerAuditReports;\n this.config = {\n itemsPerPage: 10,\n currentPage: 1,\n };\n }\n this.ddlshowvalue=this.FilteredCutomerAuditReports.length;\n if (CustomerName !=\"\" || Action !=\"\" || CretedDate!=\"\") {\n debugger;\n if (this.ddlshowvalue <= this.config.itemsPerPage) {\n // this.ddlshowvalue = 0;\n this.ddlshowvalue = this.ddlshowvalue;\n this.ddlshowStartValue = 1;\n }\n else {\n this.ddlshowvalue = 0;\n this.ddlshowvalue = this.config.itemsPerPage; \n this.ddlshowStartValue = 1;\n }\n // this.ddlshowStartValue = 1;\n // this.ddlshowvalue = 0;\n // this.ddlshowvalue = this.config.itemsPerPage; \n this.searchCount = \"\";\n this.searchCount = this.FilteredCutomerAuditReports.length;\n this.filterCount = \"(filtered from \"+ this.customerAuditReport.length +\" total entries)\";\n }else{\n if (this.ddlshowvalue <= this.config.itemsPerPage) {\n // this.ddlshowvalue = 0;\n this.ddlshowvalue = this.ddlshowvalue;\n this.ddlshowStartValue = 1;\n this.searchCount = this.customerAuditReport.length.toString();\n this.filterCount =\"\";\n }\n else {\n this.ddlshowvalue = 0;\n this.ddlshowvalue = this.config.itemsPerPage; \n this.ddlshowStartValue = 1;\n this.searchCount = this.customerAuditReport.length.toString();\n this.filterCount =\"\";\n }\n \n // debugger\n // this.ddlshowStartValue = 1;\n // this.ddlshowvalue = 0;\n // this.ddlshowvalue = this.config.itemsPerPage; \n // this.searchCount = \"\";\n // this.searchCount = this.FilteredCutomerAuditReports.length;\n // this.filterCount = \"\";\n }\n }\n onKeyDown(event: KeyboardEvent) {\n debugger;\n let a= (event.charCode == 8 || event.charCode == 45 || event.charCode == 0 ) ? null : event.charCode >= 48 && event.charCode <= 57;\n return a;\n }\n\n //set default value for custAuditReport \n custAuditReport()\n {\n this._customerService.custoformData={\n CustomerName :'',\n fieldValue:'',\n oldValue :'',\n newValue :'',\n action:'',\n CreatedUser:'',\n createdDate:'',\n DateCreated:'',\n }\n }\n\n checkDateValidity(date){ \n const mxDate = new Date();\n this.inputDate = date.singleDate.jsDate;\n\n if (this.inputDate > mxDate) {\n this.futureDateError = true;\n this.disabledsearchbtn = true;\n }\n else{\n this.futureDateError = false;\n this.disabledsearchbtn = false;\n }\n return this.futureDateError\n} \n \n}\n\n","
\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n

Customer Audit Report

\n
\n \n
\n
\n
\n
\n \n
\n
\n \n \n\n
\n Please Enter a valid Customer Name\n
\n
\n
\n \n \n
\n
\n \n
\n \n\n
\n \n
\n\n
\n Please Enter a valid Date Format\n
\n \n
\n Created Date should be less than or equal to current date\n
\n
\n
\n\n\n
\n
\n
\n \n
\n
\n
\n \n \n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n \n
\n \n
\n \n
\n \n
\n \n
\n
\n \n \n
\n \n \n \n \n Customer Name\n Field Name\n Old Value\n New Value\n Created By\n Created / Updated Date & Time\n Action\n \n \n \n \n {{ _CustAudit.CustomerName }}\n {{ _CustAudit.fieldValue }}\n {{_CustAudit.oldValue}}\n {{_CustAudit.newValue}}\n {{_CustAudit.CreatedUser}}\n {{_CustAudit.createdDate}} \n {{_CustAudit.action}} \n \n \n No records found.\n \n \n \n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n \n
\n
\n \n ","import { Component, OnInit, ViewChild, ElementRef, ViewContainerRef } from '@angular/core';\nimport { PaymentsReportService } from 'src/app/ReportsServices/payments-report.service';\nimport * as XLSX from 'xlsx';\nimport * as jsPDF from 'jspdf';\nimport html2Canavas from 'html2canvas';\nimport { saveAs } from 'file-saver';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport {} from 'rxjs/add/operator/toPromise';\nimport { IAngularMyDpOptions, IMyDateModel } from 'angular-mydatepicker';\nimport { NgbDateParserFormatter, NgbDate } from '@ng-bootstrap/ng-bootstrap';\nimport { formatDate,DatePipe } from '@angular/common';\nimport { NgxSpinnerService } from 'ngx-spinner';\nimport { Router } from '@angular/router';\nimport * as $ from 'jquery';\nimport { CustomerService } from 'src/app/MasterService/customer.service';\nimport { PaymentsService } from 'src/app/MasterService/payments.service';\n\n@Component({\n selector: 'app-payments-report',\n templateUrl: './payments-report.component.html',\n styleUrls: ['./payments-report.component.css']\n})\nexport class PaymentsReportComponent implements OnInit {\n today = new Date();\n DpOptions1: IAngularMyDpOptions = {\n dateRange: false,\n dateFormat: 'dd-mm-yyyy',\n disableSince: {year: this.today.getFullYear(), month: this.today.getMonth() + 1, day: this.today.getDate() + 1}\n \n // other options are here...\n }; \n\n model: any;\n model2: any;\n FromDate: any = null;\n ToDate: any = null;\n frmDt:any;\n toDt:any;\n\n allPaymentsReports: any = [];\n FilteredPaymentsReports :any =[];\n config: any;\n fileName:string;\n ddlshowvalue:number;\n searchCount:string;\n filterCount:string;\n lastSortedByField;\n ascendingOrder = true;\n\n isValidDate: boolean;\n From: string;\n To: string;\n inputDate: any;\n fromDateError: boolean;\n errorMessage: string;\n inputDate1: string;\n inputDate2: string;\n finalVal: any;\n ddlshowStartValue: number;\n allCustList:any=[];\n IsCustomerInActive:boolean=false;\n Accounts: string[] = [];\n\n constructor(public _PaymentsReportsService: PaymentsReportService, private http: HttpClient, private ngbDateParserFormatter: NgbDateParserFormatter, \n private datePipe: DatePipe, private _spinner:NgxSpinnerService,private router: Router,public _customerService:CustomerService\n ,public _PaymentsService:PaymentsService) { }\n\n ngOnInit(): void {\n if(!$('.js-sticky-header').is(':visible')){\n $('.js-sticky-header').css('display','block');\n }\n this.getMethod();\n this._spinner.show();\n this.GetAccounts();\n this.fnGetAllPaymentsReports();\n this.config = {\n itemsPerPage: 10,\n currentPage: 1,\n };\n this.ddlshowvalue =10;\n }\n \n\n pageChanged(event) {\n this.config.currentPage = event;\n this.ddlshowvalue = this.config.currentPage*this.config.itemsPerPage;\n this.ddlshowStartValue = this.ddlshowvalue - (this.config.itemsPerPage-1);\n if(this.FilteredPaymentsReports.length<=this.ddlshowvalue)\n this.ddlshowvalue = this.FilteredPaymentsReports.length;\n \n }\n \nvalidateDates(UserName,sDate, eDate,AccountNumber){\n debugger\n \n const mxDate = new Date();\n this.inputDate = eDate.singleDate.jsDate;\n \n debugger\n if((sDate != null && eDate !=null )){\n if((eDate.singleDate.jsDate) < (sDate.singleDate.jsDate)){\n this.errorMessage='To date should be greater than From date.';\n this.isValidDate = false;\n }\n else{\n this.errorMessage=\"\";\n this.isValidDate = true;\n this.OnSearch(UserName,sDate, eDate,AccountNumber);\n }\n }\n else{\n this.errorMessage=\"\";\n this.isValidDate = true;\n \n }\n\n if (this.inputDate > mxDate) {\n this.futureDateError = true;\n }\n else{\n this.futureDateError = false;\n }\n \n return this.isValidDate;\n}\nfutureDateError:boolean;\n\ngetMethod(){\n this._PaymentsReportsService.formData={\n DebitAccountNumber:'',\n CreditAccountNumber:'',\n Amount:0,\n Comments:'',\n RefNo:'',\n ExecutionDate: null,\n Status:'',\n UserName:'',\n datefilter:'',\n FromDate:'',\n ToDate:'',\n AccountNumber:'',\n StructureTypeName:''\n }\n}\n\nonKeyDown(event: KeyboardEvent) {\n debugger;\n let a= (event.charCode==45 || event.charCode == 8 || event.charCode == 0 ) ? null : event.charCode >= 48 && event.charCode <= 57;\n\n return a;\n}\n\ncheckValidDate(UserName,FromDate,ToDate,AccountNumber){\n debugger;\n this.validateDates(UserName,FromDate,ToDate,AccountNumber);\n}\n\ncheckValidFromDate(UserName,FromDate,ToDate,AccountNumber){\n const MaxSdate=new Date();\n if(FromDate!=null){\n if (FromDate.singleDate.jsDate > MaxSdate) {\n this.fromDateError = true;\n } else{\n this.fromDateError = false;\n this.OnSearch(UserName,FromDate,ToDate,AccountNumber); \n }\n }\n else{\n this.fromDateError = false;\n return this.fromDateError;\n }\n}\n\nfnGetAllPaymentsReports() {\n this._PaymentsReportsService.fnGetAllPaymentsReports(localStorage.getItem('LoginUserId')).subscribe(allPaymentsReports => {\n debugger;\n this.allPaymentsReports = allPaymentsReports;\n this.FilteredPaymentsReports = this.allPaymentsReports;\n this.OnSearch(\"\",\"\",\"\",\"\");\n }\n ,(err)=>{\n this.router.navigate([\"404\"]);\n }\n );\n setTimeout(() => {\n this._spinner.hide(); \n }, 500);\n }\n\nOnSearch(UserName,dtFrmDate,dtToDate,AccountNumber) {\n debugger;\n if (dtFrmDate != null && dtFrmDate!=\"\") {\n this.FromDate =this.ngbDateParserFormatter.format(dtFrmDate.singleDate.date);\n }\n else {\n this.FromDate = \"\";\n }\n if (dtToDate !=null && dtToDate!=\"\") {\n this.ToDate =this.ngbDateParserFormatter.format(dtToDate.singleDate.date);\n }\n else {\n this.ToDate = \"\";\n }\n\n\n if (!AccountNumber && (dtFrmDate==null || !dtFrmDate) && (dtToDate==null ||!dtToDate) && !UserName) {\n this.FilteredPaymentsReports = this.allPaymentsReports;\n }\n else{\n this.FilteredPaymentsReports = this.allPaymentsReports.filter(row=>{\n return (row.DebitAccountNumber + ' ' + row.CreditAccountNumber).toLocaleLowerCase().match(AccountNumber.toLocaleLowerCase());\n });\n\n if (this.FromDate !=\"\") {\n this.FilteredPaymentsReports = this.FilteredPaymentsReports.filter(row => {\n return row.datefilter >= this.FromDate;\n });\n }\n\n if (this.ToDate !=\"\") {\n this.FilteredPaymentsReports = this.FilteredPaymentsReports.filter(row => {\n return row.datefilter <= this.ToDate;\n }); \n }\n\n this.FilteredPaymentsReports = this.FilteredPaymentsReports.filter(row => {\n return row.UserName.match(UserName);\n });\n\n this.FilteredPaymentsReports;\n this.config = {\n itemsPerPage: 10,\n currentPage: 1,\n }; \n \n }\n \n\n if (AccountNumber !=\"\" || UserName !=\"\" || dtFrmDate !=\"\" || dtToDate!=\"\") {\n this.ddlshowStartValue = 1;\n this.ddlshowvalue = 0;\n this.ddlshowvalue = this.config.itemsPerPage; \n this.searchCount = \"\";\n this.searchCount = this.FilteredPaymentsReports.length;\n this.filterCount = \"(filtered from \"+ this.allPaymentsReports.length +\" total entries)\";\n }else{\n this.ddlshowStartValue = 1;\n this.ddlshowvalue = 0;\n this.ddlshowvalue = this.config.itemsPerPage; \n this.searchCount = \"\";\n this.searchCount = this.allPaymentsReports.length;\n this.filterCount = \"\";\n }\n }\n\n // this lone for download PDF\n @ViewChild('tblAccountMaster') tblAccountMaster:ElementRef;\n fndownloadReport1(ddlValue){\n debugger;\n if(ddlValue === \"excel\"){\n this.fileName= 'PaymentsReport.xlsx';\n //let element = document.getElementById('tblAccountMaster'); \n const ws: XLSX.WorkSheet = XLSX.utils.table_to_sheet(this.tblAccountMaster.nativeElement);\n\n /* generate workbook and add the worksheet */\n const wb: XLSX.WorkBook = XLSX.utils.book_new();\n XLSX.utils.book_append_sheet(wb, ws, 'Sheet1');\n\n /* save to file */\n XLSX.writeFile(wb, this.fileName);\n }\n if(ddlValue === \"pdf\"){\n this.fileName = 'PaymentsReport.pdf';\n var data = document.getElementById('tblAccountMaster'); \n html2Canavas(data).then(canvas => { \n // Few necessary setting options \n var imgWidth = 208; \n var pageHeight = 295; \n var imgHeight = canvas.height * imgWidth / canvas.width; \n var heightLeft = imgHeight; \n \n const contentDataURL = canvas.toDataURL('image/png') \n let pdf = new jsPDF('p', 'mm', 'a4'); // A4 size page of PDF \n var position = 0; \n pdf.addImage(contentDataURL, 'PNG', 0, position, imgWidth, imgHeight) \n pdf.save(this.fileName); // Generated PDF \n }); \n }\n if(ddlValue === \"rtf\"){\n this.fileName = 'PaymentsReport.rtf';\n var ele = document.getElementById('tblAccountMaster');\n var blob = new Blob([\"\"+ele.innerHTML+\"
\"], {\n type: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8\"\n });\n saveAs(blob, this.fileName);\n }\n if(ddlValue === \"html\"){\n this.fileName = 'PaymentsReport.html'; \n var ele = document.getElementById('tblAccountMaster');\n var blob = new Blob([\"\"+ele.innerHTML+\"
\"], {\n type: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8\"\n });\n saveAs(blob, this.fileName);\n }\n }\n\n @ViewChild('tblPaymentsRpthidepdf') tblPaymentsRpthidepdf:ElementRef;\n//title = 'Excel'; \nfndownloadReport(ddlValue){ \n if(ddlValue === \"excel\"){\n this.fileName= 'PaymentsReport.xlsx';\n //let element = document.getElementById('tblAccountMaster'); \n const ws: XLSX.WorkSheet = XLSX.utils.table_to_sheet(this.tblPaymentsRpthidepdf.nativeElement);\n /* generate workbook and add the worksheet */\n const wb: XLSX.WorkBook = XLSX.utils.book_new();\n XLSX.utils.book_append_sheet(wb, ws, 'Sheet1');\n XLSX.writeFile(wb, this.fileName);\n }\n if(ddlValue === \"rtf\"){\n this.fileName = 'PaymentsReport.rtf';\n var ele = document.getElementById('tblPaymentsRpthidepdf');\n var blob = new Blob([\"

Sweep Summary Report.


\"+ele.innerHTML+\"
\"], {\n type: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8\"\n });\n saveAs(blob, this.fileName);\n }\n if(ddlValue === \"html\"){\n this.fileName = 'PaymentsReport.html'; \n var ele = document.getElementById('tblPaymentsRpthidepdf');\n var blob = new Blob([\"

Sweep Summary Report.


\"+ele.innerHTML+\"
\"], {\n type: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8\"\n });\n saveAs(blob, this.fileName);\n }\n if(ddlValue === \"pdf\"){ \n let DATA = this.tblPaymentsRpthidepdf.nativeElement;\n var ele = document.getElementById('tblPaymentsRpthidepdf');\n let doc = new jsPDF('l','mm',[2600,1300]);\n var blob = new Blob([], {\n });\n let handleElement = {\n '#editor':function(element,renderer){\n return true;\n }\n };\n doc.fromHTML(\"

Sweep Summary Report.


\"+DATA.innerHTML+\"
\",15,15,{\n 'width':1300,\n 'elementHandlers': handleElement\n });\n doc.save('PaymentsReport.pdf')\n }\n} \n// @ViewChild('tblPaymentsRpthidepdf') tblPaymentsRpthidepdf:ElementRef;\n// fndownloadReportPdf(ddlValue){\n \n// }\n\n fnShowonchange(newObj){\n this.ddlshowvalue = 0;\n this.ddlshowvalue = newObj.target.value;\n this.config = {\n itemsPerPage: this.ddlshowvalue,\n currentPage: 1,\n };\n }\n\n sortTablePaymentsRpt(n, val) {\n var table = document.getElementById(\"tblPaymentsRpt\");\n $('.sortorder').remove();\n var hdr = table.rows[0].cells[n];\n if (val) {\n $(hdr).html($(hdr).html() + '');\n } else {\n $(hdr).html($(hdr).html() + '');\n }\n }\n\n fnSortPaymentsRpt(field,obj){\n\n debugger;\n if(this.lastSortedByField === field) {\n this.ascendingOrder = !this.ascendingOrder;\n\n this.sortTablePaymentsRpt(obj,this.ascendingOrder);\n }\n else {\n this.lastSortedByField = field;\n this.ascendingOrder = true;\n\n this.sortTablePaymentsRpt(obj,this.ascendingOrder);\n }\n\n if(this.ascendingOrder) {\n this.FilteredPaymentsReports = this.FilteredPaymentsReports.sort((a, b) => {\n\n if(field === 'Amount'){\n if (Number(a[field]) < Number(b[field]))\n return -1;\n if (Number(a[field]) > Number(b[field]))\n return 1;\n }\n else{\n if (a[field].toLowerCase() < b[field].toLowerCase())\n return -1;\n if (a[field].toLowerCase() > b[field].toLowerCase())\n return 1;\n }\n return 0;\n\n });\n } else {\n this.FilteredPaymentsReports = this.FilteredPaymentsReports.sort((a, b) => {\n\n if(field === 'Amount'){\n if (Number(a[field]) < Number(b[field]))\n return 1;\n if (Number(a[field]) > Number(b[field]))\n return -1;\n }\n else{\n if (a[field].toLowerCase() < b[field].toLowerCase())\n return 1;\n if (a[field].toLowerCase() > b[field].toLowerCase())\n return -1;\n }\n return 0;\n });\n }\n\n }\n\n GetAccounts(){\n this._PaymentsService.getAccounts().subscribe(res => {\n debugger;\n this.Accounts = res;\n },(err)=>{\n this.router.navigate([\"404\"]);\n });\n}\n\n}\n","
\n
\n
\n
\n

Payment Report

\n
\n
\n\n
\n\n
\n \n\n \n
\n
\n \n
\n \n\n
\n \n
\n
\n
\n Please Enter a valid Date Format\n
\n
\n Date should be less than current date\n
\n
\n\n
\n \n
\n \n\n
\n \n
\n
\n {{ errorMessage }}\n
\n
\n Please enter Correct Date Format\n
\n
\n Created Date should be less than or equal to current date\n
\n
\n
\n\n
\n \n\n \n\n \n \n \n\n
\n Please Enter a valid Account Name\n
\n
\n
\n\n
\n
\n \n
\n
\n \n
\n\n
\n\n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n
\n \n
\n
\n \n
\n
\n\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Debit AccountCredit AccountAmtCommentsStructure TypeRef NoDate & TimeStatusExecuted By
{{paymentReports.DebitAccountNumber}}{{paymentReports.CreditAccountNumber}}{{paymentReports.Amount}}{{paymentReports.Comments}}{{paymentReports.SturctureTypeName}}{{paymentReports.RefNo}}{{paymentReports.ExecutionDate | date:'medium'}}{{paymentReports.Status}}{{paymentReports.UserName}}
No records found.
\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n
\n\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
From Account Number/th>\n To Account NumberAmountCommentsStructure TypeRef NoDate & TimeStatusExecuted By
{{paymentReports.DebitAccountNumber}}{{paymentReports.CreditAccountNumber}}{{paymentReports.Amount}}{{paymentReports.Comments}}{{paymentReports.StructureTypeName}}{{paymentReports.RefNo}}{{paymentReports.ExecutionDate | date:'medium'}}{{paymentReports.Status}}{{paymentReports.UserName}}
\n
\n\n \n","import { Component, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { ruleSummaryReportService } from 'src/app/ReportsServices/rule-summary-reports.service';\nimport { RulesSummaryReports } from 'src/app/MasterService/RuleSummaryReports';\nimport { NgxSpinnerService } from 'ngx-spinner';\nimport { IAngularMyDpOptions } from 'angular-mydatepicker';\n\ndeclare var sortTableRuleSummaryRpt: Function;\n\n@Component({\n selector: 'app-rule-summary-reports',\n templateUrl: './rule-summary-reports.component.html',\n styleUrls: ['./rule-summary-reports.component.css']\n})\nexport class RuleSummaryReportsComponent implements OnInit {\n today = new Date();\n DpOptions1: IAngularMyDpOptions = {\n dateRange: false,\n dateFormat: 'dd-mm-yyyy',\n disableSince: {year: this.today.getFullYear(), month: this.today.getMonth() + 1, day: this.today.getDate() + 1}\n };\n\n //#region \n getSummaryReports: any=[];\n FilteredRuleSummaryReports:any=[];\n config :any;\n ddlshowvalue: number;\n searchCount: any;\n filterCount: string;\n lastSortedByField;\n ascendingOrder = true;\n inputDate: any;\n futureDateError: boolean;\n disabledsearchbtn: boolean;\n ddlshowStartValue: number;\n BackBtnDisplay:boolean;\n clickRulesummary: string;\n allSchemeList: any=[];\n //#endregion\n\n constructor(private router: Router,public _ruleSummaryReportsService: ruleSummaryReportService ,private _spinner:NgxSpinnerService) { }\n\n ngOnInit(): void {this._spinner.show();\n this.GetSchemeList();\n if(!$('.js-sticky-header').is(':visible')){\n $('.js-sticky-header').css('display','block');\n }\n this.RulesSummaryReports();\n this.fnGetSummaryReports();\n sortTableRuleSummaryRpt(8,false);\n // this.FilteredRuleSummaryReports;\n this.config = {\n itemsPerPage: 10,\n currentPage: 1,\n };\n this.ddlshowvalue =10;\n this.clickRulesummary=localStorage.getItem(\"clickRuleSummaryBtn\").toString();\n \n if(this.clickRulesummary ==\"true\"){\n this.BackBtnDisplay=true;\n }\n else{\n this.BackBtnDisplay=false;\n }\n localStorage.removeItem(\"clickRuleSummaryBtn\");\n }\n\n GetSchemeList(){\n this._ruleSummaryReportsService.fnGetSchemeList(localStorage.getItem(\"LoginUserId\")).subscribe(schemeList => {\n this.allSchemeList = schemeList; \n });\n }\n\n // on page change \n pageChanged(event) {\n this.config.currentPage = event;\n this.ddlshowvalue = this.config.currentPage*this.config.itemsPerPage;\n this.ddlshowStartValue = this.ddlshowvalue - (this.config.itemsPerPage-1);\n if(this.FilteredRuleSummaryReports.length<=this.ddlshowvalue)\n this.ddlshowvalue = this.FilteredRuleSummaryReports.length;\n }\n\n fnShowonchange(newObj){\n this.ddlshowvalue = 0;\n this.ddlshowvalue = newObj.target.value;\n this.config = {\n itemsPerPage: this.ddlshowvalue,\n currentPage: 1,\n };\n }\n \n //on search\n OnSearch(SchemeName,RuleName,Date,TrancationType,Status) {\n if (!SchemeName && !RuleName && !Status && !TrancationType && !Date) {\n this.FilteredRuleSummaryReports = this.getSummaryReports;\n }\n else{\n if(SchemeName!=null){\n this.FilteredRuleSummaryReports = this.getSummaryReports.filter(row=>{\n return row.SchemeName.toLocaleLowerCase().match(SchemeName.toLocaleLowerCase());\n });\n }\n this.FilteredRuleSummaryReports = this.FilteredRuleSummaryReports.filter(row=>{\n return row.RuleName.toLocaleLowerCase().match(RuleName.toLocaleLowerCase());\n });\n if(Date!=\"\" && Date!=null ){\n this.FilteredRuleSummaryReports = this.FilteredRuleSummaryReports.filter(row=>{\n return row.CreatedDate.toLocaleLowerCase().match(Date.singleDate.formatted.toLocaleLowerCase());\n });\n }\n // this.FilteredRuleSummaryReports = this.FilteredRuleSummaryReports.filter(row=>{\n // return row.CreatedDate.toLocaleLowerCase().match(Date.toLocaleLowerCase());\n // });\n this.FilteredRuleSummaryReports = this.FilteredRuleSummaryReports.filter(row => {\n return row.TransactionType.match(TrancationType);\n });\n this.FilteredRuleSummaryReports = this.FilteredRuleSummaryReports.filter(row => {\n return row.ExecutionDetail.match(Status);\n });\n this.FilteredRuleSummaryReports;\n this.config = {\n itemsPerPage: 10,\n currentPage: 1,\n };\n }\n if (RuleName !=\"\" || Status !=\"\" || SchemeName!=\"\" || Date !=\"\" || TrancationType !=\"\") {\n this.ddlshowStartValue=1;\n this.ddlshowvalue = 0;\n this.ddlshowvalue = this.config.itemsPerPage; \n this.searchCount = \"\";\n this.searchCount = this.FilteredRuleSummaryReports.length;\n this.filterCount = \"(filtered from \"+ this.getSummaryReports.length +\" total entries)\";\n }else{\n this.ddlshowStartValue=1;\n this.ddlshowvalue = 0;\n this.ddlshowvalue = this.config.itemsPerPage; \n //this.ddlshowvalue = 10;\n this.searchCount = \"\";\n this.searchCount = this.FilteredRuleSummaryReports.length;\n this.filterCount = \"\";\n }\n }\n\n //get rule summary report list\n fnGetSummaryReports() {\n \n this._ruleSummaryReportsService.fnGetRulesSummaryReports(localStorage.getItem('LoginUserId')).subscribe(rule=>{\n this.getSummaryReports = rule;\n this.FilteredRuleSummaryReports = this.getSummaryReports;\n this.searchCount = this.FilteredRuleSummaryReports.length;\n this.filterCount =\"\";\n this.OnSearch(\"\",\"\",\"\",\"\",\"\");\n },\n (error)=>{\n this.router.navigate([\"404\"]);\n return;\n });\n setTimeout(() => {\n this._spinner.hide(); \n }, 500); \n }\n\n //sorting asc/desc grid column\n fnSortruleSummaryRpt(field,obj){\n //sortTableSweepSummaryRpt(obj);\n\n debugger;\n if(this.lastSortedByField === field) {\n this.ascendingOrder = !this.ascendingOrder;\n\n sortTableRuleSummaryRpt(obj,this.ascendingOrder);\n }\n else {\n this.lastSortedByField = field;\n this.ascendingOrder = true;\n\n sortTableRuleSummaryRpt(obj,this.ascendingOrder);\n }\n\n if(this.ascendingOrder) {\n this.FilteredRuleSummaryReports = this.FilteredRuleSummaryReports.sort((a, b) => {\n if(field === 'TransactionAmount' || field === 'ParentBalance' || field === 'ChildBalance'){\n if (Number(a[field]) < Number(b[field]))\n return -1;\n if (Number(a[field]) > Number(b[field]))\n return 1;\n }\n else if(field ==='CreatedDate'){\n if (a[\"DateCreated\"].toLowerCase() < b[\"DateCreated\"].toLowerCase())\n return -1;\n if (a[\"DateCreated\"].toLowerCase() > b[\"DateCreated\"].toLowerCase())\n return 1;\n }\n else{\n if (a[field].toLowerCase() < b[field].toLowerCase())\n return -1;\n if (a[field].toLowerCase() > b[field].toLowerCase())\n return 1;\n }\n return 0;\n });\n } else {\n this.FilteredRuleSummaryReports = this.FilteredRuleSummaryReports.sort((a, b) => {\n if(field === 'TransactionAmount' || field === 'ParentBalance' || field === 'ChildBalance'){\n if (Number(a[field]) < Number(b[field]))\n return 1;\n if (Number(a[field]) > Number(b[field]))\n return -1;\n }\n else if(field ==='CreatedDate'){\n if (a[\"DateCreated\"].toLowerCase() < b[\"DateCreated\"].toLowerCase())\n return 1;\n if (a[\"DateCreated\"].toLowerCase() > b[\"DateCreated\"].toLowerCase())\n return -1;\n }\n else{\n if (a[field].toLowerCase() < b[field].toLowerCase())\n return 1;\n if (a[field].toLowerCase() > b[field].toLowerCase())\n return -1;\n }\n return 0;\n });\n }\n\n }\n\n //navigate to Manage RulesMaster\n BackButton(){\n this.router.navigate(['/ManageRulesMaster']);\n }\n\n //set a default value for rulessummaryreports formdata\n RulesSummaryReports(){\n this._ruleSummaryReportsService.formData={\n RuleId:0,\n Status:'',\n SchemeId:null, \n TransactionType :'',\n RuleName:'',\n FromAccountType:'',\n FromAccountId:'',\n Field:'',\n Condition:'',\n Value:'',\n ToAccountType:'',\n ToAccountId:'',\n TransactionAmount:'',\n Priority: 0,\n Frequency:'',\n IsFailed: 0,\n CreatedBy:'',\n CreatedDate: '',\n ExecutionDetail:'',\n SchemeName :'',\n FromAccountName :'',\n ToAccountName:'',\n ParentBalance:'',\n ChildBalance:'',\n DateCreated:''\n }\n }\n\n // check valid date\n checkDateValidity(date){\n const mxDate = new Date();\n this.inputDate = date.singleDate.jsDate;\n if (this.inputDate > mxDate) {\n this.futureDateError = true;\n this.disabledsearchbtn = true;\n }\n else{\n this.futureDateError = false;\n this.disabledsearchbtn = false;\n }\n return this.futureDateError;\n }\n\n //tab function\n onKeyDown(event: KeyboardEvent) {\n debugger;\n let a= (event.charCode == 8 || event.charCode == 45 || event.charCode == 0 ) ? null : event.charCode >= 48 && event.charCode <= 57;\n return a;\n }\n \n}\n","
\n
\n
\n
\n
\n \n
\n
\n

Rule Summary Report

\n
\n \n
\n
\n
\n
\n
\n \n\n
\n \n \n \n \n
\n\n
\n \n \n
\n
\n \n
\n \n
\n \n
\n
\n Please Enter a valid Date Format\n
\n
\n Created Date should be less than or equal to current date\n
\n
\n
\n \n
\n \n \n
\n
\n \n \n
\n
\n \n
\n
\n
\n
\n\n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n
\n \n
\n \n
\n \n
\n\n \n
\n\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Scheme Name Rule Name Transaction Type Parent Account Name Parent Scheme Balance Child Account Name Child Scheme Balance Transaction Amount Created / Updated Date & Time Execution Detail
{{RuleReports.SchemeName\n }}{{RuleReports.RuleName}}{{RuleReports.TransactionType}}{{RuleReports.FromAccountName}}{{RuleReports.ParentBalance}}{{RuleReports.ToAccountName}}{{RuleReports.ChildBalance}}{{RuleReports.TransactionAmount}}{{RuleReports.CreatedDate}}{{RuleReports.ExecutionDetail}}
No records found.
\n
\n
\n \n
\n
\n \n
\n
\n\n \n
\n
\n
\n\n\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
","import { Component, OnInit, ViewChild, ElementRef, ViewContainerRef } from '@angular/core';\nimport { SweepSurmmaryReportsService } from 'src/app/ReportsServices/sweep-surmmary-reports.service';\nimport * as XLSX from 'xlsx';\nimport * as jsPDF from 'jspdf';\nimport html2Canavas from 'html2canvas';\nimport { saveAs } from 'file-saver';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport {} from 'rxjs/add/operator/toPromise';\nimport { IAngularMyDpOptions, IMyDateModel } from 'angular-mydatepicker';\nimport { NgbDateParserFormatter, NgbDate } from '@ng-bootstrap/ng-bootstrap';\nimport { formatDate,DatePipe } from '@angular/common';\nimport { NgxSpinnerService } from 'ngx-spinner';\nimport { Router } from '@angular/router';\nimport * as $ from 'jquery';\nimport { CustomerService } from 'src/app/MasterService/customer.service';\n\ndeclare var sortTableSweepSummaryRpt: Function;\n\n@Component({\n selector: 'app-sweepsummaryreports',\n templateUrl: './sweepsummaryreports.component.html',\n styleUrls: ['./sweepsummaryreports.component.css']\n})\nexport class SweepsummaryreportsComponent implements OnInit {\n today = new Date();\n DpOptions1: IAngularMyDpOptions = {\n dateRange: false,\n dateFormat: 'dd-mm-yyyy',\n disableSince: {year: this.today.getFullYear(), month: this.today.getMonth() + 1, day: this.today.getDate() + 1}\n \n // other options are here...\n }; \n\n model: any;\n model2: any;\n FromDate: any = null;\n ToDate: any = null;\n frmDt:any;\n toDt:any;\n\n allSweepSummaryReports: any = [];\n FilteredSweepSummaryReports :any =[];\n config: any;\n fileName:string;\n ddlshowvalue:number;\n searchCount:string;\n filterCount:string;\n lastSortedByField;\n ascendingOrder = true;\n\n isValidDate: boolean;\n From: string;\n To: string;\n inputDate: any;\n fromDateError: boolean;\n errorMessage: string;\n inputDate1: string;\n inputDate2: string;\n finalVal: any;\n ddlshowStartValue: number;\n allCustList:any=[];\n IsCustomerInActive:boolean=false;\n\n constructor(public _SweepSummaryReportsService: SweepSurmmaryReportsService, private http: HttpClient, private ngbDateParserFormatter: NgbDateParserFormatter, \n private datePipe: DatePipe, private _spinner:NgxSpinnerService,private router: Router,public _customerService:CustomerService) { }\n\n ngOnInit(): void {\n if(!$('.js-sticky-header').is(':visible')){\n $('.js-sticky-header').css('display','block');\n }\n this.getMethod();\n this._spinner.show();\n this.fnGetCustomerName();\n this.fnGetAllsweepSummaryReports();\n this.config = {\n itemsPerPage: 10,\n currentPage: 1,\n };\n this.ddlshowvalue =10;\n }\n //-------------------pageChanged Method => ----------------- \n pageChanged(event) {\n this.config.currentPage = event;\n this.ddlshowvalue = this.config.currentPage*this.config.itemsPerPage;\n this.ddlshowStartValue = this.ddlshowvalue - (this.config.itemsPerPage-1);\n if(this.FilteredSweepSummaryReports.length<=this.ddlshowvalue)\n this.ddlshowvalue = this.FilteredSweepSummaryReports.length;\n }\n\n//------------------On page Load NgModel bind---------------\ngetMethod(){\n this._SweepSummaryReportsService.formData={\n CustomerName:'',\n FromAccountName:'',\n FromAccountNumber :'',\n ToAccountName:'',\n ToAccountNumber:'',\n BalanceTransfer:0,\n IntrestRate:0,\n IntrestType:'',\n IntrestAmount:0,\n SweepCharge:0,\n SweepMessage:'',\n SweepStatus:'',\n CreatedDate: null,\n datefilter:'',\n FromDate:'',\n ToDate:'',\n UTRNo:''\n }\n}\n\n//---------------Only Number On Key press------------------\nonKeyDown(event: KeyboardEvent) {\n debugger;\n let a= (event.charCode==45 || event.charCode == 8 || event.charCode == 0 ) ? null : event.charCode >= 48 && event.charCode <= 57;\n// const input = event.target as HTMLInputElement;\n// let trimmed = input.value.replace(/\\s+/g, '');\n// if (trimmed.length > 10) {\n// trimmed = trimmed.substr(0, 10);\n// }\n// trimmed = trimmed.replace(/-/g,'');\n// let numbers = [];\n// numbers.push(trimmed.substr(0,2));\n// if(trimmed.substr(2,2)!==\"\")\n// numbers.push(trimmed.substr(2,2));\n// if(trimmed.substr(4,4)!=\"\")\n// numbers.push(trimmed.substr(4,4));\n// input.value = numbers.join('-');\nreturn a;\n}\n//-----------------Date validation ----------------------------\nvalidateDates(CustomerName,sDate, eDate,Status){\n// this.inputDate2 = this.datePipe.transform(eDate, 'MM-dd-yyyy');\n// var inputDate1=sDate;\n// var splitDate1 = inputDate1.split('-');\n// var day1 = splitDate1[0];\n// var month1 = splitDate1[1];\n// var year1 = splitDate1[2];\n// this.inputDate1 = month1+\"-\"+day1+\"-\"+year1;\n// var inputDate2=eDate;\n// var splitDate2 = inputDate2.split('-');\n// var day2 = splitDate2[0];\n// var month2 = splitDate2[1];\n// var year2 = splitDate2[2];\n// this.inputDate2 = month2+\"-\"+day2+\"-\"+year2;\n// const FromDatechk=new Date(this.inputDate1);\n// const ToDateChk=new Date(this.inputDate2);\n \n const mxDate = new Date();\n this.inputDate = eDate.singleDate.jsDate;\n \n debugger\n if((sDate != null && eDate !=null )){\n if((eDate.singleDate.jsDate) < (sDate.singleDate.jsDate)){\n this.errorMessage='To date should be greater than From date.';\n this.isValidDate = false;\n }\n else{\n this.errorMessage=\"\";\n this.isValidDate = true;\n this.OnSearch(CustomerName,sDate, eDate,Status);\n }\n }\n else{\n this.errorMessage=\"\";\n this.isValidDate = true;\n \n }\n\n if (this.inputDate > mxDate) {\n this.futureDateError = true;\n }\n else{\n this.futureDateError = false;\n }\n \n return this.isValidDate;\n}\nfutureDateError:boolean;\n\ncheckValidDate(CustomerName,FromDate,ToDate,Status){\n this.validateDates(CustomerName,FromDate,ToDate,Status);\n}\ncheckValidFromDate(CustomerName,FromDate,ToDate,Status){\n // var inputDate1=FromDate;\n // var splitDate1 = inputDate1.split('-');\n // var day1 = splitDate1[0];\n // var month1 = splitDate1[1];\n // var year1 = splitDate1[2];\n // this.inputDate = month1+\"-\"+day1+\"-\"+year1;\n // const FromDatechk=new Date(this.inputDate);\n\n const MaxSdate=new Date();\n if(FromDate!=null){\n if (FromDate.singleDate.jsDate > MaxSdate) {\n this.fromDateError = true;\n } else{\n this.fromDateError = false;\n this.OnSearch(CustomerName,FromDate,ToDate,Status); \n }\n }\n else{\n this.fromDateError = false;\n return this.fromDateError;\n }\n}\n//-----------Get All SummaryReport data in grid Method------------------\nfnGetAllsweepSummaryReports() {\n this._SweepSummaryReportsService.fnGetAllSweepSummaryReports(localStorage.getItem('LoginUserId')).subscribe(allsweepSummaryReports => {\n this.allSweepSummaryReports = allsweepSummaryReports;\n this.FilteredSweepSummaryReports = this.allSweepSummaryReports;\n this.OnSearch(\"\",\"\",\"\",\"\");\n }\n ,(err)=>{\n this.router.navigate([\"404\"]);\n }\n );\n setTimeout(() => {\n this._spinner.hide(); \n }, 500);\n }\n\n//-------------On Search Method-------------------------------------------\nOnSearch(CustomerName,dtFrmDate,dtToDate,Status) {\n if (dtFrmDate != null && dtFrmDate!=\"\") {\n this.FromDate =this.ngbDateParserFormatter.format(dtFrmDate.singleDate.date);\n // var newdtfrm = dtFrmDate.split(\"-\");\n // this.FromDate = newdtfrm[2] +\"-\"+ newdtfrm[1] +\"-\"+ newdtfrm[0];\n }\n else {\n this.FromDate = \"\";\n }\n if (dtToDate !=null && dtToDate!=\"\") {\n this.ToDate =this.ngbDateParserFormatter.format(dtToDate.singleDate.date);\n // var newdtto = dtToDate.split(\"-\");\n // this.ToDate = newdtto[2] +\"-\"+ newdtto[1] +\"-\"+ newdtto[0];\n }\n else {\n this.ToDate = \"\";\n }\n\n\n if (!CustomerName && (dtFrmDate==null || !dtFrmDate) && (dtToDate==null ||!dtToDate) && !Status) {\n this.FilteredSweepSummaryReports = this.allSweepSummaryReports;\n }\n else{\n this.FilteredSweepSummaryReports = this.allSweepSummaryReports.filter(row=>{\n return row.CustomerName.toLocaleLowerCase().match(CustomerName.toLocaleLowerCase());\n });\n\n if (this.FromDate !=\"\") {\n this.FilteredSweepSummaryReports = this.FilteredSweepSummaryReports.filter(row => {\n return row.datefilter >= this.FromDate;\n });\n }\n\n if (this.ToDate !=\"\") {\n this.FilteredSweepSummaryReports = this.FilteredSweepSummaryReports.filter(row => {\n return row.datefilter <= this.ToDate;\n }); \n }\n\n this.FilteredSweepSummaryReports = this.FilteredSweepSummaryReports.filter(row => {\n return row.SweepStatus.match(Status);\n });\n\n this.FilteredSweepSummaryReports;\n this.config = {\n itemsPerPage: 10,\n currentPage: 1,\n }; \n \n }\n \n this.ddlshowvalue= this.FilteredSweepSummaryReports.length;\n if (CustomerName !=\"\" || Status !=\"\" || dtFrmDate !=\"\" || dtToDate!=\"\") {\n if (this.ddlshowvalue <= this.config.itemsPerPage) {\n // this.ddlshowvalue = 0;\n this.ddlshowvalue = this.ddlshowvalue;\n this.ddlshowStartValue = 1;\n }\n else {\n this.ddlshowvalue = 0;\n this.ddlshowvalue = this.config.itemsPerPage; \n this.ddlshowStartValue = 1;\n }\n // this.ddlshowStartValue = 1;\n // this.ddlshowvalue = 0;\n // this.ddlshowvalue = this.config.itemsPerPage; \n this.searchCount = \"\";\n this.searchCount = this.FilteredSweepSummaryReports.length;\n this.filterCount = \"(filtered from \"+ this.allSweepSummaryReports.length +\" total entries)\";\n }else{\n if (this.ddlshowvalue <= this.config.itemsPerPage) {\n // this.ddlshowvalue = 0;\n this.ddlshowvalue = this.ddlshowvalue;\n this.ddlshowStartValue = 1;\n this.searchCount = this.allSweepSummaryReports.length.toString();\n this.filterCount =\"\";\n }\n else {\n this.ddlshowvalue = 0;\n this.ddlshowvalue = this.config.itemsPerPage; \n this.ddlshowStartValue = 1;\n this.searchCount = this.allSweepSummaryReports.length.toString();\n this.filterCount =\"\";\n }\n \n // this.ddlshowStartValue = 1;\n // this.ddlshowvalue = 0;\n // this.ddlshowvalue = this.config.itemsPerPage; \n // this.searchCount = \"\";\n // this.searchCount = this.allSweepSummaryReports.length;\n // this.filterCount = \"\";\n }\n }\n\n//-------------------HTML ,Execel & RTF dwonload method-----------------\n @ViewChild('tblAccountMaster') tblAccountMaster:ElementRef;\n fndownloadReport1(ddlValue){\n debugger;\n if(ddlValue === \"excel\"){\n this.fileName= 'SweepSummaryReport.xlsx';\n //let element = document.getElementById('tblAccountMaster'); \n const ws: XLSX.WorkSheet = XLSX.utils.table_to_sheet(this.tblAccountMaster.nativeElement);\n\n /* generate workbook and add the worksheet */\n const wb: XLSX.WorkBook = XLSX.utils.book_new();\n XLSX.utils.book_append_sheet(wb, ws, 'Sheet1');\n\n /* save to file */\n XLSX.writeFile(wb, this.fileName);\n }\n if(ddlValue === \"pdf\"){\n this.fileName = 'SweepSummaryReport.pdf';\n var data = document.getElementById('tblAccountMaster'); \n html2Canavas(data).then(canvas => { \n // Few necessary setting options \n var imgWidth = 208; \n var pageHeight = 295; \n var imgHeight = canvas.height * imgWidth / canvas.width; \n var heightLeft = imgHeight; \n \n const contentDataURL = canvas.toDataURL('image/png') \n let pdf = new jsPDF('p', 'mm', 'a4'); // A4 size page of PDF \n var position = 0; \n pdf.addImage(contentDataURL, 'PNG', 0, position, imgWidth, imgHeight) \n pdf.save(this.fileName); // Generated PDF \n }); \n }\n if(ddlValue === \"rtf\"){\n this.fileName = 'SweepSummaryReport.rtf';\n var ele = document.getElementById('tblAccountMaster');\n var blob = new Blob([\"\"+ele.innerHTML+\"
\"], {\n type: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8\"\n });\n saveAs(blob, this.fileName);\n }\n if(ddlValue === \"html\"){\n this.fileName = 'SweepSummaryReport.html'; \n var ele = document.getElementById('tblAccountMaster');\n var blob = new Blob([\"\"+ele.innerHTML+\"
\"], {\n type: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8\"\n });\n saveAs(blob, this.fileName);\n }\n }\n//--------------------------PDF Download Method--------------------------\n @ViewChild('tblSweepSummaryRpthidepdf') tblSweepSummaryRpthidepdf:ElementRef;\n//title = 'Excel'; \nfndownloadReport(ddlValue){ \n if(ddlValue === \"excel\"){\n this.fileName= 'SweepSummaryReport.xlsx';\n //let element = document.getElementById('tblAccountMaster'); \n const ws: XLSX.WorkSheet = XLSX.utils.table_to_sheet(this.tblSweepSummaryRpthidepdf.nativeElement);\n /* generate workbook and add the worksheet */\n const wb: XLSX.WorkBook = XLSX.utils.book_new();\n XLSX.utils.book_append_sheet(wb, ws, 'Sheet1');\n XLSX.writeFile(wb, this.fileName);\n }\n if(ddlValue === \"rtf\"){\n this.fileName = 'SweepSummaryReport.rtf';\n var ele = document.getElementById('tblSweepSummaryRpthidepdf');\n var blob = new Blob([\"

Sweep Summary Report.


\"+ele.innerHTML+\"
\"], {\n type: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8\"\n });\n saveAs(blob, this.fileName);\n }\n if(ddlValue === \"html\"){\n this.fileName = 'SweepSummaryReport.html'; \n var ele = document.getElementById('tblSweepSummaryRpthidepdf');\n var blob = new Blob([\"

Sweep Summary Report.


\"+ele.innerHTML+\"
\"], {\n type: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8\"\n });\n saveAs(blob, this.fileName);\n }\n if(ddlValue === \"pdf\"){ \n let DATA = this.tblSweepSummaryRpthidepdf.nativeElement;\n var ele = document.getElementById('tblSweepSummaryRpthidepdf');\n let doc = new jsPDF('l','mm',[2600,1300]);\n var blob = new Blob([], {\n });\n let handleElement = {\n '#editor':function(element,renderer){\n return true;\n }\n };\n doc.fromHTML(\"

Sweep Summary Report.


\"+DATA.innerHTML+\"
\",15,15,{\n 'width':1300,\n 'elementHandlers': handleElement\n });\n doc.save('SweepSummaryReport.pdf')\n }\n} \n// @ViewChild('tblSweepSummaryRpthidepdf') tblSweepSummaryRpthidepdf:ElementRef;\n// fndownloadReportPdf(ddlValue){\n// }\n//--------------- pagination dropdown method--------------------------\n fnShowonchange(newObj){\n this.ddlshowvalue = 0;\n this.ddlshowvalue = newObj.target.value;\n this.config = {\n itemsPerPage: this.ddlshowvalue,\n currentPage: 1,\n };\n }\n//-----------------------Grid sorting Method-----------------------------\n fnSortSweepSummaryRpt(field,obj){\n if(this.lastSortedByField === field) {\n this.ascendingOrder = !this.ascendingOrder;\n sortTableSweepSummaryRpt(obj,this.ascendingOrder);\n }\n else {\n this.lastSortedByField = field;\n this.ascendingOrder = true;\n sortTableSweepSummaryRpt(obj,this.ascendingOrder);\n }\n if(this.ascendingOrder) {\n this.FilteredSweepSummaryReports = this.FilteredSweepSummaryReports.sort((a, b) => {\n\n if(field === 'BalanceTransfer'){\n if (Number(a[field]) < Number(b[field]))\n return -1;\n if (Number(a[field]) > Number(b[field]))\n return 1;\n }\n else if(field === 'IntrestRate'){\n if (Number(a[field]) < Number(b[field]))\n return -1;\n if (Number(a[field]) > Number(b[field]))\n return 1;\n }\n else if(field === 'IntrestAmount'){\n if (Number(a[field]) < Number(b[field]))\n return -1;\n if (Number(a[field]) > Number(b[field]))\n return 1;\n }\n else{\n if (a[field].toLowerCase() < b[field].toLowerCase())\n return -1;\n if (a[field].toLowerCase() > b[field].toLowerCase())\n return 1;\n }\n return 0;\n\n });\n } else {\n this.FilteredSweepSummaryReports = this.FilteredSweepSummaryReports.sort((a, b) => {\n\n if(field === 'BalanceTransfer'){\n if (Number(a[field]) < Number(b[field]))\n return 1;\n if (Number(a[field]) > Number(b[field]))\n return -1;\n }\n else if(field === 'IntrestRate'){\n if (Number(a[field]) < Number(b[field]))\n return 1;\n if (Number(a[field]) > Number(b[field]))\n return -1;\n }\n else if(field === 'IntrestAmount'){\n if (Number(a[field]) < Number(b[field]))\n return 1;\n if (Number(a[field]) > Number(b[field]))\n return -1;\n }\n else{\n if (a[field].toLowerCase() < b[field].toLowerCase())\n return 1;\n if (a[field].toLowerCase() > b[field].toLowerCase())\n return -1;\n }\n return 0;\n });\n }\n\n }\n\n//-------------------------Get Customer Name list-------------------------\n fnGetCustomerName(){\n return this._customerService.fnGetCustomerListForDropdown(\"0\",localStorage.getItem('LoginUserId')).subscribe(data =>{\n data.forEach(element => {\n this.allCustList.push(element); \n if(element[\"Status\"]=='0'){\n this.IsCustomerInActive=true;\n }\n },(err)=>{\n this.router.navigate([\"404\"]);\n });\n });\n }\n\n//------------------Gear Menu & Sub-Menu display on tab Event--------------\n fnOpengearMenu(){\n $(\".icon-cog\").trigger(\"click\");\n }\n fnsubOpengearMenu(){\n $('[class=\"dropdown-menu\"]').trigger(\"click\").css('display','block');\n }\n//------------------------------------------------------------------------- \n}\n","
\n
\n
\n
\n

Sweep Summary Report

\n
\n
\n\n
\n\n
\n \n\n \n\n \n \n \n\n
\n Please Enter a valid Customer Name\n
\n
\n\n\n \n\n
\n \n
\n \n\n
\n \n
\n
\n
\n Please Enter a valid Date Format\n
\n
\n Date should be less than current date\n
\n
\n\n
\n \n
\n \n\n
\n \n
\n
\n {{ errorMessage }}\n
\n
\n Please enter Correct Date Format\n
\n
\n Created Date should be less than or equal to current date\n
\n
\n \n \n \n \n
\n\n
\n \n \n
\n\n
\n\n
\n
\n \n
\n
\n \n
\n\n
\n\n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n
\n \n
\n
\n \n
\n
\n\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Customer NameFrom Account NameTo Account NameBalance TransferInterest TypeInterest Rate%Interest AmountDate & TimeUTR NoSweep Status
{{sweepReports.CustomerName}}{{sweepReports.FromAccountName}}{{sweepReports.ToAccountName}}{{sweepReports.BalanceTransfer}}{{sweepReports.IntrestType}}{{sweepReports.IntrestRate}}{{sweepReports.IntrestAmount}}{{sweepReports.CreatedDate | date:'medium'}}{{sweepReports.UTRNo}}{{sweepReports.SweepMessage}}
No records found.
\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n
\n\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Customer NameFrom Account NameTo Account NameBalance TransferInterest TypeInterest Rate%Interest AmountDate & TimeUTR NoSweep Status
{{sweepReports.CustomerName}}{{sweepReports.FromAccountName}}{{sweepReports.ToAccountName}}{{sweepReports.BalanceTransfer}}{{sweepReports.IntrestType}}{{sweepReports.IntrestRate}}{{sweepReports.IntrestAmount}}{{sweepReports.CreatedDate | date:'medium'}}{{sweepReports.UTRNo}}{{sweepReports.SweepMessage}}
\n
\n\n \n","import { Component, OnInit } from '@angular/core';\nimport{UserauditreportService}from '../../MasterService/userauditreport.service';\nimport { IAngularMyDpOptions } from 'angular-mydatepicker';\nimport { NgxSpinnerService } from 'ngx-spinner';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport * as CryptoJS from 'crypto-js';\nimport * as $ from 'jquery';\nimport { EncryptdecryptService } from 'src/app/MasterService/encryptdecrypt.service';\n\ndeclare var sortTableUserAuditReport: Function;\n\n@Component({\n selector: 'app-user-audit-report',\n templateUrl: './user-audit-report.component.html',\n styleUrls: ['./user-audit-report.component.css']\n})\nexport class UserAuditReportComponent implements OnInit {\n today = new Date();\n DpOptions1: IAngularMyDpOptions = {\n dateRange: false,\n dateFormat: 'dd-mm-yyyy',\n disableSince: {year: this.today.getFullYear(), month: this.today.getMonth() + 1, day: this.today.getDate() + 1}\n\n // other options are here...\n };\n config: { itemsPerPage: number; currentPage: number; };\n ddlshowvalue: number;\n filterCount: string;\n lastSortedByField;\n ascendingOrder = true;\n FilteredUserAuditReports: any;\n AuditUserId: any=0;\n futureDateError:boolean;\n inputDate:Date; \n disabledsearchbtn:boolean;\n showAccountNameFiled: boolean;\n encryptAuditUserId: any;\n decryptAuditUserId: string;\n ddlshowStartValue: number;\n\n\n constructor(public _encrypt:EncryptdecryptService, private route: ActivatedRoute,public _userAudit:UserauditreportService ,private _spinner:NgxSpinnerService, private router: Router) { \n // this.router.routeReuseStrategy.shouldReuseRoute = function() {\n // return false;\n // };\n }\n userAudit:any=[]\n searchCount:string;\n BackBtnDisplay:boolean\n decryptAuditId:string=\"0\";\n // Declare this key and iv values in declaration\n private key = CryptoJS.enc.Utf8.parse('MAKV2SPBNI992121');\n private iv = CryptoJS.enc.Utf8.parse('MAKV2SPBNI992121');\n decryptUsingAES256(decString) {\n var decrypted = CryptoJS.AES.decrypt(decString, this.key, {\n keySize: 128 / 8,\n iv: this.iv,\n mode: CryptoJS.mode.CBC,\n padding: CryptoJS.pad.Pkcs7\n }); \n return decrypted.toString(CryptoJS.enc.Utf8);\n }\n\n ngOnInit(): void {\n if(!$('.js-sticky-header').is(':visible')){\n $('.js-sticky-header').css('display','block');\n }\n this._spinner.show();\n this.route.queryParams.subscribe(params => {\n this.encryptAuditUserId=params[\"UserId\"];\n this.decryptAuditUserId=this._encrypt.decryptUsingAES256(params[\"UserId\"])\n this.AuditUserId = this.decryptAuditUserId; \n }); \n // if(localStorage.getItem('AuditUserId') != null){\n // this.decryptAuditId=this.decryptUsingAES256(localStorage.getItem('AuditUserId')); \n // } \n // this.AuditUserId= +this.decryptAuditId;\n this.UserAuditReport();\n this.GetAuditHistory(); \n this.config = {\n itemsPerPage: 10,\n currentPage: 1,\n };\n this.ddlshowvalue =10; \n if(this.AuditUserId==0){\n this.BackBtnDisplay=false;\n this.showAccountNameFiled=true;\n }\n if(this.AuditUserId!=0){\n this.BackBtnDisplay=true;\n this.showAccountNameFiled=false;\n }\n localStorage.removeItem('AuditUserId');\n sortTableUserAuditReport(5,false);\n\n }\n//------------------Page changed Method-------------------------\n pageChanged(event) {\n this.config.currentPage = event;\n this.ddlshowvalue = this.config.currentPage*this.config.itemsPerPage;\n this.ddlshowStartValue = this.ddlshowvalue - (this.config.itemsPerPage-1);\n if(this.FilteredUserAuditReports.length<=this.ddlshowvalue)\n this.ddlshowvalue = this.FilteredUserAuditReports.length;\n \n }\n//-----------------Back Button onClick ------------------------\n BankButton() {\n localStorage.removeItem('AuditUserId');\n this.router.navigate(['/ManageUserMaster']);\n }\n//---------------page load NgModel Bind-------------------------\n UserAuditReport()\n {\n this._userAudit.formData={\n userName :'',\n fieldValue:'',\n oldValue :'',\n newValue:'',\n action:'',\n modifiedUser:'',\n createdDate:'',\n DateCreated:'',\n }\n }\n//---------------pagination DropDown--------------------------\n fnShowonchange(newObj){\n this.ddlshowvalue = 0;\n this.ddlshowvalue = newObj.target.value;\n this.config = {\n itemsPerPage: this.ddlshowvalue,\n currentPage: 1,\n };\n }\n//--------------------Get Audit data in grid--------------------\n GetAuditHistory(){\n this._userAudit.fnGetUserAuditHistory(this.AuditUserId).subscribe(allUsers=>{\n debugger;\n this.userAudit = allUsers; \n this.FilteredUserAuditReports = this.userAudit;\n this.searchCount = this.FilteredUserAuditReports.length;\n this.filterCount =\"\";\n this.OnSearch(\"\",\"\",\"\");\n },(err)=>{\n this.router.navigate([\"404\"]);\n });\n setTimeout(() => {\n this._spinner.hide(); \n }, 500);\n }\n//------------------------Grid Sorting Method----------------------\n fnSortUserAuditSummaryRpt(field,obj){\n if(this.lastSortedByField === field) {\n this.ascendingOrder = !this.ascendingOrder;\n sortTableUserAuditReport(obj,this.ascendingOrder);\n }\n else {\n this.lastSortedByField = field;\n this.ascendingOrder = true;\n\n sortTableUserAuditReport(obj,this.ascendingOrder);\n }\n\n if(this.ascendingOrder) {\n this.FilteredUserAuditReports = this.FilteredUserAuditReports.sort((a, b) => {\n\n if(field === 'createdDate'){\n if (a[\"DateCreated\"].toLowerCase() < b[\"DateCreated\"].toLowerCase())\n return -1;\n if (a[\"DateCreated\"].toLowerCase() > b[\"DateCreated\"].toLowerCase())\n return 1;\n \n }\n \n else{\n if (a[field].toLowerCase() < b[field].toLowerCase())\n return -1;\n if (a[field].toLowerCase() > b[field].toLowerCase())\n return 1;\n }\n return 0;\n\n });\n } else {\n this.FilteredUserAuditReports = this.FilteredUserAuditReports.sort((a, b) => {\n\n if(field === 'createdDate'){\n if (a[\"DateCreated\"].toLowerCase() < b[\"DateCreated\"].toLowerCase())\n return 1;\n if (a[\"DateCreated\"].toLowerCase() > b[\"DateCreated\"].toLowerCase())\n return -1;\n \n }\n else{\n if (a[field].toLowerCase() < b[field].toLowerCase())\n return 1;\n if (a[field].toLowerCase() > b[field].toLowerCase())\n return -1;\n }\n return 0;\n });\n }\n\n }\n //-------------OnSearch Method ----------------------------------\n OnSearch(UserName,Action,CretedDate) {\n if (!UserName && !Action && (!CretedDate || CretedDate==null)) {\n this.FilteredUserAuditReports = this.userAudit;\n }\n else{\n this.FilteredUserAuditReports = this.userAudit.filter(row=>{\n return row.userName.toLocaleLowerCase().match(UserName.toLocaleLowerCase());\n });\n this.FilteredUserAuditReports = this.FilteredUserAuditReports.filter(row=>{\n return row.action.toLocaleLowerCase().match(Action.toLocaleLowerCase());\n });\n if(CretedDate!=\"\" && CretedDate!=null ){\n this.FilteredUserAuditReports = this.FilteredUserAuditReports.filter(row=>{\n return row.createdDate.toLocaleLowerCase().match(CretedDate.singleDate.formatted.toLocaleLowerCase());\n });\n }\n \n this.FilteredUserAuditReports;\n this.config = {\n itemsPerPage: 10,\n currentPage: 1,\n };\n }\n this.ddlshowvalue=this.FilteredUserAuditReports.length;\n if (UserName !=\"\" || Action !=\"\" || CretedDate!=\"\") {\n if (this.ddlshowvalue <= this.config.itemsPerPage) {\n // this.ddlshowvalue = 0;\n this.ddlshowvalue = this.ddlshowvalue;\n this.ddlshowStartValue = 1;\n }\n else {\n this.ddlshowvalue = 0;\n this.ddlshowvalue = this.config.itemsPerPage; \n this.ddlshowStartValue = 1;\n }\n // this.ddlshowStartValue = 1;\n // this.ddlshowvalue = 0;\n // this.ddlshowvalue = this.config.itemsPerPage; \n this.searchCount = \"\";\n this.searchCount = this.FilteredUserAuditReports.length;\n this.filterCount = \"(filtered from \"+ this.userAudit.length +\" total entries)\";\n }else{\n if (this.ddlshowvalue <= this.config.itemsPerPage) {\n // this.ddlshowvalue = 0;\n this.ddlshowvalue = this.ddlshowvalue;\n this.ddlshowStartValue = 1;\n this.searchCount = this.FilteredUserAuditReports.length.toString();\n this.filterCount =\"\";\n }\n else {\n this.ddlshowvalue = 0;\n this.ddlshowvalue = this.config.itemsPerPage; \n this.ddlshowStartValue = 1;\n this.searchCount = this.FilteredUserAuditReports.length.toString();\n this.filterCount =\"\";\n }\n // this.ddlshowStartValue = 1;\n // this.ddlshowvalue = 0;\n // this.ddlshowvalue = this.config.itemsPerPage; \n // this.searchCount = \"\";\n // this.searchCount = this.FilteredUserAuditReports.length;\n // this.filterCount = \"\";\n }\n }\n//------------Only Number on Key Press----------------------------\n onKeyDown(event: KeyboardEvent) {\n debugger;\n let a= (event.charCode == 8 || event.charCode == 45 || event.charCode == 0 ) ? null : event.charCode >= 48 && event.charCode <= 57;\n return a;\n }\n//------------Date validation-------------------------------------\n checkDateValidity(date){ \n const mxDate = new Date();\n this.inputDate = date.singleDate.jsDate;\n\n if (this.inputDate > mxDate) {\n this.futureDateError = true;\n this.disabledsearchbtn = true;\n }\n else{\n this.futureDateError = false;\n this.disabledsearchbtn = false;\n }\n return this.futureDateError\n}\n\n}\n","
\n
\n
\n
\n
\n
\n \n\n
\n
\n
\n

User Audit Report

\n
\n \n
\n
\n
\n
\n \n
\n
\n \n \n\n
\n Please Enter a valid User Name\n
\n
\n \n \n \n
\n \n \n
\n
\n \n
\n \n\n
\n \n
\n
\n\n
\n Please Enter a valid Date Format\n
\n\n
\n Created Date should be less than or equal to current date\n
\n\n
\n
\n
\n
\n \n
\n
\n
\n \n \n
\n\n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n\n
\n \n
\n \n
\n \n
\n\n
\n \n
\n
\n \n\n
\n\n \n \n \n User Name\n Field Name\n Old Value\n New Value\n Created By\n Created / Updated Date & Time\n Action\n \n \n \n \n {{ _userAdut.userName }}\n {{ _userAdut.fieldValue }}\n {{_userAdut.oldValue}}\n {{_userAdut.newValue}}\n {{_userAdut.modifiedUser}}\n {{_userAdut.createdDate}} \n {{_userAdut.action}} \n \n \n No records found.\n \n\n \n \n
\n
\n \n \n \n
\n
\n \n
\n
\n\n
\n\n
\n
\n \n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { Constants } from '../Common/constant';\nimport { TokenService } from 'src/app/MasterService/token.service';\n\nexport class PaymentsReports {\n DebitAccountNumber:string; \n CreditAccountNumber:string; \n Amount:number;\n Comments:string;\n StructureTypeName:string;\n RefNo:string;\n Status:string;\n ExecutionDate: Date;\n UserName:string;\n datefilter:string;\n FromDate:string;\n ToDate:string;\n AccountNumber:string;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class PaymentsReportService {\n\n constructor(private http:HttpClient, public _token:TokenService) { }\n formData: PaymentsReports;\n readonly rootURL = Constants.apiURL + 'ReportsApi/';\n\n fnGetAllPaymentsReports(UserID: string): Observable{\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetAllPaymentsReports?UserId=' + UserID, httpOptions);\n }\n\n\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { Constants } from '../Common/constant';\nimport { RulesSummaryReports } from '../MasterService/RuleSummaryReports';\nimport { TokenService } from 'src/app/MasterService/token.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ruleSummaryReportService {\n\n constructor(private http:HttpClient,public _token:TokenService) { }\n formData: RulesSummaryReports;\n readonly rootURL = Constants.apiURL + 'BizRuleMasterApi/';\n\n fnGetRulesSummaryReports(UserID: string): Observable{\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetRuleSummaryReports?UserId=' + UserID, httpOptions);\n }\n\n fnGetSchemeList(UserID: string): Observable{\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetSchemeList?UserId=' + UserID, httpOptions);\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { SweepSummaryReports } from '../MasterService/SweepSummaryReports';\nimport { Constants } from '../Common/constant';\nimport { TokenService } from 'src/app/MasterService/token.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SweepSurmmaryReportsService {\n\n constructor(private http:HttpClient, public _token:TokenService) { }\n formData: SweepSummaryReports;\n readonly rootURL = Constants.apiURL + 'ReportsApi/';\n\n fnGetAllSweepSummaryReports(UserID: string): Observable{\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetAllSweepSummaryReports?UserId=' + UserID, httpOptions);\n }\n\n\n}\n","import { Component, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { NgForm } from '@angular/forms';\nimport { BizRuleService } from 'src/app/MasterService/Biz-RuleMaster.service';\nimport { BizRuleCreatedUpdated, AccountList } from 'src/app/MasterService/BIz-RuleMaster';\nimport { AccountMasterService } from 'src/app/MasterService/account-master.service';\nimport { AccountMaster } from 'src/app/MasterService/AccountMaster';\nimport { from } from 'rxjs';\nimport { escapeSelector } from 'jquery';\n\n@Component({\n selector: 'app-add-rule-master',\n templateUrl: './add-rule-master.component.html',\n styleUrls: ['./add-rule-master.component.css']\n})\nexport class AddRuleMasterComponent implements OnInit {\n lblTitle: string;\n disableButton: boolean;\n disableClear: boolean;\n showModal: boolean;\n lblMessage: string;\n showMsg: boolean;\n showerrormsg: boolean;\n editRuleId: number;\n\n BizRuleCreatedUpdated1: BizRuleCreatedUpdated[];\n createdBy: number;\n createdDate: string;\n userNameCreated: string;\n usernameUpdte: string;\n updtedDate: string;\n showCreatedDiv: boolean = false;\n showUpdatedDiv: boolean = false;\n\n Accounts: AccountList[];\n //AccountNumberList: AccountMaster[];\n finalList: any;\n FromAccountNumberList: any = [];\n TOAccountNumberList: any = [];\n validAccount: string = 'false';\n private _BizRuleMasterService: any;\n schemeID: number;\n schemeAcLinkId: number;\n corrporationCode: any;\n ParentAccount: AccountList[];\n ChildAccount: AccountList[];\n FilterParentAccount: AccountList[];\n FilterChildAccount: AccountList[];\n editRuleFlag: string;\n HideClr: boolean = false;\n AllChildAccountList: any[];\n\n constructor(private router: Router, public _bizRuleServic: BizRuleService,\n public _accountService: AccountMasterService) { }\n\n ngOnInit(): void {\n this.editRuleId = +localStorage.getItem('RuleId');\n this.editRuleFlag = localStorage.getItem('RuleFlag');\n this.corrporationCode = localStorage.getItem('CorporationCode');\n this.schemeID = +localStorage.getItem('SchemeID');\n this.schemeAcLinkId = +localStorage.getItem('SchemeLinkId');\n // this.GetAccountLinkingMasterData();\n if (this.editRuleId == 0) {\n // Add Biz Rule for \n this.lblTitle = 'Add Biz Rule for ' + localStorage.getItem('Schemename');\n }\n else {\n this.lblTitle = 'Edit Biz Rule for ' + localStorage.getItem('Schemename');;\n this.HideClr = true;\n }\n //Get biz rule by Id---\n this.GetBIZRuleData(this.editRuleId);\n\n if (this.editRuleId != 0) {\n this.fngetCreatedByUpdatedBy();\n }\n this.lblMessage = localStorage.getItem(\"Msg\");\n if (this.lblMessage == null || this.lblMessage == \"\") {\n this.onTop();\n } else {\n this.lblMessage == localStorage.getItem(\"Msg\");\n this.showMsg = true;\n this.showerrormsg = false;\n localStorage.removeItem(\"Msg\");\n this.onTop();\n }\n\n }\n//-----get BIz Rule By Id---------------\n GetBIZRuleData(editRuleId: number) {\n if (editRuleId > 0) {\n // this._spinner.show();\n // alert(\"Daa\");\n return this._bizRuleServic.fnGetBizRuleBySchemeId(this.editRuleId.toString()).subscribe(data => {\n this._bizRuleServic.formData = data[0];\n this._bizRuleServic.formData.ToAccountNumber = this._bizRuleServic.formData.ToSAccountNumber;\n if (this._bizRuleServic.formData.ToSAccountNumber == \"0\") {\n this._bizRuleServic.formData.ToAccountNumber = \"M\";\n }\n\n if (this._bizRuleServic.formData.TransactionType == \"Credit\")\n this.childAccountCreditOrDebit = \"Debit - \";\n else\n this.childAccountCreditOrDebit = \"Credit - \";\n\n if (this._bizRuleServic.formData.TransferType == 2 || this._bizRuleServic.formData.TransferType == 3) {\n this.isReadOnlyModeTransactionType = true;\n }\n else\n this.isReadOnlyModeTransactionType = false;\n\n //this.GetAccountLinkingMasterData()\n debugger\n this.fngetCreatedByUpdatedBy();\n this.GetAccountLinkingMasterData();\n //this._spinner.hide(); \n },\n (error) => {\n this.router.navigate([\"404\"]);\n return;\n });\n }\n else {\n this.GetAccountLinkingMasterData();\n this.schemeID = +localStorage.getItem('SchemeID')\n this.corrporationCode = localStorage.getItem('CorporationCode')\n this._bizRuleServic.formData = {\n Status: '1',\n RuleId: 0,\n SchemeId: this.schemeID,\n RuleName: '',\n FromAccountType: '',\n FromAccountNumber: null,\n Field: '',\n Condition: '',\n Value: '',\n ToAccountType: '',\n ToAccountNumber: null,\n TxValue: '',\n Priority: null,\n Frequency: '',\n TransactionType: '',\n msg: 0,\n CorporationCode: this.corrporationCode,\n //lblTitle:'Add Biz Rule',\n //status: '1',\n CreatedBy: 0,\n UpdatedBy: 0,\n CreatedDate: '',\n UpdatedDate: '',\n UserName: '',\n fromAccNumber: '',\n ParentBudgetAmt: '',\n ChildBudgetAmt: '',\n ToSAccountNumber: '',\n TransferType: null,\n TransferTypeValue: '',\n DateCreated: '',\n UserId:''\n }\n //this.lblNameTitle='Add Scheme Master';\n }\n }\n\n//----Back Button code-------------------\n\n BankButton() {\n this.router.navigate(['/ManageRulesMaster']);\n localStorage.removeItem(\"RuleId\");\n localStorage.removeItem(\"RuleFlag\");\n }\n hidelbl() {\n this.showMsg = false;\n }\n\n showerror() {\n this.showerrormsg = true;\n }\n hideerror() {\n this.showerrormsg = false;\n }\n isIDBIACcount: boolean = false;\n showParentAccountNumber: string;\n childSelectOnParentDropdown: boolean = true;\n ToAccountNumber : any;\n //Account Number filter----------------\n fnAccount(ToAccountType, FromAccountType, FromAccountId, ToAccountId) {\n this.ToAccountNumber = ToAccountId;//vaibhav 18/12/2020 14:44 PM\n this.AllChildAccountList = [];\n if (FromAccountId != \"\") {\n for (var l = 0; l < this.ParentAccount.length; l++) {\n if (FromAccountId == this.ParentAccount[l].AccountId) {\n //this.isIDBIACcount=this.ParentAccount[l].IsIDBIAccount;\n // this.ParentAccount[l].AccountNumber.includes('IDBI')\n if (this.ParentAccount[l].IsIDBIAccount == true) {\n this.isIDBIACcount = true;\n }\n else {\n this._bizRuleServic.formData.TransactionType = \"Credit\";\n this.childAccountCreditOrDebit = \"Debit - \";\n this.isIDBIACcount = false;\n }\n this.showParentAccountNumber = \"-\" + this.ParentAccount[l].AccountNumber;\n }\n }\n }\n this.FilterParentAccount = this.ParentAccount.filter(row => {\n return row.AccountType.toLocaleLowerCase().match(FromAccountType.toLocaleLowerCase());\n })\n this.FilterChildAccount = this.ChildAccount.filter(row => {\n return row.AccountType.toLocaleLowerCase().match(ToAccountType.toLocaleLowerCase());\n });\n if (FromAccountId != \"\")\n this.FilterChildAccount = this.FilterChildAccount.filter(row => {\n return row.AccountId != parseInt(FromAccountId);\n });\n if (FromAccountId == ToAccountId) {\n this._bizRuleServic.formData.ToAccountNumber = null;\n }\n if (ToAccountId == \"M\") {\n for (let item of this.FilterChildAccount) {\n if (item.AccountId != FromAccountId) {\n this.AllChildAccountList.push(item.AccountId);\n }\n }\n this.AllChildAccountList;\n }\n\n //this._bizRuleServic.formData.ToAccountNumber = null;\n this.TransactionTypeChange();\n }\n //----Only Number on Keypress-------------------------\n numberOnly(event): boolean {\n\n const charCode = (event.which) ? event.which : event.keyCode;\n if (charCode != 46 && charCode > 23 && (charCode < 48 || charCode > 57)) {\n\n return false;\n }\n return true;\n }\n\n GetAccountLinkingMasterData() {\n\n // this._accountService.fnGetAccountListForAccountLink(localStorage.getItem(\"LoginUserId\")).subscribe(res => {\n // this.Accounts = res.AccountsList;\n // this.ParentAccount = this.Accounts;\n // this.ChildAccount = this.Accounts;\n // this.fnAccount(this._bizRuleServic.formData.ToAccountType,\n // this._bizRuleServic.formData.FromAccountType,this._bizRuleServic.formData.FromAccountNumber\n // ,this._bizRuleServic.formData.ToAccountNumber);\n\n // },\n // (error)=>{\n // this.router.navigate([\"404\"]);\n // return;\n // });\n\n\n this._bizRuleServic.fnGetAccountList(this.schemeID.toString(), this.schemeAcLinkId.toString()).subscribe(res => {\n this.Accounts = res;\n this.ParentAccount = this.Accounts;\n this.ChildAccount = this.Accounts;\n this.fnAccount(this._bizRuleServic.formData.ToAccountType,\n this._bizRuleServic.formData.FromAccountType, this._bizRuleServic.formData.FromAccountNumber\n , this._bizRuleServic.formData.ToAccountNumber);\n\n },\n (error) => {\n this.router.navigate([\"404\"]);\n return;\n });\n }\n\n\n resetForm(form?: NgForm) {\n\n\n if (this.editRuleFlag == 'Edit' && this.editRuleId > 0) {\n if (form != null)\n this.onTop();\n //form.resetForm();\n this._bizRuleServic.formData = {\n Status: '1',\n RuleId: this.editRuleId,\n SchemeId: this.schemeID,\n RuleName: '',\n FromAccountType: '',\n FromAccountNumber: null,\n Field: '',\n Condition: '',\n Value: '',\n ToAccountType: '',\n ToAccountNumber: null,\n TxValue: '',\n Priority: null,\n Frequency: '',\n TransactionType: '',\n msg: 0,\n CorporationCode: this.corrporationCode,\n CreatedBy: 0,\n UpdatedBy: 0,\n CreatedDate: '',\n UpdatedDate: '',\n UserName: '',\n fromAccNumber: '',\n ParentBudgetAmt: '',\n ChildBudgetAmt: '',\n ToSAccountNumber: '',\n TransferType: null,\n TransferTypeValue: '',\n DateCreated: '',\n UserId:''\n }\n this.showMsg = false;\n this.showerrormsg = false;\n\n }\n else {\n if (form != null)\n form.resetForm();\n this.showMsg = false;\n this.showerrormsg = false;\n this._bizRuleServic.formData = {\n Status: '1',\n RuleId: 0,\n SchemeId: this.schemeID,\n RuleName: '',\n FromAccountType: '',\n FromAccountNumber: null,\n Field: '',\n Condition: '',\n Value: '',\n ToAccountType: '',\n ToAccountNumber: null,\n TxValue: '',\n Priority: null,\n Frequency: '',\n TransactionType: '',\n msg: 0,\n CorporationCode: this.corrporationCode,\n CreatedBy: 0,\n UpdatedBy: 0,\n CreatedDate: '',\n UpdatedDate: '',\n UserName: '',\n fromAccNumber: '',\n ParentBudgetAmt: '',\n ChildBudgetAmt: '',\n ToSAccountNumber: '',\n TransferType: null,\n TransferTypeValue: '',\n DateCreated: '',\n UserId :''\n }\n }\n }\n//---------Page Refresh---------------\n fnPageRefresh(form) {\n\n //if (this.editRuleFlag == 'Edit' && this.editRuleId > 0) { \n // this.resetForm(form);\n //this.onTop();\n // } \n\n this.resetForm(form)\n this.onTop();\n setTimeout(function () {\n this.document.location.reload();\n }, 1000);\n\n }\n\n\n\n check(FromAccount, ToAccount, fromID, toID) {\n\n if (FromAccount == ToAccount && fromID == toID) {\n return this.validAccount = 'true';\n // alert(this.validAccount)\n }\n else {\n return this.validAccount = 'false';\n // this.validAccount=='false';\n\n }\n }\n//-----Max priority-----------------\n MaxPriority(RuleId, Frequency) {\n\n this._bizRuleServic.fnGetBIZRulePriority(RuleId, Frequency, localStorage.getItem('SchemeID')).subscribe(res => {\n\n this._bizRuleServic.formData.Priority = res as number;\n\n },\n (error) => {\n this.router.navigate([\"404\"]);\n return;\n });\n }\n //----Hide error &Successful message------------\n fnHideSuccessMsg(event) {\n //Rubina added decfect 1977 -02/02/2021 \n if(event=='FromAccountchange'){\n this._bizRuleServic.formData.FromAccountNumber = null;\n }\n if(event=='childAccountChange'){\n this._bizRuleServic.formData.ToAccountNumber = null;\n }\n if(event=='TransferType'){\n this._bizRuleServic.formData.ToAccountType = \"\";\n this._bizRuleServic.formData.ToAccountNumber = null;\n }\n this.showMsg = false;\n this.showerrormsg = false;\n }\n\n onSubmit(form: NgForm) {\n var RuleName = this._bizRuleServic.formData.RuleName;\n RuleName = RuleName.replace(/\\s/g, \"\");\n if (RuleName == \"\") {\n this._bizRuleServic.formData.RuleName = RuleName;\n }\n if (this._bizRuleServic.formData.RuleName == \"\") {\n (Object).values(form.controls).forEach(control => {\n control.markAsTouched();\n });\n return false;\n }\n else{\n // this.disableButton = true; \n\n\n // if(this._bizRuleServic.formData.ToAccountNumber==\"0\"){\n // form.value.ToAccountNumber=\"\";\n // for (let item of this.AllChildAccountList){\n // form.value.ToAccountNumber = form.value.ToAccountNumber + ','+item;\n // }\n // form.value.ToAccountNumber = (form.value.ToAccountNumber.length && form.value.ToAccountNumber[0] == ',') ? form.value.ToAccountNumber.slice(1) : form.value.ToAccountNumber;\n // }\n // else{\n // this._bizRuleServic.formData.ToAccountNumber;\n // }\n /// FormData[\"ToAccountNumber\"]=this._bizRuleServic.formData.ToAccountNumber;\n //form.value.ToAccountNumber;\n if (form.value[\"RuleId\"] > 0) {\n form.value[\"UpdatedBy\"] = localStorage.getItem('LoginUserId');\n }\n else {\n form.value[\"CreatedBy\"] = localStorage.getItem('LoginUserId');\n }\n var postData = {};\n\n postData[\"Status\"] = form.value[\"Status\"];\n postData[\"RuleId\"] = form.value[\"RuleId\"];\n postData[\"SchemeId\"] = form.value[\"SchemeId\"];\n postData[\"RuleName\"] = form.value[\"RuleName\"];\n postData[\"FromAccountType\"] = form.value[\"FromAccountType\"];\n postData[\"FromAccountNumber\"] = form.value[\"FromAccountNumber\"];\n postData[\"Field\"] = form.value[\"Field\"];\n postData[\"Condition\"] = form.value[\"Condition\"];\n postData[\"Value\"] = form.value[\"Value\"];\n postData[\"ToAccountType\"] = form.value[\"ToAccountType\"];\n postData[\"ToAccountNumber\"] = form.value[\"ToAccountNumber\"];\n postData[\"TxValue\"] = form.value[\"TxValue\"];\n postData[\"Priority\"] = form.value[\"Priority\"];\n postData[\"Frequency\"] = form.value[\"Frequency\"];\n // if(this.isIDBIACcount){\n // debugger;\n // if(form.value[\"TransferType\"].toString() == \"2\" || form.value[\"TransferType\"].toString() == \"3\"){\n // postData[\"TransactionType\"] = \"Credit\";\n // }\n // else \n // postData[\"TransactionType\"] = this._bizRuleServic.formData.TransactionType;\n // }\n // else{\n // postData[\"TransactionType\"] = this._bizRuleServic.formData.TransactionType;\n // }\n postData[\"TransactionType\"] = this._bizRuleServic.formData.TransactionType;\n\n // if(form.value[\"TransferType\"].toString() == \"2\" || form.value[\"TransferType\"].toString() == \"3\"){\n // postData[\"TransactionType\"] = \"Debit\";\n // }\n // else \n // postData[\"TransactionType\"] = form.value[\"TransactionType\"];\n postData[\"CreatedBy\"] = form.value[\"CreatedBy\"];\n postData[\"UpdatedBy\"] = form.value[\"UpdatedBy\"];\n\n postData[\"msg\"] = form.value[\"msg\"];\n postData[\"CorporationCode\"] = form.value[\"CorporationCode\"];\n postData[\"ParentBudgetAmt\"] = form.value[\"ParentBudgetAmt\"];\n postData[\"ChildBudgetAmt\"] = form.value[\"ChildBudgetAmt\"];\n postData[\"CreatedDate\"] = form.value[\"CreatedDate\"];\n postData[\"UpdatedDate\"] = form.value[\"UpdatedDate\"];\n postData[\"UserName\"] = form.value[\"UserName\"];\n postData[\"fromAccNumber\"] = form.value[\"fromAccNumber\"];\n\n if (form.value[\"ToAccountNumber\"] == \"M\") {\n postData[\"ToAccountNumber\"] = [];\n this.AllChildAccountList.forEach(element => {\n var UserAccessObj = {};\n UserAccessObj[\"AccountId\"] = element;\n postData[\"ToAccountNumber\"].push(UserAccessObj);\n });\n postData[\"ToSAccountNumber\"] = \"M\";\n }\n else {\n postData[\"ToSAccountNumber\"] = form.value[\"ToAccountNumber\"];\n //postData[\"ToSAccountNumber\"] = 'S';\n }\n\n // if(this._bizRuleServic.formData.RuleId==0)\n\n // form.value.CreatedBy=+localStorage.getItem('LoginUserId');\n // else\n // form.value.UpdatedBy=+localStorage.getItem('LoginUserId');\n //form.value.TransactionType=\"Debit\";\n postData[\"TransferType\"] = form.value[\"TransferType\"];\n\n this._bizRuleServic.fnDublcateRuleName(postData[\"SchemeId\"], postData[\"RuleId\"], postData[\"RuleName\"]).subscribe(RuleNameExist => {\n if (RuleNameExist == true) {\n this.showMsg = false;\n this.showerrormsg = true;\n this.lblMessage = 'This Rule Name already exist for ' + localStorage.getItem('Schemename') + ' Scheme'; // this.disableButton = false;\n this.onTop();\n }\n else {\n this._bizRuleServic.fnSaveBIZMasterDetails(postData).subscribe(res => {\n debugger;\n if (res.RuleId == -1) {\n this.showMsg = false;\n this.showerrormsg = true;\n this.lblMessage = 'This priority already exist for- ' + res.Frequency + ' Frequency';\n // this.disableButton = false;\n this.onTop();\n }\n else {\n this.disableButton = false;\n this.lblMessage = this._bizRuleServic.formData.RuleId.toString() == \"0\" ||\n this._bizRuleServic.formData.RuleId.toString() == null ? \"Rule Added Successfully\" : \"Rule Updated Successfully\";\n //this._bizRuleServic.formData.RuleId =res.RuleId;\n this.lblMessage = res.RuleName + \" \" + this.lblMessage;\n\n if (this._bizRuleServic.formData.RuleId == 0) {\n document.location.reload();\n localStorage.setItem(\"Msg\", this.lblMessage);\n this.onTop();\n }\n else {\n this.showMsg = true\n this.showerrormsg = false;\n this.onTop();\n this.fngetCreatedByUpdatedBy();\n }\n\n\n //this.editRuleId=res.RuleId;\n\n\n // this.fngetCreatedByUpdatedBy();\n // this.fngetCreatedByUpdatedBy();\n }\n },\n (error) => {\n\n this.showMsg = false;\n this.showerrormsg = true;\n this.lblMessage = 'An error occured.';\n this.disableButton = false;\n this.onTop();\n this.router.navigate([\"404\"]);\n return;\n });\n\n }\n });\n }\n }\n //------On top method-----------------\n onTop() {\n window.scroll({\n top: 0,\n left: 0,\n behavior: 'smooth'\n })\n }\n//---------get Last updated & Created by------------ \n fngetCreatedByUpdatedBy() {\n this._bizRuleServic.fnGetCreatedNUpdatedNBIZRuleMaster(this.editRuleId.toString()).subscribe(userdates => {\n this.BizRuleCreatedUpdated1 = userdates;\n\n if (this.BizRuleCreatedUpdated1[0].CreatedDate != '') {\n this.showCreatedDiv = true;\n this.createdDate = this.BizRuleCreatedUpdated1[0].CreatedDate;\n this.userNameCreated = this.BizRuleCreatedUpdated1[0].UserName;\n }\n if (this.BizRuleCreatedUpdated1[1].UpdatedDate != '') {\n this.showUpdatedDiv = true;\n this.usernameUpdte = this.BizRuleCreatedUpdated1[1].UserName;\n this.updtedDate = this.BizRuleCreatedUpdated1[1].UpdatedDate;\n }\n },\n (error) => {\n this.router.navigate([\"404\"]);\n return;\n });\n }\n\n\n\n // getAcountNumber(AccountType){\n\n // //this.GetAccountLinkingMasterData();\n // this.FromAccountNumberList = [];\n // //this.FromAccountNumberList={};\n // // alert(this._bizRuleServic.formData.CorporationCode);\n\n // for (let item of this.Accounts)\n // {\n // if(item.AccountType==AccountType && item.CorporationCode==this.corrporationCode.toString())\n // {\n // var acc = {};\n // let c= this._bizRuleServic.formData.CorporationCode;\n // // let a=item.AccountNumber\n // //this.AccountNumberList.push(a);\n // acc[\"AccountNumber\"] = item.AccountNumber;\n // // this.AccountNumberList.push(item.AccountNumber);\n // this.FromAccountNumberList.push(acc);\n // //alert(this.AccountNumberList[\"AccountNumber\"])\n // }\n // }\n // \n\n // getAcountNumber2(FromAccountType,ToAccountType,fromID,toID){\n // this.TOAccountNumberList = [];\n\n // for (let item of this.Accounts)\n // {\n // if(item.AccountType==ToAccountType && item.CorporationCode==this.corrporationCode.toString())\n // {\n // if(FromAccountType==ToAccountType){\n // var acc = {};\n // let c= this._bizRuleServic.formData.CorporationCode;\n // acc[\"AccountNumber\"] = item.AccountNumber;\n // if(item.AccountNumber!=fromID)\n // {\n // this.TOAccountNumberList.push(acc);\n // }\n // }\n // else{\n // var acc = {};\n // let c= this._bizRuleServic.formData.CorporationCode;\n // let previacc=this._bizRuleServic.formData.FromAccountNumber;\n // // let a=item.AccountNumber\n // //this.AccountNumberList.push(a);\n // acc[\"AccountNumber\"] = item.AccountNumber;\n // // this.AccountNumberList.push(item.AccountNumber);\n // this.TOAccountNumberList.push(acc);\n // //alert(this.AccountNumberList[\"AccountNumber\"])\n // }\n // }\n // }\n // \n\n\n isReadOnlyModeTransactionType: boolean;\n childAccountCreditOrDebit: string = \"\";\n //-----Disbale Transaction textbox-------------\n disableTrancastion(tranferType) {\n\n if (tranferType == \"2\" || tranferType == \"3\" || tranferType == \"4\") {\n // if(this.isIDBIACcount==true){\n // this.isReadOnlyModeTransactionType = true;\n // // this._bizRuleServic.formData.TransactionType = \"Debit\";\n // }\n if (this.isIDBIACcount == false) {\n this._bizRuleServic.formData.TransactionType = \"Credit\";\n this.childAccountCreditOrDebit = \"Debit - \";\n //seema 21/12/2020 11:54 AM \n this.FilterChildAccount = this.FilterChildAccount.filter(row => { return row.IsIDBIAccount == true });\n if (this._bizRuleServic.formData.FromAccountNumber != \"\")\n this.FilterChildAccount = this.FilterChildAccount.filter(row => {\n return row.AccountId != parseInt(this._bizRuleServic.formData.FromAccountNumber);\n });\n }\n else {\n this.FilterChildAccount = this.FilterChildAccount.filter(row => { return row.IsIDBIAccount == false });\n if (this._bizRuleServic.formData.FromAccountNumber != \"\")\n this.FilterChildAccount = this.FilterChildAccount.filter(row => {\n return row.AccountId != parseInt(this._bizRuleServic.formData.FromAccountNumber);\n });\n }\n // this.isReadOnlyModeTransactionType = true;\n // this._bizRuleServic.formData.TransactionType = \"Debit\";\n\n\n }\n else {\n this.isReadOnlyModeTransactionType = false;\n this.FilterChildAccount = this.FilterChildAccount.filter(row => { return row.IsIDBIAccount == true });\n if (this._bizRuleServic.formData.FromAccountNumber != \"\")\n this.FilterChildAccount = this.FilterChildAccount.filter(row => {\n return row.AccountId != parseInt(this._bizRuleServic.formData.FromAccountNumber);\n });\n }\n if (this.ToAccountNumber == \"M\") {\n this.AllChildAccountList = [];\n for (let item of this.FilterChildAccount) {\n if (item.AccountId != parseInt(this._bizRuleServic.formData.FromAccountNumber)) {\n this.AllChildAccountList.push(item.AccountId);\n }\n }\n }\n\n if (tranferType == \"null\") {\n this._bizRuleServic.formData.TransferType = null;\n }\n }\n\n isIDBIAccountCredit: boolean;\n //----------Transaction type on change----\n TransactionTypeChange() {\n if (this._bizRuleServic.formData.TransactionType == \"Debit\") {\n this.childAccountCreditOrDebit = \"Credit - \";\n this.isIDBIAccountCredit = false;\n this.FilterChildAccount = this.FilterChildAccount;\n if (this._bizRuleServic.formData.FromAccountNumber != \"\")\n this.FilterChildAccount = this.FilterChildAccount.filter(row => {\n return row.AccountId != parseInt(this._bizRuleServic.formData.FromAccountNumber);\n });\n }\n else if (this._bizRuleServic.formData.TransactionType == \"Credit\") {\n this.childAccountCreditOrDebit = \"Debit - \";\n if (this.isIDBIACcount) {\n this._bizRuleServic.formData.TransferType = 1;\n this.isIDBIAccountCredit = true;\n this.FilterChildAccount = this.FilterChildAccount.filter(row => { return row.IsIDBIAccount == true });\n if (this._bizRuleServic.formData.FromAccountNumber != \"\")\n this.FilterChildAccount = this.FilterChildAccount.filter(row => {\n return row.AccountId != parseInt(this._bizRuleServic.formData.FromAccountNumber);\n });\n }\n else {\n this.isIDBIAccountCredit = false;\n // defect 1659-- this._bizRuleServic.formData.TransferType = 2;\n this.FilterChildAccount = this.FilterChildAccount.filter(row => { return row.IsIDBIAccount == true });\n }\n }\n if (this.ToAccountNumber == \"M\") {\n this.AllChildAccountList = [];\n for (let item of this.FilterChildAccount) {\n if (item.AccountId != parseInt(this._bizRuleServic.formData.FromAccountNumber)) {\n this.AllChildAccountList.push(item.AccountId);\n }\n }\n }\n this.disableTrancastion(this._bizRuleServic.formData.TransferType);\n }\n}\n","
\n
\n
\n
\n
\n
\n
\n \n
\n
\n

{{lblTitle}}

\n
\n \n
\n
\n \n
\n
\n
\n \n
\n
\n

* Marked Fields Are Mandatory.

\n \n
\n
\n
\n
\n
\n ×\n Success! {{lblMessage}}.\n
\n \n
\n ×\n Error! {{lblMessage}}.\n
\n \n
\n \n
\n
\n \n Rule Details \n
\n \n \n
\n \n \n
\n
\n Rule Name is required.\n
\n
\n Please provide a valid Rule Name.\n
\n
\n
\n
\n
\n \n
\n\n \n
\n \n \n \n
\n \n
\n \n \n \n
\n
\n
\n \n\n
\n \n
\n \n Condition Details \n
\n
\n \n \n
From Account Type is required
\n
\n
\n \n\n \n
\n From Account Number is required
\n
\n \n\n
\n
\n \n
\n \n \n \n \n
Field is required
\n
\n
\n \n \n
\n Condition is required
\n
\n
\n \n \n
\n Value is required
\n
\n
\n
\n
\n \n \n
\n \n Transaction Details \n \n
\n
\n \n \n \n \n\n \n Transaction Type is required\n
\n \n \n
\n
\n \n \n
\n Value is required
\n
\n
\n \n \n\n
\n Transfer Type is required
\n
\n \n \n
\n
\n
\n \n \n
To Account Type is required
\n
\n
\n \n \n
To Account Number is required
\n
From AccountNumber and To Account Number should not be same
\n \n
\n\n
\n \n
\n \n \n \n
\n
\n \n \n
\n \n
\n\n \n Created By {{ userNameCreated }} on {{ createdDate }}\n
\n \n Updated By {{ usernameUpdte }} on {{ updtedDate }}\n
\n \n\n \n\n\n
\n \n \n","import { Component, OnInit } from '@angular/core';\nimport { NgForm} from '@angular/forms';\nimport { SchemeMasterService } from '../../MasterService/scheme-master.service';\nimport { CustomerService } from '../../MasterService/customer.service';\nimport { Router,ActivatedRoute } from '@angular/router';\nimport { SchemeMaster, SchemeCreatedUpdated } from 'src/app/MasterService/SchemeMaster';\nimport { NgxSpinnerService } from \"ngx-spinner\";\nimport { AccountMasterService } from \"../../MasterService/account-master.service\";\nimport * as moment from 'moment';\nimport {IAngularMyDpOptions} from 'angular-mydatepicker';\nimport { RoleAccessService } from 'src/app/MasterService/role-access.service';\nimport { EncryptdecryptService } from 'src/app/MasterService/encryptdecrypt.service';\nimport { AccountMaster } from 'src/app/MasterService/AccountMaster';\n\n\n@Component({\n selector: 'app-add-scheme',\n templateUrl: './add-scheme.component.html',\n styleUrls: ['./add-scheme.component.css'],\n})\nexport class AddSchemeComponent implements OnInit {\n\n myDpOptions: IAngularMyDpOptions = {\n dateRange: false,\n dateFormat: 'dd-mm-yyyy'\n // other options are here...\n };\n\n //#region \n disableButton: boolean;\n\n showModal: boolean;\n \n lblMessage:string;\n SchemeId:number;\n schemeData:SchemeMaster;\n allCustomers: any =[];\n showMsg:boolean;\n showerrormsg:boolean;\n lblNameTitle:string;\n SchemeCreatedUpdated1:SchemeCreatedUpdated[];\n createdBy:number;\n createdDate:string;\n userNameCreated:string;\n usernameUpdte:string;\n updtedDate:string;\n showCreatedDiv:boolean=false;\n showUpdatedDiv:boolean=false;\n viewMode:string;\n IsViewMode:boolean;\n editedSchemeId:number;\n newdate:string;\n disableClear:boolean;\n validDate: boolean=true;\n HideClr :boolean= false;\n UserId:number;\n\n //new formdata and for maker checker flow\n editedSchemeInfo:any=[];\n CheckerPrivillage:boolean = false;\n IsPendingStatus:string;\n pendingStatus:boolean=false;\n deletePending:boolean=false;\n showApprovalInfo:string;\n disableStatus:boolean;\n buttonvalue:string;\n SchemeStartDate:string;\n EditedSchemeStartDate:string;\n inputDate: any;\n futureDateError: boolean=true;\n validStatus: boolean=true;\n IsEditApproved:boolean=false;\n schmeName:string;\n \n //#endregion\n\n constructor(public _schemeMasterService:SchemeMasterService,private router: Router,public _spinner:NgxSpinnerService, public _customerService:CustomerService\n ,public _AccountService: AccountMasterService,private _routeWithQuerystring: ActivatedRoute ,public _roleAccess:RoleAccessService \n ,public _encrypt:EncryptdecryptService) { }\n \n ngOnInit(): void {\n this.onTop();\n this.hideerror();\n this.hidelbl();\n \n if(localStorage.getItem('LoginUserId')==null){\n this.router.navigate([\"\"]);\n return;\n }\n\n this.lblMessage = localStorage.getItem(\"Msg\"); \n if (this.lblMessage == null || this.lblMessage == \"\") {\n \n }else{\n this.lblMessage == localStorage.getItem(\"Msg\");\n this.showMsg = true;\n this.showerrormsg = false;\n localStorage.removeItem(\"Msg\");\n this.onTop();\n }\n\n this.editedSchemeId = +localStorage.getItem('SchemeDataId');\n this.UserId = +this._encrypt.decryptUsingAES256(localStorage.getItem('LoginUserId'));\n\n this._routeWithQuerystring.queryParams.subscribe(params => {\n this.viewMode = params[\"viewMode\"];\n });\n\n if (this.viewMode == 'view') {\n this.disableButton = true;\n \n this.disableClear=true;\n }\n this.GetPrivillageRoles(); \n this.fnGetAllCustomerDetails();\n //this.GetEditedSchemeData(this.editedSchemeId);\n \n if (this.editedSchemeId > 0){\n this.fnGetCreatedNUpdatedScheme();\n }\n if(this.editedSchemeId == 0)\n this.lblNameTitle ='Add Scheme Master';\n }\n\n //#region \n fnHideSuccessMsg(event)\n { \n this.showMsg = false;\n this.showerrormsg = false; \n }\n hidelbl(){\n this.showMsg = false;\n }\n showerror(){\n this.showerrormsg = true;\n }\n hideerror(){\n this.showerrormsg = false;\n }\n //#endregion\n\n IsAuthorize:boolean = false;\n //#region \n GetSchemeData(schedmid:number){ \n if(schedmid > 0){\n this._spinner.show();\n\n if (this.viewMode == 'view') {\n this.lblNameTitle='View Scheme Master';\n this.disableButton = true;\n \n this.IsViewMode = true;\n }\n else if(this.viewMode == \"authorize\"){\n this.IsAuthorize = true;\n this.lblNameTitle='Edit Scheme Master';}\n else{\n this.lblNameTitle='Edit Scheme Master';\n this.disableButton = false;\n this.HideClr=true;\n this.IsViewMode = false;\n }\n \n \n return this._schemeMasterService.fnGetSchemeBySchemeId(schedmid.toString()).subscribe(data=>{ \n this._schemeMasterService.formData=data[0];\n this.ChangeCorporationCode(\"\",this._schemeMasterService.formData.CustomerId);\n\n if(this._schemeMasterService.formData.AccountId == 0) \n this._schemeMasterService.formData.AccountId = null;\n \n this.showApprovalInfo=this._schemeMasterService.formData.StatusTitle;\n if (data[0].SchemestartDate != null) {\n\n var _savedStartDate = { \n isRange : false, \n singleDate : { date : { year :0, month :0, day :0}, jsDate:\"\",formatted:\"\",epoc:\"\"},\n dateRange:null\n };\n\n var newObj = moment(data[0].SchemestartDate).toObject();\n _savedStartDate.singleDate.date.day = newObj.date;\n _savedStartDate.singleDate.date.month = newObj.months+1;\n _savedStartDate.singleDate.date.year = newObj.years;\n\n this._schemeMasterService.formData.SchemestartDate=_savedStartDate;\n }\n\n if (this._schemeMasterService.formData.SchemestartDate.singleDate.date.month >= \"10\") {\n this.SchemeStartDate = this._schemeMasterService.formData.SchemestartDate.singleDate.date.day+\"-\"+\n this._schemeMasterService.formData.SchemestartDate.singleDate.date.month+\"-\"+this._schemeMasterService.formData.SchemestartDate.singleDate.date.year;\n }\n else {\n this.SchemeStartDate = this._schemeMasterService.formData.SchemestartDate.singleDate.date.day+\"-0\"+\n this._schemeMasterService.formData.SchemestartDate.singleDate.date.month+\"-\"+this._schemeMasterService.formData.SchemestartDate.singleDate.date.year;\n }\n\n this.IsPendingStatus=String(this._schemeMasterService.formData.reviewstatus );\n if(this.IsPendingStatus==\"1\" || this.IsPendingStatus==\"4\" || this.IsPendingStatus ==\"7\"){\n this.pendingStatus=true; \n this.showApprovalInfo=this.showApprovalInfo; \n }\n\n if(this.IsPendingStatus ==\"7\"){\n this.deletePending=true; \n }\n\n if(this.CheckerPrivillage == true && (this._schemeMasterService.formData.Createdby != this.UserId))\n this.buttonvalue = \"Verify\";\n else\n this.buttonvalue = \"Submit\"; \n\n if(this.viewMode == \"view\")\n this.disableButton = true;\n else{\n if((this.IsPendingStatus ==\"4\" || this.IsPendingStatus ==\"7\" || this.IsPendingStatus ==\"1\") && this._schemeMasterService.formData.Createdby == this.UserId)\n this.disableButton = true;\n else if((this.IsPendingStatus ==\"4\" || this.IsPendingStatus ==\"7\" || this.IsPendingStatus ==\"1\") && !this.CheckerPrivillage)\n this.disableButton = true;\n else \n this.disableButton = false; \n }\n if(this.IsPendingStatus==\"2\" || this.IsPendingStatus==\"3\" || this.IsPendingStatus==\"4\" || this.IsPendingStatus==\"5\" || this.IsPendingStatus==\"6\" || this.IsPendingStatus==\"9\" || this.IsPendingStatus==\"7\" ){\n this.IsEditApproved=true;\n }\n\n if(this.CheckerPrivillage) {\n if(this.CheckerPrivillage && (this.IsPendingStatus == \"2\" || this.IsPendingStatus == \"3\" || this.IsPendingStatus == \"5\" || this.IsPendingStatus == \"6\"\n || this.IsPendingStatus == \"8\" || this.IsPendingStatus == \"9\") && this._schemeMasterService.formData.Createdby != this.UserId){\n this.disableButton = true;\n }\n else if(this.CheckerPrivillage && (this._schemeMasterService.formData.Createdby == this.UserId) && (this.IsPendingStatus ==\"4\" || this.IsPendingStatus ==\"7\" || this.IsPendingStatus ==\"1\")){\n this.disableButton = true;\n this.disableStatus = true;\n if (this._schemeMasterService.formData.Status == 2){\n this._schemeMasterService.formData.Status = null;\n }\n }\n else{\n if (this._schemeMasterService.formData.Status == 2){\n this._schemeMasterService.formData.Status = null;\n }\n this.disableButton = false;\n }\n if(this.viewMode == \"edit\" && this.CheckerPrivillage && this._schemeMasterService.formData.Createdby != this.UserId)\n this.disableButton = true; \n }\n if(this.IsPendingStatus ==\"8\"){\n this.disableButton=true; \n }\n setTimeout(() => {\n this._spinner.hide();\n }, 200); \n },\n (error)=>{\n this.router.navigate([\"404\"]);\n return;\n }); \n }\n else{\n this._schemeMasterService.formData = {\n SchemeId:0,\n SchemeName:'',\n BudgetAmount:null,\n UtilizedAmount:'0',\n UnutilizedAmount:null,\n TransferLimit:null,\n SweepAmount:null,\n SchemestartDate:'',\n Createdby:1,\n Updatedby:1,\n CorporationCode:'',\n CreatedDate:'',\n UpdatedDate:'',\n msg:'',\n lblTitle:'Add Scheme Master',\n btnTitle:'Submit',\n Status:2 ,\n StatusTitle:'',\n CustomerId:null,\n SchAccLinkId:0,\n SchAccLinkStatus:0,\n SchAccLinkStatusTitle:'',\n CreatedName:'',\n UpdatedName:'',\n reviewstatus:null,RequestType:\"\",\n sclinkCreatedBy: null,\n AccountId:null,\n outputjson:null,\n AccountName:''\n }\n this.buttonvalue = \"Submit\"; \n this.lblNameTitle='Add Scheme Master';\n this.editedSchemeInfo = this._schemeMasterService.formData;\n }\n }\n\n GetEditedSchemeData(schemeid){\n if(this.editedSchemeId > 0){\n return this._schemeMasterService.fnGetEditedSchemeBySchemeId(schemeid.toString()).subscribe(data=>{ \n \n this.editedSchemeInfo=data;\n\n let list = this.allCustomers.filter(x => x.CustPkId === this.editedSchemeInfo.CustomerId)[0];\n if(list==undefined){ } \n else{\n this.editedSchemeInfo.CorporationCode =list.CorporationCode;\n } \n \n this._schemeMasterService.fnGetAccountListForSchemeParentAccount(localStorage.getItem(\"LoginUserId\"),this.editedSchemeInfo.CustomerId).subscribe(res => {\n this.Accounts = res.AccountsList;\n this.FilteredAccountList = res.AccountsList;\n let list1 = this.FilteredAccountList.filter(x => x.AccountId === this.editedSchemeInfo.AccountId)[0];\n if(list1==undefined){ } \n else{\n this.editedSchemeInfo.ParentAccountNumber = list1.ParentAccountNumber;\n }\n }); \n\n if (data.SchemestartDate != null) {\n\n var _savedStartDate = { \n isRange : false, \n singleDate : { date : { year :0, month :0, day :0}, jsDate:\"\",formatted:\"\",epoc:\"\"},\n dateRange:null\n };\n\n var newObj = moment(data.SchemestartDate).toObject();\n _savedStartDate.singleDate.date.day = newObj.date;\n _savedStartDate.singleDate.date.month = newObj.months+1;\n _savedStartDate.singleDate.date.year = newObj.years;\n\n this.editedSchemeInfo.SchemestartDate=_savedStartDate;\n\n if (this.editedSchemeInfo.SchemestartDate.singleDate.date.month >= \"10\") {\n this.EditedSchemeStartDate = this.editedSchemeInfo.SchemestartDate.singleDate.date.day+\"-\"+\n this.editedSchemeInfo.SchemestartDate.singleDate.date.month+\"-\"+this.editedSchemeInfo.SchemestartDate.singleDate.date.year;\n }\n else {\n this.EditedSchemeStartDate = this.editedSchemeInfo.SchemestartDate.singleDate.date.day+\"-0\"+\n this.editedSchemeInfo.SchemestartDate.singleDate.date.month+\"-\"+this.editedSchemeInfo.SchemestartDate.singleDate.date.year;\n }\n }\n // this.fnGetCreatedNUpdatedScheme();\n \n },\n (error)=>{\n this.router.navigate([\"404\"]);\n return;\n });\n }\n else{\n this.editedSchemeInfo = this._schemeMasterService.formData;\n }\n }\n //#endregion\n\n //#region \n show() { this.showModal = true; }\n hide() { this.showModal = false; }\n //#endregion\n\n //reset form\n resetForm(form?: NgForm) {\n if (this.editedSchemeId > 0) {\n this._schemeMasterService.formData = {\n SchemeId:0,\n SchemeName:'',\n BudgetAmount:'',\n UtilizedAmount:'0',\n UnutilizedAmount:'',\n TransferLimit:'',\n SweepAmount:'',\n SchemestartDate:'',\n Createdby:1,\n Updatedby:1,\n CorporationCode:'',\n CreatedDate:'',\n UpdatedDate:'',\n msg:'',\n lblTitle:'Edit Scheme Master',\n btnTitle:'Submit', \n Status:2,\n StatusTitle:'',\n CustomerId:null,\n SchAccLinkId:0,\n SchAccLinkStatus:0,\n SchAccLinkStatusTitle:'',\n CreatedName:'',\n UpdatedName:'',\n reviewstatus:null,RequestType:\"\",\n sclinkCreatedBy:null,\n AccountId:null,\n outputjson:null,\n AccountName:''\n }\n this.lblNameTitle='Edit Scheme Master';\n }\n else{\n if (form != null){\n form.resetForm();\n }\n \n this._schemeMasterService.formData = {\n SchemeId:0,\n SchemeName:'',\n BudgetAmount:'',\n UtilizedAmount:'0',\n UnutilizedAmount:'',\n TransferLimit:'',\n SweepAmount:'',\n SchemestartDate:'',\n Createdby:1,\n Updatedby:1,\n CorporationCode:'',\n CreatedDate:'',\n UpdatedDate:'',\n msg:'',\n lblTitle:'Add Scheme Master',\n btnTitle:'Submit', \n Status:2,\n StatusTitle:'',\n CustomerId:null,\n SchAccLinkId:0,\n SchAccLinkStatus:0,\n SchAccLinkStatusTitle:'',\n CreatedName:'',\n UpdatedName:'',\n reviewstatus:null,RequestType:\"\",\n sclinkCreatedBy:null,\n AccountId:null,\n outputjson:null,\n AccountName:''\n }\n this.lblNameTitle='Add Scheme Master';\n }\n \n this._spinner.hide();\n }\n\n // get customer data for corporation dropdown\n fnGetAllCustomerDetails() {\n this._customerService.fnGetCustomerCorporationCode(localStorage.getItem(\"LoginUserId\")).subscribe(data =>{\n data.forEach(element=>{\n if(element[\"Status\"] == \"Active\")\n this.allCustomers.push(element);\n });\n this.GetEditedSchemeData(this.editedSchemeId);\n },\n (error)=>{\n this.router.navigate([\"404\"]);\n return;\n });\n }\n\n getDate(date){\n \n if(date.year >= 9999 || date.year<=999){\n this.validDate=false;\n }\n else{\n this.validDate = true;\n }\n }\n\n output:string=\"\";\n AccountIdChange(){\n var AccountNumber = \"\";\n var AccountBalance = \"\";\n var AccountName = \"\";\n \n let accountNo = this.editedSchemeInfo.ParentAccountNumber.split(\"-\");\n accountNo = accountNo[1].toString().trim(); \n let list = this.FilteredAccountList.filter(x => x.AccountNumber === accountNo)[0];\n if(list==undefined){ } \n else{\n this.editedSchemeInfo.AccountId = list.AccountId;\n } \n\n for(var i=0 ; i< this.FilteredAccountList.length; i++){\n if(this.editedSchemeInfo.AccountId == this.FilteredAccountList[i].AccountId){\n AccountNumber = this.FilteredAccountList[i].AccountNumber;\n AccountBalance = this.FilteredAccountList[i].CurrentBalance;\n AccountName = this.FilteredAccountList[i].AccountName;\n\n\n this.output = '{\"html\":\"

A/C Name - '+AccountName+'
A/C No - '+AccountNumber+'

Scheme Balance - Rs '+ this.editedSchemeInfo.UnutilizedAmount +'

Account Balance - Rs '+AccountBalance+'

Execute

\",\"blockarr\":[{\"parent\":-1,\"childwidth\":0,\"id\":0,\"x\":742,\"y\":302,\"width\":242,\"height\":120}],\"blocks\":[{\"id\":0,\"parent\":-1,\"data\":[{\"name\":\"AccountId\",\"value\":\"' + this.editedSchemeInfo.AccountId + '\"},{\"name\":\"AccountNumber\",\"value\":\"'+AccountNumber+'\"},{\"name\":null,\"value\":\"\"},{\"name\":null,\"value\":\"\"},{\"name\":\"BankName\",\"value\":\"IDBI Bank\"},{\"name\":\"blockid\",\"value\":\"0\"}],\"attr\":[{\"class\":\"noselect block\"},{\"id\":\"sc'+AccountNumber+'tree\"},{\"style\":\"left: 616px; top: 116px;\"}]}]}';\n }\n }\n }\n\n //onsubmit function\n onSubmit(form: NgForm) { \n debugger\n if(this.IsViewMode == true || this.IsEditApproved == true || this.IsAuthorize == true){\n form.value[\"AccountId\"] = this._schemeMasterService.formData.AccountId;\n }\n else{\n if(form.value[\"AccountId\"] == undefined)\n form.value[\"AccountId\"] = this.editedSchemeInfo.AccountId;\n }\n var SchemeName = this.editedSchemeInfo.SchemeName;\n SchemeName = SchemeName.replace(/\\s/g, \"\");\n if (SchemeName == \"\") {\n this.editedSchemeInfo.SchemeName = SchemeName;\n }\n if (this.editedSchemeInfo.SchemeName == \"\" || this.editedSchemeInfo.AccountId == null \n || this.editedSchemeInfo.CorporationCode == \"\") {\n (Object).values(form.controls).forEach(control => {\n control.markAsTouched();\n });\n return false;\n }\n else{\n if (form.valid && this.validDate==true && this.futureDateError==true && this.validStatus == true) {\n this.disableButton=true;\n }\n \n if (form.value.SchemestartDate.singleDate.date.month >= \"10\") {\n this.newdate = form.value.SchemestartDate.singleDate.date.year+\"-\"+form.value.SchemestartDate.singleDate.date.month+\"-\"+form.value.SchemestartDate.singleDate.date.day;\n }\n else {\n this.newdate = form.value.SchemestartDate.singleDate.date.year+\"-0\"+form.value.SchemestartDate.singleDate.date.month+\"-\"+form.value.SchemestartDate.singleDate.date.day;\n }\n\n let list = this.allCustomers.filter(x => x.CorporationCode === form.value.CustomerId)[0];\n if(list==undefined){ } \n else{\n form.value[\"CustomerId\"] =list.CustPkId;\n } \n\n if(this.editedSchemeId >0){ \n form.value[\"CustomerId\"]=this.editedSchemeInfo.CustomerId;\n }\n if(this.validDate == true && this.futureDateError==true && this.validStatus == true){\n // form .value.Updatedby = form.value.Createdby = +localStorage.getItem('LoginUserId');\n \n this._schemeMasterService.fnSchemeNameduplicate(form.value.SchemeName,form.value.SchemeId).subscribe(schemeExist => {\n \n if (schemeExist == 1) {\n this.showMsg = false;\n this.showerrormsg = true;\n this.lblMessage = 'Scheme Name already exists, Please enter new Scheme name.';\n this.onTop();\n this.disableButton = false;\n return false;\n }\n else{\n form.value.userid = localStorage.getItem('LoginUserId');\n\n if (form.value.SchemeId == 0) {\n if (this.editedSchemeId > 0)\n form.value.SchemeId = this.editedSchemeId;\n }\n \n form.value[\"SchemestartDate\"] = this.newdate;\n form.value[\"Status\"] = this._schemeMasterService.formData.Status;\n if(this.IsViewMode == true || this.IsEditApproved == true || this.IsAuthorize == true){\n form.value[\"AccountId\"] = this._schemeMasterService.formData.AccountId;\n }else{\n form.value[\"AccountId\"]=this.editedSchemeInfo.AccountId;\n }\n if (this.editedSchemeId > 0)\n form.value.reviewstatus=this._schemeMasterService.formData.reviewstatus; \n \n if (this.editedSchemeId > 0){\n form.value.reviewstatus=this._schemeMasterService.formData.reviewstatus; \n localStorage.setItem(\"BackPageStatus\",\"Active\");\n }\n else\n form.value.reviewstatus=1;\n \n if(!this.CheckerPrivillage || (this.CheckerPrivillage && this._schemeMasterService.formData.Createdby == this.UserId)){\n form.value.Status=2;//pending\n if(this._schemeMasterService.formData.reviewstatus==2 || this._schemeMasterService.formData.reviewstatus == 3 || this._schemeMasterService.formData.reviewstatus == 5 ||\n this._schemeMasterService.formData.reviewstatus == 6 || this._schemeMasterService.formData.reviewstatus == 8 || this._schemeMasterService.formData.reviewstatus == 9) { \n form.value.reviewstatus=4;//Edit approval pending\n localStorage.setItem(\"BackPageStatus\",\"Pending\");\n } \n else{ \n form.value.reviewstatus=1;//Add approval pending\n localStorage.setItem(\"BackPageStatus\",\"Pending\")\n\n }\n }\n\n if(this.editedSchemeId >0){ \n form.value[\"CustomerId\"]=this.editedSchemeInfo.CustomerId;\n //seema 18/01/2020 17:11 PM\n if(this.output != \"\" && this._schemeMasterService.formData.AccountId != this.editedSchemeInfo.AccountId){\n form.value[\"outputjson\"] = this.output;\n }\n else{\n form.value[\"outputjson\"] = \"\";\n }\n }\n else {\n form.value[\"outputjson\"] = this.output;\n } \n\n - \n this._schemeMasterService.fnAddEditScheme(form.value).subscribe(res => {\n this.IsEditApproved=true;\n if(this.CheckerPrivillage && (res.reviewstatus == 2 || res.reviewstatus == 3 || res.reviewstatus == 5 || res.reviewstatus == 6\n || res.reviewstatus == 8 || res.reviewstatus == 9)){\n this.disableButton = true;\n }\n else if (res.reviewstatus == 4) {\n this.disableButton = true;\n }\n else{\n this.disableButton = false;\n }\n \n var _savedStartDate = { \n isRange : false, \n singleDate : { date : { year :0, month :0, day :0}, jsDate:\"\",formatted:\"\",epoc:\"\"},\n dateRange:null\n };\n \n var newObj = moment(res.SchemestartDate).toObject();\n \n _savedStartDate.singleDate.date.day = newObj.date;\n _savedStartDate.singleDate.date.month = newObj.months+1;\n _savedStartDate.singleDate.date.year = newObj.years;\n this._schemeMasterService.formData.SchemestartDate = _savedStartDate; \n \n \n if(this.CheckerPrivillage && this._schemeMasterService.formData.Createdby != this.UserId && res.reviewstatus == 6 && res.Status == 0) {\n this.lblMessage = this._schemeMasterService.formData.SchemeName + \" \" + res.msg;\n } \n else\n this.lblMessage =res.SchemeName + \" \" + res.msg;\n \n if (this.editedSchemeId > 0){\n\n this.fnGetCreatedNUpdatedScheme();\n this.showMsg = true\n this.onTop();\n }\n else{\n document.location.reload();\n localStorage.setItem(\"Msg\",this.lblMessage);\n this.onTop();\n }\n },\n (error)=>{\n this.showMsg = false;\n this.showerrormsg = true;\n this.lblMessage = 'An error occured.';\n this.disableButton = false;\n this.onTop();\n this.router.navigate([\"404\"]);\n return;\n }); \n }\n });\n }\n }\n }\n\n //check status is valid or not \n checkStatusVlidaity(status) {\n this._schemeMasterService.formData.Status = status;\n if (this.CheckerPrivillage == true) {\n if (status == \"null\") {\n this.validStatus = false;\n }\n else {\n this.validStatus = true;\n }\n }\n }\n\n //Back button function\n BackButton(){\n this.router.navigate(['/ManageScheme']);\n }\n\n //scroll on top\n onTop(){\n window.scroll({\n top: 0,\n left: 0,\n behavior:'smooth'\n })\n }\n\n //update and create user history\n fnGetCreatedNUpdatedScheme(){\n this._schemeMasterService.fnGetCreatedNUpdatedUserMaster(this.editedSchemeId.toString()).subscribe(userdates=>{\n this.SchemeCreatedUpdated1=userdates;\n \n if(this.SchemeCreatedUpdated1[0].CreatedDate != ''){\n this.showCreatedDiv=true;\n this.createdDate=this.SchemeCreatedUpdated1[0].CreatedDate\n this.userNameCreated=this.SchemeCreatedUpdated1[0].UserName;\n }\n if(this.SchemeCreatedUpdated1[1].UpdatedDate != ''){\n this.showUpdatedDiv=true;\n this.usernameUpdte=this.SchemeCreatedUpdated1[1].UserName;\n this.updtedDate=this.SchemeCreatedUpdated1[1].UpdatedDate;\n }\n\n },\n (error)=>{\n this.router.navigate([\"404\"]);\n return;\n });\n }\n\n //refresh the form\n fnPageRefresh(form){\n if (this.editedSchemeId > 0) { \n this.resetForm(form);\n this.onTop();\n } \n else {\n this.resetForm(form)\n this.onTop();\n \n document.location.reload();\n \n }\n }\n\n //tab function\n onKeyDown(event: KeyboardEvent) {\n \n let a= (event.charCode == 8 || event.charCode == 45 || event.charCode == 0 ) ? null : event.charCode >= 48 && event.charCode <= 57;\n return a;\n }\n\n //get role privillage\n GetPrivillageRoles(){ \n this._roleAccess.fnGetRoleAccess(localStorage.getItem('LoginUserId'),'/ManageScheme').subscribe(roleAccess=>{ \n this.CheckerPrivillage=roleAccess[0].CheckerAccess;\n if(this.CheckerPrivillage==true){\n\n }\n else{\n this.CheckerPrivillage=false;\n }\n this.GetSchemeData(this.editedSchemeId);\n },\n (error)=>{\n this.router.navigate([\"404\"]);\n return;\n });\n }\n\n //number only\n numberOnly(event): boolean {\n const charCode = (event.which) ? event.which : event.keyCode;\n if (charCode != 46 && charCode > 31 && (charCode < 48 || charCode > 57)){\n return false;\n }\n return true;\n }\n\n // check valid date \n CheckDateValidity(date){\n \n const mxDate = new Date();\n this.inputDate =date.singleDate.jsDate;\n if (this.inputDate < mxDate || this.inputDate == mxDate) {\n this.futureDateError = false;\n }\n else{\n this.futureDateError = true;\n }\n return this.futureDateError;\n }\n\n //change untilized amount\n ChangeUnulizedAmount(){\n if(this.editedSchemeInfo.BudgetAmount > 0 && this.editedSchemeInfo.BudgetAmount != null){\n if(this.editedSchemeInfo.UtilizedAmount == null || this.editedSchemeInfo.UtilizedAmount == undefined)\n this.editedSchemeInfo.UnutilizedAmount = this.editedSchemeInfo.BudgetAmount;\n else\n this.editedSchemeInfo.UnutilizedAmount = this.editedSchemeInfo.BudgetAmount - this.editedSchemeInfo.UtilizedAmount;\n }\n else{\n this.editedSchemeInfo.UnutilizedAmount = 0;\n } \n }\n\n // #region \n Accounts:AccountMaster[];\n FilteredAccountList:AccountMaster[];\n ChangeCorporationCode(CorporationCode,CustomerId){\n this._spinner.show();\n this.editedSchemeInfo.ParentAccountNumber=null;\n if(CustomerId == \"0\"){\n let list = this.allCustomers.filter(x => x.CorporationCode === CorporationCode)[0];\n if(list==undefined){ CustomerId = 0;} \n else{\n CustomerId =list.CustPkId;\n } \n }\n this._schemeMasterService.fnGetAccountListForSchemeParentAccount(localStorage.getItem(\"LoginUserId\"),CustomerId).subscribe(res => {\n this.Accounts = res.AccountsList;\n this.FilteredAccountList = res.AccountsList;\n this._spinner.hide();\n });\n \n // if(this.Accounts == undefined || this.Accounts.length == 0){\n // this._AccountService.fnGetAccountListForAccountLink(localStorage.getItem(\"LoginUserId\"),CustomerId).subscribe(res => {\n // this.Accounts = res.AccountsList;\n // this.FilteredAccountList = this.Accounts.filter(row => { return (row.CustomerId == +CustomerId); });\n // });\n // }\n // else{\n // this.FilteredAccountList = this.Accounts.filter(row => { return (row.CustomerId == +CustomerId); });\n // }\n }\n //--------------------------\n handleKeyboardEvent(event) {\n debugger;\n var target = event.target;\n if(this.IsViewMode == true || this.IsEditApproved == true || this.IsAuthorize == true){\n event.returnValue = false;\n target.value = this._schemeMasterService.formData.AccountId;\n event.preventDefault();\n }\n }\n handleKeyboardEventForUnutilized(event) {\n event.returnValue = false;\n event.preventDefault();\n }\n //#endregion\n}\n","
\n
\n
\n
\n
\n
\n
\n \n
\n
\n

{{lblNameTitle}}

\n \n
\n
\n \n
\n
\n
\n \n
\n
\n
\n \n
\n
\n

* Marked Fields Are Mandatory.

\n \n
\n
\n
\n
\n
\n ×\n Success! {{lblMessage}}.\n
\n\n
\n ×\n Error! {{lblMessage}}.\n
\n\n
\n \n
\n\n
\n \n
\n \n\n \n\n \n \n\n {{_schemeMasterService.formData.SchemeName}} \n \n\n
\n
\n This Scheme Name is required\n
\n \n
\n Please provide a valid Scheme Name.\n
\n
\n \n
\n \n\n
\n \n \n \n {{_schemeMasterService.formData.BudgetAmount}} \n \n\n
This Budget Amount is required
\n
\n\n
\n \n \n \n {{_schemeMasterService.formData.UtilizedAmount}} \n \n\n
\n This Utilized Amount is required
\n
\n \n
\n \n
\n
\n \n \n \n {{_schemeMasterService.formData.UnutilizedAmount}} \n \n\n
\n This Unutilized Amount is required
\n
\n \n
\n \n \n \n {{_schemeMasterService.formData.TransferLimit}} \n \n\n
This Transfer Limit is required
\n
\n
\n\n \n\n \n\n \n\n
\n \n\n
\n \n
\n
\n\n {{SchemeStartDate}} \n \n\n
\n This Scheme start Date is required\n
\n
\n Enter a valid date in DD-MM-YYYY format \n
\n
\n Enter a valid date in YYYY-MM-DD format \n
\n
\n Date should be greater than current date\n
\n\n
\n\n \n
\n\n
\n\n \n\n
\n \n \n \n \n\n \n \n \n \n \n \n {{_schemeMasterService.formData.CorporationCode}} \n \n\n
This Corporation Code is required
\n
\n\n \n \n\n
\n
\n \n \n \n {{_schemeMasterService.formData.AccountName}} \n \n
\n Parent Account is required\n
\n
\n\n\n
\n
\n \n {{showApprovalInfo}} \n
\n This Status is required
\n
\n \n
\n
\n \n {{showApprovalInfo}} \n
\n This Status is required
\n
\n
\n
\n
\n \n\n \n
\n
\n\n \n Created By {{ userNameCreated }} on {{ createdDate }}\n
\n \n Updated By {{ usernameUpdte }} on {{ updtedDate }}\n
\n \n \n
\n
\n \n \n \n \n \n
\n
\n
\n
\n

Confirmation

\n \n
\n
\n {{lblMessage}}\n
\n
\n \n
\n
\n
\n
\n\n \n ","import { Component, OnInit } from '@angular/core';\nimport { SchemeMasterService } from 'src/app/MasterService/scheme-master.service';\nimport { Router } from '@angular/router';\nimport { BizRuleService } from 'src/app/MasterService/Biz-RuleMaster.service';\nimport { BizRule } from 'src/app/MasterService/BIz-RuleMaster';\nimport { AccountMasterService } from 'src/app/MasterService/account-master.service';\nimport { AccountMaster } from 'src/app/MasterService/AccountMaster';\nimport { SchemeMaster } from 'src/app/MasterService/SchemeMaster';\nimport { data } from 'jquery';\nimport { schemeAccoutnLinkClass } from 'src/app/MasterService/scheme-account-link';\nimport { RoleAccessService } from 'src/app/MasterService/role-access.service';\n\ndeclare var sortTableRuleMst: Function;\n\n@Component({\n selector: 'app-manage-rule-master',\n templateUrl: './manage-rule-master.component.html',\n styleUrls: ['./manage-rule-master.component.css']\n})\nexport class ManageRuleMasterComponent implements OnInit {\n // FilteredRule: BizRule[];\n FilteredRule: any = [];\n lblMessage: string;\n RuleId: number;\n showMsg: boolean;\n showModal: boolean;\n lblMessageDeletesuccess: string;\n\n config: any;\n ddlshowvalue:number;\n searchCount:number;\n filterCount:string;\n Accounts: AccountMaster[];\n CorporationCode: any;\n SchemeName: string;\n schemeID: number;\n lastSortedByField;\n ascendingOrder = true;\n RuleExecsummary:string;\n \n showRuleExecute: boolean;\n RuleExecutionDetail: string;\n isActive: boolean;\n AllBIZRule: boolean;\n showModalForAllDelete: boolean;\n IsDisplayExecutionRule: boolean = false;\n\n // Bulk Delete fields\n ruleSelected:boolean;\n IsruleUserSelected:boolean;\n checkedList:any=[];\n listLengthForSelect: 0;\n BulkDelete:boolean = true;\n ddlshowStartValue: number;\n showbulkExecute:boolean;\n RuleSelected:boolean;\n IsRuleSelected:boolean;\n FilteredRuleForExecute:any = [];\n ShowBulkRuleExecution:boolean=false;\n FromAccountId:string;\n BackPage:string;\n IsdisableExecutionRule: boolean;\n CustomerId:number;\n ddlshowDropdownValues: number=10;\n constructor(public _SchemeService : SchemeMasterService,private router: Router,\n public _accountService : AccountMasterService,public _bizRuleServic: BizRuleService\n ,public _roleAccess: RoleAccessService) { }\n lblTitle=\"\";\n \n\n ngOnInit(): void {\n this.onTop();\n \n if(localStorage.getItem('LoginUserId')==null)\n {\n this.router.navigate([\"\"]);\n return;\n }\n // this.lblTitle=\"Manage Business Rules for Pradhan Mantri Jeevan Jyoti Bima Yojana (PMJJBY)- Cell\"\n // ---------page title--------\n this.lblTitle=\"Manage Business Rules for \"+ localStorage.getItem('Schemename') +\" - \"+ localStorage.getItem('CorporationCode');\n localStorage.removeItem(\"RuleId\");\n this.FromAccountId = localStorage.getItem('FromAccountId');\n this.CustomerId = parseInt(localStorage.getItem('CustId'));\n this.BackPage = localStorage.getItem('scAcBackPage');\n localStorage.removeItem('FromAccountId');\n localStorage.removeItem('scAcBackPage');\n this.GetPrivillageRoles();\n\n //--Display page when gear click or after excetion of rule----- \n if(this.BackPage == \"SchemeAccountLink\" && this.FromAccountId != null && this.FromAccountId != \"\"){\n this.GetBizRule(+localStorage.getItem('SchemeID'),this.FromAccountId);\n //Get biz rule based on Scheme Id------------\n }\n else\n this.GetBizRule(+localStorage.getItem('SchemeID'),\"0\");\n //Get biz rule based on Scheme Id------------\n //this.SchemeList();\n //get Account list-----------\n this.GetAccountLinkingMasterData();\n this.config = { \n itemsPerPage: 10,\n currentPage: 1,\n };\n this.ddlshowvalue =10;\n sortTableRuleMst(2,false); \n \n }\n\n GetPrivillageRoles() {\n this._roleAccess.fnGetRoleAccess(localStorage.getItem('LoginUserId'), '/ManageScheme').subscribe(roleAccess => {\n this.IsDisplayExecutionRule = roleAccess[0].SweepExecutionAccess;\n //console.log('IsDisplayExecutionRule',this.IsDisplayExecutionRule);\n } , (err) => {\n this.router.navigate([\"404\"]);\n }\n );\n }\n\n //-----View Summary report Click-----------\n viewReport(){ \n localStorage.setItem(\"clickRuleSummaryBtn\",\"true\")\n this.router.navigate(['/RuleSummaryReport']);\n }\n //-----Back Button Click-------------------\n BankButton(){\n if(this.BackPage == '' || this.BackPage == null){\n this.router.navigate(['/ManageScheme']);\n localStorage.removeItem(\"Schemename\");\n localStorage.removeItem(\"SchemeID\");\n localStorage.removeItem(\"CorporationCode\"); \n localStorage.removeItem('schemeReviewStatus');\n localStorage.removeItem('schemeAccountLinkStatus');\n }\n else{\n this.router.navigate(['/SchemeAccountLink']);\n }\n }\n SchemeList(){\n this._SchemeService.fnGetSchemMasterList(localStorage.getItem('LoginUserId')).subscribe(Scheme=>{\n // this.Scheme = Scheme;\n // this.FilteredScheme ;\n // this.OnSearch(\"\",\"0\",\"\",\"\",\"\",\"\",\"Active\");\n //this._spinner.hide();\n }, \n (error)=>{\n this.router.navigate([\"404\"]);\n return;\n });\n }\n //---Add biz Button Click------\n NewRulesMaster(){\n this.schemeID = +localStorage.getItem('SchemeID')\n this.CorporationCode = +localStorage.getItem('CorporationCode')\n this._bizRuleServic.formData={\n Status:'1',\n RuleId:0,\n SchemeId :88,\n RuleName : 'abc',\n FromAccountType : '',\n FromAccountNumber : null,\n Field: '',\n Condition: '',\n Value : '',\n ToAccountType : '',\n ToAccountNumber: null,\n TxValue : '',\n Priority : null,\n Frequency: '',\n TransactionType: '',\n msg:0,\n CorporationCode:this.CorporationCode,\n //lblTitle:'Add Biz Rule',\n //status: '1',\n CreatedBy:0,\n UpdatedBy:0,\n CreatedDate:'',\n UpdatedDate:'',\n UserName:'',\n fromAccNumber:'',\n ParentBudgetAmt:'',\n ChildBudgetAmt:'',\n ToSAccountNumber:'',\n TransferType:null,\n TransferTypeValue:'',\n DateCreated:'',\n UserId:''\n }\n this.router.navigate(['/AddRuleMaster']);\n }\n //----Edit Icon Click--------\n EditRule(bizRule: BizRule){\n this._bizRuleServic.formData=bizRule;\n let RuleID=String(bizRule.RuleId) ;\n localStorage.setItem('RuleId',String(RuleID)); \n localStorage.setItem('RuleFlag',String('Edit')); \n\n this.router.navigate(['/AddRuleMaster']);\n }\n //----Delete Icon click----------\n DeleteRule(bizRule: BizRule){\n this.RuleId = bizRule.RuleId;\n this.lblMessage = \"Are you sure you want to delete?\";\n this.show();\n }\n\n AllDeletehide(){\n this.showModalForAllDelete=false;\n this.isActive = false;\n this.AllBIZRule=false;\n }\n AllDeleteShow(){\n this.showModalForAllDelete=true;\n }\n AllDeleteConfirm(){\n this.FilteredRule.forEach(element => {\n this._bizRuleServic.fnDeleteBIZRule(element.RuleId).subscribe(res => {\n this.GetBizRule(+localStorage.getItem('SchemeID'),\"0\")\n this.lblMessageDeletesuccess=\"All Record Deleted Successfully\"\n // this.lblMessage=\"All Account Deleted Successfully except Account Number used in Other Master. \"\n this.showlbl();\n this.onTop();\n this.AllDeletehide();\n }, \n (error)=>{\n this.router.navigate([\"404\"]);\n return;\n });\n });\n }\n SelectAllBIzMaster(){\n this.isActive = true;\n this.AllBIZRule=true;\n this.AllDeleteShow();\n }\n //-----Rule Delete Method----------------\n DeleteBIZRuleMethod() {\n this._bizRuleServic.fnDeleteBIZRule(this.RuleId).subscribe(res => {\n this.GetBizRule(+localStorage.getItem('SchemeID'),\"0\")\n \n }, \n (error)=>{\n this.router.navigate([\"404\"]);\n return;\n });\n this.hide();\n\n this.lblMessageDeletesuccess=\"Rule Deleted Successfully\"\n this.showlbl();\n //this.GetBizRule();\n this.onTop();\n }\n\n BulkRuleExecutionDetail = \"\";\n BulkRuleExecsummary = \"\";\n //-----Rule Execution ---------------------\n ExecuteRule(bizRule: BizRule){\n this._bizRuleServic.fnSaveBIZRuleExecute(bizRule).subscribe(res => {\n if(res.IsFailed==0){////passed\n if(res.TransactionType==\"Credit\"){\n this.RuleExecutionDetail=\"Execution Success \" ;//Amount Credited to Parent A/c from Child A/c\n this.RuleExecsummary=res.SchemeName+ \" - Amount Credited Successfully\";\n \n //this.RuleExecsummary=res.SchemeName+ \" - Amount Credited to \"+res.FromAccountName+\" from \" +res.ToAccountName;\n } \n if(res.TransactionType==\"Debit\"){\n this.RuleExecutionDetail=\"Execution Success \" ;//Amount Debited from Parent A/c to Child A/c.\n this.RuleExecsummary=res.SchemeName+ \" - Amount Debited Successfully\";\n \n //this.RuleExecsummary=res.SchemeName+ \" - Amount Debited from \"+res.FromAccountName+\" TO \" +res.ToAccountName;\n // this.RuleExecsummary=res.SchemeName+ \" - Amount Debited to \" +res.TransactionType+\" From \"+ res.FromAccountName+ \"To\" +res.ToAccountName;\n }\n }\n if(res.IsFailed==1){///Failed\n res.ExecutionDetail\n res.ExecutionDetail = (res.ExecutionDetail.length > 7) ? res.ExecutionDetail.slice(7) : res.ExecutionDetail;\n \n if(res.TransactionType==\"Credit\"){\n this.RuleExecutionDetail=\"Execution Failed \" ;\n this.RuleExecsummary=res.SchemeName+ \" - Amount Credited failed Due to \" +res.ExecutionDetail;\n \n // this.RuleExecsummary=res.SchemeName+ \" - Amount Credited to \"+res.FromAccountName+\" from \" +res.ToAccountName+\" is failed Due to \" +res.ExecutionDetail;\n } \n if(res.TransactionType==\"Debit\"){\n this.RuleExecutionDetail=\"Execution Failed \" ;\n this.RuleExecsummary=res.SchemeName+ \" - Amount Debited failed Due to \" +res.ExecutionDetail;;\n \n //this.RuleExecsummary=res.SchemeName+ \" - Amount Debited from \"+res.FromAccountName+\" TO \" +res.ToAccountName+\" is failed Due to \" +res.ExecutionDetail;;\n }\n // this.RuleExecutionDetail=\"Execution Failed \";\n //this.RuleExecsummary=res.SchemeName+ \" - Amount \" +res.TransactionType+ \" From \"+ res.FromAccountName+ \" To \" +res.ToAccountName +\" is failed Due to \" +res.ExecutionDetail;\n // +\" is failed Due to \" +res.ExecutionDetail;\n }\n if(res.IsFailed == 2){\n this.RuleExecutionDetail=\"Partial Execution Success \" ;\n this.RuleExecsummary = res.SchemeName+ \" - Partial Rule Execution Successful\";\n } \n //this.RuleExecutionDetail=res.ExecutionDetail;\n this.showRuleEx();\n \n }, \n (error)=>{\n this.router.navigate([\"404\"]);\n return;\n });\n}\n BIZRuleExecute(form:BizRule){\n \n}\n//---------Bulk Rule Execution----------------------\n BulkExecuteRule(){\n this.BulkRuleExecsummary = '';\n this.BulkRuleExecutionDetail = '';\n this.HideBulkExecuteModal();\n // for (var i = 0; i < this.FilteredRule.length; i++) { \n // if(this.FilteredRule[i].IsRuleSelected==true){\n // this.FilteredRuleForExecute.push(this.FilteredRule[i]);\n // }\n // }\n this._bizRuleServic.fnSaveBIZBulkRuleExecute(this.FilteredRuleForExecute).subscribe(res => {\n var failedlist = [];\n var passlist = [];\n var partialList = [];\n res.forEach(element => {\n element.ExecutionDetail = (element.ExecutionDetail.length) ? element.ExecutionDetail.slice(7) : element.ExecutionDetail;\n if(element.IsFailed==1){\n if(element.TransactionType==\"Credit\"){\n this.BulkRuleExecsummary += element.RuleName+ \" - Amount Credited failed Due to \" +element.ExecutionDetail + \"\\n\";\n } \n if(element.TransactionType==\"Debit\"){\n this.BulkRuleExecsummary += element.RuleName+ \" - Amount Debited failed Due to \" +element.ExecutionDetail + \"\\n\";\n }\n }\n else if(element.IsFailed == 0){\n if(element.TransactionType==\"Credit\"){\n this.BulkRuleExecsummary += element.RuleName+ \" - Amount Credited Successfully\" + \"\\n\";\n } \n if(element.TransactionType==\"Debit\"){\n this.BulkRuleExecsummary += element.RuleName+ \" - Amount Debited Successfully\" + \"\\n\";\n }\n } \n else if(element.IsFailed == 2){\n this.BulkRuleExecsummary += element.RuleName+ \" - Partial Rule Execution Successful\" + \"\\n\";\n } \n \n });\n\n this.BulkRuleExecsummary += 'View Rule Summary Report for Details.';\n failedlist = res.filter(row=>{\n return row.IsFailed == 1;\n });\n\n passlist = res.filter(row=>{\n return row.IsFailed == 0;\n });\n\n partialList = res.filter(row=>{\n return row.IsFailed == 2;\n })\n \n this.config = { \n itemsPerPage: this.ddlshowDropdownValues,\n currentPage: 1,\n };\n\n if(failedlist.length > 0 && passlist.length == 0){\n this.BulkRuleExecutionDetail = \"Execution Failed \";\n this.showBulkRuleExecute();\n }\n else if(passlist.length > 0 && failedlist.length == 0){\n this.BulkRuleExecutionDetail = \"Execution Success \";\n this.showBulkRuleExecute();\n }\n else if((passlist.length > 0 && failedlist.length > 0) || partialList.length > 0){\n this.BulkRuleExecutionDetail = \"Partial Execution Success please check Rule Summary reports \";\n this.showBulkRuleExecute();\n }\n this.FilteredRuleForExecute = [];\n this.ShowBulkRuleExecution = false;\n }, \n (error)=>{\n this.router.navigate([\"404\"]);\n return;\n })\n }\n//---------Get biz Rule data based on schemeid---------------------\n GetBizRule(schemId,fromAccountId){\n \n this._bizRuleServic.fnGetBIZRuleData(schemId,fromAccountId).subscribe(rule=>{\n this.FilteredRule = rule;\n this.ddlshowvalue=this.FilteredRule.length;\n if (this.ddlshowvalue <= this.config.itemsPerPage) {\n this.ddlshowvalue = this.ddlshowvalue;\n this.ddlshowStartValue = 1;\n this.searchCount = this.FilteredRule.length.toString();\n this.filterCount =\"\";\n }\n else {\n this.ddlshowvalue = 0;\n this.ddlshowvalue = this.config.itemsPerPage; \n this.ddlshowStartValue = 1;\n this.searchCount = this.FilteredRule.length.toString();\n this.filterCount =\"\";\n }\n // this.searchCount = this.FilteredRule.length;\n // this.filterCount =\"\";\n // this.ddlshowStartValue=1;\n \n // this.OnSearch(\"\",\"0\",\"\",\"\",\"\",\"\",\"Active\");\n // this._spinner.hide();\n if((localStorage.getItem('schemeReviewStatus')==\"2\" || localStorage.getItem('schemeReviewStatus')==\"5\") && localStorage.getItem('schemeAccountLinkStatus')==\"2\"){\n for(var k=0;k {return row.disableExecutionRule == false;})\n if(disableExecutionicon.length > 0)\n this.IsdisableExecutionRule = false;\n else\n this.IsdisableExecutionRule = true; \n\n this.FilteredRule.forEach(element => {\n if(element[\"TransferType\"] == \"1\")\n element[\"TransferTypeValue\"] = \"Fund Transfer\";\n else if(element[\"TransferType\"] == \"2\")\n element[\"TransferTypeValue\"] = \"NEFT\";\n else if(element[\"TransferType\"] == \"3\")\n element[\"TransferTypeValue\"] = \"IMPS\";\n else \n element[\"TransferTypeValue\"] = \"RTGS\"; \n element.UserId = localStorage.getItem(\"LoginUserId\"); \n });\n }, \n (error)=>{\n this.router.navigate([\"404\"]);\n return;\n });\n\n for (var i = 0; i < this.FilteredRule.length; i++) {\n this.FilteredRule[i].IsruleUserSelected = false;\n }\n this.listLengthForSelect = this.FilteredRule.length;\n }\n showlbl() { this.showMsg = true;}\n hidelbl() { this.showMsg = false}\n show() { this.showModal = true;\n $(document).ready(function () {\n $('#IDshowModal').eq(0).focus();\n }); }\n hide() { this.showModal = false; }\n \n showbulkExecuteModal() {\n this.showbulkExecute = true; \n }\n HideBulkExecuteModal() { this.showbulkExecute = false; }\n showRuleEx(){\n this.showRuleExecute=true;\n }\n hideRuleExecute(){\n this.showRuleExecute=false;\n }\n\n showbulkRuleExecute:boolean;\n\n showBulkRuleExecute(){\n this.showbulkRuleExecute = true;\n }\n //----After ececution of rule Uncheck All checkbox-------\n hideBulkRuleExecute(){\n this.showbulkRuleExecute = false;\n this.RuleSelected=false;\n for (var i = 0; i < this.FilteredRule.length; i++) { \n this.FilteredRule[i].IsRuleSelected=false;\n }\n }\n//-----On Top method---------------------\n onTop() {\n window.scroll({\n top: 0,\n left: 0,\n behavior: 'smooth'\n })\n }\n onSearch(){\n }\n //----------pagination control ------------\n pageChanged(event) {\n this.config.currentPage = event;\n this.ddlshowvalue = this.config.currentPage*this.config.itemsPerPage;\n this.ddlshowStartValue = this.ddlshowvalue - (this.config.itemsPerPage-1);\n if(this.FilteredRule.length<=this.ddlshowvalue)\n this.ddlshowvalue = this.FilteredRule.length;\n }\n //-------pagination Dropdown ------------------\n fnShowonchange(newObj){\n this.ddlshowvalue = 0;\n this.ddlshowStartValue=1;\n this.ddlshowvalue = newObj.target.value;\n this.ddlshowDropdownValues = newObj.target.value;\n this.config = {\n itemsPerPage: this.ddlshowvalue,\n currentPage: 1,\n }; \n //this.filterCount = \"(filtered from \"+ this.FilteredRule.length +\" total entries)\";\n }\n //-------get Account list ------------------------------\n GetAccountLinkingMasterData() {\n this._accountService.fnGetAccountListForAccountLink(localStorage.getItem(\"LoginUserId\"),this.CustomerId.toString()).subscribe(res => {\n this.Accounts = res.AccountsList; \n // this.AccountTypeList = res.AccountTypeList; \n }, \n (error)=>{\n this.router.navigate([\"404\"]);\n return;\n });\n }\n//-- grid Sorting -----\n fnSortRuleMaster(field,obj){\n //sortTableRuleMst(obj);\n\n \n if(this.lastSortedByField === field) {\n this.ascendingOrder = !this.ascendingOrder;\n sortTableRuleMst(obj,this.ascendingOrder);\n }\n else {\n this.lastSortedByField = field;\n this.ascendingOrder = true;\n sortTableRuleMst(obj,this.ascendingOrder);\n }\n\n if(this.ascendingOrder) {\n this.FilteredRule = this.FilteredRule.sort((a, b) => {\n // if(field === 'fromAccNumber'){\n // if (Number(a[field]) < Number(b[field]))\n // return -1;\n // if (Number(a[field]) > Number(b[field]))\n // return 1;\n // }else\n if(field === 'Priority'){\n if (Number(a[field]) < Number(b[field]))\n return -1;\n if (Number(a[field]) > Number(b[field]))\n return 1;\n }\n else if(field ==='CreatedDate'){\n if (a[\"DateCreated\"].toLowerCase() < b[\"DateCreated\"].toLowerCase())\n return -1;\n if (a[\"DateCreated\"].toLowerCase() > b[\"DateCreated\"].toLowerCase())\n return 1;\n }\n // else if(field === 'ChildBudgetAmt'){\n // if (Number(a[field]) < Number(b[field]))\n // return -1;\n // if (Number(a[field]) > Number(b[field]))\n // return 1;\n // }\n else{\n if (a[field].toLowerCase()< b[field].toLowerCase())\n return -1;\n if (a[field].toLowerCase() > b[field].toLowerCase())\n return 1;\n }\n return 0;\n\n });\n }\n else {\n this.FilteredRule = this.FilteredRule.sort((a, b) => {\n // if(field === 'fromAccNumber'){\n // if (Number(a[field]) < Number(b[field]))\n // return 1;\n // if (Number(a[field]) > Number(b[field]))\n // return -1;\n // }\n // else \n if(field === 'Priority'){\n if (Number(a[field]) < Number(b[field]))\n return 1;\n if (Number(a[field]) > Number(b[field]))\n return -1;\n }\n else if(field ==='CreatedDate'){\n if (a[\"DateCreated\"].toLowerCase() < b[\"DateCreated\"].toLowerCase())\n return 1;\n if (a[\"DateCreated\"].toLowerCase() > b[\"DateCreated\"].toLowerCase())\n return -1;\n }\n // else if(field === 'ChildBudgetAmt'){\n // if (Number(a[field]) < Number(b[field]))\n // return 1;\n // if (Number(a[field]) > Number(b[field]))\n // return -1;\n // }\n else{\n if (a[field].toLowerCase() < b[field].toLowerCase())\n return 1;\n if (a[field].toLowerCase() > b[field].toLowerCase())\n return -1;\n }\n return 0;\n });\n }\n\n }\n \n\n\n AllDeleteConfirmation(){\n this.AllDeleteShow();\n }\n \n checkUncheckAllUser() {\n \n this.isActive = true;\n this.ruleSelected != this.ruleSelected;\n \n if (this.FilteredRule.length > 0) {\n for (var i = 0; i < this.FilteredRule.length; i++) {\n this.FilteredRule[i].IsUserSelected = this.ruleSelected; \n }\n } \n this.getCheckedItemList();\n }\n \n isChecked(UserId,status){\n \n this.IsruleUserSelected != status;\n for (var i = 0; i < this.listLengthForSelect; i++) {\n this.FilteredRule[i].IsruleUserSelected == this.IsruleUserSelected; \n }\n this.getCheckedItemList();\n }\n\n\n getCheckedItemList(){\n this.checkedList = [];\n for (var i = 0; i < this.listLengthForSelect; i++) {\n if(this.FilteredRule[i].IsruleUserSelected == true)\n this.checkedList.push(this.FilteredRule[i]);\n }\n this.checkedList = JSON.stringify(this.checkedList);\n \n if(this.checkedList.length > 2){\n this.BulkDelete = false;\n }\n else{\n this.BulkDelete = true;\n }\n }\n //-----when any checkboxcheck then rule execution Icon display-----\n getCheckedBulkRule(){\n this.FilteredRuleForExecute=[];\n for (var i = 0; i < this.FilteredRule.length; i++) { \n // added by seema 15/12/2020 13:28 PM \n if(this.FilteredRule[i].IsRuleSelected==true && this.FilteredRule[i].disableExecutionRule == false){\n this.FilteredRuleForExecute.push(this.FilteredRule[i]);\n }\n }\n // this.FilteredRuleForExecute = [];\n // for (var i = 0; i < this.listLengthForSelect; i++) {\n // if(this.FilteredRule[i].IsRuleSelected == true)\n // this.FilteredRuleForExecute.push(this.FilteredRule[i]);\n // }\n // this.FilteredRuleForExecute = JSON.stringify(this.FilteredRuleForExecute);\n if(this.FilteredRuleForExecute.length > 0){\n this.ShowBulkRuleExecution = true;\n }\n else{\n this.ShowBulkRuleExecution = false;\n }\n }\n //--------Check & uncheck All checkbox for Rule Execution------- \n checkUncheckAllBulkApproval(){\n this.RuleSelected != this.RuleSelected;\n if (this.FilteredRule.length > 0) {\n for (var i = 0; i < this.FilteredRule.length; i++) {\n // added by seema 15/12/2020 13:28 PM \n if(this.FilteredRule[i].disableExecutionRule == false)\n this.FilteredRule[i].IsRuleSelected = this.RuleSelected;\n }\n }\n else\n {\n for (var i = 0; i < this.listLengthForSelect; i++) {\n this.FilteredRule[i].IsRuleSelected = this.RuleSelected; \n }\n }\n this.getCheckedBulkRule();\n }\n //-----If one checkbox checked for Rule Execution---\n IsRuleBulkAutherizeCheck(UserId,status){\n status!= this.RuleSelected ;\n for (var i = 0; i < this.FilteredRule; i++) {\n this.FilteredRule[i].IsRuleSelected == this.RuleSelected; \n this.ShowBulkRuleExecution=true;\n }\n this.getCheckedBulkRule();\n } \n //------------------\n}\n\n","\n
\n
\n
\n
\n
\n \n
\n
\n

{{lblTitle}}

\n
\n \n
\n
\n\n
\n \n
\n\n
\n
\n
\n \n\n
\n \n ×\n Success! {{ lblMessageDeletesuccess }}.\n
\n \n
\n\n
\n
\n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n \n
\n
\n \n
\n \n
\n
\n \n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Rule NameAccount NumberCreated / Updated Date & TimePriorityFrequencyStatusTransfer Type Action \n
\n \n \n
\n
{{Rule.RuleName}}{{Rule.fromAccNumber}}{{Rule.CreatedDate}}{{Rule.Priority}}{{Rule.Frequency}}{{Rule.Status}}{{Rule.TransferTypeValue}} \n
\n
\n \n \n
\n \n
\n \n \n
\n
\n \n \n
\n \n
\n
\n \n
\n \n \n
\n
No records found
\n
\n
\n \n \n
\n
\n \n
\n
\n\n
\n
\n \n
\n
\n
\n
\n

Confirmation

\n \n
\n
\n

Are you sure you want to delete?

\n
\n
\n \n \n
\n
\n
\n
\n\n
\n
\n
\n
\n

Confirmation

\n \n
\n
\n

{{RuleExecutionDetail}}

\n

{{RuleExecsummary}}.
\n View Rule Summary Report for more Details.

\n
\n
\n \n \n
\n \n
\n
\n
\n
\n
\n
\n
\n

Confirmation

\n \n
\n
\n

Are you sure you want to delete All records?

\n
\n
\n \n \n
\n
\n
\n
\n\n
\n
\n
\n
\n

Confirmation

\n \n
\n
\n

Are you sure you want to execute rule?

\n
\n
\n \n \n
\n
\n
\n
\n\n
\n
\n
\n
\n

Confirmation

\n \n
\n
\n

{{BulkRuleExecutionDetail}}

\n
{{BulkRuleExecsummary}}
\n
\n
\n \n
\n
\n
\n
\n\n\n\n","import { Component, OnInit,ViewChild, ElementRef, ViewContainerRef } from '@angular/core';\nimport { SchemeMasterService } from '../../MasterService/scheme-master.service';\nimport { SchemeMaster } from 'src/app/MasterService/SchemeMaster';\nimport { Router,NavigationExtras } from '@angular/router';\nimport { NgxSpinnerService } from \"ngx-spinner\";\nimport * as XLSX from 'xlsx';\nimport * as jsPDF from 'jspdf';\nimport html2Canavas from 'html2canvas';\nimport { saveAs } from 'file-saver';\nimport{RoleAccess}from'src/app/MasterService/RoleAccess';\nimport {RoleAccessService}from '../../MasterService/role-access.service';\nimport { IAngularMyDpOptions, IMyDateModel } from 'angular-mydatepicker';\nimport { NgbDateStruct, NgbDateParserFormatter, NgbDate } from '@ng-bootstrap/ng-bootstrap';\nimport { flatMap } from 'rxjs/operators';\nimport * as $ from 'jquery';\nimport { EncryptdecryptService } from 'src/app/MasterService/encryptdecrypt.service';\nimport { IfStmt } from '@angular/compiler';\n\ndeclare var sortTableSchemeMst: Function;\n\n@Component({\n selector: 'app-manage-scheme',\n templateUrl: './manage-scheme.component.html',\n styleUrls: ['./manage-scheme.component.css']\n})\nexport class ManageSchemeComponent implements OnInit {\n today = new Date();\n myDpOptions: IAngularMyDpOptions = {\n dateRange: false,\n dateFormat: 'dd-mm-yyyy',\n disableSince: {year: this.today.getFullYear(), month: this.today.getMonth() + 1, day: this.today.getDate() + 1}\n \n // other options are here...\n };\n\n //#region \n Scheme : any=[];\n\n allScheme : any=[];\n FilteredScheme : any = [];\n\n schemeMaster :SchemeMaster;\n smdate: any = null;\n CreatedDate: any;\n\n showModal:boolean;\n lblMessage:string;\n showMsg:boolean;\n config: any;\n ddlshowStartValue:number;\n ddlshowvalue:number;\n searchCount:number;\n filterCount:string;\n fileName:string;\n DeletePrivllage:boolean;\n AddPrivillage:boolean;\n ViewPrivllage:boolean; \n EditPriv:boolean;\n MappingPriv:boolean;\n AddImportAccess:boolean;\n AddExportAccess:boolean; \n RoleAccess:RoleAccess;\n lastSortedByField;\n ascendingOrder = true;\n AllSchmeChk: boolean;\n isActive: boolean;\n showModalForAllDelete: boolean;\n showerrormsg: boolean;\n\n // Bulk Delete fields\n SchemeSelected:boolean;\n IsSchemeSelected:boolean;\n checkedList:any=[];\n listLengthForSelect: 0;\n BulkDelete:boolean = true;\n AllSelected: any;\n ConfirmationMsg: string;\n\n\n checkerAccess:boolean;\n \n //Bulk Authorize \n BulkApprovalAuthorize:boolean;\n AddEditBulkApprovalLabel:boolean;\n AuthorizeStatus: number;\n CheckerPrivillage: boolean;\n checkedBulkList: any[];\n\n BackPageStatus:string=\"\";\n //#endregion\n\n constructor(public _SchemeService : SchemeMasterService ,private router: Router,public _spinner:NgxSpinnerService,private _roleAccess:RoleAccessService, \n private ngbDateParserFormatter: NgbDateParserFormatter,public _encrypt:EncryptdecryptService) { }\n\n ngOnInit(): void {\n this._spinner.show();\n this.onTop();\n if(localStorage.getItem('LoginUserId')==null){\n this.router.navigate([\"\"]);\n return;\n }\n\n if(!$('.js-sticky-header').is(':visible')){\n $('.js-sticky-header').css('display','block');\n }\n \n this.SchemeMaster();\n this.BackPageStatus = localStorage.getItem(\"BackPageStatus\");\n localStorage.removeItem(\"SchemeDataId\");\n localStorage.removeItem(\"SchemeSweepMode\");\n localStorage.removeItem(\"BackPageStatus\"); \n \n this.GetPrivillageRoles();\n\n this.config = {\n itemsPerPage: 10,\n currentPage: 1,\n };\n \n this.ddlshowvalue =10;\n this.ddlshowStartValue = 1;\n sortTableSchemeMst(5,false);\n }\n\n //navigate to Add scheme\n NewSchemeMaster() {\n this._SchemeService.formData = {\n SchemeId:0,\n SchemeName:'',\n BudgetAmount:null,\n UtilizedAmount:null,\n UnutilizedAmount:null,\n TransferLimit:null,\n SweepAmount:null,\n SchemestartDate:'',\n Createdby:1,\n Updatedby:1,\n CorporationCode:'',\n CreatedDate:'',\n UpdatedDate:'',\n msg:'',\n lblTitle:'',\n btnTitle:'Submit',\n Status:1,\n StatusTitle:'Active',\n CustomerId:null,\n SchAccLinkId:0,\n SchAccLinkStatus:0,\n SchAccLinkStatusTitle:'',\n CreatedName:'',\n UpdatedName:'',\n reviewstatus:null,RequestType:\"\",\n sclinkCreatedBy:null,\n AccountId:null,\n outputjson:null,\n AccountName:''\n }\n this.router.navigate(['/AddScheme']);\n }\n\n //set default value for schememaster formdata\n SchemeMaster() {\n this._SchemeService.formData = {\n SchemeId:0,\n SchemeName:'',\n BudgetAmount:null,\n UtilizedAmount:null,\n UnutilizedAmount:null,\n TransferLimit:null,\n SweepAmount:null,\n SchemestartDate:'',\n Createdby:1,\n Updatedby:1,\n CorporationCode:'',\n CreatedDate:'',\n UpdatedDate:'',\n msg:'',\n lblTitle:'',\n btnTitle:'Submit',\n Status:1,\n StatusTitle:'Active',\n CustomerId:null,\n SchAccLinkId:0,\n SchAccLinkStatus:0,\n SchAccLinkStatusTitle:'',\n CreatedName:'',\n UpdatedName:'',\n reviewstatus:null,RequestType:\"\",\n sclinkCreatedBy:null,\n AccountId:null,\n outputjson:null,\n AccountName:''\n }\n }\n\n // get scheme list \n SchemeList(){\n this._SchemeService.fnGetSchemMasterList(localStorage.getItem('LoginUserId')).subscribe(Scheme=>{\n this.allScheme = [];\n \n Scheme.forEach(element=>{\n if(element[\"SchAccLinkStatus\"] == 0)\n element[\"SchAccLinkStatusTitle\"] = \"Not Applicable\";\n else if(element[\"SchAccLinkStatus\"] == 1) \n element[\"SchAccLinkStatusTitle\"] = \"Pending\";\n else if(element[\"SchAccLinkStatus\"] == 2) \n element[\"SchAccLinkStatusTitle\"] = \"Approved\"; \n else if(element[\"SchAccLinkStatus\"] == 3) \n element[\"SchAccLinkStatusTitle\"] = \"Rejected\"; \n else if(element[\"SchAccLinkStatus\"] == 5) \n element[\"SchAccLinkStatusTitle\"] = \"Pending for Approval\"; \n \n this.allScheme.push(element); \n });\n\n for (var i = 0; i < this.allScheme.length; i++) {\n if(this.allScheme[i].reviewstatus == 1){\n this.allScheme[i].RequestType=\"Add Approval Pending\";\n }\n else if(this.allScheme[i].reviewstatus == 2){\n this.allScheme[i].RequestType=\"Add Approved\";\n }\n else if(this.allScheme[i].reviewstatus == 3){\n this.allScheme[i].RequestType=\"Add Rejected\";\n }\n else if(this.allScheme[i].reviewstatus == 4){\n this.allScheme[i].RequestType=\"Edit Approval Pending\";\n }\n else if(this.allScheme[i].reviewstatus == 5){\n this.allScheme[i].RequestType=\"Edit Approved\";\n }\n else if(this.allScheme[i].reviewstatus == 6){\n this.allScheme[i].RequestType=\"Edit Rejected\";\n }\n else if(this.allScheme[i].reviewstatus == 7){\n this.allScheme[i].RequestType=\"Delete Approval Pending\";\n }\n else if(this.allScheme[i].reviewstatus == 8){\n this.allScheme[i].RequestType=\"Delete Approved\";\n }\n else if(this.allScheme[i].reviewstatus == 9){\n this.allScheme[i].RequestType=\"Delete Rejected\";\n }\n else {\n this.allScheme[i].RequestType=\"\";\n }\n if(this.allScheme[i].reviewstatus == \"1\" || this.allScheme[i].reviewstatus == \"4\"){ \n this.allScheme[i].deleteButtonDisable = true;\n }\n else if(this.allScheme[i].reviewstatus == \"7\" && (!this.checkerAccess || this.allScheme[i].Createdby == this._encrypt.decryptUsingAES256(localStorage.getItem('LoginUserId')))){ \n this.allScheme[i].deleteButtonDisable = true;\n }\n else{this.allScheme[i].deleteButtonDisable=false;}\n \n ///Rubina 08/12 defect 1434-- \n \n if((this.allScheme[i].reviewstatus==\"2\" || this.allScheme[i].reviewstatus==\"5\" || this.allScheme[i].reviewstatus==\"6\" || this.allScheme[i].reviewstatus==\"3\" \n && this.allScheme[i].SchAccLinkStatus == \"1\" )){//&& this.checkerAccess\n //--defect 1434 || this.allScheme[i].SchAccLinkStatus == \"1\" && this.allScheme[i].sclinkCreatedBy != +this._encrypt.decryptUsingAES256(localStorage.getItem('LoginUserId'))\n this.allScheme[i].disableAccountLink=false;\n }\n else{\n this.allScheme[i].disableAccountLink=true;\n } \n \n if(this.allScheme[i].SchAccLinkStatus == \"1\" && this.checkerAccess && this.allScheme[i].sclinkCreatedBy != +this._encrypt.decryptUsingAES256(localStorage.getItem('LoginUserId'))){\n this.allScheme[i].disableAccountLink=true;\n } \n if(this.allScheme[i].reviewstatus==\"9\" && !this.CheckerPrivillage) {\n this.allScheme[i].disableAccountLink=false;\n }\n else if(this.allScheme[i].reviewstatus==\"9\" && this.CheckerPrivillage && this.allScheme[i].SchAccLinkStatus==\"5\"){\n this.allScheme[i].disableAccountLink=false; \n }\n else if(this.allScheme[i].reviewstatus==\"3\" && this.CheckerPrivillage && this.allScheme[i].SchAccLinkStatus==\"5\"){\n this.allScheme[i].disableAccountLink=false; \n }//\n else if(this.allScheme[i].reviewstatus==\"3\" && (this.allScheme[i].SchAccLinkStatus==\"2\" || this.allScheme[i].SchAccLinkStatus==\"3\")){\n this.allScheme[i].disableAccountLink=false; \n } \n else if(this.allScheme[i].reviewstatus==\"9\" && (this.allScheme[i].SchAccLinkStatus==\"2\" || this.allScheme[i].SchAccLinkStatus==\"3\")){\n this.allScheme[i].disableAccountLink=false; \n } \n\n if(this.allScheme[i].reviewstatus==\"1\" || this.allScheme[i].reviewstatus==\"4\" || this.allScheme[i].reviewstatus==\"7\")\n this.allScheme[i].IsAuthorizeDisable = false;\n else\n this.allScheme[i].IsAuthorizeDisable = true;\n // \n }\n for (var i = 0; i < this.allScheme.length; i++) {\n if(this.allScheme[i].Createdby== this._encrypt.decryptUsingAES256(localStorage.getItem('LoginUserId'))){\n this.allScheme[i].IsSchemeDisabled = true;\n }this.allScheme[i].IsSchemeSelected = false;\n }\n this.FilteredScheme = this.allScheme;\n this.listLengthForSelect = this.allScheme.length;\n this._SchemeService.formData.StatusTitle=\"\";\n // if(this.checkerAccess){\n // this._SchemeService.formData.StatusTitle=\"\";\n // this._SchemeService.formData.RequestType=\"\";\n // this.OnSearch(\"\",null,null,null,\"\",\"\",\"\",\"\");\n // }\n // else{\n // this.OnSearch(\"\",\"\",\"\",\"\",this.BackPageStatus,\"\",\"\",\"\");\n //}\n this.OnSearch(\"\",null,null,null,\"\",\"\",\"\",\"\");\n setTimeout(() => {\n this._spinner.hide();\n }, 100);\n },\n (error)=>{\n this.router.navigate([\"404\"]);\n return;\n });\n }\n\n //get role privillege \n GetPrivillageRoles(){ \n this._roleAccess.fnGetRoleAccess(localStorage.getItem('LoginUserId'),this.router.url).subscribe(roleAccess=>{ \n this.RoleAccess=roleAccess[0]; \n this.CheckerPrivillage = roleAccess[0].CheckerAccess; \n this.EditPriv =this.RoleAccess.EditAccess; \n this.DeletePrivllage=this.RoleAccess.DeleteAccess;\n this.AddPrivillage=this.RoleAccess.AddAccess;\n this.checkerAccess = this.RoleAccess.CheckerAccess;\n this.MappingPriv=this.RoleAccess.MappingPriv;\n this.AddImportAccess = this.RoleAccess.AddImportAccess;\n this.AddExportAccess=this.RoleAccess.AddExportAccess; \n if(!this.EditPriv && this.RoleAccess.ViewAccess){\n this.ViewPrivllage=true;}\n else{ this.ViewPrivllage=false;}\n\n if(this.checkerAccess && (this.BackPageStatus == \"\" || this.BackPageStatus == null))\n this.BackPageStatus = \"Pending\";\n else if(!this.checkerAccess && (this.BackPageStatus == \"\" || this.BackPageStatus == null)) \n this.BackPageStatus = \"Active\";\n \n this._SchemeService.formData.StatusTitle = this.BackPageStatus;\n \n this.SchemeList();\n },\n (error)=>{\n this.router.navigate([\"404\"]);\n return;\n }); \n }\n\n // navigate to Edit scheme page \n EditSchemeDetails(scheme: SchemeMaster) { \n let SchemeId=String(scheme.SchemeId) ;\n localStorage.setItem('SchemeDataId',String(SchemeId)); \n\n let viewMode='edit';\n let navigationExtras: NavigationExtras = {\n queryParams: {\n viewMode\n }\n };\n this.router.navigate([\"/AddScheme\"], navigationExtras);\n }\n\n //navigate to authorize scheme page\n Authorize(scheme: SchemeMaster) { \n let SchemeId=String(scheme.SchemeId) ;\n localStorage.setItem('SchemeDataId',String(SchemeId)); \n\n let viewMode='authorize';\n let navigationExtras: NavigationExtras = {\n queryParams: {\n viewMode\n }\n };\n this.router.navigate([\"/AddScheme\"], navigationExtras);\n }\n\n // navigate to view scheme page\n ViewSchemeDetails(scheme: SchemeMaster) { \n \n let SchemeId=String(scheme.SchemeId) ;\n localStorage.setItem('SchemeDataId',String(SchemeId)); \n \n let viewMode='view';\n let navigationExtras: NavigationExtras = {\n queryParams: {\n viewMode\n }\n };\n\n if(viewMode == 'view'){\n this.router.navigate([\"/AddScheme\"], navigationExtras);\n }\n\n }\n\n // show confirmation popup for delete\n DeleteSchemeById(scheme: SchemeMaster) {\n this.schemeMaster = scheme;\n this.show();\n }\n //single scheme delete\n DeleteConfirm(){\n this._SchemeService.fnDeleteSchemeById(this.schemeMaster.SchemeId.toString(),localStorage.getItem('LoginUserId')).subscribe(res=>{\n this.SchemeList();\n this.hide();\n this.lblMessage = res as string;\n\n if(res == 'Scheme Deleted Successfully')\n {\n this.showerrormsg = false;\n this.showMsg = true;\n }\n else {\n this.showMsg = false;\n this.showerrormsg = true;\n }\n // this.showlbl();\n this.onTop();\n },\n (error)=>{\n this.router.navigate([\"404\"]);\n return;\n }); \n \n }\n\n //#region \n AllDeletehide(){this.showModalForAllDelete=false;\n this.isActive = false;\n this.AllSchmeChk=false;\n }\n AllDeleteShow(){\n this.showModalForAllDelete=true\n }\n AllDeleteConfirm(){\n this.FilteredScheme.forEach(element => {\n if(element.IsSchemeSelected == true){\n this._SchemeService.fnBulkDeleteSchemeById(element.SchemeId.toString()).subscribe(res=>{\n this.SchemeList();this.AddEditBulkApprovalLabel=false;\n // this.lblMessage=\"All Account Deleted Successfully except Account Number used in Other Master. \"\n this.lblMessage=\"All Selected Schemes Deleted Successfully\"\n this.showlbl();\n this.onTop();\n this.AllDeletehide();\n this.SchemeSelected = false;\n },\n (error)=>{\n this.router.navigate([\"404\"]);\n return;\n }); \n }\n });\n }\n SelectAllScheme(){\n this.isActive = true;\n this.AllSchmeChk=true;\n this.AllDeleteShow();\n }\n //#endregion\n \n //scroll on top \n onTop() {\n window.scroll({\n top: 0,\n left: 0,\n behavior: 'smooth'\n })\n }\n\n //on page change \n pageChanged(event) {\n this.config.currentPage = event;\n this.ddlshowvalue = this.config.currentPage*this.config.itemsPerPage;\n this.ddlshowStartValue = this.ddlshowvalue - (this.config.itemsPerPage-1);\n if(this.FilteredScheme.length<=this.ddlshowvalue)\n this.ddlshowvalue = this.FilteredScheme.length;\n }\n\n //#region \n showlbl() {\n this.showMsg = true;\n }\n hidelbl() {\n this.showMsg = false;\n }\n\n showerror() {\n this.showerrormsg = true;\n }\n hideerror() {\n this.showerrormsg = false;\n }\n //#endregion\n\n //#region \n show() { this.showModal = true;\n $(document).ready(function () {\n $('#IDshowModal').eq(0).focus();\n });\n }\n hide() { this.showModal = false; }\n //#endregion\n\n // on search \n OnSearch(SchemeName,BudgetAmount,UtilizedAmount,UnutilizedAmount,Status,CreatedDate,RequestType,CreatedBy){ \n\n if (CreatedDate != null && CreatedDate !=\"\" ) {\n this.smdate = CreatedDate.singleDate.formatted;\n }\n \n this.pageChanged(event);\n if(SchemeName!=\"\" && (BudgetAmount!=\"\" || BudgetAmount!=null) && (UtilizedAmount!=\"\" || UtilizedAmount!=null) && (UnutilizedAmount!=\"\" || UnutilizedAmount!=null) && Status!=\"\" && (CreatedDate!=\"\" || CreatedDate!=null) && RequestType!=\"\" && CreatedBy!=\"\"){\n this.FilteredScheme = this.allScheme;\n } \n else{\n\n this.FilteredScheme = this.allScheme.filter(row=>{\n return row.SchemeName.toLocaleLowerCase().match(SchemeName.toLocaleLowerCase());\n });\n if (this.smdate != undefined && this.smdate != \"\" && this.smdate != null && CreatedDate !=\"\" && CreatedDate != null){\n this.FilteredScheme = this.FilteredScheme.filter(row=>{\n return row.CreatedDate.toLocaleLowerCase().match(this.smdate.toLocaleLowerCase());\n });\n }\n if(BudgetAmount!=\"\" && BudgetAmount!=null){\n this.FilteredScheme = this.FilteredScheme.filter(row=>{\n return row.BudgetAmount.match(BudgetAmount);\n });\n }\n\n if(UtilizedAmount!=\"\" && UtilizedAmount!=null){\n this.FilteredScheme = this.FilteredScheme.filter(row=>{\n return row.UtilizedAmount.match(UtilizedAmount);\n });\n }\n if(UnutilizedAmount!=\"\" && UnutilizedAmount!=null){\n this.FilteredScheme = this.FilteredScheme.filter(row=>{\n return row.UnutilizedAmount.match(UnutilizedAmount);\n });\n }\n if(RequestType!=\"\" && RequestType!=null){\n this.FilteredScheme = this.FilteredScheme.filter(row=>{\n return row.RequestType.match(RequestType);\n });\n }\n\n \n if(Status!=\"\"){\n this.FilteredScheme = this.FilteredScheme.filter(row=>{\n return row.StatusTitle== Status;\n });\n }\n else{\n this.FilteredScheme = this.FilteredScheme.filter(row=>{\n return row.StatusTitle.toLocaleLowerCase().match(Status.toLocaleLowerCase());\n });\n }\n this.FilteredScheme = this.FilteredScheme.filter(row=>{\n return row.CreatedName.toLocaleLowerCase().match(CreatedBy.toLocaleLowerCase());\n });\n }\n this.ddlshowvalue= this.FilteredScheme.length;\n if (SchemeName !=\"\" ||BudgetAmount!=null || UtilizedAmount!=null || UnutilizedAmount!=null || Status != \"\"\n || CreatedDate!=\"\" || RequestType != \"\" || CreatedBy!= \"\") {\n if (this.ddlshowvalue <= this.config.itemsPerPage) {\n // this.ddlshowvalue = 0;\n this.ddlshowvalue = this.ddlshowvalue;\n this.ddlshowStartValue = 1;\n }\n else {\n this.ddlshowvalue = 0;\n this.ddlshowvalue = this.config.itemsPerPage; \n this.ddlshowStartValue = 1;\n }\n // this.ddlshowStartValue = 1;\n // this.ddlshowvalue = 0;\n // this.ddlshowvalue = this.config.itemsPerPage; \n this.searchCount = 0;\n this.searchCount = this.FilteredScheme.length.toString();\n this.filterCount = \"(filtered from \" + this.allScheme.length + \" total entries)\";\n } \n else{\n if (this.ddlshowvalue <= this.config.itemsPerPage) {\n // this.ddlshowvalue = 0;\n this.ddlshowvalue = this.ddlshowvalue;\n this.ddlshowStartValue = 1;\n this.searchCount = this.allScheme.length.toString();\n this.filterCount =\"\";\n }\n else {\n this.ddlshowvalue = 0;\n this.ddlshowvalue = this.config.itemsPerPage; \n this.ddlshowStartValue = 1;\n this.searchCount = this.allScheme.length.toString();\n this.filterCount =\"\";\n }\n // this.ddlshowStartValue = 1;\n // this.ddlshowvalue = 0;\n // this.ddlshowvalue = this.config.itemsPerPage; \n // //this.ddlshowvalue = this.config.currentPage*this.config.itemsPerPage;\n // //this.ddlshowStartValue = this.ddlshowvalue - (this.config.itemsPerPage-1);\n // this.searchCount = this.allScheme.length;\n // this.filterCount =\"\";\n }\n this.getCheckedBulkAuthorize();\n if (this.FilteredScheme.length!=0 && this.CheckerPrivillage==true && (RequestType==\"Add Approval Pending\" || RequestType==\"Edit Approval Pending\") && (Status==\"Pending\" || Status==\"\")){\n this.BulkApprovalAuthorize=true;\n }\n else{\n this.BulkApprovalAuthorize=false;\n this.AddEditBulkApprovalLabel=false;\n }\n }\n\n fnShowonchange(newObj){\n this.ddlshowvalue = 0;\n this.ddlshowvalue = newObj.target.value;\n this.config = {\n itemsPerPage: this.ddlshowvalue,\n currentPage: 1,\n };\n }\n\n UncheckAllcheckbox(){\n this.SchemeSelected=false;\n this.AddEditBulkApprovalLabel=false;\n for (var i = 0; i < this.FilteredScheme.length; i++) {\n this.FilteredScheme[i].IsSchemeSelected = false;\n }\n }\n\n //navigate to the rule master \n RuleMaster(scheme:SchemeMaster){\n this._SchemeService.formData = scheme;\n localStorage.setItem('CorporationCode', scheme.CorporationCode.toString());\n localStorage.setItem('CustId',scheme.CustomerId.toString());\n localStorage.setItem('Schemename' ,scheme.SchemeName.toString());\n localStorage.setItem('SchemeID' ,scheme.SchemeId.toString());\n localStorage.setItem('SchemeLinkId' ,scheme.SchAccLinkId.toString());\n localStorage.setItem('schemeReviewStatus',scheme.reviewstatus.toString());\n localStorage.setItem('schemeAccountLinkStatus',scheme.SchAccLinkStatus.toString())\n this.router.navigate(['/ManageRulesMaster']);\n }\n\n //navigate to the scheme acount link \n SchemeAccountLink(scheme:SchemeMaster){\n this._SchemeService.fnGetSchemeBySchemeId(scheme.SchemeId.toString()).subscribe(data=>{ \n localStorage.setItem('SchemeSweepMode', '');\n\n localStorage.setItem('SchemeId', data[0].SchemeId.toString());\n localStorage.setItem('Schemename' ,data[0].SchemeName.toString());\n localStorage.setItem('CorporationCode', data[0].CorporationCode.toString());\n localStorage.setItem('CustId',data[0].CustomerId.toString());\n localStorage.setItem('SchemeLinkId' ,data[0].SchAccLinkId.toString());\n localStorage.setItem('SchemeBudgetAmount' ,data[0].BudgetAmount.toString());\n localStorage.setItem('UnutilizedAmout' ,data[0].UnutilizedAmount.toString());\n localStorage.setItem('UtilizedAmount' ,data[0].UtilizedAmount.toString());\n localStorage.setItem('TransferLimit' ,data[0].TransferLimit.toString());\n localStorage.setItem('schemeReviewStatus',data[0].reviewstatus.toString());\n localStorage.setItem('schemeAccountLinkStatus',data[0].SchAccLinkStatus.toString());\n localStorage.setItem('ParentAccountId',data[0].AccountId.toString());\n \n this.router.navigateByUrl('/', { skipLocationChange: true }).then(() => {\n this.router.navigate(['SchemeAccountLink']).then(() => {\n location.reload();\n });\n });\n },\n (error)=>{\n this.router.navigate([\"404\"]);\n return;\n }); \n }\n\n // SweepSchemeAccountLink(scheme:SchemeMaster){\n // this._SchemeService.fnGetSchemeBySchemeId(scheme.SchemeId.toString()).subscribe(data=>{ \n // localStorage.setItem('SchemeSweepMode', 'sweep');\n // localStorage.setItem('SchemeId', data[0].SchemeId.toString());\n // localStorage.setItem('Schemename' ,data[0].SchemeName.toString());\n // localStorage.setItem('CustId',data[0].CustomerId.toString());\n // localStorage.setItem('SchemeLinkId' ,data[0].SchAccLinkId.toString());\n // localStorage.setItem('SchemeBudgetAmount' ,data[0].BudgetAmount.toString());\n // localStorage.setItem('UnutilizedAmout' ,data[0].UnutilizedAmount.toString());\n // localStorage.setItem('UtilizedAmount' ,data[0].UtilizedAmount.toString());\n // localStorage.setItem('TransferLimit' ,data[0].TransferLimit.toString());\n // this.router.navigateByUrl('/', { skipLocationChange: true }).then(() => {\n // this.router.navigate(['SchemeAccountLink']).then(() => {\n // location.reload();\n // });\n // });\n // },\n // (error)=>{\n // this.router.navigate([\"404\"]);\n // return;\n // }); \n // }\n\n// this lone for download PDF\n//@ViewChild('tblSchemaMasterhide', {static: false}) tblSchemaMasterhide: ElementRef;\n\n@ViewChild('tblSchemaMasterhide') tblSchemaMasterhide:ElementRef;\n\n//import/ export\nfndownloadReport(ddlValue){ \n if(ddlValue === \"excel\"){\n this.fileName= 'SchemeMasterReport.xlsx';\n\n //let element = document.getElementById('tblAccountMaster'); \n const ws: XLSX.WorkSheet = XLSX.utils.table_to_sheet(this.tblSchemaMasterhide.nativeElement);\n /* generate workbook and add the worksheet */\n const wb: XLSX.WorkBook = XLSX.utils.book_new();\n XLSX.utils.book_append_sheet(wb, ws, 'Sheet1');\n\n /* save to file */\n XLSX.writeFile(wb, this.fileName);\n }\n \n // if(ddlValue === \"pdf\"){\n // this._spinner.show(); \n // $(\"#dvSchemeMasterhide\").css(\"display\", \"block\");\n // this.fileName = 'SchemeMasterReport.pdf';\n // var data = document.getElementById('tblSchemaMasterhide'); \n // html2Canavas(data).then(canvas => { \n // // Few necessary setting options \n // var imgWidth = 208; \n // var pageHeight = 295; \n // var imgHeight = canvas.height * imgWidth / canvas.width; \n // var heightLeft = imgHeight; \n\n // const contentDataURL = canvas.toDataURL('image/png') \n // let pdf = new jsPDF('p', 'mm', 'a4'); // A4 size page of PDF \n // var position = 0; \n // pdf.addImage(contentDataURL, 'PNG', 0, position, imgWidth, imgHeight) \n // pdf.save(this.fileName); // Generated PDF \n // $(\"#dvSchemeMasterhide\").css(\"display\", \"none\"); \n // this._spinner.hide();\n \n // }); \n // }\n\n if(ddlValue === \"rtf\"){\n this.fileName = 'SchemeMasterReport.rtf';\n var ele = document.getElementById('tblSchemaMasterhideRTF');\n var blob = new Blob([\"

Scheme Master's Report.


\"+ele.innerHTML+\"
\"], {\n type: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8\"\n });\n saveAs(blob, this.fileName);\n }\n\n if(ddlValue === \"html\"){\n this.fileName = 'SchemeMasterReport.html'; \n var ele = document.getElementById('tblSchemaMasterhide');\n var blob = new Blob([\"

Scheme Master's Report.


\"+ele.innerHTML+\"
\"], {\n type: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8\"\n });\n saveAs(blob, this.fileName);\n }\n} // fun closing\n\n@ViewChild('tblSchemaMasterhidepdf', {static: false}) tblSchemaMasterhidepdf: ElementRef;\nfndownloadReportPdf(ddlValue){\n if(ddlValue === \"pdf\"){\n \n \n let DATA = this.tblSchemaMasterhidepdf.nativeElement;\n var ele = document.getElementById('tblSchemaMasterhidepdf');\n let doc = new jsPDF('l','mm',[2600,1300]);\n var blob = new Blob([], {\n });\n let handleElement = {\n '#editor':function(element,renderer){\n return true;\n }\n };\n doc.fromHTML(\"

Scheme Master's Report.


\"+DATA.innerHTML+\"
\",15,15,{\n 'width':1300,\n 'elementHandlers': handleElement\n });\n doc.save('SchemeMasterReport.pdf');\n \n }\n\n\n}\n\n//grid sorting\nfnSortSchemeMaster(field,obj){\n\n if(this.lastSortedByField === field) {\n this.ascendingOrder = !this.ascendingOrder;\n\n sortTableSchemeMst(obj,this.ascendingOrder);\n }\n else {\n this.lastSortedByField = field;\n this.ascendingOrder = true;\n\n sortTableSchemeMst(obj,this.ascendingOrder);\n }\n\n if(this.ascendingOrder) {\n this.FilteredScheme = this.FilteredScheme.sort((a, b) => {\n if(field === 'BudgetAmount'){\n if (Number(a[field]) < Number(b[field]))\n return -1;\n if (Number(a[field]) > Number(b[field]))\n return 1;\n }\n else if (field === 'UtilizedAmount') {\n if (Number(a[field]) < Number(b[field]))\n return -1;\n if (Number(a[field]) > Number(b[field]))\n return 1;\n }\n else if (field === 'UnutilizedAmount') {\n if (Number(a[field]) < Number(b[field]))\n return -1;\n if (Number(a[field]) > Number(b[field]))\n return 1;\n }\n else{ \n if (a[field].toLowerCase() < b[field].toLowerCase())\n return -1;\n if (a[field].toLowerCase() > b[field].toLowerCase())\n return 1;\n }\n return 0;\n });\n }\n else {\n this.FilteredScheme = this.FilteredScheme.sort((a, b) => {\n if(field === 'BudgetAmount'){\n if (Number(a[field]) < Number(b[field]))\n return 1;\n if (Number(a[field]) > Number(b[field]))\n return -1;\n }\n else if (field === 'UtilizedAmount') {\n if (Number(a[field]) < Number(b[field]))\n return 1;\n if (Number(a[field]) > Number(b[field]))\n return -1;\n }\n else if (field === 'UnutilizedAmount') {\n if (Number(a[field]) < Number(b[field]))\n return 1;\n if (Number(a[field]) > Number(b[field]))\n return -1;\n }\n else{\n if (a[field].toLowerCase() < b[field].toLowerCase())\n return 1;\n if (a[field].toLowerCase() > b[field].toLowerCase())\n return -1;\n return 0;\n }\n });\n }\n\n}\n\n //#region \n // All checke\n checkUncheckAllScheme() {\n \n this.AllSelected=true;\n this.isActive = true;\n this.SchemeSelected != this.SchemeSelected;\n\n if (this.FilteredScheme.length > 0) {\n for (var i = 0; i < this.FilteredScheme.length; i++) {\n this.FilteredScheme[i].IsSchemeSelected = this.SchemeSelected; \n }\n }\n else\n {\n for (var i = 0; i < this.listLengthForSelect; i++) {\n this.allScheme[i].IsSchemeSelected = this.SchemeSelected; \n }\n }\n\n this.getCheckedItemList();\n }\n\n //single check\n isChecked(UserId,status){\n \n this.AllSelected=false;\n this.IsSchemeSelected != status;\n for (var i = 0; i < this.listLengthForSelect; i++) {\n this.allScheme[i].IsSchemeSelected == this.IsSchemeSelected; \n }\n this.getCheckedItemList();\n }\n\n //get checked item records\n getCheckedItemList(){\n\n this.checkedList = [];\n for (var i = 0; i < this.listLengthForSelect; i++) {\n if(this.allScheme[i].IsSchemeSelected == true)\n this.checkedList.push(this.allScheme[i]);\n }\n this.checkedList = JSON.stringify(this.checkedList);\n\n if(this.checkedList.length > 2){\n this.BulkDelete = false;\n }\n else{\n this.BulkDelete = true;\n }\n }\n\n //delete confirmation\n AllDeleteConfirmation(){\n \n if(this.AllSelected==true){\n this.ConfirmationMsg=\"Are you sure you want to delete All records?\"\n }\n if(this.AllSelected==false){\n this.ConfirmationMsg=\"Are you sure you want to delete selected records?\"\n }\n this.AllDeleteShow();\n }\n //#endregion \n\n // tab function\n onKeyDown(event: KeyboardEvent) {\n \n let a= (event.charCode == 8 || event.charCode == 45 || event.charCode == 0 ) ? null : event.charCode >= 48 && event.charCode <= 57;\nreturn a;\n}\n\n//#region -----------------------------------------\ncheckUncheckAllBulkApproval(){\n this.SchemeSelected != this.SchemeSelected;\n if (this.FilteredScheme.length > 0) {\n for (var i = 0; i < this.FilteredScheme.length; i++) {\n if(this.FilteredScheme[i].IsSchemeDisabled != true){\n this.FilteredScheme[i].IsSchemeSelected = this.SchemeSelected; \n }\n }\n }\n else\n {\n for (var i = 0; i < this.listLengthForSelect; i++) {\n if(this.allScheme[i].IsSchemeDisabled != true){\n this.allScheme[i].IsSchemeSelected = this.SchemeSelected; \n }\n }\n }\n this.getCheckedBulkAuthorize();\n// if (this.FilteredScheme.length > 0) {\n// for (var i = 0; i < this.FilteredScheme.length; i++) {\n// this.FilteredScheme[i].IsSchemeSelected = this.SchemeSelected; \n// }\n// }\n// if(this.SchemeSelected==true){\n// this.AddEditBulkApprovalLabel=true;\n// }\n// else{\n// this.AddEditBulkApprovalLabel=false;\n// }\n}\nIsBulkAutherizeCheck(Id,Status){\n Status!= this.SchemeSelected ;\n for (var i = 0; i < this.FilteredScheme; i++) {\n this.FilteredScheme[i].IsSchemeSelected == this.SchemeSelected; \n} this.getCheckedBulkAuthorize();\n// for (var i = 0; i < this.listLengthForSelect; i++) {\n// if(this.FilteredScheme[i].IsSchemeSelected == true){\n// this.AddEditBulkApprovalLabel=true;\n// } \n// }\n}\ngetCheckedBulkAuthorize(){\n\n this.checkedBulkList = [];\n for (var i = 0; i < this.listLengthForSelect; i++) {\n if(this.allScheme[i].IsSchemeSelected == true)\n this.checkedBulkList.push(this.allScheme[i]);\n }\n this.checkedList = JSON.stringify(this.checkedBulkList);\n\n if(this.checkedBulkList.length >= 1){\n this.AddEditBulkApprovalLabel=true;\n }\n else{\n this.AddEditBulkApprovalLabel=false;\n }\n}\nApproved(){\n this.showModalForAllDelete=true;\n $(document).ready(function () {\n $('#IDshowModalForAuthorize').eq(0).focus();\n });\n this.ConfirmationMsg=\"Approve\"\n this.AuthorizeStatus=2 ;\n this._SchemeService.formData.RequestType = \"\";\n this._SchemeService.formData.StatusTitle = \"\";\n}\nRejectd(){\n this.showModalForAllDelete=true;\n $(document).ready(function () {\n $('#IDshowModalForAuthorize').eq(0).focus();\n });\n this.ConfirmationMsg=\"Reject\";\n this.AuthorizeStatus=3; this._SchemeService.formData.RequestType = \"\";\n this._SchemeService.formData.StatusTitle = \"\";\n\n}\n\nselectSchemeList:any[];\nBulkAuthorizeConfirm(){\n debugger;\n this.selectSchemeList=[];\n\n for(var i=0;i0){\n this._SchemeService.fnBulkSchemeAuthorize(this.selectSchemeList,localStorage.getItem('LoginUserId'),this.AuthorizeStatus).subscribe(res => { \n this.SchemeList(); this.AddEditBulkApprovalLabel=false;\n this.showModalForAllDelete=false;\n this.onTop();\n this.showMsg=true;\n this.lblMessage=\"Bulk Authorize Completed For All Selected Records Succesfully\";\n //this.lblMessage=\"All Account Deleted Successfully except Account Number used in Other Master. \n }\n ,(err)=>{\n this.router.navigate([\"404\"]);\n });\n }\n \n}\n//#endregion\n\n\nfnOpengearMenu(){\n $(\".icon-cog\").trigger(\"click\");\n}\nfnsubOpengearMenu(){\n $('[class=\"dropdown-menu\"]').trigger(\"click\").css('display','block');\n}\n}\n","\n
\n
\n
\n
\n

Scheme Master

\n
\n \n
\n
\n
\n ×\n Success! {{lblMessage}}.\n
\n
\n
\n
\n ×\n {{lblMessage}}\n
\n
\n \n
\n\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n Please Enter valid Name\n
\n
\n
\n \n \n\n \n
\n \n
\n \n
\n
\n
\n Please Enter a valid Date Format\n
\n\n
\n \n
\n\n
\n \n
\n \n \n
\n \n \n
\n \n \n
\n \n
\n \n
\n \n
\n
\n\n
\n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n
\n \n
\n \n
\n
\n \n
\n
\n \n
\n
\n
\n \n
\n \n
\n \n
\n \n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Scheme NameBudget AmountUtilized AmountUnutilized AmountCreated ByCreated / Updated Date \n StatusRequest TypeStructure Approval Status\n \n Action\n \n \n
\n \n \n
\n
\n \n {{Scheme.SchemeName}}\n \n {{Scheme.BudgetAmount}}{{Scheme.UtilizedAmount}}{{Scheme.UnutilizedAmount}}{{Scheme.CreatedName}}{{Scheme.CreatedDate}}{{Scheme.StatusTitle}}{{Scheme.RequestType}}{{Scheme.SchAccLinkStatusTitle}}\n
\n
\n \n
\n
\n \n
\n
\n \n
\n \n
\n \n
\n
\n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
No records found.
No records found.
\n
\n
\n \n
\n
\n \n
\n
\n \" class=\"nav-link\" class=\"btn btn-primary btn-md text-white pull-right\" id=\"navbarDropdownMenuLink\" data-toggle=\"dropdown\" \n style=\"margin-top: -0.65em;margin-left: 2.5em;color:#4ad4e3;font-size: 15px;;\" aria-haspopup=\"true\" \n aria-expanded=\"false\"/>\n \n \n \n \n \n \n \n
\n \n
\n \n \n
\n
\n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Scheme NameBudget AmountUtilized AmountUnutilized AmountTransfer LimitScheme start DateCorporation CodeParent AccountStatusRequest TypeCreated ByCreated DateUpdated ByUpdated Date
{{Scheme.SchemeName}} {{Scheme.BudgetAmount}}{{Scheme.UtilizedAmount}}{{Scheme.UnutilizedAmount}}{{Scheme.TransferLimit}}{{Scheme.SchemestartDate}}{{Scheme.CorporationCode}}{{Scheme.AccountName}}{{Scheme.StatusTitle}}{{Scheme.RequestType}}{{Scheme.CreatedName}}{{Scheme.CreatedDate}}{{Scheme.UpdatedName}}{{Scheme.UpdatedDate}}
\n\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Scheme NameBudget AmountUtilized AmountUnutilized AmountTransfer LimitScheme start DateCreated ByCreated DateStatusRequest TypeStructure Approval Status
{{Scheme.SchemeName}}{{Scheme.BudgetAmount}}{{Scheme.UtilizedAmount}}{{Scheme.UnutilizedAmount}}{{Scheme.TransferLimit}}{{Scheme.SchemestartDate}}{{Scheme.CreatedName}}{{Scheme.CreatedDate}}{{Scheme.StatusTitle}}{{Scheme.RequestType}}{{Scheme.SchAccLinkStatusTitle}}
\n \n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Scheme NameBudget AmountUtilized AmountUnutilized AmountTransfer LimitScheme start DateCreated ByCreated DateStatusRequest TypeStructure Approval Status
{{Scheme.SchemeName}}{{Scheme.BudgetAmount}}{{Scheme.UtilizedAmount}}{{Scheme.UnutilizedAmount}}{{Scheme.TransferLimit}}{{Scheme.SchemestartDate}}{{Scheme.CreatedName}}{{Scheme.CreatedDate}}{{Scheme.StatusTitle}}{{Scheme.RequestType}}{{Scheme.SchAccLinkStatusTitle}}
\n \n
\n\n
\n
\n
\n
\n

Confirmation

\n \n
\n
\n

Are you sure you want to delete?

\n
\n
\n \n \n
\n
\n
\n
\n\n
\n
\n
\n
\n

Confirmation

\n \n
\n
\n

Are you sure you want to {{ConfirmationMsg}} All Selected Records?

\n
\n
\n \n \n
\n
\n
\n
\n \n \n","import { Component, OnInit , ViewEncapsulation, NgZone } from '@angular/core';\nimport { HttpClientModule, HttpClient,HttpHeaders } from '@angular/common/http';\nimport { Router } from '@angular/router';\nimport { SchemeAccountLink,schemeAccoutnLinkClass , SchemeAcCreatedUpdated} from 'src/app/MasterService/scheme-account-link';\nimport { AccountMasterService } from '../../MasterService/account-master.service';\nimport { SchemeAccountLinkService } from '../../MasterService/scheme-account-link.service';\nimport { AccountMaster } from 'src/app/MasterService/AccountMaster';\nimport { Constants } from 'src/app/Common/constant';\nimport { NgxSpinnerService } from 'ngx-spinner';\nimport { WindowScrollingService } from 'src/app/MasterService/window-scrolling.service';\nimport { NgForm } from '@angular/forms';\nimport { RoleAccess } from 'src/app/MasterService/RoleAccess';\nimport { RoleAccessService } from 'src/app/MasterService/role-access.service';\nimport { TokenService } from 'src/app/MasterService/token.service';\nimport { EncryptdecryptService } from 'src/app/MasterService/encryptdecrypt.service';\nimport { IDropdownSettings } from 'ng-multiselect-dropdown';\n\n\n//#region \ndeclare var SchemeReady: any;\ndeclare var apiUrl: string;\ndeclare var SaveSchemeAccountLink: Function;\ndeclare var GetSchemeAccounlinkMaster: Function;\ndeclare var getAllSchemeAccountProperties: Function;\ndeclare var resetSchemeAccountLinkTree: Function;\ndeclare var schemeSweepMethodSelection: Function;\ndeclare var SaveSchemeAccountProperties: Function;\ndeclare var SchemeAccountLinkStatus: any;\ndeclare var IsCheckerRole: any;\ndeclare var IsCheckerCreate: any;\ndeclare var viewModeAccess: string;\ndeclare const GetSchemeAccounlinkMasterAfterSweep: any;\ndeclare var flowy: any;\ndeclare var schemeAccLinkId: any;\ndeclare var filteredlist: any;\ndeclare var rulelist1:any;\ndeclare var selectedRule:any;\ndeclare var newSelectedRule:any;\n//#endregion\n\n@Component({\n selector: 'app-scheme-account-link',\n templateUrl: './scheme-account-link.component.html',\n styleUrls: ['./scheme-account-link.component.css'],\n encapsulation: ViewEncapsulation.None\n})\nexport class SchemeAccountLinkComponent implements OnInit {\n\n //#region \n RoleAccess: RoleAccess;\n divCommenthideshow: boolean = false;\n CommentView: boolean = false;\n checkerAccess:boolean = false;\n\n SchemeName:string;\n CustomerId:number;\n SchemeId:number;\n sclinkId:number;\n AccountTypes:any = [];\n AllStructorTypes:any = [];\n Accounts: AccountMaster[];\n FilteredAccountList: AccountMaster[];\n\n SchemeAccountLinkClassObj: schemeAccoutnLinkClass;\n \n //Account Type List------------------------\n AccountTypeList: any[] = [];\n FilteredAccountTypeList: any[] = [];\n LoginUserId: string;\n IsEdit: boolean = false;\n SchemeBudgetAmount:string;\n UtilizedAmount:string;\n UnUtilizedAmount:string;\n TransferLimit:string;\n\n //createdby and updatedby \n SchemeAcCreatedUpdated:SchemeAcCreatedUpdated[];\n createdBy:number;\n createdDate:string;\n userNameCreated:string;\n usernameUpdte:string;\n updtedDate:string;\n showCreatedDiv:boolean=false;\n showUpdatedDiv:boolean=false;\n \n SchemeSweepMode:string;\n SweepMode:boolean=false;\n showModalClearTree: boolean;\n showModalResetTree: boolean;\n IsCreatedByOtherChecker: boolean = false;\n buttonValue: string = \"Save Draft\";\n\n // sweep balance\n showSweepModal: boolean;\n showModal: boolean;\n lblMessage: string;\n\n resetTreeLbl: string;\n\n dropdownList:any = [];\n selectedItems:any = [];\n dropdownSettings:IDropdownSettings = {};\n //#endregion\n\n constructor(private httpService: HttpClient ,private router: Router, public _accountService : AccountMasterService, \n public _schemeLinkService:SchemeAccountLinkService,private _spinner: NgxSpinnerService,public _roleAccess: RoleAccessService,\n public _token:TokenService , public _encrypt:EncryptdecryptService,private ngZone: NgZone) { \n }\n\n ngAfterViewInit(): void {\n SchemeReady(); //call js function\n }\n\n ngOnInit(): void {\n window['angularComponentReference'] = { component: this, zone: this.ngZone, loadAngularFunction: () => this.angularFunctionCalled(), };\n this._spinner.show();\n\n this.LoginUserId = localStorage.getItem('LoginUserId');\n this.onTop();\n this.dropdownSettings = {\n singleSelection: false,\n idField: 'RuleId',\n textField: 'RuleName',\n selectAllText: 'Select All',\n unSelectAllText: 'UnSelect All',\n itemsShowLimit: 1,\n allowSearchFilter: true\n };\n\n this.SchemeName = localStorage.getItem('Schemename');\n this.CustomerId = parseInt(localStorage.getItem('CustId'));\n this.SchemeId = parseInt(localStorage.getItem('SchemeId'));\n this.sclinkId = parseInt(localStorage.getItem('SchemeLinkId'));\n this.SchemeBudgetAmount = localStorage.getItem('SchemeBudgetAmount');\n this.UnUtilizedAmount = localStorage.getItem('UnutilizedAmout');\n this.UtilizedAmount = localStorage.getItem('UtilizedAmount');\n this.TransferLimit = localStorage.getItem('TransferLimit');\n\n this.SchemeSweepMode = localStorage.getItem('SchemeSweepMode');\n schemeAccLinkId = this.sclinkId;\n\n viewModeAccess = this.SchemeSweepMode;\n\n if (this.SchemeId != 0 && this.sclinkId != 0) {\n this._schemeLinkService.formData = {\n AccountType:'',\n CustomerId:this.CustomerId,\n SchemeId:this.SchemeId,\n UserId:this.LoginUserId,\n SchemeAccountstatus:'',\n OutputJson:'',\n SchemeAclinkId:this.sclinkId,\n Comments:'',\n Oldcomment:'',\n //StructorId:0,\n //StructorName:''\n Priority:null,\n CreatedBy: null,\n UpdatedBy:null\n }\n this.IsEdit = true;\n this.SchemeBudgetAmount = this.SchemeBudgetAmount;\n }\n else{\n this._schemeLinkService.formData = {\n AccountType:'',\n CustomerId:this.CustomerId,\n SchemeId:this.SchemeId,\n UserId:this.LoginUserId,\n SchemeAccountstatus:'',\n OutputJson:'',\n SchemeAclinkId:0,\n Comments:'',\n Oldcomment:'',\n Priority:null,\n CreatedBy: null,\n UpdatedBy: null\n }\n this.IsEdit = false;\n this.SchemeBudgetAmount = this.SchemeBudgetAmount;\n }\n this.GetPrivillageRoles();\n }\n\n //#region \n showSweep() { this.showSweepModal = true; }\n hideSweep() { this.showSweepModal = false; }\n show() { this.showModal = true; }\n hide() { this.showModal = false; }\n HideModalConfirmation() {\n var x = document.getElementById(\"ModalPopupConfirmation\");\n x.style.display = \"none\";\n }\n\n showClearTree() { \n var data = flowy.output();\n if (data != undefined) { this.showModalClearTree = true; }\n else {\n this.showModal = true;\n this.lblMessage = \"No tree available to clear\";\n }\n }\n hideClearTree() { this.showModalClearTree = false; }\n\n hideResetTree() { this.showModalResetTree = false; }\n\n showResetTree() {\n this._schemeLinkService.fnResetTreelable(this.sclinkId).subscribe(msg => {\n this.resetTreeLbl = msg;\n this.showModalResetTree = true;\n });\n\n }\n //#endregion\n\n //bind rule dropdown\n angularFunctionCalled() { \n this.dropdownList = rulelist1;\n this.selectedItems = selectedRule;\n } \n\n \n ruleSemethod(event){\n newSelectedRule = event;\n }\n ruleDemethod(event){\n newSelectedRule = event;\n }\n Allrulemethod(event){\n newSelectedRule = event;\n }\n\n //save scheme account link\n SaveFunction(form:NgForm,IsConfirm,IsSendForApproval) {\n if(form.invalid){\n (Object).values(form.controls).forEach(control => {\n control.markAsTouched();\n });\n\n return false;\n }\n else{\n if ((this.RoleAccess != undefined && this.RoleAccess.CheckerAccess == false)\n || (this.RoleAccess.CheckerAccess == true && this._schemeLinkService.formData.CreatedBy == +this._encrypt.decryptUsingAES256(localStorage.getItem(\"LoginUserId\")))\n || (this.RoleAccess.CheckerAccess == true && this.sclinkId == 0)) {\n this._schemeLinkService.formData.SchemeAccountstatus = \"1\";\n }\n this._schemeLinkService.formData.SchemeId = this.SchemeId;\n this._schemeLinkService.formData.UserId = this.LoginUserId;\n this._schemeLinkService.formData.CustomerId= this.CustomerId;\n\n if(IsSendForApproval){\n this._schemeLinkService.formData.SchemeAccountstatus = \"5\";\n }\n SaveSchemeAccountLink(this._schemeLinkService.formData, IsConfirm);\n }\n }\n\n //navigate back\n BackButton(){\n this.router.navigate(['/ManageScheme']);\n }\n\n //bind accounttype value\n AccountType(){\n this._accountService.fnGetAccountType().subscribe(data=>{\n this.AccountTypes = data;\n },\n (error)=>{\n this.router.navigate([\"404\"]);\n return;\n });\n }\n\n //get scheme accountlink by sclinkId\n GetAccountLinkingMasterData() {\n this._accountService.fnGetAccountListForAccountLink(localStorage.getItem(\"LoginUserId\"),this.CustomerId.toString()).subscribe(res => {\n this.Accounts = res.AccountsList;\n this.AccountTypeList = res.AccountTypeList;\n \n if (this.IsEdit) {\n \n if(this.SchemeSweepMode == \"sweep\")\n this.SweepMode = true;\n else\n this.SweepMode = false;\n\n this.FilteredAccountList = this.Accounts.filter(row => { return (row.CustomerId == this.CustomerId); });\n filteredlist = this.FilteredAccountList;\n this.FilteredAccountTypeList = this.AccountTypeList.filter(row => { return row.CustomerId == this.CustomerId; });\n this._schemeLinkService.fnGetSchemeAccountLinkMaster(this.sclinkId).subscribe(scaclinkObj => {\n \n this._schemeLinkService.formData = scaclinkObj.SchemeAccountLink;\n this.SchemeAccountLinkClassObj = scaclinkObj;\n\n if (this.RoleAccess.CheckerAccess == true && (this._schemeLinkService.formData.CreatedBy == +this._encrypt.decryptUsingAES256(localStorage.getItem(\"LoginUserId\")))) { \n IsCheckerCreate = true;\n }\n else {\n IsCheckerCreate = false;\n }\n\n setTimeout(() => {\n SchemeAccountLinkStatus = this._schemeLinkService.formData.SchemeAccountstatus;\n getAllSchemeAccountProperties(this.SchemeAccountLinkClassObj.SchemeAccountLink.CustomerId);\n GetSchemeAccounlinkMaster(this.SchemeAccountLinkClassObj);\n this.fnGetCreatedNUpdatedAccount();\n this.SchemeAccountLinkClassObj.SchemeAccountLink.AccountType='';\n\n if (this._schemeLinkService.formData.SchemeAccountstatus === '1' || this._schemeLinkService.formData.SchemeAccountstatus === '2' || this._schemeLinkService.formData.SchemeAccountstatus === '3' || this._schemeLinkService.formData.SchemeAccountstatus === '5') {\n this.divCommenthideshow = true;\n this.CommentView = false;\n }\n if (this._schemeLinkService.formData.SchemeAccountstatus == '5') {\n this._schemeLinkService.formData.SchemeAccountstatus = null;\n this.CommentView = true;\n }\n\n if (this.RoleAccess.CheckerAccess == true && (this._schemeLinkService.formData.CreatedBy != +this._encrypt.decryptUsingAES256(localStorage.getItem(\"LoginUserId\")))) {\n this.IsCreatedByOtherChecker = true;\n this.buttonValue = \"Verify\";\n //IsCheckerCreate = true;\n }\n else {\n this.IsCreatedByOtherChecker = false;\n this.buttonValue = \"Save Draft\";\n //IsCheckerCreate = false;\n }\n\n this._spinner.hide();\n }, 500);\n },\n (error)=>{\n this.router.navigate([\"404\"]);\n return;\n });\n }\n else{\n this._spinner.hide();\n }\n //this.StructorType();\n this.SelectCustomer();\n this.SelectAccountType();\n },\n (error)=>{\n this.router.navigate([\"404\"]);\n return;\n });\n }\n\n //scroll on top\n onTop() {\n window.scroll({\n top: 0,\n left: 0,\n behavior: 'smooth'\n })\n }\n\n //filter by AccountType\n SelectAccountType() {\n if(this._schemeLinkService.formData.AccountType == null)\n this._schemeLinkService.formData.AccountType = \"\";\n this.FilteredAccountList = this.Accounts.filter(row => { return row.CustomerId == this._schemeLinkService.formData.CustomerId; });\n\n this.FilteredAccountList = this.FilteredAccountList.filter(row => { return row.AccountType.toLocaleLowerCase().match(this._schemeLinkService.formData.AccountType.toLocaleLowerCase())});\n }\n\n //bind accountype\n GetAccountTypeList(accountsList: AccountMaster[]) {\n\n accountsList.forEach(element => {\n var accountTypeObj = { AccountTypeName: \"\", AccountTypeValue: \"\", CustomerId: 0 };\n\n var accTypeValue = this.AccountTypeList.filter(row => {\n return row.AccountTypeValue == element.AccountType && row.CustomerId == element.CustomerId; })[0];\n if (accTypeValue == null || accTypeValue == undefined) {\n if (element.AccountType == \"SavingAccount\") {\n accountTypeObj.AccountTypeName = \"Saving Account\";\n accountTypeObj.AccountTypeValue = element.AccountType;\n accountTypeObj.CustomerId = element.CustomerId;\n }\n if (element.AccountType == \"CurrentAccount\") {\n accountTypeObj.AccountTypeName = \"Current Account\";\n accountTypeObj.AccountTypeValue = element.AccountType;\n accountTypeObj.CustomerId = element.CustomerId;\n }\n if (element.AccountType == \"LoanAccount\") {\n accountTypeObj.AccountTypeName = \"Loan Account\";\n accountTypeObj.AccountTypeValue = element.AccountType;\n accountTypeObj.CustomerId = element.CustomerId;\n }\n if (element.AccountType == \"EscrowAccount\") {\n accountTypeObj.AccountTypeName = \"Escrow Account\";\n accountTypeObj.AccountTypeValue = element.AccountType;\n accountTypeObj.CustomerId = element.CustomerId;\n }\n if (element.AccountType == \"CorrespondentAccount\") {\n accountTypeObj.AccountTypeName = \"Correspondent Account\";\n accountTypeObj.AccountTypeValue = element.AccountType;\n accountTypeObj.CustomerId = element.CustomerId;\n }\n if (element.AccountType == \"VirtualAccount\") {\n accountTypeObj.AccountTypeName = \"Virtual Account\";\n accountTypeObj.AccountTypeValue = element.AccountType;\n accountTypeObj.CustomerId = element.CustomerId;\n }\n\n this.AccountTypeList.push(accountTypeObj);\n }\n });\n\n this.FilteredAccountTypeList = [];\n\n }\n\n //filter accounts by customerid\n SelectCustomer() {\n if (this._schemeLinkService.formData.CustomerId > 0) {\n this._schemeLinkService.formData.AccountType = null;\n this.FilteredAccountTypeList = this.AccountTypeList.filter(row => { return row.CustomerId == this._schemeLinkService.formData.CustomerId; });\n this.FilteredAccountList = [];\n\n if (this._schemeLinkService.formData.CustomerId > 0 && !this.IsEdit) {\n this._schemeLinkService.fnGetSchemeAccountLinkMasterMaxPriority(this._schemeLinkService.formData.CustomerId).subscribe(maxPriority => {\n this._schemeLinkService.formData.Priority = maxPriority;\n },\n (error)=>{\n this.router.navigate([\"404\"]);\n return;\n });\n }\n }\n\n if (this._schemeLinkService.formData.CustomerId > 0 && this._schemeLinkService.formData.AccountType != null) {\n this.FilteredAccountList = this.Accounts.filter(row => { return row.CustomerId == this._schemeLinkService.formData.CustomerId; });\n\n this.FilteredAccountList = this.FilteredAccountList.filter(row => { return row.AccountType == this._schemeLinkService.formData.AccountType; });\n getAllSchemeAccountProperties(this._schemeLinkService.formData.CustomerId);\n }\n else {\n this.FilteredAccountList = [];\n }\n\n }\n\n //create/update user history\n fnGetCreatedNUpdatedAccount(){\n this._schemeLinkService.fnGetCreatedUpdateSchemeAccount(this.sclinkId).subscribe(userdates=>{\n this.SchemeAcCreatedUpdated=userdates;\n if(this.SchemeAcCreatedUpdated[0].CreatedDate != '' && this.SchemeAcCreatedUpdated[1].UpdatedDate != null){\n this.showCreatedDiv=true;\n this.createdDate=this.SchemeAcCreatedUpdated[0].CreatedDate;\n this.userNameCreated=this.SchemeAcCreatedUpdated[0].UserName;\n }\n if(this.SchemeAcCreatedUpdated[1].UpdatedDate != '' && this.SchemeAcCreatedUpdated[1].UpdatedDate != null){\n this.showUpdatedDiv=true;\n this.usernameUpdte=this.SchemeAcCreatedUpdated[1].UserName;\n this.updtedDate=this.SchemeAcCreatedUpdated[1].UpdatedDate;\n }\n },\n (error)=>{\n this.router.navigate([\"404\"]);\n return;\n });\n }\n\n //get role privillage\n GetPrivillageRoles() {\n this._roleAccess.fnGetRoleAccess(localStorage.getItem('LoginUserId'), '/ManageScheme').subscribe(roleAccess => {\n this.RoleAccess = roleAccess[0];\n this.checkerAccess = roleAccess[0].CheckerAccess;\n IsCheckerRole = this.RoleAccess.CheckerAccess \n this.GetAccountLinkingMasterData();\n },\n (error)=>{\n this.router.navigate([\"404\"]);\n return;\n });\n }\n\n Commenthideshow() {\n this.CommentView = false;\n }\n\n ParentAccountId:Number;\n ScAcLinkClass:SchemeAccountLink;\n //clear tree \n ClearTreeStructure() {\n this.hideClearTree();\n resetSchemeAccountLinkTree();\n\n var AccountNumber = \"\";\n var AccountBalance = \"\";\n var AccountName = \"\";\n var BudgetAmount;\n \n this.ScAcLinkClass = {\n SchemeId:0,\n AccountType:null,\n CustomerId:0,\n UserId:null,\n SchemeAclinkId:0,\n OutputJson:null,\n SchemeAccountstatus:null,\n Comments:null,\n Oldcomment:null,\n Priority:null,\n CreatedBy:null,\n UpdatedBy:null,\n }\n \n this.ParentAccountId = +localStorage.getItem(\"ParentAccountId\");\n this.SchemeAccountLinkClassObj.SchemeAccountLinkRelationDetails.forEach(row=>{\n if(row.ParentId == -1)\n BudgetAmount = row.scBudgetedAmount;\n });\n for(var i=0 ; i< this.FilteredAccountList.length; i++){\n if(this.ParentAccountId == this.FilteredAccountList[i].AccountId){\n AccountNumber = this.FilteredAccountList[i].AccountNumber;\n AccountBalance = this.FilteredAccountList[i].CurrentBalance;\n AccountName = this.FilteredAccountList[i].AccountName;\n \n var output = '{\"html\":\"

A/C Name - '+AccountName+'
A/C No - '+AccountNumber+'

Scheme Balance - Rs '+ BudgetAmount +'

Account Balance - Rs '+AccountBalance+'

Execute

\",\"blockarr\":[{\"parent\":-1,\"childwidth\":0,\"id\":0,\"x\":742,\"y\":302,\"width\":242,\"height\":120}],\"blocks\":[{\"id\":0,\"parent\":-1,\"data\":[{\"name\":\"AccountId\",\"value\":\"' + this.ParentAccountId + '\"},{\"name\":\"AccountNumber\",\"value\":\"'+AccountNumber+'\"},{\"name\":null,\"value\":\"\"},{\"name\":null,\"value\":\"\"},{\"name\":\"BankName\",\"value\":\"IDBI Bank\"},{\"name\":\"blockid\",\"value\":\"0\"}],\"attr\":[{\"class\":\"noselect block\"},{\"id\":\"sc'+AccountNumber+'tree\"},{\"style\":\"left: 616px; top: 116px;\"}]}]}';\n \n var schemeclass={};\n this.ScAcLinkClass[\"SchemeAclinkId\"] = this.sclinkId;\n this.ScAcLinkClass[\"OutputJson\"] = output;\n\n\n \n this._schemeLinkService.fnClearTree(this.ScAcLinkClass).subscribe(data=>{\n this.GetAccountLinkingMasterDataEdited();\n }); \n \n }\n }\n \n \n \n }\n\n //reset the canvas tree\n resetToOrginal() {\n this.hideResetTree();\n resetSchemeAccountLinkTree();\n this._schemeLinkService.fnResetTree(this.sclinkId).subscribe(scaclinkObj => {\n scaclinkObj.SchemeAccountLink.UserId = localStorage.getItem('LoginUserId');\n scaclinkObj.SchemeAccountLink.SchemeId = this.SchemeId;\n GetSchemeAccounlinkMaster(scaclinkObj);\n SaveSchemeAccountLink(scaclinkObj.SchemeAccountLink, 'true');\n },\n (error)=>{\n this.router.navigate([\"404\"]);\n return;\n });\n }\n\n // Add/edit scheme account link property\n AddSchemeAccountProperties(){\n newSelectedRule = this.selectedItems;\n SaveSchemeAccountProperties(this._schemeLinkService.formData);\n }\n\n // SweepBalance() {\n // this.hideSweep();\n // this._token.fnrenewToken();\n // this._token.fnrenewToken();\n // const httpOptions = {\n // headers: new HttpHeaders({\n // 'Content-Type': 'application/json',\n // 'Authorization': this._token.token\n // })\n // };\n // this._schemeLinkService.fnSweepBalance(this.sclinkId.toString(),localStorage.getItem('LoginUserId'),this.SchemeId.toString()).subscribe(\n // data => {\n // this.lblMessage = data.toString();\n // this.show();\n // this._schemeLinkService.fnGetSchemeAccountLinkMaster(this.sclinkId).subscribe(aclinkObj => {\n // this.SchemeAccountLinkClassObj = aclinkObj;\n // GetSchemeAccounlinkMasterAfterSweep(this.SchemeAccountLinkClassObj);\n // getAllSchemeAccountProperties(this.SchemeAccountLinkClassObj.SchemeAccountLink.CustomerId);\n // },\n // (error)=>{\n // this.router.navigate([\"404\"]);\n // return;\n // });\n // },\n // (error)=>{\n // this.router.navigate([\"404\"]);\n // return;\n // });\n // }\n\n //navigate to manage rule \n navigateToManageBizRule(AccountId){\n localStorage.setItem('CorporationCode', this.CustomerId.toString());\n localStorage.setItem('Schemename' ,this.SchemeName.toString());\n localStorage.setItem('SchemeID' ,this.SchemeId.toString());\n this.router.navigate(['/ManageRulesMaster']);\n }\n\n\n GetAccountLinkingMasterDataEdited() {\n if (this.IsEdit) {\n this._schemeLinkService.fngetschemeaccountmasterlinkEdited(this.sclinkId).subscribe(scaclinkObj => {\n this._schemeLinkService.EditedformData = scaclinkObj.SchemeAccountLink;\n GetSchemeAccounlinkMaster(scaclinkObj);\n },\n (error)=>{\n this.router.navigate([\"404\"]);\n return;\n });\n }\n }\n}","\n
\n
\n \n
\n
\n \n
\n
\n

Manage Scheme Account Link for {{SchemeName}}

\n
\n \n \n \n
\n \n\n
\n \n
\n
\n \n
\n \n \n
\n
\n \n \n
This\n Priority is required
\n
\n
\n \n \n \n \n
\n Please select Accept or Reject.\n
\n
\n
\n \n \n \n \n
\n
\n \n \n \n \n \n
\n
\n \n \n \n \n \n \n \n \n
\n
\n
\n \n
\n
\n
\n \n
\n
\n
\n \n \n \n \n \n \n \n
\n
\n
\n \n \n \n
\n
\n

\n A/C Name - {{account.CustomerName}}
\n A/C No - {{account.AccountNumber}}\n

\n \n

\n Scheme Balance - Rs 0\n

\n

\n Account Balance - Rs ({{account.CurrentBalance}})\n

\n

\n Account Balance - Rs {{account.CurrentBalance}}\n

\n

\n \n \n Execute\n \n

\n\n \n
\n
\n \n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n \n
\n
\n
    \n
  • \n \n \n \n
  • \n
\n
\n
\n \n
\n
\n
\n Created By {{ userNameCreated }} on {{ createdDate }}\n
\n
\n Updated By {{ usernameUpdte }} on {{ updtedDate }}\n
\n
\n
\n \n \n \n
\n
\n
\n
\n\n\n
\n
\n
\n
\n

Properties

\n
\n
\n ×\n
\n
\n \n \n \n\n
\n
\n
\n
\n Select Rule\n
    \n
\n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n
\n
\n \n\n \n
\n
\n
\n
\n
\n\n
\n
\n
\n
\n

Confirmation

\n \n
\n
\n \n
\n
\n \n \n \n
\n
\n
\n
\n\n
\n
\n
\n
\n

Confirmation

\n \n
\n
\n

Are you sure you want to Clear?

\n
\n
\n \n \n
\n
\n
\n
\n\n
\n
\n
\n
\n

Confirmation

\n \n
\n
\n

{{resetTreeLbl}}

\n
\n
\n \n \n
\n
\n
\n
\n
\n
\n
\n
\n

Confirmation

\n \n
\n
\n {{lblMessage}}\n
\n
\n \n
\n
\n
\n
\n\n
\n
\n
\n
\n

Confirmation

\n \n
\n
\n \n
\n
\n \n
\n
\n
\n
\n\n\n \n","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\nimport { FormBuilder, FormGroup } from '@angular/forms';\nimport { FundDisbursmentService } from 'src/app/MasterService/fund-disbursment.service';\nimport { AccountMasterService } from 'src/app/MasterService/account-master.service';\nimport { AccountMaster, AccountType } from 'src/app/MasterService/AccountMaster';\nimport { SchemeMaster } from 'src/app/MasterService/SchemeMaster';\nimport { SchemeMasterService } from 'src/app/MasterService/scheme-master.service';\nimport { CustomerService } from '../../MasterService/customer.service';\nimport { NgForm } from '@angular/forms';\nimport { RoleAccessService } from '../../MasterService/role-access.service';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Constants } from 'src/app/Common/constant';\nimport { Router, NavigationExtras } from '@angular/router';\nimport { NgxSpinnerService } from \"ngx-spinner\";\nimport { FundCreatedUpdated } from 'src/app/MasterService/fund-disbursment';\nimport { debug } from 'console';\nimport { parse } from 'path';\nimport * as moment from 'moment';\nimport { NgbDateCustomParserFormatter } from '../../MasterService/date-format';\nimport { NgbDateParserFormatter } from '@ng-bootstrap/ng-bootstrap';\nimport { element } from 'protractor';\nimport { IAngularMyDpOptions, IMyDateModel } from 'angular-mydatepicker';\nimport { threadId } from 'worker_threads';\nimport { TokenService } from 'src/app/MasterService/token.service';\nimport * as CryptoJS from 'crypto-js';\nimport { EncryptdecryptService } from 'src/app/MasterService/encryptdecrypt.service';\n\n@Component({\n selector: 'app-add-edit-funddisbursement',\n templateUrl: './add-edit-funddisbursement.component.html',\n styleUrls: ['./add-edit-funddisbursement.component.css'],\n encapsulation: ViewEncapsulation.None\n // providers: [\n // {provide: NgbDateParserFormatter, useClass: NgbDateCustomParserFormatter}\n // ]\n})\nexport class AddEditFunddisbursementComponent implements OnInit {\n\n myDpOptions: IAngularMyDpOptions = {\n dateRange: false,\n dateFormat: 'dd-mm-yyyy'\n // other options are here...\n };\n\n validDate: boolean = true;\n IsSchemeIsInactive: boolean;\n NewFilterScheme: SchemeMaster;\n InValidCustomer: boolean;\n\n constructor(public _spinner: NgxSpinnerService, public _fundDisbursment: FundDisbursmentService, public _AccountService: AccountMasterService, public _customerService: CustomerService,\n public _SchemeService: SchemeMasterService, public _roleAccess: RoleAccessService, public _token: TokenService, private formBuilder: FormBuilder, private httpClient: HttpClient,\n private router: Router, private _encrypt: EncryptdecryptService) { }\n\n Accounts: AccountMaster[];\n AccountTypes: AccountType[];\n FilterAccount: AccountMaster[];\n Scheme: SchemeMaster[];\n FilterScheme: SchemeMaster[];\n allCustomers: any = [];\n allCustomersselectedval: any = [];\n ParentAccount: any = [];\n Account: any = [];\n FilterParentAccount: any = [];\n ChildAccount: any = [];\n FilterChildAccount: any = [];\n lblMessage: string;\n disableButton: boolean;\n showMsg: boolean;\n showerrormsg: boolean;\n CheckerPrivillage: boolean;\n EditPriv: boolean;\n AddPriv: boolean;\n Comment1blockshow: boolean;\n Comment2blockshow: boolean;\n lblTitle: string;\n viewMode: boolean;\n IsfileView: boolean;\n ISFileExists: string;\n showModal: boolean;\n newdate: string;\n newtime: string;\n buttonvalue: string;\n disabledAuthorize: boolean = false;\n disabledApprove: boolean = false;\n disableReject1: boolean = false;\n disableReject2: boolean = false;\n readonly rootURL = Constants.apiURL;\n readonly InvoiceCopyUrl = Constants.InvoiceCopyUrl;\n\n uploadForm: FormGroup;\n\n editedFundId: number;\n Flag: string;\n\n FundCreatedUpdated1: FundCreatedUpdated[];\n createdBy: number;\n createdDate: string;\n userNameCreated: string;\n usernameUpdte: string;\n updtedDate: string;\n showCreatedDiv: boolean = false;\n showUpdatedDiv: boolean = false;\n disableClear: boolean;\n HiddenClr: boolean = false;\n CustomerId:number = 0;\n FromToAccountNumber:any = [];\n\n ngOnInit(): void {\n \n this._spinner.show();\n this.onTop();\n if (localStorage.getItem('LoginUserId') == null) {\n this.router.navigate([\"\"]);\n return;\n }\n this.editedFundId = +localStorage.getItem('newIndendentId');\n this.Flag = localStorage.getItem('_Flag');\n //Get Privilage based on Id\n this.GetPrivillageRoles();\n this.disableButton = false;\n // this.SchemeList();\n // //this.ChildAccountNumber();\n // this.AccountType();\n this.AccountList(); //vaibhav\n this.fnGetAllCustomerDetails(); //vaibhav\n this.SchemeList(); //vaibhav\n this.uploadForm = this.formBuilder.group({\n profile: ['']\n });\n\n if (this.editedFundId == 0) {\n // this.fndefaultRequestTime();\n // var dt = new Date();\n // var _savedStartTimeObjectnew = {hour: 0, minute: 0};\n // _savedStartTimeObjectnew.hour = + dt.getHours();\n // _savedStartTimeObjectnew.minute = + dt.getMinutes();\n // this._fundDisbursment.formData.RequestedTime =_savedStartTimeObjectnew; \n }\n this.lblMessage = localStorage.getItem(\"Msg\");\n localStorage.removeItem(\"Msg\");\n }\n//---Get GetPrivillage Method based on Id----------\n GetPrivillageRoles() {\n this._roleAccess.fnGetRoleAccess(localStorage.getItem('LoginUserId'), '/ManageFundDisbursement').subscribe(roleAccess => {\n this.EditPriv = roleAccess[0].EditAccess;\n this.AddPriv = roleAccess[0].AddAccess;\n this.CheckerPrivillage = roleAccess[0].CheckerAccess;\n this.fnGetFundById();\n }\n , (err) => {\n this.router.navigate([\"404\"]);\n });\n }\n\n // AccountType() {\n // this._AccountService.fnGetAccountType().subscribe(accountTypes => {\n // this.AccountTypes = accountTypes; \n // })\n // }\n//----set account Number in edt Mode-----------------\nParentAccountNumber(value:string=\"\") {\n if(value != \"\"){\n this._fundDisbursment.formData.FromAccountNumber=null;\n this._fundDisbursment.formData.ToAccountNumber=null;\n let list = this.allCustomers.filter(x => x.CustomerName === value)[0];\n if(list==undefined){\n this.InValidCustomer=true;\n }\n else{\n this.InValidCustomer=false;\n this._fundDisbursment.formData.CustomerId = list.CustPkId;\n }\n }\n else{\n this.InValidCustomer=false;\n }\n\n this.Account = [];\n if(this.InValidCustomer==false){\n // this._fundDisbursment.fnGetFundDisbursmenetAccount\n console.log(localStorage.getItem(\"LoginUserId\"));\n this._fundDisbursment.fnGetAccountForFund(localStorage.getItem(\"LoginUserId\"),\n this._fundDisbursment.formData.CustomerId).subscribe(AccountNumber => {\n // AccountNumber.forEach(element => {\n // if(element[\"AccountType\"] == \"Saving A/c\")\n // element[\"AccountType\"] = \"SavingAccount\";\n // else if(element[\"AccountType\"] == \"Current A/c\")\n // element[\"AccountType\"] = \"CurrentAccount\";\n // else if(element[\"AccountType\"] == \"Loan A/c\")\n // element[\"AccountType\"] = \"LoanAccount\";\n // else if(element[\"AccountType\"] == \"Escrow A/c\")\n // element[\"AccountType\"] = \"EscrowAccount\";\n // else if(element[\"AccountType\"] == \"Correspondent A/c\")\n // element[\"AccountType\"] = \"CorrespondentAccount\";\n // else if(element[\"AccountType\"] == \"Virtual A/c\")\n // element[\"AccountType\"] = \"VirtualAccount\"; \n // this.Account.push(element);\n // });\n this.Account = AccountNumber;\n for (var j = 0; j < this.Account.length; j++) {\n this.Account[j].AccountNumber = this.decryptUsingAES256(this.Account[j].AccountNumber);\n }\n this.ParentAccount = this.Account;\n this.ChildAccount = this.Account;\n this.fnAccount(this._fundDisbursment.formData.ToAccountType, this._fundDisbursment.formData.FromAccountType, this._fundDisbursment.formData.FromAccountId);\n this.ChangeTransferType();\n }\n , (err) => {\n this.router.navigate([\"404\"]);\n });\n } \n //}\n}\n // Declare this key and iv values in declaration\n private key = CryptoJS.enc.Utf8.parse('MAKV2SPBNI992121');\n private iv = CryptoJS.enc.Utf8.parse('MAKV2SPBNI992121');\n\n decryptUsingAES256(decString) {\n var decrypted = CryptoJS.AES.decrypt(decString, this.key, {\n keySize: 128 / 8,\n iv: this.iv,\n mode: CryptoJS.mode.CBC,\n padding: CryptoJS.pad.Pkcs7\n });\n return decrypted.toString(CryptoJS.enc.Utf8);\n }\n //-Get Account List------------------------------------\n AccountList() {\n this._AccountService.fnGetAccountList(localStorage.getItem('LoginUserId'),\"0\",\"1\",\"1000\",\n \"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\", \"\").subscribe(accounts => {\n this.Accounts = accounts;\n }, (err) => {\n this.router.navigate([\"404\"]);\n });\n }\n//--------------Get Customer Data For AClink--------------------\n fnGetAllCustomerDetails() {\n \n this._customerService.fnGetCustomerDataForAClink(localStorage.getItem('LoginUserId')).subscribe(allCustomers => {\n this.allCustomersselectedval = allCustomers;\n allCustomers.forEach(element => {\n if (element[\"Status\"] == \"Active\")\n this.allCustomers.push(element);\n });\n }, (err) => {\n this.router.navigate([\"404\"]);\n });\n }\n//Filter account --------------------------\n fnAccount(ToAccountType, FromAccountType, FromAccountId) {\n \n let list = this.ParentAccount.filter(x => x.AccountNumber === FromAccountId)[0];\n if(list==undefined){ } \n else{\n FromAccountId = list.AccountId;\n } \n \n this.FilterParentAccount = this.ParentAccount.filter(row => {\n return row.AccountType.toLocaleLowerCase().match(FromAccountType.toLocaleLowerCase());\n })\n\n this.FilterChildAccount = this.ChildAccount.filter(row => {\n return row.AccountType.toLocaleLowerCase().match(ToAccountType.toLocaleLowerCase());\n });\n if (parseInt(FromAccountId) > 0)\n this.FilterChildAccount = this.FilterChildAccount.filter(row => {\n return row.AccountId !== parseInt(FromAccountId);\n });\n\n this.fnScheme(this._fundDisbursment.formData.CustomerId);\n if (this._fundDisbursment.formData.SchemeId == 0)\n this._fundDisbursment.formData.SchemeId = null;\n\n setTimeout(() => {\n this._spinner.hide();\n }, 100);\n }\n\n fnSelectFromAccount(FromAccount) {\n this.FilterChildAccount = this.FilterChildAccount.filter(row => {\n return row.FromAccountId !== parseInt(FromAccount);\n });\n }\n //-----------Get Scheme List-----------------------\n SchemeList() {\n this._SchemeService.fnGetSchemMasterList(localStorage.getItem('LoginUserId')).subscribe(Scheme => {\n this.Scheme = Scheme;\n this.fnScheme(this._fundDisbursment.formData.CustomerId);\n if (this._fundDisbursment.formData.SchemeId == 0)\n this._fundDisbursment.formData.SchemeId = null;\n });\n }\n//---------get Scheme based on Customer ID----------------\n fnScheme(CustomerId) {\n if (this._fundDisbursment.formData.SchemeId == null || this._fundDisbursment.formData.SchemeId == 0) {\n if(this.Scheme != undefined){\n this.FilterScheme = this.Scheme.filter(row => {\n return row.CustomerId === parseInt(CustomerId);\n });\n this.FilterScheme = this.FilterScheme.filter(row => {\n return row.Status === 1;\n });\n }\n }\n }\n\n\n showlbl() {\n this.showMsg = true;\n }\n hidelbl() {\n this.showMsg = false;\n }\n\n showerror() {\n this.showerrormsg = true;\n }\n hideerror() {\n this.showerrormsg = false;\n }\n fnHideSuccessMsg(event) {\n\n this.showMsg = false;\n this.showerrormsg = false;\n\n }\n IsSweepSuccess: boolean;\n\n //------------Indent Authorize Method--------------\n AuthorizeReject(form: NgForm, Status) {\n if (this._fundDisbursment.formData.RequestedDate.singleDate.date.month >= 10) {\n this.newdate = this._fundDisbursment.formData.RequestedDate.singleDate.date.year + \"-\" + this._fundDisbursment.formData.RequestedDate.singleDate.date.month + \"-\" + this._fundDisbursment.formData.RequestedDate.singleDate.date.day;\n }\n else {\n this.newdate = this._fundDisbursment.formData.RequestedDate.singleDate.date.year + \"-0\" + this._fundDisbursment.formData.RequestedDate.singleDate.date.month + \"-\" + this._fundDisbursment.formData.RequestedDate.singleDate.date.day;\n }\n\n\n // if (form.value.RequestedDate.singleDate.date.month >= \"10\") {\n // this.newdate = form.value.RequestedDate.singleDate.date.year+\"-\"+form.value.RequestedDate.singleDate.date.month+\"-\"+form.value.RequestedDate.singleDate.date.day;\n // }\n // else {\n // this.newdate = form.value.RequestedDate.singleDate.date.year+\"-0\"+form.value.RequestedDate.singleDate.date.month+\"-\"+form.value.RequestedDate.singleDate.date.day;\n // }\n\n\n if (this._fundDisbursment.formData.RequestedTime != \"\") {\n this.newtime = this._fundDisbursment.formData.RequestedTime.hour + \":\" + this._fundDisbursment.formData.RequestedTime.minute;\n }\n\n\n form.value[\"flag\"] = \"autho\";\n form.value[\"UserId\"] = localStorage.getItem('LoginUserId');\n form.value[\"Status\"] = Status;\n form.value.Comment1 = this._fundDisbursment.formData.Comment1;\n form.value.Comment2 = this._fundDisbursment.formData.Comment2;\n form.value.CustomerId = this._fundDisbursment.formData.CustomerId;\n // form.value.AccountId = this._fundDisbursment.formData.AccountId;\n form.value.Amount = this._fundDisbursment.formData.Amount;\n\n let list1 = this.FilterParentAccount.filter(x => x.AccountNumber === this._fundDisbursment.formData.FromAccountNumber)[0];\n if(list1==undefined){ } \n else{\n this._fundDisbursment.formData.FromAccountId = list1.AccountId;\n } \n let list2 = this.FilterChildAccount.filter(x => x.AccountNumber === this._fundDisbursment.formData.ToAccountNumber)[0];\n if(list2==undefined){ } \n else{\n this._fundDisbursment.formData.ToAccountId = list2.AccountId;\n }\n form.value.FromAccountId = this._fundDisbursment.formData.FromAccountId;\n form.value.ToAccountId = this._fundDisbursment.formData.ToAccountId;\n form.value.FromAccountType = this._fundDisbursment.formData.FromAccountType;\n form.value.ToAccountType = this._fundDisbursment.formData.ToAccountType;\n //form.value.RequestedDate = this._fundDisbursment.formData.RequestedDate;\n form.value.RequestedDate = this.newdate;\n form.value.RequestedTime = this.newtime;\n form.value.Uploadedinvoice = this._fundDisbursment.formData.Uploadedinvoice;\n form.value.SchemeId = this._fundDisbursment.formData.SchemeId;\n form.value.TransferType = this._fundDisbursment.formData.TransferType; //seema 18/12/2020 12:58 PM\n\n if (Status == 2 || Status == 4) {\n this.disabledAuthorize = true;\n this.disableReject1 = true;\n }\n if (Status == 4 || Status == 3) {\n this.disabledApprove = true;\n this.disableReject2 = true;\n }\n\n this._fundDisbursment.fnAddEditFundDisbursmentDetails(form.value).subscribe(data => {\n this._fundDisbursment.formData.Id = data.Id;\n\n var _savedStartDate = {\n isRange: false,\n singleDate: { date: { year: 0, month: 0, day: 0 }, jsDate: \"\", formatted: \"\", epoc: \"\" },\n dateRange: null\n };\n\n var newObj = moment(data.RequestedDate).toObject();\n\n _savedStartDate.singleDate.date.day = newObj.date;\n _savedStartDate.singleDate.date.month = newObj.months + 1;\n _savedStartDate.singleDate.date.year = newObj.years;\n this._fundDisbursment.formData.RequestedDate = _savedStartDate;\n\n\n var _savedStartTime = data.RequestedTime.split(\":\");\n var _savedStartTimeObject = { hour: 0, minute: 0 };\n _savedStartTimeObject.hour = +_savedStartTime[0];\n _savedStartTimeObject.minute = +_savedStartTime[1];\n this._fundDisbursment.formData.RequestedTime = _savedStartTimeObject;\n\n this.lblMessage = data.Statusmsg;\n this.disableButton = false;\n this.showMsg = true;\n this.showerrormsg = false;\n this.onTop();\n this.fnGetCreatedNUpdatedFund();\n this.IsSweepSuccess = false;\n\n if (Status == 3) {\n \n this._fundDisbursment.fnFundTranfer(form.value[\"Id\"], localStorage.getItem('LoginUserId')).subscribe(data => {\n var msg = data;\n if (msg == \"Sweep Failed\") {\n this.lblMessage += \" \" + data + \" due to Insufficient Balance.\";\n this.IsSweepSuccess = false;\n }\n else if (msg == \"User transaction limit exceeds\"){\n this.lblMessage += \" \" + data ;\n this.IsSweepSuccess = false;\n }\n else {\n this.lblMessage += \" \" + data;\n this.IsSweepSuccess = true;\n }\n });\n }\n else {\n this.lblMessage = data.Statusmsg;\n }\n }\n , (err) => {\n this.router.navigate([\"404\"]);\n }\n );\n\n\n\n\n }\n//------------File Size check Method-------------------\n uploadFile(event) {\n\n if (event.target.files[0].size > 4194304) {\n //this.IsMaxFileSize=true;\n this.lblMessage = \"Maximum file size should be 4MB\"\n this.disableButton = true;\n this.showMsg = false;\n // this.showerrormsg = true;\n }\n else {\n if (event.target.files.length > 0) {\n const file = event.target.files[0];\n this.uploadForm.get('profile').setValue(file);\n // this.disableButton = false;\n }\n }\n }\n getDate(date) {\n\n if (date.year >= 9999 || date.year <= 999) {\n this.validDate = false;\n }\n else {\n this.validDate = true;\n }\n }\n\n onSubmit(form: NgForm) {\n\n\n if(this.CustomerId == 0){\n form.value.CustomerId = this._fundDisbursment.formData.CustomerId;\n }\n else{\n form.value.CustomerId = this.CustomerId;\n }\n\n if(this._fundDisbursment.formData.TransferType == 3 && parseInt(this._fundDisbursment.formData.Amount) < 200000){\n this.isNotValidAmount = true;\n return false;\n }\n else { \n this.isNotValidAmount = false;\n }\n\n \n var name = this.allCustomersselectedval.filter(\n row => row.CustPkId == form.value.CustomerId\n );\n\n\n if (form.valid && this.validDate == true) {\n this.disableButton = true;\n }\n if (form.value.RequestedDate.singleDate.date.month >= 10) {\n this.newdate = form.value.RequestedDate.singleDate.date.year + \"-\" + form.value.RequestedDate.singleDate.date.month + \"-\" + form.value.RequestedDate.singleDate.date.day;\n }\n else {\n this.newdate = form.value.RequestedDate.singleDate.date.year + \"-0\" + form.value.RequestedDate.singleDate.date.month + \"-\" + form.value.RequestedDate.singleDate.date.day;\n }\n const mxDate = new Date();\n if (mxDate != null) {\n //this.newtime = mxDate.getHours()+\":\"+mxDate.getMinutes();\n this.newtime = \"00\" + \":\" + \"00\"\n }\n\n \n\n if (parseInt(this._fundDisbursment.formData.Status) != 6 && parseInt(this._fundDisbursment.formData.Status) != 7)\n form.value[\"Status\"] = 1;\n else if(parseInt(this._fundDisbursment.formData.Status) == 7 && this._fundDisbursment.formData.UserId == this._encrypt.decryptUsingAES256(localStorage.getItem('LoginUserId')))\n form.value[\"Status\"] = 1;\n else\n form.value[\"Status\"] = parseInt(this._fundDisbursment.formData.Status);\n\n form.value[\"flag\"] = \"save\";\n form.value[\"UserId\"] = localStorage.getItem('LoginUserId'); \n\n // if(this._fundDisbursment.formData.Status != '')\n // form.value[\"Status\"] = this._fundDisbursment.formData.Status;\n // else\n // form.value[\"Status\"] = 1;\n\n const formData = new FormData();\n if (this._fundDisbursment.formData.Id == 0) {\n if (this.editedFundId > 0) {\n this._fundDisbursment.formData.Id = this.editedFundId;\n }\n }\n\n formData.append('file', this.uploadForm.get('profile').value);\n form.value[\"RequestedDate\"] = this.newdate;\n form.value[\"RequestedTime\"] = this.newtime\n if (this.validDate == true) {\n if (this.uploadForm.get('profile').value != \"\") {\n\n // this._token.fnrenewToken();\n // const httpOptions = {\n // headers: new HttpHeaders({\n // 'Content-Type': 'application/json',\n // 'Authorization': this._token.token\n // })\n // };\n // this._fundDisbursment.fnDuplicateIndent(this.editedFundId,this._fundDisbursment.formData.CustomerId,this._fundDisbursment.formData.FromAccountId,this._fundDisbursment.formData.ToAccountId).subscribe(data => {\n // if (data == 1) {\n // this.showMsg = false;\n // this.showerrormsg = true;\n // this.lblMessage = 'Indent Request already exists, Please select new account number.';\n // this.onTop();\n // this.disableButton = false;\n // return false;\n // }\n // else{\n this._fundDisbursment.fnUploadFile(formData).subscribe((res) => {\n this._fundDisbursment.formData.Uploadedinvoice = res as string;\n form.value.Uploadedinvoice = this._fundDisbursment.formData.Uploadedinvoice;\n\n if (parseInt(this._fundDisbursment.formData.Status) != 6 && parseInt(this._fundDisbursment.formData.Status) != 7)\n form.value[\"Status\"] = 1;\n else if(parseInt(this._fundDisbursment.formData.Status) == 7 && this._fundDisbursment.formData.UserId == this._encrypt.decryptUsingAES256(localStorage.getItem('LoginUserId')))\n form.value[\"Status\"] = 1;\n else\n form.value[\"Status\"] = parseInt(this._fundDisbursment.formData.Status);\n form.value[\"RequestedDate\"] = this.newdate;\n form.value[\"RequestedTime\"] = this.newtime\n form.value[\"UserId\"] = localStorage.getItem('LoginUserId');\n form.value[\"flag\"] = \"save\";\n\n if(this.CustomerId == 0){\n form.value.CustomerId = this._fundDisbursment.formData.CustomerId;\n }\n else{\n form.value.CustomerId = this.CustomerId;\n }\n\n let list1 = this.FilterParentAccount.filter(x => x.AccountNumber === this._fundDisbursment.formData.FromAccountNumber)[0];\n if(list1==undefined){ } \n else{\n form.value[\"FromAccountId\"] = list1.AccountId;\n } \n let list2 = this.FilterChildAccount.filter(x => x.AccountNumber === this._fundDisbursment.formData.ToAccountNumber)[0];\n if(list2==undefined){ } \n else{\n form.value[\"ToAccountId\"] = list2.AccountId;\n }\n\n this._fundDisbursment.fnAddEditFundDisbursmentDetails(form.value).subscribe(data => {\n\n if (this.editedFundId > 0) {\n var _savedStartDate = {\n isRange: false,\n singleDate: { date: { year: 0, month: 0, day: 0 }, jsDate: \"\", formatted: \"\", epoc: \"\" },\n dateRange: null\n };\n\n var newObj = moment(data.RequestedDate).toObject();\n\n _savedStartDate.singleDate.date.day = newObj.date;\n _savedStartDate.singleDate.date.month = newObj.months + 1;\n _savedStartDate.singleDate.date.year = newObj.years;\n form.value.RequestedDate = _savedStartDate;\n\n\n // var _savedStartTime = data.RequestedTime.split(\":\");\n // var _savedStartTimeObject = {hour: 0, minute: 0};\n // _savedStartTimeObject.hour = +_savedStartTime[0];\n // _savedStartTimeObject.minute = +_savedStartTime[1];\n // form.value.RequestedTime =_savedStartTimeObject; \n\n\n\n }\n else {\n //form.resetForm();\n // this._fundDisbursment.formData.ToAccountType = 'CurrentAccount';\n //this._fundDisbursment.formData.FromAccountType = 'CurrentAccount';\n\n }\n\n // if (this.CheckerPrivillage && (parseInt(data.Status) == 6 || parseInt(data.Status) == 7) && this.editedFundId > 0)\n // this.disableButton = true;\n // else\n // this.disableButton = false;\n \n if ((data.Status.toString() == '1' || data.Status.toString()=='6' || data.Status.toString()=='7') && data.UserId == this._encrypt.decryptUsingAES256(localStorage.getItem(\"LoginUserId\"))\n && this.CheckerPrivillage)\n this.disableButton = true;\n else if ((data.Status.toString() == \"1\") && !this.CheckerPrivillage)\n this.disableButton = true;\n else\n this.disableButton = false; \n\n if (this._fundDisbursment.formData.Id == 0) {\n this.fnPageRefresh(form);\n\n }\n else {\n this.showMsg = true;\n this.showerrormsg = false;\n }\n this.lblMessage = data.CustomerName + \" Indent Request \" + data.msg;\n //If we are not refreshing page then why to add in localstorage.\n localStorage.setItem(\"Msg\", this.lblMessage);\n\n\n this.onTop();\n // this.fnGetCreatedNUpdatedFund();\n this.fndefaultRequestTime();\n },\n (err) => {\n this.router.navigate([\"404\"]);\n }\n );\n },\n (err) => {\n this.router.navigate([\"404\"]);\n }\n );\n // }\n // },\n // (err)=>{\n // this.router.navigate([\"404\"]);\n // });\n }\n else {\n // this._fundDisbursment.fnDuplicateIndent(this.editedFundId,this._fundDisbursment.formData.CustomerId,this._fundDisbursment.formData.FromAccountId,this._fundDisbursment.formData.ToAccountId).subscribe(data => {\n // if (data == 1) {\n // this.showMsg = false;\n // this.showerrormsg = true;\n // this.lblMessage = 'Indent Request already exists, Please select new account number.';\n // this.onTop();\n // this.disableButton = false;\n // return false;\n // }\n // else{\n form.value.Uploadedinvoice = this._fundDisbursment.formData.Uploadedinvoice;\n\n if (parseInt(this._fundDisbursment.formData.Status) != 6 && parseInt(this._fundDisbursment.formData.Status) != 7)\n form.value[\"Status\"] = 1;\n else if(parseInt(this._fundDisbursment.formData.Status) == 7 && this._fundDisbursment.formData.UserId == this._encrypt.decryptUsingAES256(localStorage.getItem('LoginUserId')))\n form.value[\"Status\"] = 1;\n else\n form.value[\"Status\"] = parseInt(this._fundDisbursment.formData.Status);\n form.value[\"RequestedDate\"] = this.newdate;\n form.value[\"RequestedTime\"] = this.newtime\n form.value[\"UserId\"] = localStorage.getItem('LoginUserId');\n form.value[\"flag\"] = \"save\";\n\n if(this.CustomerId == 0){\n form.value.CustomerId = this._fundDisbursment.formData.CustomerId;\n }\n else{\n form.value.CustomerId = this.CustomerId;\n }\n\n let list1 = this.FilterParentAccount.filter(x => x.AccountNumber === this._fundDisbursment.formData.FromAccountNumber)[0];\n if(list1==undefined){ } \n else{\n form.value[\"FromAccountId\"] = list1.AccountId;\n } \n let list2 = this.FilterChildAccount.filter(x => x.AccountNumber === this._fundDisbursment.formData.ToAccountNumber)[0];\n if(list2==undefined){ } \n else{\n form.value[\"ToAccountId\"] = list2.AccountId;\n }\n\n this._fundDisbursment.fnAddEditFundDisbursmentDetails(form.value).subscribe(data => {\n\n if (this.editedFundId > 0) {\n var _savedStartDate = {\n isRange: false,\n singleDate: { date: { year: 0, month: 0, day: 0 }, jsDate: \"\", formatted: \"\", epoc: \"\" },\n dateRange: null\n };\n\n var newObj = moment(data.RequestedDate).toObject();\n\n _savedStartDate.singleDate.date.day = newObj.date;\n _savedStartDate.singleDate.date.month = newObj.months + 1;\n _savedStartDate.singleDate.date.year = newObj.years;\n form.value.RequestedDate = _savedStartDate;\n\n\n // var _savedStartTime = data.RequestedTime.split(\":\");\n // var _savedStartTimeObject = {hour: 0, minute: 0};\n // _savedStartTimeObject.hour = +_savedStartTime[0];\n // _savedStartTimeObject.minute = +_savedStartTime[1];\n // form.value.RequestedTime =_savedStartTimeObject;\n\n }\n else {\n // form.resetForm();\n //this._fundDisbursment.formData.ToAccountType = 'CurrentAccount';\n //this._fundDisbursment.formData.FromAccountType = 'CurrentAccount';\n }\n\n if (this._fundDisbursment.formData.Id == 0) {\n this.fnPageRefresh(form);\n }\n else {\n this.showMsg = true;\n this.showerrormsg = false;\n }\n this.lblMessage = data.CustomerName + \" Indent Request \" + data.msg;\n localStorage.setItem(\"Msg\", this.lblMessage);\n\n\n // if (this.CheckerPrivillage && (parseInt(data.Status) == 6 || parseInt(data.Status) == 7) && this.editedFundId > 0)\n // this.disableButton = true;\n // else\n // this.disableButton = false;\n\n if ((data.Status.toString() == '1' || data.Status.toString() == '6' || data.Status.toString() == '7') && data.UserId == this._encrypt.decryptUsingAES256(localStorage.getItem(\"LoginUserId\"))\n && this.CheckerPrivillage)\n this.disableButton = true;\n else if ((data.Status.toString() == \"1\") && !this.CheckerPrivillage)\n this.disableButton = true;\n else\n this.disableButton = false; \n\n\n // this.showMsg = true;\n // this.showerrormsg = false;\n this.onTop();\n // this.fnGetCreatedNUpdatedFund();\n this.fndefaultRequestTime();\n },\n (err) => {\n this.router.navigate([\"404\"]);\n });\n // }\n // },\n // (err)=>{\n // this.router.navigate([\"404\"]);\n // });\n }\n }\n }\n\n onTop() {\n window.scroll({\n top: 0,\n left: 0,\n behavior: 'smooth'\n })\n }\n\n resetForm(form: NgForm) {\n if (this.editedFundId > 0) {\n form.reset();\n this._fundDisbursment.formData = {\n Id: 0,\n // AccountId: null,\n AccountNumber: '',\n Amount: null,\n RequestedDate: '',\n RequestedTime: '',\n Uploadedinvoice: '',\n CustomerId: null,\n CustomerName: '',\n Branch: '',\n Status: '1',\n msg: '',\n ToAccountId: null,\n ToAccountType: 'CurrentAccount',\n FromAccountId: null,\n FromAccountType: 'CurrentAccount',\n SchemeId: null,\n SchemeName: '',\n IndentStatus: '',\n readonly: false,\n Statusmsg: '',\n AuthorizeHide: false,\n Comment1: '',\n Comment2: '',\n lblTitle: 'Edit Indent Request',\n RequestedDateAndTime: '',\n CreatedBy: '',\n CreatedDate: '',\n StatusByUserId: 0,\n DateCreated: '',\n FundDisbursementApproval: '',\n UserId: null,\n TransferType: null,\n TransferTypeDesc:'',\n FromAccountNumber:'',\n ToAccountNumber:''\n }\n this.editedFundId = +localStorage.getItem('newIndendentId');\n } else {\n form.reset();\n this._fundDisbursment.formData = {\n Id: 0,\n // AccountId: null,\n AccountNumber: '',\n Amount: null,\n RequestedDate: '',\n RequestedTime: '',\n Uploadedinvoice: '',\n CustomerId: null,\n CustomerName: '',\n Branch: '',\n Status: '1',\n msg: '',\n ToAccountId: null,\n ToAccountType: 'CurrentAccount',\n FromAccountId: null,\n FromAccountType: 'CurrentAccount',\n SchemeId: null,\n SchemeName: '',\n IndentStatus: '',\n readonly: false,\n Statusmsg: '',\n AuthorizeHide: false,\n Comment1: '',\n Comment2: '',\n lblTitle: 'Add Indent Request',\n RequestedDateAndTime: '',\n CreatedBy: '',\n CreatedDate: '',\n StatusByUserId: 0,\n DateCreated: '',\n FundDisbursementApproval: '',\n UserId: null,\n TransferType: null,\n TransferTypeDesc:'',\n FromAccountNumber:'',\n ToAccountNumber:''\n }\n }\n }\n//--------Get fund by ID----------------\n oldstatus: number;\n IsDisableDeleteButton:boolean = false;\n\n fnGetFundById() {\n\n this.showMsg = false;\n this.showerrormsg = false;\n\n if (this.editedFundId > 0) {\n\n if (this.editedFundId > 0 && this.Flag === 'NonAuthorization') {\n this._fundDisbursment.GetIndentDataById(this.editedFundId.toString()).subscribe(AllFund => {\n this._fundDisbursment.formData = AllFund; \n\n this._fundDisbursment.fnGetAccountForFund(localStorage.getItem(\"LoginUserId\"),\n this._fundDisbursment.formData.CustomerId).subscribe(AccountNumber => {\n this.FromToAccountNumber = AccountNumber; \n let list1 = this.FromToAccountNumber.filter(x => x.AccountId === this._fundDisbursment.formData.FromAccountId)[0];\n if(list1==undefined){ } \n else{\n this._fundDisbursment.formData.FromAccountNumber = this._encrypt.decryptUsingAES256(list1.AccountNumber);\n } \n let list2 = this.FromToAccountNumber.filter(x => x.AccountId === this._fundDisbursment.formData.ToAccountId)[0];\n if(list2==undefined){ } \n else{\n this._fundDisbursment.formData.ToAccountNumber = this._encrypt.decryptUsingAES256(list2.AccountNumber);\n }\n });\n\n //This when status is approved and Sweep Successful disable fields on edit\n if (this._fundDisbursment.formData.Status == \"8\" || this._fundDisbursment.formData.Status == \"3\") {\n this.viewMode = true;\n }\n\n if(this._fundDisbursment.formData.Status != \"4\" && this._fundDisbursment.formData.UserId != this._encrypt.decryptUsingAES256(localStorage.getItem(\"LoginUserId\")))\n this.IsDisableDeleteButton = true;\n if(this._fundDisbursment.formData.Status == \"1\")\n this.IsDisableDeleteButton = true;\n \n if (AllFund.RequestedDate != null) {\n\n var _savedStartDate = {\n isRange: false,\n singleDate: { date: { year: 0, month: 0, day: 0 }, jsDate: \"\", formatted: \"\", epoc: \"\" },\n dateRange: null\n };\n\n var newObj = moment(AllFund.RequestedDate).toObject();\n _savedStartDate.singleDate.date.day = newObj.date;\n _savedStartDate.singleDate.date.month = newObj.months + 1;\n _savedStartDate.singleDate.date.year = newObj.years;\n\n this._fundDisbursment.formData.RequestedDate = _savedStartDate;\n\n // var _savedStartDate = moment(AllFund.RequestedDate).toObject();\n\n // var _savedStartDateObject = {day:0,month:0,year:0};4\n\n // _savedStartDateObject.day = _savedStartDate.date;\n // _savedStartDateObject.month = _savedStartDate.months+1;\n // _savedStartDateObject.year = _savedStartDate.years;\n // this._fundDisbursment.formData.RequestedDate =_savedStartDateObject; \n\n }\n\n if (AllFund.RequestedTime != null) {\n\n var _savedStartTime = AllFund.RequestedTime.split(\":\");\n\n var _savedStartTimeObject = { hour: 0, minute: 0 };\n\n _savedStartTimeObject.hour = +_savedStartTime[0];\n _savedStartTimeObject.minute = +_savedStartTime[1];\n\n this._fundDisbursment.formData.RequestedTime = _savedStartTimeObject;\n\n }\n\n if (AllFund.SchemeId == 0)\n this._fundDisbursment.formData.SchemeId = null;\n this.lblTitle = 'Edit Indent Request';\n this._fundDisbursment.formData.readonly = false;\n this.ISFileExists = this._fundDisbursment.formData.Uploadedinvoice;\n this.HiddenClr = true;\n\n //this.fnGetAllCustomerDetails(); //vaibhav\n //this.SchemeList();\n //this.AccountType();\n // this.AccountList(); ////vaibhav\n\n this.fnGetCreatedNUpdatedFund();\n\n if (this.ISFileExists != \"\") {\n this.IsfileView = true;\n }\n this.oldstatus = parseInt(this._fundDisbursment.formData.Status);\n\n if (this.CheckerPrivillage == true && (this.oldstatus == 5 || this.oldstatus == 6 || this.oldstatus == 7)\n && (this._fundDisbursment.formData.UserId != this._encrypt.decryptUsingAES256(localStorage.getItem(\"LoginUserId\"))))\n this.buttonvalue = \"Verify\";\n else\n this.buttonvalue = \"Submit\";\n\n\n if ((this._fundDisbursment.formData.Status.toString() == '5') && this._fundDisbursment.formData.UserId == this._encrypt.decryptUsingAES256(localStorage.getItem(\"LoginUserId\"))\n && this.CheckerPrivillage)\n this.disableButton = true;\n else if ((this._fundDisbursment.formData.Status.toString() == \"5\") && !this.CheckerPrivillage)\n this.disableButton = true;\n else\n this.disableButton = false;\n if (this.CheckerPrivillage && this._fundDisbursment.formData.UserId != this._encrypt.decryptUsingAES256(localStorage.getItem(\"LoginUserId\")) &&\n (this.oldstatus == 6 || this.oldstatus == 7 || this.oldstatus == 2 || this.oldstatus == 9 || this.oldstatus == 4))\n this.disableButton = true;\n\n if (this.oldstatus == 1) {\n this.disableButton = true;\n }\n\n if (this._fundDisbursment.formData.Status.toString() == '5' && this.CheckerPrivillage && this._fundDisbursment.formData.UserId != this._encrypt.decryptUsingAES256(localStorage.getItem(\"LoginUserId\")))\n this._fundDisbursment.formData.Status = null;\n\n if (this.oldstatus == 6)\n this.disableButton = true;\n\n\n //vaibhav----------------------------------------\n if (this._fundDisbursment.formData.SchemeId != 0 && this._fundDisbursment.formData.SchemeId != null) {\n this._SchemeService.fnGetSchemeListforDropDown(this._fundDisbursment.formData.SchemeId.toString()).subscribe(Scheme => {\n this.Scheme = Scheme;\n \n this.FilterScheme = this.Scheme.filter(row => {\n return row.CustomerId === this._fundDisbursment.formData.CustomerId;\n });\n if (this.FilterScheme[0].Status == 0 || this.FilterScheme[0].Status == 2) {\n this.IsSchemeIsInactive = true;\n }\n else {\n this.IsSchemeIsInactive = false;\n }\n // this._fundDisbursment.formData.SchemeId = this.FilterScheme[0].SchemeId;\n });\n }\n else {\n this.SchemeList();\n }\n if (this.editedFundId != 0)\n this.ParentAccountNumber();\n //---------------------------------------------------------\n \n }, (err) => {\n this.router.navigate([\"404\"]);\n });\n }\n else if (this.editedFundId > 0 && this.Flag === 'View') {\n this._fundDisbursment.GetIndentDataById(this.editedFundId.toString()).subscribe(AllFund => {\n this._fundDisbursment.formData = AllFund;\n\n this._fundDisbursment.fnGetAccountForFund(localStorage.getItem(\"LoginUserId\"),\n this._fundDisbursment.formData.CustomerId).subscribe(AccountNumber => {\n this.FromToAccountNumber = AccountNumber; \n let list1 = this.FromToAccountNumber.filter(x => x.AccountId === this._fundDisbursment.formData.FromAccountId)[0];\n if(list1==undefined){ } \n else{\n this._fundDisbursment.formData.FromAccountNumber = this._encrypt.decryptUsingAES256(list1.AccountNumber);\n } \n let list2 = this.FromToAccountNumber.filter(x => x.AccountId === this._fundDisbursment.formData.ToAccountId)[0];\n if(list2==undefined){ } \n else{\n this._fundDisbursment.formData.ToAccountNumber = this._encrypt.decryptUsingAES256(list2.AccountNumber);\n }\n });\n\n if (AllFund.RequestedDate != null) {\n\n var _savedStartDate = {\n isRange: false,\n singleDate: { date: { year: 0, month: 0, day: 0 }, jsDate: \"\", formatted: \"\", epoc: \"\" },\n dateRange: null\n };\n\n var newObj = moment(AllFund.RequestedDate).toObject();\n _savedStartDate.singleDate.date.day = newObj.date;\n _savedStartDate.singleDate.date.month = newObj.months + 1;\n _savedStartDate.singleDate.date.year = newObj.years;\n\n this._fundDisbursment.formData.RequestedDate = _savedStartDate;\n\n // var _savedStartDate = moment(AllFund.RequestedDate).toObject();\n\n // var _savedStartDateObject = {day:0,month:0,year:0};\n\n // _savedStartDateObject.day = _savedStartDate.date;\n // _savedStartDateObject.month = _savedStartDate.months+1;\n // _savedStartDateObject.year = _savedStartDate.years;\n // this._fundDisbursment.formData.RequestedDate =_savedStartDateObject; \n\n }\n\n if (AllFund.RequestedTime != null) {\n\n var _savedStartTime = AllFund.RequestedTime.split(\":\");\n\n var _savedStartTimeObject = { hour: 0, minute: 0 };\n\n _savedStartTimeObject.hour = +_savedStartTime[0];\n _savedStartTimeObject.minute = +_savedStartTime[1];\n\n this._fundDisbursment.formData.RequestedTime = _savedStartTimeObject;\n\n }\n\n if (AllFund.SchemeId == 0)\n this._fundDisbursment.formData.SchemeId = null;\n this.lblTitle = 'View Indent Request';\n this._fundDisbursment.formData.readonly = false;\n this.disableButton = true;\n this.disableClear = true;\n this.HiddenClr = true;\n //this._fundDisbursment.formData.readonly = true;\n this.viewMode = true;\n\n //vaibhav----------------------------------------\n if (this._fundDisbursment.formData.SchemeId != 0 && this._fundDisbursment.formData.SchemeId != null) {\n this._SchemeService.fnGetSchemeListforDropDown(this._fundDisbursment.formData.SchemeId.toString()).subscribe(Scheme => {\n this.Scheme = Scheme;\n \n this.FilterScheme = this.Scheme.filter(row => {\n return row.CustomerId === this._fundDisbursment.formData.CustomerId;\n });\n if (this.FilterScheme[0].Status == 0 || this.FilterScheme[0].Status == 2) {\n this.IsSchemeIsInactive = true;\n }\n else {\n this.IsSchemeIsInactive = false;\n }\n // this._fundDisbursment.formData.SchemeId = this.FilterScheme[0].SchemeId;\n });\n }\n else {\n this.SchemeList();\n }\n if (this.editedFundId != 0)\n this.ParentAccountNumber();\n //---------------------------------------------------------\n\n //this.fnGetAllCustomerDetails(); //vaibhav\n //this.SchemeList();\n //this.AccountType();\n //this.AccountList(); //vaibhav\n\n this.fnGetCreatedNUpdatedFund();\n\n \n\n }, (err) => {\n this.router.navigate([\"404\"]);\n });\n this.IsfileView = false;\n }\n else if (this.editedFundId > 0 && this.Flag === 'Authorization') {\n this._fundDisbursment.GetIndentDataById(this.editedFundId.toString()).subscribe(AllFund => {\n this._fundDisbursment.formData = AllFund;\n\n this._fundDisbursment.fnGetAccountForFund(localStorage.getItem(\"LoginUserId\"),\n this._fundDisbursment.formData.CustomerId).subscribe(AccountNumber => {\n this.FromToAccountNumber = AccountNumber; \n let list1 = this.FromToAccountNumber.filter(x => x.AccountId === this._fundDisbursment.formData.FromAccountId)[0];\n if(list1==undefined){ } \n else{\n this._fundDisbursment.formData.FromAccountNumber = this._encrypt.decryptUsingAES256(list1.AccountNumber);\n } \n let list2 = this.FromToAccountNumber.filter(x => x.AccountId === this._fundDisbursment.formData.ToAccountId)[0];\n if(list2==undefined){ } \n else{\n this._fundDisbursment.formData.ToAccountNumber = this._encrypt.decryptUsingAES256(list2.AccountNumber);\n }\n });\n\n if (AllFund.RequestedDate != null) {\n\n var _savedStartDate = {\n isRange: false,\n singleDate: { date: { year: 0, month: 0, day: 0 }, jsDate: \"\", formatted: \"\", epoc: \"\" },\n dateRange: null\n };\n\n var newObj = moment(AllFund.RequestedDate).toObject();\n _savedStartDate.singleDate.date.day = newObj.date;\n _savedStartDate.singleDate.date.month = newObj.months + 1;\n _savedStartDate.singleDate.date.year = newObj.years;\n\n this._fundDisbursment.formData.RequestedDate = _savedStartDate;\n\n // var _savedStartDate = moment(AllFund.RequestedDate).toObject();\n\n // var _savedStartDateObject = {day:0,month:0,year:0};\n\n // _savedStartDateObject.day = _savedStartDate.date;\n // _savedStartDateObject.month = _savedStartDate.months+1;\n // _savedStartDateObject.year = _savedStartDate.years;\n // this._fundDisbursment.formData.RequestedDate =_savedStartDateObject; \n\n }\n\n if (AllFund.RequestedTime != null) {\n\n var _savedStartTime = AllFund.RequestedTime.split(\":\");\n\n var _savedStartTimeObject = { hour: 0, minute: 0 };\n\n _savedStartTimeObject.hour = +_savedStartTime[0];\n _savedStartTimeObject.minute = +_savedStartTime[1];\n\n this._fundDisbursment.formData.RequestedTime = _savedStartTimeObject;\n\n }\n\n if (AllFund.SchemeId == 0)\n this._fundDisbursment.formData.SchemeId = null;\n\n this.lblTitle = 'Verify Indent Request';\n\n this._fundDisbursment.formData.readonly = true;\n if (this._fundDisbursment.formData.readonly == true && (this._fundDisbursment.formData.Status == \"2\" || this._fundDisbursment.formData.Status == \"3\" || this._fundDisbursment.formData.Status == \"4\") &&\n this._fundDisbursment.formData.Comment1 == \"\")\n this.Comment1blockshow = false;\n else\n this.Comment1blockshow = true;\n\n if (this._fundDisbursment.formData.readonly == true && (this._fundDisbursment.formData.Status == \"3\" || this._fundDisbursment.formData.Status == \"4\") &&\n this._fundDisbursment.formData.Comment2 == \"\")\n this.Comment2blockshow = false;\n\n else\n this.Comment2blockshow = true;\n\n\n //vaibhav----------------------------------------\n if (this._fundDisbursment.formData.SchemeId != 0 && this._fundDisbursment.formData.SchemeId != null) {\n this._SchemeService.fnGetSchemeListforDropDown(this._fundDisbursment.formData.SchemeId.toString()).subscribe(Scheme => {\n this.Scheme = Scheme;\n \n this.FilterScheme = this.Scheme.filter(row => {\n return row.CustomerId === this._fundDisbursment.formData.CustomerId;\n });\n if (this.FilterScheme[0].Status == 0 || this.FilterScheme[0].Status == 2) {\n this.IsSchemeIsInactive = true;\n }\n else {\n this.IsSchemeIsInactive = false;\n }\n // this._fundDisbursment.formData.SchemeId = this.FilterScheme[0].SchemeId;\n });\n }\n else {\n this.SchemeList();\n }\n if (this.editedFundId != 0)\n this.ParentAccountNumber();\n //---------------------------------------------------------\n \n //this.fnGetAllCustomerDetails(); //vaibhav\n //this.SchemeList();\n //this.AccountType();\n // this.AccountList(); //vaibhav\n\n this.fnGetCreatedNUpdatedFund();\n \n }, (err) => {\n this.router.navigate([\"404\"]);\n });\n this.IsfileView = false;\n }\n }\n else {\n this.lblTitle = 'Add Indent Request';\n this._fundDisbursment.formData = {\n Id: 0,\n // AccountId: null,\n AccountNumber: '',\n Amount: null,\n RequestedDate: '',\n RequestedTime: '',\n Uploadedinvoice: '',\n CustomerId: null,\n CustomerName: '',\n Branch: '',\n Status: '1',\n msg: '',\n ToAccountId: null,\n ToAccountType: 'CurrentAccount',\n FromAccountId: null,\n FromAccountType: 'CurrentAccount',\n SchemeId: null,\n SchemeName: '',\n IndentStatus: '',\n readonly: false,\n Statusmsg: '',\n AuthorizeHide: false,\n Comment1: '',\n Comment2: '',\n lblTitle: 'Add Indent Request',\n RequestedDateAndTime: '',\n CreatedBy: '',\n CreatedDate: '',\n StatusByUserId: 0,\n DateCreated: '',\n FundDisbursementApproval: '',\n UserId: null,\n TransferType: null,\n TransferTypeDesc:'',\n FromAccountNumber:'',\n ToAccountNumber:''\n }\n //this.fnGetAllCustomerDetails(); //vaibhav\n //this.SchemeList();\n //this.AccountType();\n // this.AccountList(); //vaibhav\n this.buttonvalue = \"Submit\";\n this.fndefaultRequestTime();\n if (this.lblMessage == null || this.lblMessage == \"\") {\n } else {\n this.lblMessage == localStorage.getItem(\"Msg\");\n this.showMsg = true;\n this.showerrormsg = false;\n localStorage.removeItem(\"Msg\");\n // this.onTop();\n }\n setTimeout(() => {\n this._spinner.hide();\n }, 100);\n }\n }\n//-----Created & Last Updated by History--------\n fnGetCreatedNUpdatedFund() {\n this._fundDisbursment.fnGetCreatedNUpatedDateOfFundDisbursement(this._fundDisbursment.formData.Id.toString()).subscribe(userdates => {\n this.FundCreatedUpdated1 = userdates;\n\n if (this.FundCreatedUpdated1[0].CreatedDate != '') {\n this.showCreatedDiv = true;\n this.createdDate = this.FundCreatedUpdated1[0].CreatedDate;\n this.userNameCreated = this.FundCreatedUpdated1[0].UserName;\n }\n if(this.FundCreatedUpdated1.length == 2){\n if (this.FundCreatedUpdated1[1].UpdatedDate != '' && this.FundCreatedUpdated1[1].UpdatedDate != null) {\n this.showUpdatedDiv = true;\n this.usernameUpdte = this.FundCreatedUpdated1[1].UserName;\n this.updtedDate = this.FundCreatedUpdated1[1].UpdatedDate;\n }\n }\n }, (err) => {\n this.router.navigate([\"404\"]);\n });\n }\n// ----Delete Invoice File Method------\n DeleteInvoiceMethod() {\n this._fundDisbursment.fnDeleteInvoceCopy(this.editedFundId).subscribe(res => {\n if (res.length > 0) {\n this.ISFileExists = \"\";\n }\n this.IsfileView = false;\n this.lblMessage = res;\n this.hide();\n this.showlbl();\n this.onTop();\n }, (err) => {\n this.router.navigate([\"404\"]);\n });\n }\n//----Show Confirmation popup for Delete invice file\n DeleteInvoiceCopy() {\n this.show();\n }\n\n show() { this.showModal = true; }\n hide() { this.showModal = false; }\n//---------page Reresh-----------------\n fnPageRefresh(form) {\n if (this.editedFundId > 0) {\n this.resetForm(form);\n this.onTop();\n }\n else {\n \n //this.resetForm(form)\n this.onTop();\n setTimeout(function () {\n this.document.location.reload();\n }, 100);\n }\n }\n\n fndefaultRequestTime() {\n var dt = new Date();\n var _savedStartTimeObjectnew = { hour: 0, minute: 0 };\n _savedStartTimeObjectnew.hour = + dt.getHours();\n _savedStartTimeObjectnew.minute = + dt.getMinutes();\n this._fundDisbursment.formData.RequestedTime = _savedStartTimeObjectnew;\n }\n //--------only Number on key press--\n onKeyDown(event: KeyboardEvent) {\n\n let a = (event.charCode == 8 || event.charCode == 45 || event.charCode == 0) ? null : event.charCode >= 48 && event.charCode <= 57;\n return a;\n }\n\n\n futureDateError: boolean;\n inputDate: Date;\n //--------date validaton----------------\n checkDateValidity(date) {\n const mxDate = new Date();\n this.inputDate = date.singleDate.jsDate;\n if (this.inputDate.getDate() == mxDate.getDate() && this.inputDate.getMonth() == mxDate.getMonth() && this.inputDate.getFullYear() == mxDate.getFullYear()) {\n this.futureDateError = false;\n }\n else {\n if (this.inputDate < mxDate) { this.futureDateError = true; }\n else { this.futureDateError = false; }\n }\n return this.futureDateError;\n }\n//------------back button code----------\n BackButton() {\n localStorage.removeItem('Msg');\n this.router.navigate(['/ManageFundDisbursement']);\n }\n SchemeOnChange(SchemeId) {\n \n for (var i = 0; i < this.FilterScheme.length; i++) {\n if (this.FilterScheme[i].SchemeId == SchemeId) {\n this.NewFilterScheme = this.FilterScheme[i];\n }\n }\n if (this.NewFilterScheme.Status == 0 || this.NewFilterScheme.Status == 2) {\n this.IsSchemeIsInactive = true;\n }\n else {\n this.IsSchemeIsInactive = false;\n }\n }\n\n ChangeTransferType() {\n if (this._fundDisbursment.formData.TransferType == 1) {\n this.ParentAccount = this.Account.filter(row => { return row.IsCorrespondentBank == 0 });\n this.ChildAccount = this.Account.filter(row => { return row.IsCorrespondentBank == 0 });\n }\n else if (this._fundDisbursment.formData.TransferType == 2) {\n this.ParentAccount = this.Account.filter(row => { return row.IsCorrespondentBank == 0 });\n this.ChildAccount = this.Account.filter(row => { return row.IsCorrespondentBank == 1 });\n }\n else if (this._fundDisbursment.formData.TransferType == 3) {\n this.ParentAccount = this.Account.filter(row => { return row.IsCorrespondentBank == 0 });\n this.ChildAccount = this.Account.filter(row => { return row.IsCorrespondentBank == 1 && row.IsRTGSEnable == 1 });\n }\n this.fnAccount(this._fundDisbursment.formData.ToAccountType,this._fundDisbursment.formData.FromAccountType, this._fundDisbursment.formData.FromAccountId);\n }\n\n NavigateToAcccountMaster() {\n localStorage.setItem(\"IndentId\", this.editedFundId.toString());\n this.router.navigate(['/ManageAccount']);\n }\n\n StatusChange(){\n if(this._fundDisbursment.formData.Status == \"null\")\n this._fundDisbursment.formData.Status = null;\n }\n\n isNotValidAmount:boolean = false;\n AmountValidation(TransferType){\n if(TransferType == \"3\" && parseInt(this._fundDisbursment.formData.Amount) < 200000)\n this.isNotValidAmount = true;\n else \n this.isNotValidAmount = false; \n }\n}\n","
\n
\n
\n
\n
\n
\n
\n \n \n
\n
\n

{{lblTitle}}

\n
\n
\n
\n
\n \n
\n
\n
\n

* Marked Fields Are Mandatory.

\n
\n
\n
\n ×\n Success! {{lblMessage}}. View Updated a/c balances\n
\n \n
\n ×\n Error! {{lblMessage}}.\n
\n \n
\n
\n
\n \n\n \n \n \n \n \n
\n Customer Name is required.\n
\n
\n Please select valid Customer Name.\n
\n \n \n\n \n\n\n \n
\n \n
\n \n \n
Amount is required.
\n
Minimum Amount request should be 200000.
\n
\n\n
\n
\n \n \n
\n This Status is required
\n
\n\n
\n \n \n
\n Transfer Type is required
\n
\n\n\n
\n \n \n
From Account Type is required.
\n
\n \n \n\n
\n
\n \n \n \n
\n From Account is required.
\n
\n\n
\n \n \n
To Account Type is required.
\n
\n\n \n
\n
\n \n \n \n
\n To Account is required.
\n
\n\n \n\n
\n \n \n \n
\n \n \n
\n \n \n \n
\n\n
\n\n \n\n \n\n \n \n
\n \n\n
\n \n
\n
\n \n
\n Requested Date should be greater than or equal to current date\n
\n
\n Requested Date is required.\n
\n
\n Enter a valid date in DD-MM-YYYY format \n
\n
\n Enter a valid date in YYYY-MM-DD format \n
\n\n \n
\n\n \n\n \n\n
\n \n \n
\n\n
\n \n \n
\n \n
\n
\n \n
\n \n
\n
\n
\n\n \n\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n\n
\n Created By {{ userNameCreated }} on {{ createdDate }}\n
\n
\n Updated By {{ usernameUpdte }} on {{ updtedDate }}\n
\n
\n
\n
\n
\n
\n\n
\n
\n
\n
\n

Confirmation

\n \n
\n
\n

Are you sure you want to delete.

\n
\n
\n \n \n
\n
\n
\n
\n\n \n","import { Component, OnInit, ViewChild, ElementRef } from '@angular/core';\nimport { Router,NavigationExtras } from '@angular/router';\nimport { FundDisbursmentService } from '../../MasterService/fund-disbursment.service';\nimport { FundDisbursment } from '../../MasterService/fund-disbursment';\nimport { RoleAccessService }from '../../MasterService/role-access.service';\nimport { RoleAccess } from '../../MasterService/RoleAccess';\nimport { NgxSpinnerService } from \"ngx-spinner\";\nimport { IAngularMyDpOptions, IMyDateModel } from 'angular-mydatepicker';\nimport { NgbDateParserFormatter, NgbDate } from '@ng-bootstrap/ng-bootstrap';\nimport { formatDate,DatePipe } from '@angular/common';\nimport * as $ from 'jquery';\nimport { EncryptdecryptService } from 'src/app/MasterService/encryptdecrypt.service';\nimport * as XLSX from 'xlsx';\nimport * as jsPDF from 'jspdf';\nimport { saveAs } from 'file-saver';\nimport { CustomerService } from 'src/app/MasterService/customer.service';\nimport { PaginationService } from 'src/app/Paging/pagination.service';\n\n\ndeclare var sortTableIndentMst: Function;\n\n@Component({\n selector: 'app-master-fund-disbursement-component',\n templateUrl: './master-fund-disbursement-component.component.html',\n styleUrls: ['./master-fund-disbursement-component.component.css']\n})\nexport class MasterFundDisbursementComponentComponent implements OnInit {\n today = new Date();\n myDpOptions: IAngularMyDpOptions = {\n dateRange: false,\n dateFormat: 'dd-mm-yyyy',\n disableSince: {year: this.today.getFullYear(), month: this.today.getMonth() + 1, day: this.today.getDate() + 1}\n \n // other options are here...\n };\n myDpOptions1: IAngularMyDpOptions = {\n dateRange: false,\n dateFormat: 'dd-mm-yyyy'\n // other options are here...\n };\n\n date1: Date;\n date2: number;\n isActive: boolean;\n AllIndentChk: boolean;\n showModalForAllDelete: boolean;\n AllSelected: boolean;\n ConfirmationMsg: string;\n DecryptedUserId : string;\n ddlshowStartValue: number;\n allCustList:any=[];\n IsCustomerInActive:boolean=false;\n ddlDropdownValue: any;\n ComingFromExport: boolean=false;\n CraredDateforExportSrch: any;\n RequestedDateforExportSrch: any;\n\n constructor(private router: Router , public _FundDisbursmentService:FundDisbursmentService, public _customerService: CustomerService,\n public _roleAccess: RoleAccessService,public _spinner:NgxSpinnerService , public _encrypt:EncryptdecryptService,\n public _PaginationService:PaginationService, private ngbDateParserFormatter: NgbDateParserFormatter) { }\n\n FundDisbursmentList : any = [];\n FilteredFundDisbursmentList : any = [];\n RoleAccess:RoleAccess;\n\n EditPriv:boolean;\n DeletePrivllage:boolean;\n AddPrivillage:boolean;\n ViewPrivllage:boolean;\n CheckerPrivillage:boolean;\n ddlshowvalue:number;\n config: any;\n filterCount:string;\n showvalue:number;\n searchCount:string;\n lblMessage:string;\n IndentId : number;\n lastSortedByField;\n ascendingOrder = true;\n AddExportAccess:boolean;\n fileName:string;\n\n // Bulk Delete fields\n FundSelected:boolean;\n IsFundSelected:boolean;\n checkedList:any=[];\n listLengthForSelect: 0;\n BulkDelete:boolean = true;\n showerrormsg:boolean = false; \n \n \n ngOnInit(): void {\n this._spinner.show();\n if(!$('.js-sticky-header').is(':visible')){\n $('.js-sticky-header').css('display','block');\n }\n this.DecryptedUserId = this._encrypt.decryptUsingAES256(localStorage.getItem(\"LoginUserId\"));\n //bind NgModel on page load---\n this.FundMaster();\n //GetPrivillage based on id-----\n this.GetPrivillageRoles();\n //Get CustomerList in dropdwon-----\n this.fnGetCustomerName();\n // this.FnFundDisbursment();\n this.config = {\n itemsPerPage: 10,\n currentPage: 1,\n };\n this.ddlshowvalue =10;\n this.ddlshowStartValue = 1;\n //grid Sorting on Created Date---\n sortTableIndentMst(6,false);\n\n this.pageNumber[0] = true; \n this._PaginationService.temppage = 0; \n }\n//-------pagination Control method-----\n pageChanged(event) {\n this.config.currentPage = event;\n this.ddlshowvalue = this.config.currentPage*this.config.itemsPerPage;\n this.ddlshowStartValue = this.ddlshowvalue - (this.config.itemsPerPage-1);\n // if(this.FilteredFundDisbursmentList.length<=this.ddlshowvalue)\n // this.ddlshowvalue = this.FilteredFundDisbursmentList.length;\n }\n//-------On click Add indent button --------\n NewFundMaster() {\n localStorage.setItem('newIndendentId',String('0'));\n localStorage.setItem('_Flag','');\n this._FundDisbursmentService.formData = {\n Id: 0,\n // AccountId: null,\n AccountNumber: '',\n Amount:'',\n RequestedDate:'',\n RequestedTime:'',\n Uploadedinvoice:'',\n CustomerId:null,\n CustomerName:'',\n Branch:'',\n Status:'',\n msg: '',\n ToAccountId: null,\n ToAccountType : 'CurrentAccount',\n FromAccountId : null,\n FromAccountType: 'CurrentAccount',\n SchemeId : null,\n SchemeName :'',\n IndentStatus : '',\n readonly:false,\n Statusmsg:'',\n AuthorizeHide:false,\n Comment1:'',\n Comment2:'',\n lblTitle:'Add Indent Request',\n RequestedDateAndTime:'',\n CreatedBy:'',\n CreatedDate:'',\n StatusByUserId:0,\n DateCreated:'',\n FundDisbursementApproval:'',\n UserId:null,\n TransferType :null,\n TransferTypeDesc:'',\n FromAccountNumber:'',\n ToAccountNumber:''\n }\n this.router.navigate(['/AddEditFundDisburs']);\n }\n //--On page load NgModel Bind------ \n FundMaster() {\n this._FundDisbursmentService.formData = {\n Id: 0,\n // AccountId: null,\n AccountNumber: '',\n Amount:'',\n RequestedDate:'',\n RequestedTime:'',\n Uploadedinvoice:'',\n CustomerId:null,\n CustomerName:'',\n Branch:'',\n Status:'',\n msg: '',\n ToAccountId: null,\n ToAccountType : 'CurrentAccount',\n FromAccountId : null,\n FromAccountType: 'CurrentAccount',\n SchemeId : null,\n SchemeName :'',\n IndentStatus : '',\n readonly:false,\n Statusmsg:'',\n AuthorizeHide:false,\n Comment1:'',\n Comment2:'',\n lblTitle:'',\n RequestedDateAndTime:'',\n CreatedBy:'',\n CreatedDate:'',\n StatusByUserId:0,\n DateCreated:'',\n FundDisbursementApproval:'',\n UserId:null,\n TransferType:null,\n TransferTypeDesc:'',\n FromAccountNumber:'',\n ToAccountNumber:''\n }\n }\n//-----------GetPrivillageRoles by id Method----------------\n GetPrivillageRoles(){ \n this._roleAccess.fnGetRoleAccess(localStorage.getItem('LoginUserId'),'/ManageFundDisbursement').subscribe(roleAccess=>{ \n this.RoleAccess=roleAccess[0]; \n this.EditPriv =this.RoleAccess.EditAccess; \n this.DeletePrivllage=this.RoleAccess.DeleteAccess;\n this.AddPrivillage=this.RoleAccess.AddAccess;\n this.CheckerPrivillage= this.RoleAccess.CheckerAccess;\n this.AddExportAccess=this.RoleAccess.AddExportAccess; \n //this.ViewPrivllage = this.RoleAccess.ViewAccess;\n if(!this.EditPriv && this.RoleAccess.ViewAccess)\n this.ViewPrivllage=true;\n this.FnFundDisbursment(\"\",\"\",\"\",\"\",\"\",this.sortOrder,\"1\");\n //this.FnFundDisbursmentExport();\n },(err)=>{\n this.router.navigate([\"404\"]);\n }) ; \n }\n\n//get Funddisbursement data for export\nExportFundlist:any=[];\nFilterExportFundList:any=[];\n\n// FnFundDisbursmentExport(){\n// this._FundDisbursmentService.fnGetExportFundDisbursmenetList(localStorage.getItem(\"LoginUserId\")).subscribe(Fund=>{\n// Fund.forEach(element => {\n// if(element[\"UserId\"] == this.DecryptedUserId){\n// if(parseInt(element[\"Status\"]) != 2)\n// this.ExportFundlist.push(element);\n// }\n// }); \n// this.FilterExportFundList = this.ExportFundlist;\n// });\n// }\n\n//--------get funddisbursement data ------------------------ \nFnFundDisbursment (RequestDate, Amount, CustomerName, Status, CreateDate, SortOrder=\"\", PageNumber=\"\"){\n \n if(PageNumber != \"\")\n this.pageNo=PageNumber;\n\n this._FundDisbursmentService.fnGetFundDisbursmenetList(localStorage.getItem(\"LoginUserId\"),this.pageNo,this.config.itemsPerPage.toString(),SortOrder,\n RequestDate, Amount, CustomerName, Status, CreateDate).subscribe(AllFund=>{\n \n this.FundDisbursmentList = [];\n\n AllFund.forEach(element => {\n\n if(parseInt(element[\"Status\"]) == 1 || (parseInt(element[\"Status\"]) == 5 && (!this.CheckerPrivillage || element[\"UserId\"] == this.DecryptedUserId)) ||\n (this.CheckerPrivillage && parseInt(element[\"Status\"]) == 2)){\n element[\"loggedInUserDisable\"] = true;\n }\n else\n {\n element[\"loggedInUserDisable\"] = false;\n }\n\n if(element[\"role\"] == \"ADMIN\"){\n this.FundDisbursmentList.push(element);\n }\n else{\n if(this.CheckerPrivillage){\n if(element[\"UserId\"] == this.DecryptedUserId || element[\"StatusByUserId\"] == parseInt(this.DecryptedUserId)){\n\n if((parseInt(element[\"Status\"]) == 1 || parseInt(element[\"Status\"]) == 4 || parseInt(element[\"Status\"]) == 3 \n || parseInt(element[\"Status\"]) == 5 || parseInt(element[\"Status\"]) == 6 || parseInt(element[\"Status\"]) == 7\n || parseInt(element[\"Status\"]) == 8 || parseInt(element[\"Status\"]) == 9) && element[\"UserId\"] == this.DecryptedUserId){\n this.FundDisbursmentList.push(element);\n element[\"AuthorizeHide\"] = false;\n }\n else if(parseInt(element[\"Status\"]) == 2 && element[\"StatusByUserId\"] == parseInt(this.DecryptedUserId)) {\n this.FundDisbursmentList.push(element);\n element[\"AuthorizeDisable\"] = true;\n element[\"AuthorizeHide\"] = true;\n }\n else if(parseInt(element[\"Status\"]) != 2 && element[\"StatusByUserId\"] == parseInt(this.DecryptedUserId)) {\n this.FundDisbursmentList.push(element);\n element[\"AuthorizeDisable\"] = false;\n element[\"AuthorizeHide\"] = true;\n }\n }\n else{\n element[\"AuthorizeHide\"] = true;\n this.FundDisbursmentList.push(element);\n }\n }\n else{\n if(element[\"UserId\"] == this.DecryptedUserId){\n element[\"AuthorizeHide\"] = false;\n if(parseInt(element[\"Status\"]) == 1 || parseInt(element[\"Status\"]) == 4 || parseInt(element[\"Status\"]) == 3 \n || parseInt(element[\"Status\"]) == 5 || parseInt(element[\"Status\"]) == 6 || parseInt(element[\"Status\"]) == 7 \n || parseInt(element[\"Status\"]) == 8 || parseInt(element[\"Status\"]) == 9 ){\n this.FundDisbursmentList.push(element);\n }\n else{\n //RUbina added 18/01/2021 pagination issue\n // element[\"AuthorizeHide\"] = true;\n this.FundDisbursmentList.push(element);\n }\n }\n }\n }\n // else{\n // element[\"AuthorizeHide\"] = true;\n // this.FundDisbursmentList.push(element);\n // }\n });\n\n for (var i = 0; i < this.FundDisbursmentList.length; i++) {\n this.FundDisbursmentList[i].IsFundSelected = false;\n }\n\n this.FilteredFundDisbursmentList = this.FundDisbursmentList; \n this.listLengthForSelect = this.FundDisbursmentList.length;\n \n if(this.FilteredFundDisbursmentList.length > 0){ \n this.totalCount = this.FilteredFundDisbursmentList[0].FundListCount;\n this.totalNoOfPages(); \n }\n else if(this.FilteredFundDisbursmentList.length == 0){\n this.totalCount = 0;\n this.totalNoOfPages(); \n }\n debugger;\n if(this.ddlDropdownValue==10 || this.ddlDropdownValue==undefined){\n if(this.FilteredFundDisbursmentList.length<10 ){\n this.ddlshowvalue = this.totalCount;\n }\n else if(this.FilteredFundDisbursmentList.length==0){\n this.ddlshowvalue = 0;\n }\n }\n if(this.ddlDropdownValue== 25 ){\n if(this.FilteredFundDisbursmentList.length< 25 ){\n this.ddlshowvalue = this.totalCount;\n }\n else if(this.FilteredFundDisbursmentList.length==0){\n this.ddlshowvalue = 0;\n }\n }\n if(this.ddlDropdownValue== 50 ){\n if(this.FilteredFundDisbursmentList.length < 50 ){\n this.ddlshowvalue = this.totalCount;\n }\n else if(this.FilteredFundDisbursmentList.length==0){\n this.ddlshowvalue = 0;\n }\n }\n if(this.ddlDropdownValue== 100 ){\n if(this.FilteredFundDisbursmentList.length <100 ){\n this.ddlshowvalue = this.totalCount;\n }\n else if(this.FilteredFundDisbursmentList.length==0){\n this.ddlshowvalue = 0;\n }\n }\n this._spinner.hide(); \n },(err)=>{\n this.router.navigate([\"404\"]);\n });\n \n }\n//--------------Edit Indent Detail---------------------\n EditFundDisbursementDetails(_fundDisbursment: FundDisbursment) {\n localStorage.setItem('newIndendentId',String(_fundDisbursment.Id));\n localStorage.setItem('_Flag','NonAuthorization');\n //this._FundDisbursmentService.formData = _fundDisbursment;\n //this._FundDisbursmentService.formData.lblTitle = 'Edit Indent Request';\n //this._FundDisbursmentService.formData.readonly = false;\n this.router.navigate(['/AddEditFundDisburs']);\n }\n //---------For view Indent detail--------------------\n ViewFundDisbursementDetails(_fundDisbursment: FundDisbursment) {\n localStorage.setItem('newIndendentId',String(_fundDisbursment.Id));\n localStorage.setItem('_Flag','View');\n //this._FundDisbursmentService.formData = _fundDisbursment;\n //this._FundDisbursmentService.formData.lblTitle = 'Edit Indent Request';\n //this._FundDisbursmentService.formData.readonly = false;\n this.router.navigate(['/AddEditFundDisburs']);\n }\n//----For Authorization --------------------\n EditFundDisbursementDetailsForAuthorization(_fundDisbursment: FundDisbursment) {\n localStorage.setItem('newIndendentId',String(_fundDisbursment.Id));\n localStorage.setItem('_Flag','Authorization');\n //this._FundDisbursmentService.formData = _fundDisbursment;\n //this._FundDisbursmentService.formData.lblTitle = 'Add Indent Request';\n //this._FundDisbursmentService.formData.readonly = true;\n this.router.navigate(['/AddEditFundDisburs']);\n }\n \n\n//------------Seach Method------------------\n OnSearch(CustomerName,Status,RequestedDateAndTime,Amount,CreatedDate){\n this._spinner.show();\n this.CraredDateforExportSrch=CreatedDate;\n this.RequestedDateforExportSrch=RequestedDateAndTime;\n this.pageNumber = [];\n this.pageNumber[0] = true;\n this._PaginationService.comingFromPreAndNext = false;\n \n if(CreatedDate == null || CreatedDate == undefined || CreatedDate == \"\")\n CreatedDate = \"\"; \n else if (CreatedDate != null && CreatedDate!=\"\") {\n CreatedDate = this.ngbDateParserFormatter.format(CreatedDate.singleDate.date);\n }\n if(RequestedDateAndTime == null || RequestedDateAndTime == undefined || RequestedDateAndTime == \"\")\n RequestedDateAndTime = \"\"; \n else if (RequestedDateAndTime != null && RequestedDateAndTime!=\"\") {\n RequestedDateAndTime = this.ngbDateParserFormatter.format(RequestedDateAndTime.singleDate.date);\n }\n if(this.ComingFromExport==false){\n this.FnFundDisbursment(RequestedDateAndTime,Amount,CustomerName,Status,CreatedDate,this.sortOrder,\"1\");\n this.pageChanged(1);\n }\n \n if(this.ComingFromExport==true){\n if(Status != \"\"){\n if(Status == \"1\"){Status = \"Pending Authorization\"; } \n else if(Status == \"2\"){Status = \"Validating\"; }\n else if(Status == \"3\"){Status = \"Approved\"; }\n else if(Status == \"4\"){Status = \"Rejected\"; }\n else if(Status == \"5\"){Status = \"Delete Approval Pending\"; }\n else if(Status == \"6\"){Status = \"Delete Approved\"; }\n else if(Status == \"7\"){Status = \"Delete Rejected\"; }\n else if(Status == \"8\"){Status = \"Sweep Successful\"; }\n else if(Status == \"9\"){Status = \"Sweep Failed\"; }\n this.FilterExportFundList = this.ExportFundlist.filter(row=>{\n return row.IndentStatus == Status;\n });\n }\n this.FilterExportFundList = this.FilterExportFundList.filter(row=>{\n return row.CustomerName.toLocaleLowerCase().match(CustomerName.toLocaleLowerCase());\n });\n if(RequestedDateAndTime!=\"\" && RequestedDateAndTime!=null){\n this.FilterExportFundList = this.FilterExportFundList.filter(row=>{\n return row.RequestedDateAndTime.toLocaleLowerCase().match(this.RequestedDateforExportSrch.singleDate.formatted.toLocaleLowerCase());\n });\n }\n if(CreatedDate!=\"\" && CreatedDate!=null){\n this.FilterExportFundList = this.FilterExportFundList.filter(row=>{\n return row.CreatedDate.toLocaleLowerCase().match(this.CraredDateforExportSrch.singleDate.formatted.toLocaleLowerCase());\n \n // return row.CreatedDate.toLocaleLowerCase().match(CreatedDate);\n });\n }\n if(Amount!=null && Amount !=\"\") { \n this.FilterExportFundList = this.FilterExportFundList.filter(row=>{\n return row.AmountList.toLocaleLowerCase().match(Amount.toLocaleLowerCase());\n });\n this.FilterExportFundList;\n }\n this.ComingFromExport=false;\n}\n\n// debugger\n// this.ddlshowvalue=this.FilteredFundDisbursmentList.length;\n// if (CustomerName !=\"\" || Status != \"\" || RequestedDateAndTime!=\"\" || (Amount!=\"\" )) {\n// if (this.ddlshowvalue <= this.config.itemsPerPage) {\n// // this.ddlshowvalue = 0;\n// this.ddlshowvalue = this.ddlshowvalue;\n// this.ddlshowStartValue = 1;\n// }\n// else {\n// this.ddlshowvalue = 0;\n// this.ddlshowvalue = this.config.itemsPerPage; \n// this.ddlshowStartValue = 1;\n// }\n// // if (this.ddlshowvalue.toString() == \"10\") {\n// // this.ddlshowvalue = 0;\n// // this.ddlshowvalue = 10;\n// // }\n// // else{\n// // this.ddlshowvalue = 0;\n// // this.ddlshowvalue = this.FilteredFundDisbursmentList.length;\n// // }\n// // this.ddlshowStartValue=1;\n// // this.ddlshowvalue = 0;\n// // this.ddlshowvalue = this.config.itemsPerPage; \n \n// this.searchCount = \"\";\n// this.searchCount = this.FilteredFundDisbursmentList.length.toString();\n// this.filterCount = \"(filtered from \"+ this.FundDisbursmentList.length +\" total entries)\";\n// }\n// else{\n// if (this.ddlshowvalue <= this.config.itemsPerPage) {\n// // this.ddlshowvalue = 0;\n// this.ddlshowvalue = this.ddlshowvalue;\n// this.ddlshowStartValue = 1;\n// this.searchCount = this.FundDisbursmentList.length.toString();\n// this.filterCount =\"\";\n// }\n// else {\n// this.ddlshowvalue = 0;\n// this.ddlshowvalue = this.config.itemsPerPage; \n// this.ddlshowStartValue = 1;\n// this.searchCount = this.FundDisbursmentList.length.toString();\n// this.filterCount =\"\";\n// }\n \n// }\n \n \n// if(this.FilteredFundDisbursmentList.length < this.ddlshowvalue)\n// this.showvalue = this.FilteredFundDisbursmentList.length;\n// else \n// this.showvalue = this.ddlshowvalue;\n// this.filterCount = '(filtered from '+ this.FundDisbursmentList.length +' total entries)';\n}\n //-------------pagination Dropdown------------- \n fnShowonchange(newObj,RequestDate, Amount, CustomerName, Status, CreateDate){\n this.ddlDropdownValue=newObj.target.value;\n this.ddlshowvalue = 0;\n this.ddlshowvalue = newObj.target.value;\n this.ddlshowStartValue = 1;\n this.currentPage= 1;\n this.config = {\n itemsPerPage: this.ddlshowvalue,\n currentPage: 1,\n };\n\n this.pageNumber = [];\n this.pageNumber[0] = true;\n this._PaginationService.comingFromPreAndNext = false;\n\n if(CreateDate == null || CreateDate == undefined || CreateDate == \"\")\n CreateDate = \"\"; \n else if (CreateDate != null && CreateDate!=\"\") {\n CreateDate = this.ngbDateParserFormatter.format(CreateDate.singleDate.date);\n }\n if(RequestDate == null || RequestDate == undefined || RequestDate == \"\")\n RequestDate = \"\"; \n else if (RequestDate != null && RequestDate!=\"\") {\n RequestDate = this.ngbDateParserFormatter.format(RequestDate.singleDate.date);\n }\n\n this.FnFundDisbursment(RequestDate, Amount, CustomerName, Status, CreateDate,this.sortOrder,\"1\"); \n }\n\n showModal:boolean;\n showMsg:boolean;\n\n show() { this.showModal = true; \n $(document).ready(function () {\n $('#IDshowModal').eq(0).focus();\n }); }\n hide() { this.showModal = false; } \n\n showlbl(){\n this.showMsg = true;\n }\n hidelbl(){\n this.showMsg = false;\n }\n\n showerrorlbl(){\n this.showerrormsg = true;\n }\n hideerrorlbl(){\n this.showerrormsg = false;\n }\n\n AllDeletehide(){\n this.showModalForAllDelete=false;\n this.isActive = false;\n this.AllIndentChk=false;\n }\n AllDeleteShow(){\n this.showModalForAllDelete=true;\n }\n AllDeleteConfirm(){\n this.FundDisbursmentList.forEach(element => {\n if(element.IsFundSelected == true){\n this._FundDisbursmentService.fnDeleteIndent(element.Id.toString(),localStorage.getItem(\"LoginUserId\")).subscribe(res=>{\n this.FnFundDisbursment(\"\",\"\",\"\",\"\",\"\",this.sortOrder,\"1\");\n this.lblMessage=\"All Selected Record Deleted Successfully\"\n // this.lblMessage=\"All Account Deleted Successfully except Account Number used in Other Master. \"\n this.showlbl();\n this.onTop();\n this.AllDeletehide();\n this.FundSelected = false;\n },(err)=>{\n this.router.navigate([\"404\"]);\n });\n }\n });\n }\n SelectAllIndent(){\n this.isActive = true;\n this.AllIndentChk=true;\n this.AllDeleteShow();\n }\n//-------Delete Indent by Id------------------------\n DeleteIndentById()\n { \n this._FundDisbursmentService.fnDeleteIndent(this.IndentId.toString(),localStorage.getItem(\"LoginUserId\")).subscribe(res=>{\n this._FundDisbursmentService.formData.RequestedDate=\"\",\n this._FundDisbursmentService.formData.Amount=\"\", \n this._FundDisbursmentService.formData.CustomerName=\"\", \n this._FundDisbursmentService.formData.Status=\"\", \n this._FundDisbursmentService.formData.CreatedDate=\"\",\n this.showFirstPage(this._FundDisbursmentService.formData.RequestedDate,\n this._FundDisbursmentService.formData.Amount, \n this._FundDisbursmentService.formData.CustomerName, \n this._FundDisbursmentService.formData.Status, \n this._FundDisbursmentService.formData.CreatedDate)\n // this.FnFundDisbursment(\"\",\"\",\"\",\"\",\"\",this.sortOrder,\"1\");\n this.lblMessage=res;\n if(this.lblMessage == \"Record Deleted Successful.\")\n this.showlbl(); \n else\n this.showerrorlbl() \n this.hide();\n this.onTop();\n },(err)=>{\n this.router.navigate([\"404\"]);\n });\n }\n//------show popup for delete confirmation --------\n IndentDeleteConfirmation(Indent: FundDisbursment) {\n this.IndentId = Indent.Id;\n this.show(); \n}\n//------------On top method-----------------------\nonTop(){\n window.scroll({\n top: 0,\n left: 0,\n behavior:'smooth'\n })\n}\n//---------------Grid Sorting Method-------------------\nfnSortIndentMaster(field,obj){\n if(this.lastSortedByField === field) {\n this.ascendingOrder = !this.ascendingOrder;\n\n sortTableIndentMst(obj,this.ascendingOrder);\n }\n else {\n this.lastSortedByField = field;\n this.ascendingOrder = true;\n\n sortTableIndentMst(obj,this.ascendingOrder);\n }\n\n if(this.ascendingOrder) {\n this.FilteredFundDisbursmentList = this.FilteredFundDisbursmentList.sort((a, b) => {\n if(field=='CreatedDate'){ \n // a[\"CreatedDate\"] = a[\"CreatedDate\"].split(\" \");\n //b[\"CreatedDate\"] = b[\"CreatedDate\"].split(\" \");\n // let date1= a[\"CreatedDate\"][0];\n //let date2= b[\"CreatedDate\"][0]\n if (a[\"DateCreated\"].toLowerCase() < b[\"DateCreated\"].toLowerCase())\n return -1;\n if (a[\"DateCreated\"].toLowerCase() > b[\"DateCreated\"].toLowerCase())\n return 1;\n }\n if(field=='RequestedDateAndTime'){\n if (a[\"RequestedDate\"].toLowerCase() < b[\"RequestedDate\"].toLowerCase())\n return -1;\n if (a[\"RequestedDate\"].toLowerCase() > b[\"RequestedDate\"].toLowerCase())\n return 1;\n } \n if(field === 'AmountList'){\n if (Number(a[field]) < Number(b[field]))\n return -1;\n if (Number(a[field]) > Number(b[field]))\n return 1;\n }\n // else{\n // if (a[field].toLowerCase() < b[field].toLowerCase())\n // return -1;\n // if (a[field].toLowerCase() > b[field].toLowerCase())\n // return 1;\n // }\n // return 0;\n });\n }\n else {\n this.FilteredFundDisbursmentList = this.FilteredFundDisbursmentList.sort((a, b) => {\n if(field=='CreatedDate'){ \n // a[\"CreatedDate\"] = a[\"CreatedDate\"].split(\" \");\n //b[\"CreatedDate\"] = b[\"CreatedDate\"].split(\" \");\n // let date1= a[\"CreatedDate\"][0];\n //let date2= b[\"CreatedDate\"][0]\n if (a[\"DateCreated\"].toLowerCase() > b[\"DateCreated\"].toLowerCase())\n return -1;\n if (a[\"DateCreated\"].toLowerCase() < b[\"DateCreated\"].toLowerCase())\n return 1;\n }\n if(field=='RequestedDateAndTime'){\n if (a[\"RequestedDate\"].toLowerCase() > b[\"RequestedDate\"].toLowerCase())\n return -1;\n if (a[\"RequestedDate\"].toLowerCase() < b[\"RequestedDate\"].toLowerCase())\n return 1;\n } \n if(field === 'AmountList'){\n if (Number(a[field]) < Number(b[field]))\n return 1;\n if (Number(a[field]) > Number(b[field]))\n return -1;\n }\n else{\n if (a[field].toLowerCase() < b[field].toLowerCase())\n return 1;\n if (a[field].toLowerCase() > b[field].toLowerCase())\n return -1;\n }\n return 0;\n });\n }\n\n}\n\n//------------------------------------------------------\n\ncheckUncheckAllFund() {\n this.AllSelected=true;\n this.isActive = true;\n this.FundSelected != this.FundSelected;\n\n if (this.FilteredFundDisbursmentList.length > 0) {\n for (var i = 0; i < this.FilteredFundDisbursmentList.length; i++) {\n this.FilteredFundDisbursmentList[i].IsFundSelected = this.FundSelected; \n }\n }\n else\n {\n for (var i = 0; i < this.listLengthForSelect; i++) {\n this.FundDisbursmentList[i].IsFundSelected = this.FundSelected; \n }\n }\n\n this.getCheckedItemList();\n}\n\nisChecked(Id,status){\n this.AllSelected=false;\n this.IsFundSelected != status;\n for (var i = 0; i < this.listLengthForSelect; i++) {\n this.FundDisbursmentList[i].IsFundSelected == this.IsFundSelected; \n}\n this.getCheckedItemList();\n}\n\n\ngetCheckedItemList(){\n this.checkedList = [];\n for (var i = 0; i < this.listLengthForSelect; i++) {\n if(this.FundDisbursmentList[i].IsFundSelected == true)\n this.checkedList.push(this.FundDisbursmentList[i]);\n }\n this.checkedList = JSON.stringify(this.checkedList);\n\n if(this.checkedList.length > 2){\n this.BulkDelete = false;\n }\n else{\n this.BulkDelete = true;\n }\n}\n\nAllDeleteConfirmation(){\n if(this.AllSelected==true){\n this.ConfirmationMsg=\"Are you sure you want to delete All records?\"\n }\n if(this.AllSelected==false){\n this.ConfirmationMsg=\"Are you sure you want to delete selected records?\"\n }\n this.AllDeleteShow();\n}\n//------------Only Number on Keypress------------------\nonKeyDown(event: KeyboardEvent) {\n let a= (event.charCode == 8 || event.charCode == 45 || event.charCode == 0 ) ? null : event.charCode >= 48 && event.charCode <= 57;\nreturn a;\n}\n\n//-----HTML & RTf & Excel download Method----------------\n@ViewChild('tblIndentMasterhide') tblIndentMasterhide:ElementRef;\n//title = 'Excel'; \nfndownloadReport(ddlValue){\n this._spinner.show();\n this._FundDisbursmentService.fnGetExportFundDisbursmenetList(localStorage.getItem(\"LoginUserId\")).subscribe(Fund=>{\n this.ExportFundlist = Fund;\n // Fund.forEach(element => {\n // if(element[\"UserId\"] == this.DecryptedUserId){\n // if(parseInt(element[\"Status\"]) != 2)\n // this.ExportFundlist.push(element);\n // }\n // }); \n this.ComingFromExport=true;\n this.FilterExportFundList = this.ExportFundlist;\n this.OnSearch(this._FundDisbursmentService.formData.CustomerName,this._FundDisbursmentService.formData.Status,\n this._FundDisbursmentService.formData.RequestedDate,this._FundDisbursmentService.formData.Amount,\n this._FundDisbursmentService.formData.CreatedDate);\n setTimeout(() => {\n this.ExportForFund(ddlValue)\n this._spinner.hide();\n }, 500);\n });\n} \nExportForFund(ddlValue){\n if(ddlValue === \"excel\"){\n this.fileName= 'IndentMasterReport.xlsx';\n\n //let element = document.getElementById('tblAccountMaster'); \n const ws: XLSX.WorkSheet = XLSX.utils.table_to_sheet(this.tblIndentMasterhide.nativeElement);\n /* generate workbook and add the worksheet */\n const wb: XLSX.WorkBook = XLSX.utils.book_new();\n XLSX.utils.book_append_sheet(wb, ws, 'Sheet1');\n\n /* save to file */\n XLSX.writeFile(wb, this.fileName);\n }\n \n if(ddlValue === \"rtf\"){\n this.fileName = 'IndentMasterReport.rtf';\n var ele = document.getElementById('tblIndentMasterhideRTF');\n var blob = new Blob([\"

Indent Master's Report.


\"+ele.innerHTML+\"
\"], {\n type: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8\"\n });\n saveAs(blob, this.fileName);\n }\n\n if(ddlValue === \"html\"){\n this.fileName = 'IndentMasterReport.html'; \n var ele = document.getElementById('tblIndentMasterhide');\n var blob = new Blob([\"

Indent Master's Report.


\"+ele.innerHTML+\"
\"], {\n type: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8\"\n });\n saveAs(blob, this.fileName);\n }\n}\n//-----------PDF Download Method---------------------------\n@ViewChild('tblIndentMasterhidePDF', {static: false}) tblIndentMasterhidePDF: ElementRef;\nfndownloadReportPdf(ddlValue){\n this._spinner.show();\n this._FundDisbursmentService.fnGetExportFundDisbursmenetList(localStorage.getItem(\"LoginUserId\")).subscribe(Fund=>{\n this.ExportFundlist = Fund;\n // Fund.forEach(element => {\n // if(element[\"UserId\"] == this.DecryptedUserId){\n // if(parseInt(element[\"Status\"]) != 2)\n // this.ExportFundlist.push(element);\n // }\n // }); \n this.ComingFromExport=true;\n this.FilterExportFundList = this.ExportFundlist;\n this.OnSearch(this._FundDisbursmentService.formData.CustomerName,this._FundDisbursmentService.formData.Status,\n this._FundDisbursmentService.formData.RequestedDate,this._FundDisbursmentService.formData.Amount,\n this._FundDisbursmentService.formData.CreatedDate);\n setTimeout(() => {\n this.ExportForFundPDF(ddlValue)\n this._spinner.hide();\n }, 500);\n });\n}\nExportForFundPDF(ddlValue){\n if(ddlValue === \"pdf\"){\n let DATA = this.tblIndentMasterhidePDF.nativeElement;\n var ele = document.getElementById('tblIndentMasterhidePDF');\n let doc = new jsPDF('l','mm',[2600,1300]);\n var blob = new Blob([], {\n });\n let handleElement = {\n '#editor':function(element,renderer){\n return true;\n }\n };\n doc.fromHTML(\"

Indent Master's Report.


\"+DATA.innerHTML+\"
\",15,15,{\n 'width':1300,\n 'elementHandlers': handleElement\n });\n doc.save('IndentMasterReport.pdf');\n \n }\n}\n//----Get Customer list-----------\nfnGetCustomerName(){\n return this._customerService.fnGetCustomerListForDropdown(\"0\",localStorage.getItem('LoginUserId')).subscribe(data =>{\n data.forEach(element => {\n this.allCustList.push(element); \n if(element[\"Status\"]=='0'){\n this.IsCustomerInActive=true;\n }\n },(err)=>{\n this.router.navigate([\"404\"]);\n });\n });\n}\n//--------gear Menu and SubMenu display on tab Event-----\nfnOpengearMenu(){\n $(\".icon-cog\").trigger(\"click\");\n}\nfnsubOpengearMenu(){\n $('[class=\"dropdown-menu\"]').trigger(\"click\").css('display','block');\n}\n//------------------------------------------------------\n\n\n\n//------------------method for pagination-------------------- \n//-------------------------pagination start------------------------------------------\n\npageNo: any = 1; \npageNumber: boolean[] = []; \nsortOrder: any = 'CreatedDate_DESC'; \norder:any='CreatedDate'; \n//Pagination Variables \n \n\npageField = []; \nexactPageList: any; \npaginationData: number; \norderBy: string='Desc'; \n\ntotalCount: any; \ncurrentPage = 1; \nComingFromLast:boolean = false;\nComingFromFirst:boolean = false;\n\ntotalNoOfPages() { \nif(this.ComingFromLast == true){\n this.pageNumber = []; \n this.pageNumber[this._PaginationService.pageNumberShow - 1] = true; \n this.ComingFromLast = false;\n}\nif(this.ComingFromFirst == true){\n this.pageNumber = []; \n this.pageNumber[0] = true;\n this.ComingFromFirst = false;\n} \nthis.filterCount = this.totalCount;\nthis.paginationData = Number(this.totalCount/this.config.itemsPerPage); \nlet tempPageData = this.paginationData.toFixed(); \nif (Number(tempPageData) < this.paginationData) { \n this.exactPageList = Number(tempPageData) + 1; \n this._PaginationService.exactPageList = this.exactPageList; \n} else { \n this.exactPageList = Number(tempPageData); \n this._PaginationService.exactPageList = this.exactPageList \n}\nif(this._PaginationService.exactPageList < 10){\n this._PaginationService.pageNumberShow = this._PaginationService.exactPageList;\n this._PaginationService.disabledPrevBtn = true;\n this._PaginationService.disabledNextBtn = true;\n}\nelse{\n this._PaginationService.pageNumberShow = 10;\n} \nthis._PaginationService.pageOnLoad(); \nthis.pageField = this._PaginationService.pageField; \n\nif(this.pageField.length < 10){\n this._PaginationService.disabledNextBtn = true;\n this._PaginationService.disabledPrevBtn = true;\n}\n} \n\nshowFundsByPageNumber(page, i,RequestDate, Amount, CustomerName, Status, CreateDate) { \nthis.pageNumber = []; \nthis.pageNumber[i] = true; \nthis.pageNo = page; \nthis.currentPage =page;\n\n if(CreateDate == null || CreateDate == undefined || CreateDate == \"\")\n CreateDate = \"\"; \n else if (CreateDate != null && CreateDate!=\"\") {\n CreateDate = this.ngbDateParserFormatter.format(CreateDate.singleDate.date);\n }\n if(RequestDate == null || RequestDate == undefined || RequestDate == \"\")\n RequestDate = \"\"; \n else if (RequestDate != null && RequestDate!=\"\") {\n RequestDate = this.ngbDateParserFormatter.format(RequestDate.singleDate.date);\n }\n\nthis.FnFundDisbursment(RequestDate, Amount, CustomerName, Status, CreateDate,this.sortOrder); \nthis.pageChanged(this.pageNo); \n} \n\nshowPrev(RequestDate, Amount, CustomerName, Status, CreateDate) { \nif (this._PaginationService.showNoOfCurrentPage != 1) { \n this._PaginationService.pageNumberShow = 10;\n this._PaginationService.prevValue(); \n this.pageNumber = []; \n this.pageNumber[0] = true; \n this.currentPage = this._PaginationService.pageField[0]; \n this.pageNo = this._PaginationService.pageField[0];\n\n if(CreateDate == null || CreateDate == undefined || CreateDate == \"\")\n CreateDate = \"\"; \n else if (CreateDate != null && CreateDate!=\"\") {\n CreateDate = this.ngbDateParserFormatter.format(CreateDate.singleDate.date);\n }\n if(RequestDate == null || RequestDate == undefined || RequestDate == \"\")\n RequestDate = \"\"; \n else if (RequestDate != null && RequestDate!=\"\") {\n RequestDate = this.ngbDateParserFormatter.format(RequestDate.singleDate.date);\n }\n\n this.FnFundDisbursment(RequestDate, Amount, CustomerName, Status, CreateDate,this.sortOrder); \n this.pageChanged(this.pageNo); \n} \n\n} \n\nshowFirstPage(RequestDate, Amount, CustomerName, Status, CreateDate){\n\n this._PaginationService.temppage = 10;\n this._PaginationService.pageNumberShow = 10;\n this._PaginationService.showNoOfCurrentPage = 1;\n this._PaginationService.FirstValue(); \n this.currentPage = this._PaginationService.pageField[0]; \n this.pageNo = this._PaginationService.pageField[0];\n\n if(CreateDate == null || CreateDate == undefined || CreateDate == \"\")\n CreateDate = \"\"; \n else if (CreateDate != null && CreateDate!=\"\") {\n CreateDate = this.ngbDateParserFormatter.format(CreateDate.singleDate.date);\n }\n if(RequestDate == null || RequestDate == undefined || RequestDate == \"\")\n RequestDate = \"\"; \n else if (RequestDate != null && RequestDate!=\"\") {\n RequestDate = this.ngbDateParserFormatter.format(RequestDate.singleDate.date);\n }\n\n this.FnFundDisbursment(RequestDate, Amount, CustomerName, Status, CreateDate,this.sortOrder); \n this.pageChanged(this.pageNo);\n this.ComingFromFirst = true;\n}\n\nshowLastPage(RequestDate, Amount, CustomerName, Status, CreateDate){\n this._PaginationService.temppage = this._PaginationService.exactPageList;\n if(this._PaginationService.exactPageList%10 == 0)\n this._PaginationService.pageNumberShow = 10;\n else \n this._PaginationService.pageNumberShow = this._PaginationService.exactPageList%10;\n\n this._PaginationService.showNoOfCurrentPage = Math.ceil(this._PaginationService.exactPageList/10);\n this._PaginationService.comingFromPreAndNext = true;\n this._PaginationService.LastValue(); \n \n this.currentPage = this._PaginationService.pageField[this._PaginationService.pageNumberShow - 1]; \n this.pageNo = this._PaginationService.pageField[this._PaginationService.pageNumberShow - 1];\n\n if(CreateDate == null || CreateDate == undefined || CreateDate == \"\")\n CreateDate = \"\"; \n else if (CreateDate != null && CreateDate!=\"\") {\n CreateDate = this.ngbDateParserFormatter.format(CreateDate.singleDate.date);\n }\n if(RequestDate == null || RequestDate == undefined || RequestDate == \"\")\n RequestDate = \"\"; \n else if (RequestDate != null && RequestDate!=\"\") {\n RequestDate = this.ngbDateParserFormatter.format(RequestDate.singleDate.date);\n }\n\n this.FnFundDisbursment(RequestDate, Amount, CustomerName, Status, CreateDate,this.sortOrder);\n this.pageChanged(this.pageNo); \n this.ComingFromLast = true;\n}\n\nsortByHeading(value: string, id,RequestDate, Amount, CustomerName, Status, CreateDate) { \n this.sortOrder = value; \n this.order =value; \nif (this.orderBy == \"Desc\") { \n this.orderBy = \"Asc\" \n this.sortOrder = this.sortOrder+'_ASC'; \n sortTableIndentMst(id,true);\n} else { \n this.orderBy = \"Desc\"; \n this.sortOrder = this.sortOrder+'_DESC';\n sortTableIndentMst(id,false); \n} \n\nif(CreateDate == null || CreateDate == undefined || CreateDate == \"\")\n CreateDate = \"\"; \n else if (CreateDate != null && CreateDate!=\"\") {\n CreateDate = this.ngbDateParserFormatter.format(CreateDate.singleDate.date);\n }\n if(RequestDate == null || RequestDate == undefined || RequestDate == \"\")\n RequestDate = \"\"; \n else if (RequestDate != null && RequestDate!=\"\") {\n RequestDate = this.ngbDateParserFormatter.format(RequestDate.singleDate.date);\n }\n\n this.FnFundDisbursment(RequestDate, Amount, CustomerName, Status, CreateDate,this.sortOrder); \n this.pageChanged(this.pageNo);\n} \n\nshowNext(RequestDate, Amount, CustomerName, Status, CreateDate) { \n if (this._PaginationService.disabledNextBtn == false) { \n this.pageNumber = []; \n this._PaginationService.nextValue(); \n this.pageNumber[0] = true; \n this.currentPage = this._PaginationService.pageField[0]; \n this.pageNo = this._PaginationService.pageField[0]; \n\n if(CreateDate == null || CreateDate == undefined || CreateDate == \"\")\n CreateDate = \"\"; \n else if (CreateDate != null && CreateDate!=\"\") {\n CreateDate = this.ngbDateParserFormatter.format(CreateDate.singleDate.date);\n }\n if(RequestDate == null || RequestDate == undefined || RequestDate == \"\")\n RequestDate = \"\"; \n else if (RequestDate != null && RequestDate!=\"\") {\n RequestDate = this.ngbDateParserFormatter.format(RequestDate.singleDate.date);\n }\n \n this.FnFundDisbursment(RequestDate, Amount, CustomerName, Status, CreateDate,this.sortOrder);\n this.pageChanged(this.pageNo); \n } \n } \n}\n\n\n\n","
\n
\n
\n
\n

\n Fund Disbursement Master\n

\n
\n
\n\n
\n
\n ×\n Success! {{ lblMessage }}.\n
\n\n
\n ×\n {{ lblMessage }}.\n
\n
\n\n
\n
\n \n
\n \n
\n \n
\n
\n
\n Please Enter valid Date Format\n
\n\n\n \n
\n
\n \n \n
\n
\n \n\n \n\n \n \n \n\n
\n \n\n
\n \n \n \n \n \n \n \n \n \n \n \n \n\n \n
\n
\n \n \n
\n \n\n
\n \n
\n
\n
\n Please Enter a valid Date Format\n
\n
\n
\n \n Search\n \n
\n\n \n \n
\n
\n
\n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n
\n
\n
\n \n
\n
\n \n
\n
\n \n\n \n
\n
\n
\n \n \n \n Customer Name\n \n\n Branch\n \n Status\n \n\n Request Date\n \n Amount\n \n Transfer Type\n \n Created By\n \n Created / Updated Date & Time\n \n \n Action\n \n \n \n \n \n \n \n {{ fund.CustomerName }}\n \n {{ fund.BranchName }}\n {{ fund.IndentStatus }}\n \n {{ fund.RequestedDateAndTime }}\n {{ fund.AmountList }} \n {{ fund.TransferTypeDesc }} \n {{ fund.CreatedBy }} \n {{ fund.CreatedDate }} \n \n
\n \n \n \n
\n \n \n \n
\n
\n \n
\n
\n \n
\n
\n \n\n \n \n \n No records found.\n \n \n \n \n\n \n
\n
\n \n
\n
\n \n\n
\n
\n
\n \n
\n Page {{currentPage}} of Total page {{_PaginationService.exactPageList}} \n
\n\n
\n
\n
\n
\n
\n
\n \n\n\n\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Customer NameBranchStatusRequest DateAmountTransfer TypeCreated ByCreated / Updated Date & Time
{{ fund.CustomerName }} {{ fund.BranchName }}{{ fund.IndentStatus }}{{ fund.RequestedDateAndTime }}{{ fund.AmountList }}{{ fund.TransferTypeDesc }}{{ fund.CreatedBy }}{{ fund.CreatedDate }}
\n\n
\n\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Customer NameBranchStatusRequest DateAmountTransfer TypeCreated ByCreated / Updated Date & Time
{{ fund.CustomerName }} {{ fund.BranchName }}{{ fund.IndentStatus }}{{ fund.RequestedDateAndTime }}{{ fund.AmountList }}{{ fund.TransferTypeDesc }}{{ fund.CreatedBy }}{{ fund.CreatedDate }}
\n\n
\n\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Customer NameBranchStatusRequest DateAmountTransfer TypeCreated ByCreated / Updated Date & Time
{{ fund.CustomerName }} {{ fund.BranchName }}{{ fund.IndentStatus }}{{ fund.RequestedDateAndTime }}{{ fund.AmountList }}{{ fund.TransferTypeDesc }}{{ fund.CreatedBy }}{{ fund.CreatedDate }}
\n\n
\n\n\n
\n
\n
\n

Confirmation

\n \n ×\n \n
\n
\n

Are you sure you want to delete.

\n
\n
\n \n \n Close\n \n
\n
\n
\n\n
\n
\n
\n
\n

Confirmation

\n \n
\n
\n

{{ConfirmationMsg}}

\n
\n
\n \n \n
\n
\n
\n
\n\n\n","import { Component, ElementRef, OnInit, ViewChild } from '@angular/core';\nimport { SweepChargesModelService } from 'src/app/MasterService/sweep-charges-model.service';\nimport { CustomerService } from 'src/app/MasterService/customer.service';\nimport { Router } from '@angular/router';\nimport { NgxSpinnerService } from 'ngx-spinner';\nimport { formatDate, DatePipe } from '@angular/common';\nimport { NgbDateStruct, NgbDateParserFormatter, NgbDate } from '@ng-bootstrap/ng-bootstrap';\nimport { NgbDateCustomParserFormatter } from '../../MasterService/date-format';\nimport { IAngularMyDpOptions, IMyDateModel } from 'angular-mydatepicker';\nimport { Constants } from 'src/app/Common/constant';\nimport { TOUCH_BUFFER_MS } from '@angular/cdk/a11y';\nimport { saveAs } from 'file-saver';\nimport * as $ from 'jquery';\nimport * as XLSX from 'xlsx';\nimport * as jsPDF from 'jspdf';\nimport { RoleAccessService } from 'src/app/MasterService/role-access.service';\nimport { RoleAccess } from 'src/app/MasterService/RoleAccess';\nimport { connect } from 'http2';\nimport { EncryptdecryptService } from 'src/app/MasterService/encryptdecrypt.service';\nimport { PaginationService } from 'src/app/Paging/pagination.service';\n\ndeclare var sortTableSweepChargesMst: Function;\ndeclare var sortTableDailySweepCharges:Function;\ndeclare var sortTableMonthlySweepCharges:Function;\n\n@Component({\n selector: 'app-sweepcharges-list',\n templateUrl: './sweepcharges-list.component.html',\n styleUrls: ['./sweepcharges-list.component.css'],\n})\nexport class SweepchargesListComponent implements OnInit {\n today = new Date();\n myDpOptions: IAngularMyDpOptions = {\n dateRange: false,\n dateFormat: 'dd-mm-yyyy'\n // other options are here...\n };\n myDpOptions1: IAngularMyDpOptions = {\n dateRange: false,\n dateFormat: 'dd-mm-yyyy',\n disableSince: {year: this.today.getFullYear(), month: this.today.getMonth() + 1, day: this.today.getDate() + 1}\n \n // other options are here...\n };\n\n model: any;\n model2: any;\n\n readonly TTUMCopyUrl = Constants.TTUMUrl;\n ttumFile: any;\n disabledTTUMFile:boolean=true;\n TTUMnewUrl : any;\n TTUMfnName:any;\n\n allCustomerList: any = [];\n FilteredCustomerList: any = [];\n\n allSweepChargesList: any = [];\n FilteredSweepChargesList: any = [];\n\n allDailyFlatDailySweepChargesList: any = [];\n FilteredDailyFlatDailySweepChargesList: any = [];\n\n allMonthlyFlatMonthlySweepChargesList: any = [];\n FilteredMonthlyFlatMonthlySweepChargesList: any = [];\n\n config: any;\n showModal: boolean;\n showMsg: boolean;\n showerrormsg:boolean;\n lblMessage: string;\n\n customerId: number = null;\n FromDate: any = null;\n ToDate: any = null;\n chargeStatus: string = \"\";\n chargeType: string = \"PerSweep\";\n ddlshowvalue: number;\n searchCount: number;\n filterCount: string;\n lastSortedByField;\n ascendingOrder = true;\n date: Date = null;\n chargeDisable:boolean;\n IsMonthlyOrFlatMontlhy:boolean=false;\n ddlMonth:string=\"1\";\n ddlYear:string=\"2020\";\n fromDateError: boolean;\n inputDate: string;\n errorMessage: string;\n isValidDate: boolean;\n sanitizer: any;\n http: any;\n UserType:string;\n disableCustomer:boolean = false;\n fileName: string;\n tblForExport: any;\n ddlshowStartValue: number;\n WaiveOffSelected:boolean;\n IsWaiveOffSelected:boolean;\n showModalForWaiveOff: boolean;\n ConfirmationMsg: string;\n AuthorizeWaiveOffStatus: number;\n checkedWaiveOffList: any[];\n BulkWaiveOffButton: boolean=false;\n MakershowModalForWaiveOff:boolean;\n\n DailyFlatWaiveOffSelected:boolean;\n IsDailyFlatWaiveOffSelected:boolean;\n BulkDailyflatWaiveOffButton:boolean;\n\n MonthlyFlatWaiveOffSelected:boolean;\n IsMonthlyFlatWaiveOffSelected:boolean;\n BulkMonthlyflatWaiveOffButton:boolean;\n checkedDailyflatList: any[];\n checkedMonthlyFlatList: any[];\n RoleAccess: RoleAccess;\n CheckerPrivillage: boolean;\n AddPrivillage: boolean;\n checkerAccess: boolean;\n FilterdSweepcheckedList: any[];\n ddlDropdownValue: number =10;\n constructor(public _SweepChargesModelService: SweepChargesModelService, private router: Router, private _spinner: NgxSpinnerService, \n private ngbDateParserFormatter: NgbDateParserFormatter, private datePipe: DatePipe,\n private _roleAccess:RoleAccessService, public _encreptdecrept:EncryptdecryptService,\n public _PaginationService:PaginationService) { }\n\n ngOnInit(): void {\n if (localStorage.getItem('LoginUserId') == null) {\n this.router.navigate([\"\"]);\n return;\n }\n\n if(!$('.js-sticky-header').is(':visible')){\n $('.js-sticky-header').css('display','block');\n }\n \n this._spinner.show();\n // Setting default value \n this.GetFormData(); \n // Getting role from userid\n this.GetPrivillageRoles();\n // Getting Customer List\n this.GetCustomerList();\n //this.fnGetAllSweepChargeList(); // called this function synchronously (added this function into GetPrivillageRoles)\n //this.fnGetAllDailyFlatDailySweepChargeList();\n //this.fnGetAllMonthlyFlatMonthlySweepChargeList();\n \n var today = new Date();\n var month = today.getMonth()+1;\n this.ddlMonth = month.toString();\n this.config = {\n itemsPerPage: 10,\n currentPage: 1,\n };\n this.ddlshowvalue = 10;\n this.ddlshowStartValue=1;\n this.UserType = localStorage.getItem('UserTypeVal');\n if (this.UserType == '2') {\n this.disableCustomer = true;\n }else{\n this.disableCustomer = false;\n }\n this.pageNumber[0] = true; \n this._PaginationService.temppage = 0; \n this.DownloadTTUM();\n\n }\n\n // Setting default value \n GetFormData(){ \n this._SweepChargesModelService.formData={\n CustomerId: null,\n TransactionId: 0,\n FromAccountId: 0,\n FromAccountNumber: '',\n FromAccountName: '',\n ToAccountId: 0,\n ToAccountNumber: '',\n ToAccountName: '',\n BalanceTransfer: 0,\n charges: 0,\n chargeStatus: 'Uncharged',\n CreatedDate: null,\n datefilter: null,\n AcLinkId: 0,\n ChargeType:'PerSweep',\n TransactionCount: 0,\n AclinkName: '',\n SweepMonth:'',\n FromDate:'',\n ToDate:'',\n WaiveStatus:'',\n SweepId:0,\n CustomerName : '',\n DropDownValue:\"10\",\n }\n }\n\n // Page changed event function\n pageChanged(event) {\n this.config.currentPage = event;\n this.ddlshowvalue = this.config.currentPage*this.config.itemsPerPage;\n this.ddlshowStartValue = this.ddlshowvalue - (this.config.itemsPerPage-1);\n \n // if(this.chargeType==\"PerSweep\"){\n // if(this.FilteredSweepChargesList.length<=this.ddlshowvalue){\n // this.ddlshowvalue = this.FilteredSweepChargesList.length;}\n // }\n // if(this.chargeType==\"DailyOrFlatDaily\"){\n // if(this.FilteredDailyFlatDailySweepChargesList.length<=this.ddlshowvalue){\n // this.ddlshowvalue = this.FilteredDailyFlatDailySweepChargesList.length;}\n // }\n // if(this.chargeType==\"MonthlyOrFlatMontlhy\"){\n // if(this.FilteredMonthlyFlatMonthlySweepChargesList.length<=this.ddlshowvalue){\n // this.ddlshowvalue = this.FilteredMonthlyFlatMonthlySweepChargesList.length;}\n // }\n }\n BulkChargeButton:boolean;\n preSweepSortOrder:string;\n // Getting Sweep Charge List from database\n\n //#region \n allSweepChargesListExport:any = [];\n FilterallSweepChargesListExport:any = [];\n fnGetAllSweepChargeListExport(){\n this._SweepChargesModelService.fnGetAllSweepChargesListExport(localStorage.getItem('LoginUserId')).subscribe(respose => {\n this.allSweepChargesListExport = respose; \n this.FilterallSweepChargesListExport = this.allSweepChargesListExport;\n for(var i=0;i 0){ \n // for (var j = 0; j < this.checkedWaiveOffList.length; j++) {\n // if(this.checkedWaiveOffList[j].TransactionId == this.FilterallSweepChargesListExport[i].TransactionId){\n // this.FilterallSweepChargesListExport[i].IsWaiveOffSelected = true; \n // } \n // } \n // }\n // }\n\n if(!this.CheckerPrivillage){\n if((this.FilterallSweepChargesListExport[i].chargeStatus.toLowerCase()==\"uncharged\" || this.FilterallSweepChargesListExport[i].chargeStatus.toLowerCase()==\"charged\")\n && this.FilterallSweepChargesListExport[i].WaiveStatus==\"Not Applicable\"){\n this.FilterallSweepChargesListExport[i].hideWaiveOffAndCharge=true;\n } \n if(this.FilterallSweepChargesListExport[i].chargeStatus==\"Pending\" && this.FilterallSweepChargesListExport[i].WaiveStatus==\"Not Applicable\"){\n this.FilterallSweepChargesListExport[i].hideWaiveOffAndCharge=false;\n this.FilterallSweepChargesListExport[i].disableWaiveOff=true;\n } \n if(this.FilterallSweepChargesListExport[i].chargeStatus.toLowerCase()==\"charged\" && this.FilterallSweepChargesListExport[i].WaiveStatus !=\"Not Applicable\") {\n this.FilterallSweepChargesListExport[i].hideWaiveOffAndCharge=false;\n this.FilterallSweepChargesListExport[i].disableWaiveOff=true;\n }\n }\n else {\n \n //checker to checker flow. \n if(this.FilterallSweepChargesListExport[i].accLinCreatedBy == +this._encreptdecrept.decryptUsingAES256(localStorage.getItem('LoginUserId'))){ \n if((this.FilterallSweepChargesListExport[i].chargeStatus==\"Uncharged\" || this.FilterallSweepChargesListExport[i].chargeStatus==\"Charged\")\n && this.FilterallSweepChargesListExport[i].WaiveStatus==\"Not Applicable\"){\n this.FilterallSweepChargesListExport[i].hideWaiveOffAndCharge=true; \n this.FilterallSweepChargesListExport[i].disableWaiveOff=false; \n }\n if(this.FilterallSweepChargesListExport[i].chargeStatus==\"Pending\" && this.FilterallSweepChargesListExport[i].WaiveStatus==\"Not Applicable\"){\n this.FilterallSweepChargesListExport[i].hideWaiveOffAndCharge=false;\n this.FilterallSweepChargesListExport[i].disableWaiveOff=true;\n } \n if(this.FilterallSweepChargesListExport[i].chargeStatus.toLowerCase()==\"charged\" && this.FilterallSweepChargesListExport[i].WaiveStatus !=\"Not Applicable\") {\n this.FilterallSweepChargesListExport[i].hideWaiveOffAndCharge=false;\n this.FilterallSweepChargesListExport[i].disableWaiveOff=true;\n }\n }\n else{\n //checker access\n if((this.FilterallSweepChargesListExport[i].chargeStatus==\"Uncharged\" || this.FilterallSweepChargesListExport[i].chargeStatus==\"Charged\")\n && this.FilterallSweepChargesListExport[i].WaiveStatus==\"Not Applicable\"){\n this.FilterallSweepChargesListExport[i].hideWaiveOffAndCharge=false;\n this.FilterallSweepChargesListExport[i].disableWaiveOff=true;\n }\n if(this.FilterallSweepChargesListExport[i].chargeStatus==\"Pending\" && this.FilterallSweepChargesListExport[i].WaiveStatus==\"Not Applicable\"){\n this.FilterallSweepChargesListExport[i].hideWaiveOffAndCharge=true;\n } \n if(this.FilterallSweepChargesListExport[i].chargeStatus==\"Charged\" && this.FilterallSweepChargesListExport[i].WaiveStatus==\"Pending\") {\n this.FilterallSweepChargesListExport[i].hideWaiveOffAndCharge=true;\n }\n }\n }\n //This when charges is charged or rejected and waive off is approved n rejected then hide checkbox.\n if((this.FilterallSweepChargesListExport[i].chargeStatus==\"Charged\" || this.FilterallSweepChargesListExport[i].chargeStatus==\"Charge Rejected\")\n && (this.FilterallSweepChargesListExport[i].WaiveStatus==\"Approved\" || this.FilterallSweepChargesListExport[i].WaiveStatus==\"Rejected\")){\n this.FilterallSweepChargesListExport[i].hideWaiveOffAndCharge=true;\n this.FilterallSweepChargesListExport[i].disableWaiveOff=true;\n } \n }\n this.OnSearch(null,null,null);\n });\n }\n //#endregion\n \n fnGetAllSweepChargeList(customerName,fromDate,toDate,chargestatus,waiveOffStatus,sortOrder,fromSearch=0,pageNumber=10,pageSize=1) {\n if(fromSearch==0 && this._SweepChargesModelService.formData.CustomerName ==\"\")\n this._SweepChargesModelService.formData.CustomerName=\"\";\n if(sortOrder ==\"\"){\n sortOrder=\"CreatedDate_DESC\"\n }\n if(pageNumber>1){\n let listCust = this.allCustomerList.filter(x => x.CustomerName === customerName)[0];\n if(listCust==undefined){\n this.customerId = 0;\n } \n else{\n this.customerId = listCust.CustPkId;\n } \n }\n if(fromSearch==1){\n pageSize=this.ddlDropdownValue;\n pageNumber=1;\n this.currentPage=1;\n }\n else{\n pageSize=this.config.itemsPerPage.toString();\n pageNumber=this.pageNo;\n }\n this._SweepChargesModelService.fnGetAllSweepChargesList(localStorage.getItem('LoginUserId'),this.customerId,fromDate,toDate,chargestatus,waiveOffStatus,pageSize,pageNumber,sortOrder).subscribe(respose => {\n this.allSweepChargesList = respose; \n this.FilteredSweepChargesList = this.allSweepChargesList;\n for(var i=0;i 0){ \n for (var j = 0; j < this.checkedWaiveOffList.length; j++) {\n if(this.checkedWaiveOffList[j].TransactionId == this.FilteredSweepChargesList[i].TransactionId){\n this.FilteredSweepChargesList[i].IsWaiveOffSelected = true; \n } \n } \n }\n }\n\n if(!this.CheckerPrivillage){\n if((this.FilteredSweepChargesList[i].chargeStatus.toLowerCase()==\"uncharged\" || this.FilteredSweepChargesList[i].chargeStatus.toLowerCase()==\"charged\")\n && this.FilteredSweepChargesList[i].WaiveStatus==\"Not Applicable\"){\n this.FilteredSweepChargesList[i].hideWaiveOffAndCharge=true;\n } \n if(this.FilteredSweepChargesList[i].chargeStatus==\"Pending\" && this.FilteredSweepChargesList[i].WaiveStatus==\"Not Applicable\"){\n this.FilteredSweepChargesList[i].hideWaiveOffAndCharge=false;\n this.FilteredSweepChargesList[i].disableWaiveOff=true;\n } \n if(this.FilteredSweepChargesList[i].chargeStatus.toLowerCase()==\"charged\" && this.FilteredSweepChargesList[i].WaiveStatus !=\"Not Applicable\") {\n this.FilteredSweepChargesList[i].hideWaiveOffAndCharge=false;\n this.FilteredSweepChargesList[i].disableWaiveOff=true;\n }\n }\n else {\n \n //checker to checker flow. \n if(this.FilteredSweepChargesList[i].accLinCreatedBy == +this._encreptdecrept.decryptUsingAES256(localStorage.getItem('LoginUserId'))){ \n if((this.FilteredSweepChargesList[i].chargeStatus==\"Uncharged\" || this.FilteredSweepChargesList[i].chargeStatus==\"Charged\")\n && this.FilteredSweepChargesList[i].WaiveStatus==\"Not Applicable\"){\n this.FilteredSweepChargesList[i].hideWaiveOffAndCharge=true; \n this.FilteredSweepChargesList[i].disableWaiveOff=false; \n }\n if(this.FilteredSweepChargesList[i].chargeStatus==\"Pending\" && this.FilteredSweepChargesList[i].WaiveStatus==\"Not Applicable\"){\n this.FilteredSweepChargesList[i].hideWaiveOffAndCharge=false;\n this.FilteredSweepChargesList[i].disableWaiveOff=true;\n } \n if(this.FilteredSweepChargesList[i].chargeStatus.toLowerCase()==\"charged\" && this.FilteredSweepChargesList[i].WaiveStatus !=\"Not Applicable\") {\n this.FilteredSweepChargesList[i].hideWaiveOffAndCharge=false;\n this.FilteredSweepChargesList[i].disableWaiveOff=true;\n }\n }\n else{\n //checker access\n if((this.FilteredSweepChargesList[i].chargeStatus==\"Uncharged\" || this.FilteredSweepChargesList[i].chargeStatus==\"Charged\")\n && this.FilteredSweepChargesList[i].WaiveStatus==\"Not Applicable\"){\n this.FilteredSweepChargesList[i].hideWaiveOffAndCharge=false;\n this.FilteredSweepChargesList[i].disableWaiveOff=true;\n }\n if(this.FilteredSweepChargesList[i].chargeStatus==\"Pending\" && this.FilteredSweepChargesList[i].WaiveStatus==\"Not Applicable\"){\n this.FilteredSweepChargesList[i].hideWaiveOffAndCharge=true;\n } \n if(this.FilteredSweepChargesList[i].chargeStatus==\"Charged\" && this.FilteredSweepChargesList[i].WaiveStatus==\"Pending\") {\n this.FilteredSweepChargesList[i].hideWaiveOffAndCharge=true;\n }\n }\n }\n //This when charges is charged or rejected and waive off is approved n rejected then hide checkbox.\n if((this.FilteredSweepChargesList[i].chargeStatus==\"Charged\" || this.FilteredSweepChargesList[i].chargeStatus==\"Charge Rejected\")\n && (this.FilteredSweepChargesList[i].WaiveStatus==\"Approved\" || this.FilteredSweepChargesList[i].WaiveStatus==\"Rejected\")){\n this.FilteredSweepChargesList[i].hideWaiveOffAndCharge=true;\n this.FilteredSweepChargesList[i].disableWaiveOff=true;\n } \n }\n debugger;\n this.searchCount = this.allSweepChargesList.length;\n if(this.allSweepChargesList.length==0)\n this.searchCount=0;\n if(this.searchCount >0){\n this.totalCount=this.allSweepChargesList[0].sweepChargeCount;\n this.totalNoOfPages(); \n }\n else{\n this.totalCount=0;\n this.totalNoOfPages(); \n }\n // this.ddlshowvalue=this.ddlshowStartValue + this.allSweepChargesList.length -1;\n //this.OnSearch(\"\",\"\",\"\");\n //this.fnGetAllDailyFlatDailySweepChargeList();\n this.perSweepSearch('','')\n this._spinner.hide();\n sortTableSweepChargesMst(4, false);\n }, (err) => {\n this.router.navigate([\"404\"]);\n });\n }\n\n //#region \n allDailyFlatDailySweepChargesListExport:any = [];\n FilterallDailyFlatDailySweepChargesListExport:any = [];\n fnGetAllDailyFlatDailySweepChargeListExport(){\n this._SweepChargesModelService.fnGetAllDailyAndFlatDailySweepChargesListExport(localStorage.getItem('LoginUserId')).subscribe(respose => {\n this.allDailyFlatDailySweepChargesListExport = respose; \n this.FilterallDailyFlatDailySweepChargesListExport = this.allDailyFlatDailySweepChargesListExport;\n this.OnSearch(null,null,null);\n });\n }\n //#endregion\n\n // Getting Daily Flat Daily Sweep Charge List from database\n fnGetAllDailyFlatDailySweepChargeList(customerId,fromDate,toDate,chargeStatus,waiveOffStatus,fromSearch=0,pageSize,pageNumber,sortOrder) { \n if(fromSearch==0 && this._SweepChargesModelService.formData.CustomerName ==\"\")\n this._SweepChargesModelService.formData.CustomerName=\"\";\n if(sortOrder ==\"\"){\n sortOrder=\"CreatedDate_DESC\"\n } \n if(fromSearch==1){\n pageSize=this.ddlDropdownValue;\n pageNumber=1;\n this.currentPage=1;\n }\n else{\n pageSize=this.config.itemsPerPage.toString();\n pageNumber=this.pageNo;\n }\n this._SweepChargesModelService.fnGetAllDailyAndFlatDailySweepChargesList(localStorage.getItem('LoginUserId'),customerId,fromDate,toDate,chargeStatus,waiveOffStatus,pageSize,pageNumber,sortOrder).subscribe(respose => {\n this.allDailyFlatDailySweepChargesList = respose; \n this.FilteredDailyFlatDailySweepChargesList = this.allDailyFlatDailySweepChargesList;\n for(var i=0;i 0){ \n for (var j = 0; j < this.checkedDailyflatList.length; j++) {\n if(this.checkedDailyflatList[j].AclinkName == this.FilteredDailyFlatDailySweepChargesList[i].AclinkName){\n this.FilteredDailyFlatDailySweepChargesList[i].IsDailyFlatWaiveOffSelected = true; \n } \n } \n }\n }\n\n if(!this.CheckerPrivillage){\n if((this.FilteredDailyFlatDailySweepChargesList[i].chargeStatus.toLowerCase()==\"uncharged\" || this.FilteredDailyFlatDailySweepChargesList[i].chargeStatus.toLowerCase()==\"charged\")\n && this.FilteredDailyFlatDailySweepChargesList[i].WaiveStatus==\"Not Applicable\"){\n this.FilteredDailyFlatDailySweepChargesList[i].hideWaiveOffAndCharge=true;\n } \n if(this.FilteredDailyFlatDailySweepChargesList[i].chargeStatus==\"Pending\" && this.FilteredDailyFlatDailySweepChargesList[i].WaiveStatus==\"Not Applicable\"){\n this.FilteredDailyFlatDailySweepChargesList[i].hideWaiveOffAndCharge=false;\n this.FilteredDailyFlatDailySweepChargesList[i].disableWaiveOff=true;\n } \n }\n else {\n \n //checker to checker flow. \n if(this.FilteredDailyFlatDailySweepChargesList[i].accLinCreatedBy == +this._encreptdecrept.decryptUsingAES256(localStorage.getItem('LoginUserId'))){ \n if((this.FilteredDailyFlatDailySweepChargesList[i].chargeStatus==\"Uncharged\" || this.FilteredDailyFlatDailySweepChargesList[i].chargeStatus==\"Charged\")\n && this.FilteredDailyFlatDailySweepChargesList[i].WaiveStatus==\"Not Applicable\"){\n this.FilteredDailyFlatDailySweepChargesList[i].hideWaiveOffAndCharge=true; \n this.FilteredDailyFlatDailySweepChargesList[i].disableWaiveOff=false; \n }\n if(this.FilteredDailyFlatDailySweepChargesList[i].chargeStatus==\"Pending\" && this.FilteredDailyFlatDailySweepChargesList[i].WaiveStatus==\"Not Applicable\"){\n this.FilteredDailyFlatDailySweepChargesList[i].hideWaiveOffAndCharge=false;\n this.FilteredDailyFlatDailySweepChargesList[i].disableWaiveOff=true;\n } \n if(this.FilteredDailyFlatDailySweepChargesList[i].chargeStatus.toLowerCase()==\"charged\" && this.FilteredDailyFlatDailySweepChargesList[i].WaiveStatus !=\"Not Applicable\") {\n this.FilteredDailyFlatDailySweepChargesList[i].hideWaiveOffAndCharge=false;\n this.FilteredDailyFlatDailySweepChargesList[i].disableWaiveOff=true;\n }\n }\n else{\n if((this.FilteredDailyFlatDailySweepChargesList[i].chargeStatus==\"Uncharged\" || this.FilteredDailyFlatDailySweepChargesList[i].chargeStatus==\"Charged\")\n && this.FilteredDailyFlatDailySweepChargesList[i].WaiveStatus==\"Not Applicable\"){\n this.FilteredDailyFlatDailySweepChargesList[i].hideWaiveOffAndCharge=false;\n this.FilteredDailyFlatDailySweepChargesList[i].disableWaiveOff=true;\n }\n if(this.FilteredDailyFlatDailySweepChargesList[i].chargeStatus==\"Pending\" && this.FilteredDailyFlatDailySweepChargesList[i].WaiveStatus==\"Not Applicable\"){\n this.FilteredDailyFlatDailySweepChargesList[i].hideWaiveOffAndCharge=true;\n } \n if(this.FilteredDailyFlatDailySweepChargesList[i].chargeStatus==\"Charged\" && this.FilteredDailyFlatDailySweepChargesList[i].WaiveStatus==\"Pending\") {\n this.FilteredDailyFlatDailySweepChargesList[i].hideWaiveOffAndCharge=true;\n }\n } \n }\n //This when charges is charged or rejected and waive off is approved n rejected then hide checkbox.\n if((this.FilteredDailyFlatDailySweepChargesList[i].chargeStatus==\"Charged\" || this.FilteredDailyFlatDailySweepChargesList[i].chargeStatus==\"Charge Rejected\")\n && (this.FilteredDailyFlatDailySweepChargesList[i].WaiveStatus==\"Approved\" || this.FilteredDailyFlatDailySweepChargesList[i].WaiveStatus==\"Rejected\")){\n this.FilteredDailyFlatDailySweepChargesList[i].hideWaiveOff=true;\n this.FilteredDailyFlatDailySweepChargesList[i].disableWaiveOff=true;\n }\n }\n //this.OnSearch(\"\",\"\",\"\");\n \n this.searchCount = this.allDailyFlatDailySweepChargesList.length;\n if(this.allDailyFlatDailySweepChargesList.length==0)\n this.searchCount=0;\n if(this.searchCount >0){\n this.totalCount=this.allDailyFlatDailySweepChargesList[0].sweepChargeCount;\n this.totalNoOfPages(); \n }\n else{\n this.totalCount=0;\n this.totalNoOfPages(); \n }\n // this.ddlshowvalue=this.ddlshowStartValue + this.allDailyFlatDailySweepChargesList.length -1;\n this.DailySearchMethod(\"\",\"\")\n this._spinner.hide();\n //this.fnGetAllMonthlyFlatMonthlySweepChargeList();\n }, (err) => {\n this.router.navigate([\"404\"]);\n });\n }\n\n //#region \n allMonthlyFlatMonthlySweepChargesListExport:any = [];\n FilterallMonthlyFlatMonthlySweepChargesListExport:any = [];\n fnGetAllMonthlyFlatMonthlySweepChargeListExport(){\n this._SweepChargesModelService.fnGetAllMonthlyAndFlatMonthlySweepChargesListExport(localStorage.getItem('LoginUserId')).subscribe(respose => {\n this.allMonthlyFlatMonthlySweepChargesListExport = respose;\n this.FilterallMonthlyFlatMonthlySweepChargesListExport = this.allMonthlyFlatMonthlySweepChargesListExport;\n this.OnSearch(null,null,null);\n });\n }\n //#endregion\n\n BulkMonthlyflatChargeButton:boolean;\n // Getting Monthly Flat Monthly Sweep Charge List from database\n fnGetAllMonthlyFlatMonthlySweepChargeList(fromDate,chargeStatus,waiveOffStatus,fromSearch,pageSize,pagenumber,sortOrder) {\n // if(fromSearch==0)\n // this._SweepChargesModelService.formData.CustomerName=\"\";\n if(sortOrder ==\"\"){\n sortOrder=\"SweepMonth_DESC\"\n }\n if(fromSearch==1){\n pageSize=this.ddlDropdownValue;\n pagenumber=1;\n this.currentPage=1;\n }\n this._SweepChargesModelService.fnGetAllMonthlyAndFlatMonthlySweepChargesList(localStorage.getItem('LoginUserId'),this.customerId,fromDate,this.ddlMonth,this.ddlYear,chargeStatus,waiveOffStatus,pageSize,pagenumber,sortOrder).subscribe(respose => {\n this.allMonthlyFlatMonthlySweepChargesList = respose;\n this.FilteredMonthlyFlatMonthlySweepChargesList = this.allMonthlyFlatMonthlySweepChargesList;\n for(var i=0;i 0){ \n for (var j = 0; j < this.checkedMonthlyFlatList.length; j++) {\n if(this.checkedMonthlyFlatList[j].AclinkName == this.FilteredMonthlyFlatMonthlySweepChargesList[i].AclinkName){\n this.FilteredMonthlyFlatMonthlySweepChargesList[i].IsMonthlyFlatWaiveOffSelected = true; \n } \n } \n }\n }\n\n if(!this.CheckerPrivillage){\n if((this.FilteredMonthlyFlatMonthlySweepChargesList[i].chargeStatus.toLowerCase()==\"uncharged\" || this.FilteredMonthlyFlatMonthlySweepChargesList[i].chargeStatus.toLowerCase()==\"charged\")\n && this.FilteredMonthlyFlatMonthlySweepChargesList[i].WaiveStatus==\"Not Applicable\"){\n this.FilteredMonthlyFlatMonthlySweepChargesList[i].hideWaiveOffAndCharge=true;\n } \n if(this.FilteredMonthlyFlatMonthlySweepChargesList[i].chargeStatus==\"Pending\" && this.FilteredMonthlyFlatMonthlySweepChargesList[i].WaiveStatus==\"Not Applicable\"){\n this.FilteredMonthlyFlatMonthlySweepChargesList[i].hideWaiveOffAndCharge=false;\n this.FilteredMonthlyFlatMonthlySweepChargesList[i].disableWaiveOff=true;\n } \n }\n else {\n //checker to checker flow. \n if(this.FilteredMonthlyFlatMonthlySweepChargesList[i].accLinCreatedBy == +this._encreptdecrept.decryptUsingAES256(localStorage.getItem('LoginUserId'))){ \n if((this.FilteredMonthlyFlatMonthlySweepChargesList[i].chargeStatus==\"Uncharged\" || this.FilteredMonthlyFlatMonthlySweepChargesList[i].chargeStatus==\"Charged\")\n && this.FilteredMonthlyFlatMonthlySweepChargesList[i].WaiveStatus==\"Not Applicable\"){\n this.FilteredMonthlyFlatMonthlySweepChargesList[i].hideWaiveOffAndCharge=true; \n this.FilteredMonthlyFlatMonthlySweepChargesList[i].disableWaiveOff=false; \n }\n if(this.FilteredMonthlyFlatMonthlySweepChargesList[i].chargeStatus==\"Pending\" && this.FilteredMonthlyFlatMonthlySweepChargesList[i].WaiveStatus==\"Not Applicable\"){\n this.FilteredMonthlyFlatMonthlySweepChargesList[i].hideWaiveOffAndCharge=false;\n this.FilteredMonthlyFlatMonthlySweepChargesList[i].disableWaiveOff=true;\n } \n if(this.FilteredMonthlyFlatMonthlySweepChargesList[i].chargeStatus.toLowerCase()==\"charged\" && this.FilteredMonthlyFlatMonthlySweepChargesList[i].WaiveStatus !=\"Not Applicable\") {\n this.FilteredMonthlyFlatMonthlySweepChargesList[i].hideWaiveOffAndCharge=false;\n this.FilteredMonthlyFlatMonthlySweepChargesList[i].disableWaiveOff=true;\n }\n }\n else{\n //checker access\n if((this.FilteredMonthlyFlatMonthlySweepChargesList[i].chargeStatus==\"Uncharged\" || this.FilteredMonthlyFlatMonthlySweepChargesList[i].chargeStatus==\"Charged\")\n && this.FilteredMonthlyFlatMonthlySweepChargesList[i].WaiveStatus==\"Not Applicable\"){\n this.FilteredMonthlyFlatMonthlySweepChargesList[i].hideWaiveOffAndCharge=false;\n this.FilteredMonthlyFlatMonthlySweepChargesList[i].disableWaiveOff=true;\n }\n if(this.FilteredMonthlyFlatMonthlySweepChargesList[i].chargeStatus==\"Pending\" && this.FilteredMonthlyFlatMonthlySweepChargesList[i].WaiveStatus==\"Not Applicable\"){\n this.FilteredMonthlyFlatMonthlySweepChargesList[i].hideWaiveOffAndCharge=true;\n }\n if(this.FilteredMonthlyFlatMonthlySweepChargesList[i].chargeStatus==\"Charged\" && this.FilteredMonthlyFlatMonthlySweepChargesList[i].WaiveStatus==\"Pending\") {\n this.FilteredMonthlyFlatMonthlySweepChargesList[i].hideWaiveOffAndCharge=true;\n } \n if(this.FilteredMonthlyFlatMonthlySweepChargesList[i].accLinCreatedBy == +this._encreptdecrept.decryptUsingAES256(localStorage.getItem('LoginUserId'))){\n if((this.FilteredMonthlyFlatMonthlySweepChargesList[i].chargeStatus==\"Uncharged\" || this.FilteredMonthlyFlatMonthlySweepChargesList[i].chargeStatus==\"Charged\")\n && this.FilteredMonthlyFlatMonthlySweepChargesList[i].WaiveStatus==\"Not Applicable\"){\n this.FilteredMonthlyFlatMonthlySweepChargesList[i].hideWaiveOffAndCharge=true; \n this.FilteredMonthlyFlatMonthlySweepChargesList[i].disableWaiveOff=false; \n }\n }\n }\n } \n //This when charges is charged or rejected and waive off is approved n rejected then hide checkbox.\n if((this.FilteredMonthlyFlatMonthlySweepChargesList[i].chargeStatus==\"Charged\" || this.FilteredMonthlyFlatMonthlySweepChargesList[i].chargeStatus==\"Charge Rejected\")\n && (this.FilteredMonthlyFlatMonthlySweepChargesList[i].WaiveStatus==\"Approved\" || this.FilteredMonthlyFlatMonthlySweepChargesList[i].WaiveStatus==\"Rejected\")){\n this.FilteredMonthlyFlatMonthlySweepChargesList[i].hideWaiveOffAndCharge=true;\n this.FilteredMonthlyFlatMonthlySweepChargesList[i].disableWaiveOff=true;\n }\n }\n \n //this.OnSearch(\"\",\"\",\"\");\n this.MonthlySearchMethod();\n if(this.allMonthlyFlatMonthlySweepChargesList.length==0)\n this.searchCount=0;\n else\n this.searchCount=this.allMonthlyFlatMonthlySweepChargesList.length; \n if(this.searchCount >0){\n this.totalCount=this.allMonthlyFlatMonthlySweepChargesList[0].sweepChargeCount;\n this.totalNoOfPages(); \n }\n else{\n this.totalCount=0;\n this.totalNoOfPages(); \n }\n this.ddlshowvalue=this.ddlshowStartValue + this.allMonthlyFlatMonthlySweepChargesList.length -1;\n this._spinner.hide();\n }, (err) => {\n this.router.navigate([\"404\"]);\n });\n }\n\n // Getting customer list\n GetCustomerList() {\n this._SweepChargesModelService.fnGetCustomerListForSweepCharges(localStorage.getItem('LoginUserId')).subscribe(respose => {\n this.allCustomerList = respose;\n this.FilteredCustomerList = this.allCustomerList;\n this.FilteredCustomerList = this.allCustomerList.filter(row => {\n return row.SweepChargeType == 'PerSweep';\n });\n }, (err) => {\n this.router.navigate([\"404\"]);\n });\n }\n waiveStatus:string;\n allPerSweepDisbale:boolean;\n allDailyDisbale:boolean;\n allMonthDisbale:boolean;\n\n // Filtering data from list based on input\n OnSearch(FromDate,ToDate,CustomerName) {\n //this.pageChanged(event);\n this._spinner.show();\n this.chargeStatus = this._SweepChargesModelService.formData.chargeStatus;\n this.waiveStatus=this._SweepChargesModelService.formData.WaiveStatus;\n\n let listCust = this.allCustomerList.filter(x => x.CustomerName === CustomerName)[0];\n if(listCust==undefined){\n this.customerId = 0;\n } \n else{\n this.customerId = listCust.CustPkId;\n } \n \n if (FromDate != \"\" && FromDate!=null) {\n this.FromDate = this.ngbDateParserFormatter.format(FromDate.singleDate.date);\n }\n else {\n this.FromDate = \"\";\n }\n if (ToDate != \"\" && ToDate!=null) {\n this.ToDate = this.ngbDateParserFormatter.format(ToDate.singleDate.date);\n }\n else {\n this.ToDate = \"\";\n } \n // this.FromDate = this.model.singleDate.formatted;\n // this.ToDate = this.model2.singleDate.formatted;\n //Ruubina added--------20/01/2021 \n this._PaginationService.temppage = 10;\n this._PaginationService.pageNumberShow = 10;\n this._PaginationService.showNoOfCurrentPage = 1;\n this._PaginationService.FirstValue(); \n this.currentPage = this._PaginationService.pageField[0]; \n this.pageNo = this._PaginationService.pageField[0];\n this.ComingFromFirst = true;\n if (this.chargeType == \"All\") {\n\n if (this.customerId > 0) {\n this.FilteredDailyFlatDailySweepChargesList = this.allDailyFlatDailySweepChargesList.filter(row => { return row.CustomerId == this.customerId; });\n }\n else {\n this.FilteredDailyFlatDailySweepChargesList = this.allDailyFlatDailySweepChargesList;\n }\n //Rubina\n if (FromDate != null && FromDate != \"\") {\n this.FilteredDailyFlatDailySweepChargesList = this.FilteredDailyFlatDailySweepChargesList.filter(row => {\n return row.datefilter >= this.FromDate;\n });\n }\n if (ToDate != null && ToDate != \"\") {\n this.FilteredDailyFlatDailySweepChargesList = this.FilteredDailyFlatDailySweepChargesList.filter(row => {\n return row.datefilter <= this.ToDate;\n });\n }\n // if (this.FromDate != undefined && this.FromDate != \"\") {\n // this.FilteredDailyFlatDailySweepChargesList = this.FilteredDailyFlatDailySweepChargesList.filter(row => {\n // return row.datefilter >= this.FromDate;\n // });\n // }\n \n // if (this.ToDate != undefined && this.ToDate != \"\") {\n // this.FilteredDailyFlatDailySweepChargesList = this.FilteredDailyFlatDailySweepChargesList.filter(row => {\n // return row.datefilter <= this.ToDate;\n // });\n // }\n //Rubina\n // this.FilteredDailyFlatDailySweepChargesList = this.FilteredDailyFlatDailySweepChargesList.filter(row => {\n // return row.chargeStatus.match(this.chargeStatus);\n // });\n \n \n \n var list = this.FilteredDailyFlatDailySweepChargesList.filter(row => {\n return row.chargeStatus.match(\"Uncharged\"); \n });\n \n if((this.chargeStatus == \"Uncharged\" || this.chargeStatus == \"\") && list.length > 0){\n this.chargeDisable = false;\n }\n else{\n this.chargeDisable = true;\n }\n \n if(FromDate !=\"\" || ToDate != \"\" || this.chargeType != \"All\" || this.customerId!=null || this.chargeStatus!=\"\") \n {\n this.ddlshowStartValue = 1;\n this.ddlshowvalue = 0;\n this.ddlshowvalue = this.config.itemsPerPage; \n //this.searchCount = \"\";\n this.searchCount = this.FilteredDailyFlatDailySweepChargesList.length;\n this.filterCount = \"(filtered from \"+ this.allDailyFlatDailySweepChargesList.length +\" total entries)\";\n }\n else{\n this.ddlshowStartValue = 1;\n this.ddlshowvalue = 0;\n this.ddlshowvalue = this.config.itemsPerPage; \n //this.searchCount = \"\";\n this.searchCount = this.allDailyFlatDailySweepChargesList.length;\n this.filterCount = \"\";\n \n }\n\n }\n \n else if (this.chargeType == \"PerSweep\") { \n \n if(this.isComingFromCheckBox==false){\n this.fnGetAllSweepChargeList(this.customerId,this.FromDate,this.ToDate,this._SweepChargesModelService.formData.chargeStatus,this._SweepChargesModelService.formData.WaiveStatus,this.sortOrder,1,1,10);\n \n }\n else if(this.isComingFromCheckBox==true) { \n if (this.customerId > 0) {\n this.FilterallSweepChargesListExport = this.allSweepChargesListExport.filter(row => { return row.CustomerId == this.customerId; });\n }\n else {\n this.FilterallSweepChargesListExport = this.allSweepChargesListExport;\n }\n if (FromDate != null && FromDate != \"\") {\n this.FilterallSweepChargesListExport = this.FilterallSweepChargesListExport.filter(row => {\n return row.datefilter >= this.FromDate;\n });\n }\n if (ToDate != null && ToDate != \"\") {\n this.FilterallSweepChargesListExport = this.FilterallSweepChargesListExport.filter(row => {\n return row.datefilter <= this.ToDate;\n });\n }\n if (this.customerId > 0) {\n this.FilterallSweepChargesListExport = this.allSweepChargesListExport.filter(row => { return row.CustomerId == this.customerId; });\n }\n else {\n this.FilterallSweepChargesListExport = this.allSweepChargesListExport;\n }\n // //Rubina\n \n // // // if (this.ToDate != undefined && this.ToDate != \"\") {\n // // // this.FilteredSweepChargesList = this.FilteredSweepChargesList.filter(row => {\n // // // return row.datefilter <= this.ToDate;\n // // // });\n // // // }\n \n this.FilterallSweepChargesListExport = this.FilterallSweepChargesListExport.filter(row => {\n return row.chargeStatus.match(this.chargeStatus);\n });\n this.FilterallSweepChargesListExport = this.FilterallSweepChargesListExport.filter(row => {\n return row.WaiveStatus.match(this.waiveStatus);\n });\n }\n this.isComingFromCheckBox=false;\n \n \n //Rubina\n //---------------data in perSweepSearch(FromDate,ToDate) Rubina 21/01/2021 \n \n \n // var list = this.FilteredSweepChargesList.filter(row => {\n // return row.chargeStatus.match(\"Uncharged\"); \n // });\n \n // if((this.chargeStatus == \"Uncharged\" || this.chargeStatus == \"\") && list.length > 0){\n // this.chargeDisable = false;\n // }\n // else{\n // this.chargeDisable = true;\n // }\n \n // this.ddlshowvalue=this.FilteredSweepChargesList.length;\n // if(this.ddlshowvalue >0)\n // this.allPerSweepDisbale=false;\n // else\n // this.allPerSweepDisbale=true; \n\n // if(FromDate !=\"\" || ToDate != \"\" || this.chargeType != \"PerSweep\" || this.waiveStatus != \"\" || this.customerId!=null || this.chargeStatus!=\"\") \n // {\n // if (this.ddlshowvalue <= this.config.itemsPerPage) {\n // // this.ddlshowvalue = 0;\n // this.ddlshowvalue = this.ddlshowvalue;\n // this.ddlshowStartValue = 1;\n // }\n // else {\n // this.ddlshowvalue = 0;\n // this.ddlshowvalue = this.config.itemsPerPage; \n // this.ddlshowStartValue = 1;\n // }\n // // this.ddlshowStartValue = 1;\n // // this.ddlshowvalue = 0;\n // // this.ddlshowvalue = this.config.itemsPerPage; \n // //this.searchCount = \"\";\n // //this.searchCount = this.FilteredSweepChargesList.length;\n // this.filterCount = \"(filtered from \"+ this.allSweepChargesList.length +\" total entries)\";\n // }\n // else{\n // if (this.ddlshowvalue <= this.config.itemsPerPage) {\n // // this.ddlshowvalue = 0;\n // this.ddlshowvalue = this.ddlshowvalue;\n // this.ddlshowStartValue = 1;\n // //this.searchCount = this.allSweepChargesList.length.toString();\n // this.filterCount =\"\";\n // }\n // else {\n // this.ddlshowvalue = 0;\n // this.ddlshowvalue = this.config.itemsPerPage; \n // this.ddlshowStartValue = 1;\n // //this.searchCount = this.allSweepChargesList.length.toString();\n // this.filterCount =\"\";\n // }\n // // this.ddlshowStartValue = 1;\n // // this.ddlshowvalue = 0;\n // // this.ddlshowvalue = this.config.itemsPerPage; \n // // // this.searchCount = \"\";\n // // this.searchCount = this.allSweepChargesList.length;\n // // this.filterCount = \"\";\n \n // }\n\n }\n else if (this.chargeType == \"DailyOrFlatDaily\") {\n if(this.isComingFromCheckBox==false){\n this.fnGetAllDailyFlatDailySweepChargeList(this.customerId,this.FromDate,this.ToDate,this._SweepChargesModelService.formData.chargeStatus,\n this._SweepChargesModelService.formData.WaiveStatus,1,this.config.itemsPerPage.toString(),\n this.pageNo,this.sortOrder);\n }\n else if(this.isComingFromCheckBox==true){\n if (this.customerId > 0) {\n this.FilterallDailyFlatDailySweepChargesListExport = this.allDailyFlatDailySweepChargesListExport.filter(row => { return row.CustomerId == this.customerId; });\n }\n else {\n this.FilterallDailyFlatDailySweepChargesListExport = this.allDailyFlatDailySweepChargesListExport;\n }\n //Rubina\n if (FromDate != null && FromDate != \"\") {\n this.FilterallDailyFlatDailySweepChargesListExport = this.FilterallDailyFlatDailySweepChargesListExport.filter(row => {\n return row.datefilter >= this.FromDate;\n });\n }\n if (ToDate != null && ToDate != \"\") {\n this.FilterallDailyFlatDailySweepChargesListExport = this.FilterallDailyFlatDailySweepChargesListExport.filter(row => {\n return row.datefilter <= this.ToDate;\n });\n } \n } \n this.isComingFromCheckBox=false;\n ///----------data in DailySearchMethod(FromDate,ToDate)----Rubina 21/01/2021 defect 1864\n // \n // //Rubina\n // this.FilterallDailyFlatDailySweepChargesListExport = this.FilterallDailyFlatDailySweepChargesListExport.filter(row => {\n // return row.chargeStatus.match(this.chargeStatus);\n // });\n \n // this.FilterallDailyFlatDailySweepChargesListExport = this.FilterallDailyFlatDailySweepChargesListExport.filter(row => {\n // return row.WaiveStatus.match(this.waiveStatus);\n // });\n \n // var list = this.FilteredDailyFlatDailySweepChargesList.filter(row => {\n // return row.chargeStatus.match(\"Uncharged\"); \n // });\n \n // if((this.chargeStatus == \"Uncharged\" || this.chargeStatus == \"\") && list.length > 0){\n // this.chargeDisable = false;\n // }\n // else{\n // this.chargeDisable = true;\n // }\n // this.ddlshowvalue=this.FilteredDailyFlatDailySweepChargesList.length;\n // if(this.ddlshowvalue >0)\n // this.allDailyDisbale=false;\n // else\n // this.allDailyDisbale=true; \n\n // if(FromDate !=\"\" || ToDate != \"\" || this.chargeType != \"DailyOrFlatDaily\" || this.waiveStatus!=\"\"|| this.customerId!=null || this.chargeStatus!=\"\") \n // {\n // if (this.ddlshowvalue <= this.config.itemsPerPage) {\n // // this.ddlshowvalue = 0;\n // this.ddlshowvalue = this.ddlshowvalue;\n // this.ddlshowStartValue = 1;\n // }\n // else {\n // this.ddlshowvalue = 0;\n // this.ddlshowvalue = this.config.itemsPerPage; \n // this.ddlshowStartValue = 1;\n // }\n // // this.ddlshowStartValue = 1;\n // // this.ddlshowvalue = 0;\n // // this.ddlshowvalue = this.config.itemsPerPage; \n // //this.searchCount = \"\";\n // //this.searchCount = this.FilteredDailyFlatDailySweepChargesList.length;\n // this.filterCount = \"(filtered from \"+ this.allDailyFlatDailySweepChargesList.length +\" total entries)\";\n // }\n // else{\n // if (this.ddlshowvalue <= this.config.itemsPerPage) {\n // // this.ddlshowvalue = 0;\n // this.ddlshowvalue = this.ddlshowvalue;\n // this.ddlshowStartValue = 1;\n // //this.searchCount = this.allDailyFlatDailySweepChargesList.length.toString();\n // this.filterCount =\"\";\n // }\n // else {\n // this.ddlshowvalue = 0;\n // this.ddlshowvalue = this.config.itemsPerPage; \n // this.ddlshowStartValue = 1;\n // // this.searchCount = this.allDailyFlatDailySweepChargesList.length.toString();\n // this.filterCount =\"\";\n // }\n \n // // this.ddlshowStartValue = 1;\n // // this.ddlshowvalue = 0;\n // // this.ddlshowvalue = this.config.itemsPerPage; \n // // //this.searchCount = \"\";\n // // this.searchCount = this.allDailyFlatDailySweepChargesList.length;\n // // this.filterCount = \"\";\n \n // }\n }\n else if (this.chargeType == \"MonthlyOrFlatMontlhy\") {\n if(this.isComingFromCheckBox==false){\n this.fnGetAllMonthlyFlatMonthlySweepChargeList(null,this._SweepChargesModelService.formData.chargeStatus,this._SweepChargesModelService.formData.WaiveStatus,1,this.config.itemsPerPage.toString(),this.pageNo,this.sortOrder);\n // if (this.customerId > 0) {\n // this.FilterallMonthlyFlatMonthlySweepChargesListExport = this.allMonthlyFlatMonthlySweepChargesListExport.filter(row => { return row.CustomerId == this.customerId; });\n // }\n // else {\n // this.FilterallMonthlyFlatMonthlySweepChargesListExport = this.allMonthlyFlatMonthlySweepChargesListExport;\n // }\n }\n else if(this.isComingFromCheckBox==true){\n if (this.customerId > 0) {\n this.FilterallMonthlyFlatMonthlySweepChargesListExport = this.allMonthlyFlatMonthlySweepChargesListExport.filter(row => { return row.CustomerId == this.customerId; });\n }\n else {\n this.FilterallMonthlyFlatMonthlySweepChargesListExport = this.allMonthlyFlatMonthlySweepChargesListExport;\n }\n \n \n \n // if (this.FromDate != undefined && this.FromDate != \"\") {\n // var frmDt = formatDate(this.FromDate, 'yyyyMM', 'en-US');\n // this.FilteredMonthlyFlatMonthlySweepChargesList = this.FilteredMonthlyFlatMonthlySweepChargesList.filter(row => {\n // return row.datefilter >= frmDt;\n // });\n // }\n //--------------------data in MOnthlySearchMethod()----Rubina 21/01/2021 defect 1864\n if (this.ddlMonth != \"\" && this.ddlYear != \"\") {\n var newDate = this.ddlYear + \"-\" + this.ddlMonth + \"-\" + \"01\";\n var frmDt = formatDate(newDate, 'yyyyMM', 'en-US');\n this.FilterallMonthlyFlatMonthlySweepChargesListExport = this.FilterallMonthlyFlatMonthlySweepChargesListExport.filter(row => {\n return row.datefilter.match(frmDt); \n });\n }\n \n // if (this.ToDate != undefined && this.ToDate != \"\") {\n // var toDt = formatDate(this.ToDate, 'yyyyMM', 'en-US');\n // this.FilteredMonthlyFlatMonthlySweepChargesList = this.FilteredMonthlyFlatMonthlySweepChargesList.filter(row => {\n // return row.datefilter <= toDt;\n // });\n // }\n \n //below code commented -vaibhav 28-10-2020 5:52\n // if (this.ddlMonth != \"\" && this.ddlYear != \"\") {\n // var newDate = this.ddlYear + \"-\" + this.ddlMonth + \"-\" + \"28\";\n // var toDt = formatDate(newDate, 'yyyyMM', 'en-US');\n // this.FilteredMonthlyFlatMonthlySweepChargesList = this.FilteredMonthlyFlatMonthlySweepChargesList.filter(row => {\n // return row.datefilter <= toDt;\n // });\n // }\n \n this.FilterallMonthlyFlatMonthlySweepChargesListExport = this.FilterallMonthlyFlatMonthlySweepChargesListExport.filter(row => {\n return row.chargeStatus.match(this.chargeStatus); \n });\n \n this.FilterallMonthlyFlatMonthlySweepChargesListExport = this.FilterallMonthlyFlatMonthlySweepChargesListExport.filter(row => {\n return row.WaiveStatus.match(this.waiveStatus);\n });\n }\n this.isComingFromCheckBox= false;\n\n // var list = this.FilteredMonthlyFlatMonthlySweepChargesList.filter(row => {\n // return row.chargeStatus.match(\"Uncharged\"); \n // });\n \n \n // if((this.chargeStatus == \"Uncharged\" || this.chargeStatus == \"\") && list.length > 0){\n // this.chargeDisable = false;\n // }\n // else{\n // this.chargeDisable = true;\n // }\n \n // this.ddlshowvalue=this.FilteredMonthlyFlatMonthlySweepChargesList.length;\n // if(this.ddlshowvalue >0)\n // this.allMonthDisbale=false;\n // else\n // this.allMonthDisbale=true; \n\n //End--------------------\n\n\n // if(FromDate !=\"\" || ToDate != \"\" || this.chargeType != \"MonthlyOrFlatMontlhy\" || this.waiveStatus!=\"\"|| this.customerId!=null || this.chargeStatus!=\"\" || this.ddlMonth != \"\" && this.ddlYear != \"\") \n // {\n // if (this.ddlshowvalue <= this.config.itemsPerPage) {\n // // this.ddlshowvalue = 0;\n // this.ddlshowvalue = this.ddlshowvalue;\n // this.ddlshowStartValue = 1;\n // }\n // else {\n // this.ddlshowvalue = 0;\n // this.ddlshowvalue = this.config.itemsPerPage; \n // this.ddlshowStartValue = 1;\n // }\n // // this.ddlshowStartValue = 1;\n // // this.ddlshowvalue = 0;\n // // this.ddlshowvalue = this.config.itemsPerPage; \n // //this.searchCount = \"\";\n // this.searchCount = this.FilteredMonthlyFlatMonthlySweepChargesList.length;\n // this.filterCount = \"(filtered from \"+ this.allMonthlyFlatMonthlySweepChargesList.length +\" total entries)\";\n // }\n // else{\n // if (this.ddlshowvalue <= this.config.itemsPerPage) {\n // // this.ddlshowvalue = 0;\n // this.ddlshowvalue = this.ddlshowvalue;\n // this.ddlshowStartValue = 1;\n // this.searchCount = this.allMonthlyFlatMonthlySweepChargesList.length.toString();\n // this.filterCount =\"\";\n // }\n // else {\n // this.ddlshowvalue = 0;\n // this.ddlshowvalue = this.config.itemsPerPage; \n // this.ddlshowStartValue = 1;\n // this.searchCount = this.allMonthlyFlatMonthlySweepChargesList.length.toString();\n // this.filterCount =\"\";\n // }\n \n // this.ddlshowStartValue = 1;\n // this.ddlshowvalue = 0;\n // this.ddlshowvalue = this.config.itemsPerPage; \n // //this.searchCount = \"\";\n // this.searchCount = this.allMonthlyFlatMonthlySweepChargesList.length;\n // this.filterCount = \"\";\n \n //}\n\n }\n // this.pageNumber = [];\n // this.pageNumber[0] = true;\n // this.pageChanged(1);\n \n this.pageChanged(1);\n\n }\n perSweepSearch(FromDate,ToDate){ \n this.ddlshowStartValue;\n this.ddlshowvalue;\n\n if (FromDate != null && FromDate != \"\") {\n this.FilterallSweepChargesListExport = this.FilterallSweepChargesListExport.filter(row => {\n return row.datefilter >= this.FromDate;\n });\n}\nif (ToDate != null && ToDate != \"\") {\n this.FilterallSweepChargesListExport = this.FilterallSweepChargesListExport.filter(row => {\n return row.datefilter <= this.ToDate;\n });\n}\n //Rubina\n\n// // if (this.ToDate != undefined && this.ToDate != \"\") {\n// // this.FilteredSweepChargesList = this.FilteredSweepChargesList.filter(row => {\n// // return row.datefilter <= this.ToDate;\n// // });\n// // }\n\nthis.FilterallSweepChargesListExport = this.FilterallSweepChargesListExport.filter(row => {\n return row.chargeStatus.match(this.chargeStatus);\n});\nthis.FilterallSweepChargesListExport = this.FilterallSweepChargesListExport.filter(row => {\n return row.WaiveStatus.match(this.waiveStatus);\n});\n\nvar list = this.FilteredSweepChargesList.filter(row => {\n return row.chargeStatus.match(\"Uncharged\"); \n});\n\nif((this.chargeStatus == \"Uncharged\" || this.chargeStatus == \"\") && list.length > 0){\n this.chargeDisable = false;\n}\nelse{\n this.chargeDisable = true;\n}\n\nthis.ddlshowvalue=this.FilteredSweepChargesList.length;\nif(this.ddlshowvalue >0)\nthis.allPerSweepDisbale=false;\nelse\nthis.allPerSweepDisbale=true; \n\nif(FromDate !=\"\" || ToDate != \"\" || this.chargeType != \"PerSweep\" || this.waiveStatus != \"\" || this.customerId!=null || this.chargeStatus!=\"\") \n{\nif (this.ddlshowvalue <= this.config.itemsPerPage) {\n // this.ddlshowvalue = 0;\n this.ddlshowvalue = this.ddlshowvalue;\n this.ddlshowStartValue = 1;\n }\n else {\n this.ddlshowvalue = 0;\n this.ddlshowvalue = this.config.itemsPerPage; \n this.ddlshowStartValue = 1;\n }\n this.pageChanged(this.pageNo);\n// this.ddlshowStartValue = 1;\n// this.ddlshowvalue = 0;\n// this.ddlshowvalue = this.config.itemsPerPage; \n//this.searchCount = \"\";\n//this.searchCount = this.FilteredSweepChargesList.length;\nif(this.allSweepChargesList.length > 0){\n this.filterCount = this.filterCount=this.allSweepChargesList[0].sweepChargeCount;\n}\nelse\nthis.filterCount=\"0\";\n}\nelse{\nif (this.ddlshowvalue <= this.config.itemsPerPage) {\n // this.ddlshowvalue = 0;\n this.ddlshowvalue = this.ddlshowvalue;\n this.ddlshowStartValue = 1;\n //this.searchCount = this.allSweepChargesList.length.toString();\n this.filterCount =\"\";\n }\n else {\n this.ddlshowvalue = 0;\n this.ddlshowvalue = this.config.itemsPerPage; \n this.ddlshowStartValue = 1;\n //this.searchCount = this.allSweepChargesList.length.toString();\n this.filterCount =\"\";\n }\n// this.ddlshowStartValue = 1;\n// this.ddlshowvalue = 0;\n// this.ddlshowvalue = this.config.itemsPerPage; \n// // this.searchCount = \"\";\n// this.searchCount = this.allSweepChargesList.length;\n// this.filterCount = \"\";\n\n}\n }\n DailySearchMethod(FromDate,ToDate){\n if (this.customerId > 0) {\n this.FilterallDailyFlatDailySweepChargesListExport = this.allDailyFlatDailySweepChargesListExport.filter(row => { return row.CustomerId == this.customerId; });\n }\n else {\n this.FilterallDailyFlatDailySweepChargesListExport = this.allDailyFlatDailySweepChargesListExport;\n }\n //Rubina\n if (FromDate != null && FromDate != \"\") {\n this.FilterallDailyFlatDailySweepChargesListExport = this.FilterallDailyFlatDailySweepChargesListExport.filter(row => {\n return row.datefilter >= this.FromDate;\n });\n }\n if (ToDate != null && ToDate != \"\") {\n this.FilterallDailyFlatDailySweepChargesListExport = this.FilterallDailyFlatDailySweepChargesListExport.filter(row => {\n return row.datefilter <= this.ToDate;\n });\n }\n // if (this.FromDate != undefined && this.FromDate != \"\") {\n // this.FilteredDailyFlatDailySweepChargesList = this.FilteredDailyFlatDailySweepChargesList.filter(row => {\n // return row.datefilter >= this.FromDate;\n // });\n // }\n\n // if (this.ToDate != undefined && this.ToDate != \"\") {\n // this.FilteredDailyFlatDailySweepChargesList = this.FilteredDailyFlatDailySweepChargesList.filter(row => {\n // return row.datefilter <= this.ToDate;\n // });\n // }\n//Rubina\n this.FilterallDailyFlatDailySweepChargesListExport = this.FilterallDailyFlatDailySweepChargesListExport.filter(row => {\n return row.chargeStatus.match(this.chargeStatus);\n });\n\n this.FilterallDailyFlatDailySweepChargesListExport = this.FilterallDailyFlatDailySweepChargesListExport.filter(row => {\n return row.WaiveStatus.match(this.waiveStatus);\n });\n\n var list = this.FilteredDailyFlatDailySweepChargesList.filter(row => {\n return row.chargeStatus.match(\"Uncharged\"); \n });\n\n if((this.chargeStatus == \"Uncharged\" || this.chargeStatus == \"\") && list.length > 0){\n this.chargeDisable = false;\n }\n else{\n this.chargeDisable = true;\n }\n this.ddlshowvalue=this.FilteredDailyFlatDailySweepChargesList.length;\n if(this.ddlshowvalue >0)\n this.allDailyDisbale=false;\nelse\n this.allDailyDisbale=true; \n\n if(FromDate !=\"\" || ToDate != \"\" || this.chargeType != \"DailyOrFlatDaily\" || this.waiveStatus!=\"\"|| this.customerId!=null || this.chargeStatus!=\"\") \n {\n if (this.ddlshowvalue <= this.config.itemsPerPage) {\n // this.ddlshowvalue = 0;\n this.ddlshowvalue = this.ddlshowvalue;\n this.ddlshowStartValue = 1;\n }\n else {\n this.ddlshowvalue = 0;\n this.ddlshowvalue = this.config.itemsPerPage; \n this.ddlshowStartValue = 1;\n }\n if(this.allDailyFlatDailySweepChargesList.length>0){\n this.filterCount = this.allDailyFlatDailySweepChargesList[0].sweepChargeCount;\n }else{\n this.filterCount = \"0\";\n }\n // this.ddlshowStartValue = 1;\n // this.ddlshowvalue = 0;\n // this.ddlshowvalue = this.config.itemsPerPage; \n //this.searchCount = \"\";\n //this.searchCount = this.FilteredDailyFlatDailySweepChargesList.length;\n //this.filterCount = \"(filtered from \"+ this.allDailyFlatDailySweepChargesList.length +\" total entries)\";\n }\n else{\n // if (this.ddlshowvalue <= this.config.itemsPerPage) {\n // // this.ddlshowvalue = 0;\n // this.ddlshowvalue = this.ddlshowvalue;\n // this.ddlshowStartValue = 1;\n // //this.searchCount = this.allDailyFlatDailySweepChargesList.length.toString();\n // this.filterCount =\"\";\n // }\n // else {\n // this.ddlshowvalue = 0;\n // this.ddlshowvalue = this.config.itemsPerPage; \n // this.ddlshowStartValue = 1;\n // // this.searchCount = this.allDailyFlatDailySweepChargesList.length.toString();\n // this.filterCount =\"\";\n // }\n \n // this.ddlshowStartValue = 1;\n // this.ddlshowvalue = 0;\n // this.ddlshowvalue = this.config.itemsPerPage; \n // //this.searchCount = \"\";\n // this.searchCount = this.allDailyFlatDailySweepChargesList.length;\n // this.filterCount = \"\";\n\n }\n this.pageChanged(this.pageNo);\n }\n MonthlySearchMethod(){\n if (this.ddlMonth != \"\" && this.ddlYear != \"\") {\n var newDate = this.ddlYear + \"-\" + this.ddlMonth + \"-\" + \"01\";\n var frmDt = formatDate(newDate, 'yyyyMM', 'en-US');\n this.FilterallMonthlyFlatMonthlySweepChargesListExport = this.FilterallMonthlyFlatMonthlySweepChargesListExport.filter(row => {\n return row.datefilter.match(frmDt); \n });\n }\n\n // if (this.ToDate != undefined && this.ToDate != \"\") {\n // var toDt = formatDate(this.ToDate, 'yyyyMM', 'en-US');\n // this.FilteredMonthlyFlatMonthlySweepChargesList = this.FilteredMonthlyFlatMonthlySweepChargesList.filter(row => {\n // return row.datefilter <= toDt;\n // });\n // }\n\n //below code commented -vaibhav 28-10-2020 5:52\n // if (this.ddlMonth != \"\" && this.ddlYear != \"\") {\n // var newDate = this.ddlYear + \"-\" + this.ddlMonth + \"-\" + \"28\";\n // var toDt = formatDate(newDate, 'yyyyMM', 'en-US');\n // this.FilteredMonthlyFlatMonthlySweepChargesList = this.FilteredMonthlyFlatMonthlySweepChargesList.filter(row => {\n // return row.datefilter <= toDt;\n // });\n // }\n\n this.FilterallMonthlyFlatMonthlySweepChargesListExport = this.FilterallMonthlyFlatMonthlySweepChargesListExport.filter(row => {\n return row.chargeStatus.match(this.chargeStatus); \n });\n\n this.FilterallMonthlyFlatMonthlySweepChargesListExport = this.FilterallMonthlyFlatMonthlySweepChargesListExport.filter(row => {\n return row.WaiveStatus.match(this.waiveStatus);\n });\n\n var list = this.FilteredMonthlyFlatMonthlySweepChargesList.filter(row => {\n return row.chargeStatus.match(\"Uncharged\"); \n });\n\n \n if((this.chargeStatus == \"Uncharged\" || this.chargeStatus == \"\") && list.length > 0){\n this.chargeDisable = false;\n }\n else{\n this.chargeDisable = true;\n }\n \n this.ddlshowvalue=this.FilteredMonthlyFlatMonthlySweepChargesList.length;\n if(this.ddlshowvalue >0)\n this.allMonthDisbale=false;\n else\n this.allMonthDisbale=true; \n }\n show() { this.showModal = true; }\n hide() { this.showModal = false; }\n showlbl() { this.showMsg = true; }\n hidelbl() { this.showMsg = false; }\n hideerror() {\n this.showerrormsg = false;\n }\n\n showChargePopUp() {\n this.show();\n }\n\n // Getting Charge based on chargeType\n Charge() {\n \n this.hide();\n if (this.chargeType == \"PerSweep\") {\n var list = this.FilteredSweepChargesList.filter(row => { return row.chargeStatus == 'Uncharged' });\n if (list.length > 0) {\n this._SweepChargesModelService.fnPerSweepCharges(localStorage.getItem(\"LoginUserId\"), this.customerId, this.FromDate, this.ToDate).subscribe(count => {\n // this.lblMessage = count.toString() + \" records updated\";\n this.lblMessage = count.toString() + \" records charged successfully\";\n //this.showlbl();\n this.showerrormsg = false;\n this.showMsg = true;\n //this.fnGetAllSweepChargeList();\n this.DownloadTTUM();\n }, (err) => {\n this.router.navigate([\"404\"]);\n });\n }\n else {\n this.lblMessage = \"No records for charge\";\n //this.showlbl();\n this.showerrormsg = true;\n this.showMsg = false;\n }\n }\n else if (this.chargeType == \"DailyOrFlatDaily\") {\n var list = this.FilteredDailyFlatDailySweepChargesList.filter(row => { return row.chargeStatus == 'Uncharged' });\n if (list.length > 0) {\n this._SweepChargesModelService.fnDailyAndFlatDailySweepCharges(localStorage.getItem(\"LoginUserId\"), this.customerId, this.FromDate, this.ToDate).subscribe(count => {\n // this.lblMessage = count.toString() + \" records updated\";\n this.lblMessage = count.toString() + \" records charged successfully\";\n \n //this.showlbl();\n this.showerrormsg = false;\n this.showMsg = true;\n this.fnGetAllDailyFlatDailySweepChargeList(\"\",null,null,this._SweepChargesModelService.formData.chargeStatus,this._SweepChargesModelService.formData.WaiveStatus,0,10,1,this.sortOrder);\n this.DownloadTTUM();\n }, (err) => {\n this.router.navigate([\"404\"]);\n });\n }\n else {\n this.lblMessage = \"No records for charge\";\n //this.showlbl();\n this.showerrormsg = true;\n this.showMsg = false;\n }\n }\n else if (this.chargeType == \"MonthlyOrFlatMontlhy\") {\n var list = this.FilteredMonthlyFlatMonthlySweepChargesList.filter(row => { return row.chargeStatus == 'Uncharged' });\n if (list.length > 0) {\n this._SweepChargesModelService.fnMonthlyAndFlatMonthlySweepCharges(localStorage.getItem(\"LoginUserId\"), this.customerId, this.FromDate, this.ToDate).subscribe(count => {\n // this.lblMessage = count.toString() + \" records updated\";\n this.lblMessage = count.toString() + \" records charged successfully\";\n \n //this.showlbl();\n this.showerrormsg = false;\n this.showMsg = true;\n this.fnGetAllMonthlyFlatMonthlySweepChargeList(null,this._SweepChargesModelService.formData.chargeStatus,this._SweepChargesModelService.formData.WaiveStatus,0,this.config.itemsPerPage.toString(),this.pageNo,this.sortOrder);\n this.DownloadTTUM();\n }, (err) => {\n this.router.navigate([\"404\"]);\n });\n }\n else {\n this.lblMessage = \"No records for charge\";\n //this.showlbl();\n this.showerrormsg = true;\n this.showMsg = false;\n }\n }\n\n }\n\n // Getting change Charge Type\n changeChargeType() {\n this._SweepChargesModelService.formData.CustomerName = \"\";\n this.customerId=null;\n this.pageNumber = []; \n this.pageNumber[0] = true; \n this.ddlDropdownValue=10;\n this._SweepChargesModelService.formData.DropDownValue=\"10\";\n //this.pageNo = page; \n //this.currentPage = page; \n // if (this.customerId > 0) {\n // this.customerId = null;\n // }\n // if (this.chargeType == 'All') {\n // this.IsMonthlyOrFlatMontlhy=false;\n // this.FilteredCustomerList = this.allCustomerList;\n // // this.FilteredCustomerList = this.allCustomerList.filter(row => \n // // }, (err) => {\n // // this.router.navigate([\"404\"]);\n // // });\n // this.OnSearch(\"\",\"\");\n \n // }\n \n if (this.chargeType == 'PerSweep') {\n this.IsMonthlyOrFlatMontlhy=false;\n this.FilteredCustomerList = this.allCustomerList.filter(row => {\n return row.SweepChargeType == 'PerSweep';\n }, (err) => {\n this.router.navigate([\"404\"]);\n });\n this.fnGetAllSweepChargeList(\"\",null,null,\"Uncharged\",\"\",this.sortOrder,1);\n }\n else if (this.chargeType == 'DailyOrFlatDaily') {\n this.fnGetAllDailyFlatDailySweepChargeList(\"\",null,null,this._SweepChargesModelService.formData.chargeStatus,this._SweepChargesModelService.formData.WaiveStatus,1,10,1,this.sortOrder);\n this.IsMonthlyOrFlatMontlhy=false;\n this.FilteredCustomerList = this.allCustomerList.filter(row => {\n return row.SweepChargeType == 'DailyOrFlatDaily';\n }, (err) => {\n this.router.navigate([\"404\"]);\n }); \n }\n else if (this.chargeType == 'MonthlyOrFlatMontlhy') {\n this.fnGetAllMonthlyFlatMonthlySweepChargeList(null,this._SweepChargesModelService.formData.chargeStatus,this._SweepChargesModelService.formData.WaiveStatus,1,this.config.itemsPerPage.toString(),this.pageNo,this.sortOrder);\n this.IsMonthlyOrFlatMontlhy=true;\n this.FilteredCustomerList = this.allCustomerList.filter(row => {\n return row.SweepChargeType == 'MonthlyOrFlatMontlhy';\n }, (err) => {\n this.router.navigate([\"404\"]);\n });\n //this.OnSearch(\"\",\"\",\"\");\n }\n \n this._PaginationService.temppage = 10;\n this._PaginationService.pageNumberShow = 10;\n this._PaginationService.showNoOfCurrentPage = 1;\n this._PaginationService.FirstValue(); \n this.currentPage = this._PaginationService.pageField[0]; \n this.pageNo = this._PaginationService.pageField[0];\n this.ComingFromFirst = true;\n this.pageChanged(1);\n }\n\n fnShowonchange(newObj,FromDate,ToDate,CustomerName) {\n this.ddlDropdownValue= newObj.target.value;\n this.ddlshowvalue = newObj.target.value;\n this.ddlshowStartValue = 1;\n this.currentPage = 1;\n this.config = {\n itemsPerPage: this.ddlshowvalue,\n currentPage: 1,\n };\n this.pageNumber = [];\n this.pageNumber[0] = true;\n this._PaginationService.comingFromPreAndNext = false;\n if(this.chargeType == 'PerSweep')\n this.fnGetAllSweepChargeList(CustomerName,FromDate,ToDate,this._SweepChargesModelService.formData.chargeStatus,\n this._SweepChargesModelService.formData.WaiveStatus,this.sortOrder,1,this.pageNo,this.config.itemsPerPage.toString()) \n else if (this.chargeType == 'DailyOrFlatDaily') \n this.fnGetAllDailyFlatDailySweepChargeList(this.customerId,null,null,this._SweepChargesModelService.formData.chargeStatus,\n this._SweepChargesModelService.formData.WaiveStatus,1,this.config.itemsPerPage.toString(),this.pageNo,this.sortOrder);\n else if(this.chargeType == 'MonthlyOrFlatMontlhy')\n this.fnGetAllMonthlyFlatMonthlySweepChargeList(null,this._SweepChargesModelService.formData.chargeStatus,\n this._SweepChargesModelService.formData.WaiveStatus,1,this.config.itemsPerPage.toString(),this.pageNo,this.sortOrder);\n\n }\n @ViewChild('tblAllSweephide') tblAllSweephide:ElementRef;\n @ViewChild('tblPerSweephide') tblPerSweephide:ElementRef;\n @ViewChild('tblDailyOrFlatDailyhide') tblDailyOrFlatDailyhide:ElementRef;\n @ViewChild('tblMonthlyOrFlatMontlhyhide') tblMonthlyOrFlatMontlhyhide:ElementRef;\n//title = 'Excel'; \nisComingFromCheckBox:boolean=false;\nfndownloadReport(ddlValue,ChargeType,customerName){ \n this._spinner.show();\n this.isComingFromCheckBox=true; \n if(ChargeType==\"PerSweep\"){\n this._SweepChargesModelService.fnGetAllSweepChargesListExport(localStorage.getItem('LoginUserId')).subscribe(respose => {\n this.allSweepChargesListExport = respose; \n this.FilterallSweepChargesListExport = this.allSweepChargesListExport; \n \n this.OnSearch(this._SweepChargesModelService.formData.FromDate,\n this._SweepChargesModelService.formData.ToDate,customerName);\n console.log(this.FilterallSweepChargesListExport);\n setTimeout(() => {\n this.ExportSweepCharges(ddlValue,ChargeType);\n this._spinner.hide(); \n }, 500);\n });\n }\n else if(ChargeType==\"DailyOrFlatDaily\"){\n this._SweepChargesModelService.fnGetAllDailyAndFlatDailySweepChargesListExport(localStorage.getItem('LoginUserId')).subscribe(respose => {\n this.allDailyFlatDailySweepChargesListExport = respose; \n this.FilterallDailyFlatDailySweepChargesListExport = this.allDailyFlatDailySweepChargesListExport;\n this.OnSearch(null,null,customerName);\n setTimeout(() => {\n this.ExportSweepCharges(ddlValue,ChargeType);\n this._spinner.hide(); \n }, 500);\n });\n }\n else if(ChargeType==\"MonthlyOrFlatMontlhy\"){\n this._SweepChargesModelService.fnGetAllMonthlyAndFlatMonthlySweepChargesListExport(localStorage.getItem('LoginUserId')).subscribe(respose => {\n this.allMonthlyFlatMonthlySweepChargesListExport = respose;\n this.FilterallMonthlyFlatMonthlySweepChargesListExport = this.allMonthlyFlatMonthlySweepChargesListExport;\n this.OnSearch(null,null,customerName);\n setTimeout(() => {\n this.ExportSweepCharges(ddlValue,ChargeType);\n this._spinner.hide(); \n }, 500);\n });\n } \n} \n\nExportSweepCharges(ddlValue,ChargeType){\n \n if(ChargeType==\"PerSweep\"){\n this.tblForExport=this.tblPerSweephide;\n }\n if(ChargeType==\"DailyOrFlatDaily\"){\n this.tblForExport=this.tblDailyOrFlatDailyhide;\n }\n if(ChargeType==\"MonthlyOrFlatMontlhy\"){\n this.tblForExport=this.tblMonthlyOrFlatMontlhyhide;\n } \n if(ddlValue === \"excel\"){\n this.fileName= 'SweepChargesReport.xlsx';\n //let element = document.getElementById('tblAccountMaster'); \n const ws: XLSX.WorkSheet = XLSX.utils.table_to_sheet(this.tblForExport.nativeElement);\n /* generate workbook and add the worksheet */\n const wb: XLSX.WorkBook = XLSX.utils.book_new();\n XLSX.utils.book_append_sheet(wb, ws, 'Sheet1');\n XLSX.writeFile(wb, this.fileName);\n }\n if(ddlValue === \"rtf\"){\n this.fileName = 'SweepChargesReport.rtf';\n if(ChargeType==\"All\"){var ele = document.getElementById('tblAllSweephide');}\n if(ChargeType==\"PerSweep\"){\n var ele = document.getElementById('tblPerSweephide');\n var blob = new Blob([\"

Per Sweep Charges Report


\"+ele.innerHTML+\"
\"], {\n type: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8\"\n });\n saveAs(blob, this.fileName);\n }\n if(ChargeType==\"DailyOrFlatDaily\"){\n var ele = document.getElementById('tblDailyOrFlatDailyhide');\n var blob = new Blob([\"

Daily/Flat Range Daily Sweep Charges Report


\"+ele.innerHTML+\"
\"], {\n type: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8\"\n });\n saveAs(blob, this.fileName);\n }\n if(ChargeType==\"MonthlyOrFlatMontlhy\"){\n var ele = document.getElementById('tblMonthlyOrFlatMontlhyhide');\n var blob = new Blob([\"

Monthly/ Flat Range Monthly Sweep Charges Report


\"+ele.innerHTML+\"
\"], {\n type: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8\"\n });\n saveAs(blob, this.fileName);\n } \n\n // var ele = document.getElementById(this.tblForExport.nativeElement);\n \n }\n if(ddlValue === \"html\"){\n this.fileName = 'SweepChargesReport.html'; \n if(ChargeType==\"All\"){\n var ele = document.getElementById('tblAllSweephide');\n }\n if(ChargeType==\"PerSweep\"){var ele = document.getElementById('tblPerSweephide');\n var blob = new Blob([\"

Per Sweep Charges Report


\"+ele.innerHTML+\"
\"], {\n type: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8\"\n });\n saveAs(blob, this.fileName);}\n if(ChargeType==\"DailyOrFlatDaily\"){var ele = document.getElementById('tblDailyOrFlatDailyhide');\n var blob = new Blob([\"

Daily/Flat Range Daily Sweep Charges Report


\"+ele.innerHTML+\"
\"], {\n type: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8\"\n });\n saveAs(blob, this.fileName);}\n if(ChargeType==\"MonthlyOrFlatMontlhy\"){var ele = document.getElementById('tblMonthlyOrFlatMontlhyhide');\n var blob = new Blob([\"

Monthly/ Flat Range Monthly Sweep Charges Report


\"+ele.innerHTML+\"
\"], {\n type: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8\"\n });\n saveAs(blob, this.fileName);} \n \n }\n\n if(ddlValue === \"pdf\"){ \n let DATA = this.tblForExport.nativeElement;\n if(ChargeType==\"All\"){var ele = document.getElementById('tblAllSweephide');}\n if(ChargeType==\"PerSweep\"){var ele = document.getElementById('tblPerSweephide');\n let doc = new jsPDF('l','mm',[2600,1300]);\n var blob = new Blob([], {\n });\n let handleElement = {\n '#editor':function(element,renderer){\n return true;\n }\n };\n doc.fromHTML(\"

Per Sweep Charges Report


\"+DATA.innerHTML+\"
\",15,15,{\n 'width':1300,\n 'elementHandlers': handleElement\n });\n doc.save('SweepChargesReport.pdf')}\n if(ChargeType==\"DailyOrFlatDaily\"){var ele = document.getElementById('tblDailyOrFlatDailyhide');\n let doc = new jsPDF('l','mm',[2600,1300]);\n var blob = new Blob([], {\n });\n let handleElement = {\n '#editor':function(element,renderer){\n return true;\n }\n };\n doc.fromHTML(\"

Daily/Flat Range Daily Sweep Charges Report


\"+DATA.innerHTML+\"
\",15,15,{\n 'width':1300,\n 'elementHandlers': handleElement\n });\n doc.save('SweepChargesReport.pdf')}\n if(ChargeType==\"MonthlyOrFlatMontlhy\"){var ele = document.getElementById('tblMonthlyOrFlatMontlhyhide');\n let doc = new jsPDF('l','mm',[2600,1300]);\n var blob = new Blob([], {\n });\n let handleElement = {\n '#editor':function(element,renderer){\n return true;\n }\n };\n doc.fromHTML(\"

Monthly/ Flat Range Monthly Sweep Charges Report


\"+DATA.innerHTML+\"
\",15,15,{\n 'width':1300,\n 'elementHandlers': handleElement\n });\n doc.save('SweepChargesReport.pdf')} \n\n //var ele = document.getElementById('tblForExport');\n \n }\n}\n\n\n /*----------Per Sweep-----------*/\n fnSortSweepChargesMaster(field, obj) {\n \n if (this.lastSortedByField === field) {\n this.ascendingOrder = !this.ascendingOrder;\n\n sortTableSweepChargesMst(obj, this.ascendingOrder);\n }\n else {\n this.lastSortedByField = field;\n this.ascendingOrder = true;\n\n sortTableSweepChargesMst(obj, this.ascendingOrder);\n }\n if (this.ascendingOrder) {\n this.FilteredSweepChargesList = this.FilteredSweepChargesList.sort((a, b) => {\n if (field === 'TransactionId') {\n if (Number(a[field]) < Number(b[field]))\n return -1;\n if (Number(a[field]) > Number(b[field]))\n return 1;\n }\n else if (field == 'BalanceTransfer') {\n if (Number(a[field]) < Number(b[field]))\n return -1;\n if (Number(a[field]) > Number(b[field]))\n return 1;\n }\n else if(field =='CreatedDate'){\n if (a[\"DateCreated\"].toLowerCase() < b[\"DateCreated\"].toLowerCase())\n return -1;\n if (a[\"DateCreated\"].toLowerCase() > b[\"DateCreated\"].toLowerCase())\n return 1;\n }\n else if (field == 'charges') {\n if (Number(a[field]) < Number(b[field]))\n return -1;\n if (Number(a[field]) > Number(b[field]))\n return 1;\n }\n else {\n if (a[field].toLowerCase() < b[field].toLowerCase())\n return -1;\n if (a[field].toLowerCase() > b[field].toLowerCase())\n return 1;\n }\n return 0;\n\n });\n }\n else {\n this.FilteredSweepChargesList = this.FilteredSweepChargesList.sort((a, b) => {\n if (field === 'TransactionId') {\n if (Number(a[field]) < Number(b[field]))\n return 1;\n if (Number(a[field]) > Number(b[field]))\n return -1;\n }\n else if (field == 'BalanceTransfer') {\n if (Number(a[field]) < Number(b[field]))\n return 1;\n if (Number(a[field]) > Number(b[field]))\n return -1;\n }\n else if(field =='CreatedDate'){\n if (a[\"DateCreated\"].toLowerCase() < b[\"DateCreated\"].toLowerCase())\n return 1;\n if (a[\"DateCreated\"].toLowerCase() > b[\"DateCreated\"].toLowerCase())\n return -1;\n }\n else if (field == 'charges') {\n if (Number(a[field]) < Number(b[field]))\n return 1;\n if (Number(a[field]) > Number(b[field]))\n return -1;\n }\n else {\n if (a[field].toLowerCase() < b[field].toLowerCase())\n return 1;\n if (a[field].toLowerCase() > b[field].toLowerCase())\n return -1;\n }\n return 0;\n });\n }\n\n }\n\n /*----------Daily-----------*/\n fnSortDailySweepChargesMaster(field, obj) {\n \n if (this.lastSortedByField === field) {\n this.ascendingOrder = !this.ascendingOrder;\n\n sortTableDailySweepCharges(obj, this.ascendingOrder);\n }\n else {\n this.lastSortedByField = field;\n this.ascendingOrder = true;\n\n sortTableDailySweepCharges(obj, this.ascendingOrder);\n }\n if (this.ascendingOrder) {\n this.FilteredDailyFlatDailySweepChargesList = this.FilteredDailyFlatDailySweepChargesList.sort((a, b) => {\n if (field === 'TransactionCount') {\n if (Number(a[field]) < Number(b[field]))\n return -1;\n if (Number(a[field]) > Number(b[field]))\n return 1;\n }\n else if (field === 'charges') {\n if (Number(a[field]) < Number(b[field]))\n return -1;\n if (Number(a[field]) > Number(b[field]))\n return 1;\n }\n else {\n if (a[field].toLowerCase() < b[field].toLowerCase())\n return -1;\n if (a[field].toLowerCase() > b[field].toLowerCase())\n return 1;\n }\n return 0;\n });\n }\n else {\n this.FilteredDailyFlatDailySweepChargesList = this.FilteredDailyFlatDailySweepChargesList.sort((a, b) => {\n if (field === 'TransactionCount') {\n if (Number(a[field]) < Number(b[field]))\n return 1;\n if (Number(a[field]) > Number(b[field]))\n return -1;\n }\n else if (field === 'charges') {\n if (Number(a[field]) < Number(b[field]))\n return 1;\n if (Number(a[field]) > Number(b[field]))\n return -1;\n }\n else {\n if (a[field].toLowerCase() < b[field].toLowerCase())\n return 1;\n if (a[field].toLowerCase() > b[field].toLowerCase())\n return -1;\n }\n return 0;\n });\n }\n\n }\n /*----------Monthly-----------*/\n fnSortMonthlySweepChargesMaster(field, obj) {\n \n if (this.lastSortedByField === field) {\n this.ascendingOrder = !this.ascendingOrder;\n\n sortTableMonthlySweepCharges(obj, this.ascendingOrder);\n }\n else {\n this.lastSortedByField = field;\n this.ascendingOrder = true;\n\n sortTableMonthlySweepCharges(obj, this.ascendingOrder);\n }\n\n if (this.ascendingOrder) {\n this.FilteredMonthlyFlatMonthlySweepChargesList = this.FilteredMonthlyFlatMonthlySweepChargesList.sort((a, b) => {\n if (field === 'TransactionCount') {\n if (Number(a[field]) < Number(b[field]))\n return -1;\n if (Number(a[field]) > Number(b[field]))\n return 1;\n }\n else if (field == 'charges') {\n if (Number(a[field]) < Number(b[field]))\n return -1;\n if (Number(a[field]) > Number(b[field]))\n return 1;\n }\n else {\n if (a[field].toLowerCase() < b[field].toLowerCase())\n return -1;\n if (a[field].toLowerCase() > b[field].toLowerCase())\n return 1;\n }\n return 0;\n });\n }\n else {\n this.FilteredMonthlyFlatMonthlySweepChargesList = this.FilteredMonthlyFlatMonthlySweepChargesList.sort((a, b) => {\n if (field === 'TransactionCount') {\n if (Number(a[field]) < Number(b[field]))\n return 1;\n if (Number(a[field]) > Number(b[field]))\n return -1;\n }\n else if (field == 'charges') {\n if (Number(a[field]) < Number(b[field]))\n return 1;\n if (Number(a[field]) > Number(b[field]))\n return -1;\n }\n else {\n if (a[field].toLowerCase() < b[field].toLowerCase())\n return 1;\n if (a[field].toLowerCase() > b[field].toLowerCase())\n return -1;\n }\n return 0;\n });\n }\n\n }\n /*----------------------------------*/\n\n // Download TTUM function\n DownloadTTUM(){\n this._SweepChargesModelService.fndownloadTTUM(localStorage.getItem(\"LoginUserId\")).subscribe(data => {\n \n if(data != \"1\"){\n this.ttumFile = data;\n this.disabledTTUMFile = true;\n this.TTUMnewUrl = this.TTUMCopyUrl.toString().split('/api/');\n this.TTUMnewUrl = this.TTUMnewUrl[0];\n this.TTUMfnName = 'api/SweepChargesApi/FnDownloadTTUMTextFile';\n }\n else{\n this.disabledTTUMFile = true;\n }\n }, (err) => {\n this.router.navigate([\"404\"]);\n });\n }\n\n // Download TTUM as text file function\n DownloadTTUMTextFie() {\n \n location.href=$('#ttumtextFile').attr('href');\n }\n\n checkValidFromDate(FromDate){\n const MaxSdate=new Date();\n if(FromDate!=null){\n if (FromDate.singleDate.jsDate > MaxSdate) {\n this.fromDateError = true;\n } else{\n this.fromDateError = false;\n // this.OnSearch(CustomerName,FromDate,ToDate,Status); \n }\n }\n else{\n this.fromDateError = false;\n return this.fromDateError;\n }\n }\n\n // From date and To date validation function\n ValidateDateRange(sDate,eDate){\n const MaxSdate=new Date();\n if((sDate != null && eDate !=null )){\n if((eDate.singleDate.jsDate) < (sDate.singleDate.jsDate)){\n this.errorMessage='To date should be greater than From date.';\n this.isValidDate = false;\n }\n else{\n this.errorMessage=\"\";\n this.isValidDate = true;\n // this.OnSearch(CustomerName,sDate, eDate,Status);\n }\n }\n else{\n this.errorMessage=\"\";\n this.isValidDate = true; \n }\n return this.isValidDate;\n }\n\n onKeyDown(event: KeyboardEvent) {\n \n let a= (event.charCode == 8 || event.charCode == 45 || event.charCode == 0 ) ? null : event.charCode >= 48 && event.charCode <= 57;\n return a;\n }\n fnOpengearMenu(){\n $(\".icon-cog\").trigger(\"click\");\n }\n fnsubOpengearMenu(){\n $('[class=\"dropdown-menu\"]').trigger(\"click\").css('display','block');\n }\n //-------------------------\n // Getting role from userid\n GetPrivillageRoles(){ \n this._roleAccess.fnGetRoleAccess(localStorage.getItem('LoginUserId'),this.router.url).subscribe(roleAccess=>{ \n this.RoleAccess=roleAccess[0]; \n this.CheckerPrivillage = roleAccess[0].CheckerAccess; \n this.AddPrivillage=this.RoleAccess.AddAccess;\n \n // this.checkerAccess=this.RoleAccess.CheckerAccess\n //This added bcoz on page of checker it show pending records.\n if(this.CheckerPrivillage){\n this._SweepChargesModelService.formData.WaiveStatus='Pending';\n }\n //this.fnGetAllSweepChargeListExport();\n this.fnGetAllSweepChargeList(\"\",null,null,\"Uncharged\",this._SweepChargesModelService.formData.WaiveStatus,\"CreatedDate_DESC\");\n //this.fnGetAllDailyFlatDailySweepChargeListExport();\n //this.fnGetAllMonthlyFlatMonthlySweepChargeListExport();\n }\n , (err) => {\n this.router.navigate([\"404\"]);\n });\n \n }\n\n ///-----------------per sweep------------------------------------------------------------\n hideWaiveOff(){this.showModalForWaiveOff=false;\n var Prevcomment = (document.getElementById('waiveOffComment'));\n Prevcomment.value=\"\";\n }\n showWaiveOff(){this.showModalForWaiveOff=true;}\n hideMakeWaiveOff(){this.MakershowModalForWaiveOff=false;}\n showMakerWaiveOff(){this.MakershowModalForWaiveOff=true;}\nhideMakerCharge(){this.MakershowModalForCharge=false;}\nhideChargeModal(){this.showModalForCharge=false;}\n AllSweepulkWaiveOffSelected(){ \n this._spinner.show();\n this._SweepChargesModelService.fnGetAllSweepChargesListExport(localStorage.getItem('LoginUserId')).subscribe(respose => {\n this.allSweepChargesListExport = respose; \n this.FilterallSweepChargesListExport = this.allSweepChargesListExport; \n setTimeout(() => {\n this.CheckAllCheckBoxPerSweep();\n this._spinner.hide(); \n }, 500);\n });\n }\n \n CheckAllCheckBoxPerSweep(){\n \n if (this.FilteredSweepChargesList.length > 0) {\n for (var i = 0; i < this.FilteredSweepChargesList.length; i++) {\n if(!this.FilteredSweepChargesList[i].disableWaiveOff )\n if(this.FilteredSweepChargesList[i].WaiveStatus != \"\" && this.CheckerPrivillage){\n this.FilteredSweepChargesList[i].IsWaiveOffSelected = this.WaiveOffSelected; \n }\n else if(!this.CheckerPrivillage){\n this.FilteredSweepChargesList[i].IsWaiveOffSelected = this.WaiveOffSelected; \n } \n }\n } \n\n // var list = this.FilteredSweepChargesList.filter(row => { return row.IsWaiveOffSelected == true }); \n \n let listCust = this.allCustomerList.filter(x => x.CustomerName === this._SweepChargesModelService.formData.CustomerName)[0];\n if(listCust==undefined){\n this.customerId = 0;\n } \n else{\n this.customerId = listCust.CustPkId;\n } \n if (this.customerId > 0) {\n this.FilterallSweepChargesListExport = this.allSweepChargesListExport.filter(row => { return row.CustomerId == this.customerId; });\n }\n else {\n this.FilterallSweepChargesListExport = this.allSweepChargesListExport;\n }\n var chargestatuss=this._SweepChargesModelService.formData.chargeStatus;\n this.FilterallSweepChargesListExport = this.FilterallSweepChargesListExport.filter(row => {\n return row.chargeStatus.match(chargestatuss);\n });\n\n if (this.FilterallSweepChargesListExport.length > 0) {\n for (var i = 0; i < this.FilterallSweepChargesListExport.length; i++) {\n if(!this.FilterallSweepChargesListExport[i].disableWaiveOff )\n if(this.FilterallSweepChargesListExport[i].WaiveStatus != \"\" && this.CheckerPrivillage){\n this.FilterallSweepChargesListExport[i].IsWaiveOffSelected = this.WaiveOffSelected; \n }\n else if(!this.CheckerPrivillage){\n this.FilterallSweepChargesListExport[i].IsWaiveOffSelected = this.WaiveOffSelected; \n } \n }\n } \n var list = this.FilterallSweepChargesListExport.filter(row => { return row.IsWaiveOffSelected == true }); \n this.SweepCheckedBulkWaiveOff();\n }\n PerSweepCheckAll(){\n \n \n this.SweepCheckedBulkWaiveOff();\n }\n\n // Per Sweep Waive Off Check function\n IsPerSweepWaiveOffCheck(id ,status){\n \n // status= !this.WaiveOffSelected ;\n for (var i = 0; i < this.FilteredSweepChargesList.length; i++) {\n if(!this.FilteredSweepChargesList[i].disableWaiveOff ){\n if(this.FilteredSweepChargesList[i].TransactionId == id){\n this.FilteredSweepChargesList[i].IsWaiveOffSelected = status; \n if(this.FilteredSweepChargesList[i].WaiveStatus == \"Not Application\" && this.CheckerPrivillage){\n this.FilteredSweepChargesList[i].IsWaiveOffSelected = status; \n }\n else if(!this.CheckerPrivillage){\n this.FilteredSweepChargesList[i].IsWaiveOffSelected = status; \n }\n } \n } \n }\n for (var i = 0; i < this.FilterallSweepChargesListExport.length; i++) {\n // if(!this.FilterallSweepChargesListExport[i].disableWaiveOff ){\n if(this.FilterallSweepChargesListExport[i].TransactionId == id){\n this.FilterallSweepChargesListExport[i].IsWaiveOffSelected = status; \n if(this.FilterallSweepChargesListExport[i].WaiveStatus == \"Not Application\" && this.CheckerPrivillage){\n this.FilterallSweepChargesListExport[i].IsWaiveOffSelected = status; \n }\n else if(!this.CheckerPrivillage){\n this.FilterallSweepChargesListExport[i].IsWaiveOffSelected = status; \n } \n }\n // } \n }\n \n this.SinglePersweep();\n }\nSinglePersweep(){\n this.checkedWaiveOffList = [];\n for (var i = 0; i < this.FilteredSweepChargesList.length; i++) {\n if(this.FilteredSweepChargesList[i].IsWaiveOffSelected == true) {\n this.checkedWaiveOffList.push(this.FilteredSweepChargesList[i]);\n if(this.FilteredSweepChargesList[i].chargeStatus==\"Uncharged\" && !this.CheckerPrivillage) {\n this.BulkChargeButton=true;\n }\n else if(this.FilteredSweepChargesList[i].chargeStatus==\"Pending\" && this.CheckerPrivillage){\n this.BulkChargeButton=true;\n }\n else if(this.FilteredSweepChargesList[i].chargeStatus==\"Charged\" && this.FilteredSweepChargesList[i].WaiveStatus==\"Not Applicable\" && !this.CheckerPrivillage){\n this.BulkWaiveOffButton=true;\n }\n else if(this.FilteredSweepChargesList[i].chargeStatus==\"Charged\" && this.FilteredSweepChargesList[i].WaiveStatus==\"Pending\" && this.CheckerPrivillage){\n this.BulkWaiveOffButton=true;\n }\n else if(this.FilteredSweepChargesList[i].accLinCreatedBy==+this._encreptdecrept.decryptUsingAES256(localStorage.getItem('LoginUserId'))) {\n //charge request\n if(this.FilteredSweepChargesList[i].chargeStatus==\"Uncharged\" && this.CheckerPrivillage) {\n this.BulkChargeButtonChecker=false;\n this.bulkChargePreCheckerToChecker=true; \n }\n //waive off request\n else if(this.FilteredSweepChargesList[i].chargeStatus==\"Charged\" && this.FilteredSweepChargesList[i].WaiveStatus==\"Not Applicable\" && this.CheckerPrivillage) {\n this.BulkWaiveOffCheckerButton=false;\n this.BulkWaiveOffCheckertocheckerButton=true; \n }\n }\n else if(this.FilteredSweepChargesList[i].accLinCreatedBy != +this._encreptdecrept.decryptUsingAES256(localStorage.getItem('LoginUserId'))) {\n if(this.FilteredSweepChargesList[i].chargeStatus==\"Pending\" && this.CheckerPrivillage) {\n this.BulkChargeButtonChecker=true;\n this.bulkChargePreCheckerToChecker=false;\n }\n \n }\n else{\n this.BulkWaiveOffButton=false;\n this.BulkChargeButton=false;\n }\n } \n } \n var checkedList = this.FilteredSweepChargesList.filter(row => { return row.IsWaiveOffSelected == true }); \n if(checkedList.length==0){\n this.BulkWaiveOffButton=false;\n this.BulkChargeButton=false;\n }\n if(this.FilterallSweepChargesListExport.length == checkedList.length){\n this.WaiveOffSelected = true;\n }\n else{\n this.WaiveOffSelected=false;\n }\n}\n\n BulkChargeButtonChecker:boolean;\n bulkChargePreCheckerToChecker:boolean;;\n BulkWaiveOffCheckerButton:boolean;\n BulkWaiveOffCheckertocheckerButton:boolean;\n // Sweep Checked Bulk Waive Off function \n SweepCheckedBulkWaiveOff(){\n \n this.checkedWaiveOffList = [];\n for (var i = 0; i < this.FilterallSweepChargesListExport.length; i++) {\n if(this.FilterallSweepChargesListExport[i].IsWaiveOffSelected == true) {\n this.checkedWaiveOffList.push(this.FilterallSweepChargesListExport[i]);\n if(this.FilterallSweepChargesListExport[i].chargeStatus==\"Uncharged\" && !this.CheckerPrivillage) {\n this.BulkChargeButton=true;\n }\n else if(this.FilterallSweepChargesListExport[i].chargeStatus==\"Pending\" && this.CheckerPrivillage){\n this.BulkChargeButton=true;\n }\n else if(this.FilterallSweepChargesListExport[i].chargeStatus==\"Charged\" && this.FilterallSweepChargesListExport[i].WaiveStatus==\"Not Applicable\" && !this.CheckerPrivillage){\n this.BulkWaiveOffButton=true;\n }\n else if(this.FilterallSweepChargesListExport[i].chargeStatus==\"Charged\" && this.FilterallSweepChargesListExport[i].WaiveStatus==\"Pending\" && this.CheckerPrivillage){\n this.BulkWaiveOffButton=true;\n }\n else if(this.FilterallSweepChargesListExport[i].accLinCreatedBy==+this._encreptdecrept.decryptUsingAES256(localStorage.getItem('LoginUserId'))) {\n //charge request\n if(this.FilterallSweepChargesListExport[i].chargeStatus==\"Uncharged\" && this.CheckerPrivillage) {\n this.BulkChargeButtonChecker=false;\n this.bulkChargePreCheckerToChecker=true; \n }\n //waive off request\n else if(this.FilterallSweepChargesListExport[i].chargeStatus==\"Charged\" && this.FilterallSweepChargesListExport[i].WaiveStatus==\"Not Applicable\" && this.CheckerPrivillage) {\n this.BulkWaiveOffCheckerButton=false;\n this.BulkWaiveOffCheckertocheckerButton=true; \n }\n }\n else if(this.FilterallSweepChargesListExport[i].accLinCreatedBy != +this._encreptdecrept.decryptUsingAES256(localStorage.getItem('LoginUserId'))) {\n if(this.FilterallSweepChargesListExport[i].chargeStatus==\"Pending\" && this.CheckerPrivillage) {\n this.BulkChargeButtonChecker=true;\n this.bulkChargePreCheckerToChecker=false;\n }\n \n }\n else{\n this.BulkWaiveOffButton=false;\n this.BulkChargeButton=false;\n }\n } \n } \n //when we checked and unchecked then button should not display.\n var checkedList = this.FilterallSweepChargesListExport.filter(row => { return row.IsWaiveOffSelected == true });\n if(checkedList.length==0) {\n this.BulkWaiveOffButton=false;\n this.BulkChargeButton=false;\n this.bulkChargePreCheckerToChecker=false;\n this.BulkWaiveOffCheckerButton=false;\n this.BulkWaiveOffCheckertocheckerButton=false;\n }\n // this.FilterallSweepChargesListExport = [];\n // for(var i=0;idocument.getElementById('waiveOffComment'));\n var comment1=document.getElementById('waiveOffComment');\n this.waiveComment=comment.value;\n \n }\n //Below function is used to apply charges.\n BulkChargeConfirm(){\n var list;\n if(!this.CheckerPrivillage || (this.bulkChargePreCheckerToChecker || this.bulkChargeDailyCheckerToChecker || this.bulkChargeMonthlyCheckerToChecker)){\n //1=pending.\n \n if (this.chargeType == \"PerSweep\") {\n if(this.FilterallSweepChargesListExport.length==0) {\n list = this.FilteredSweepChargesList.filter(row => { return row.chargeStatus == 'Uncharged' });\n }\n else{\n list = this.FilterallSweepChargesListExport.filter(row => { return row.chargeStatus == 'Uncharged' });\n } \n if (list.length > 0) { \n this._SweepChargesModelService.fnPerSweepChargesApply(localStorage.getItem(\"LoginUserId\"), this.customerId, 1,this.FilterallSweepChargesListExport).subscribe(count => {\n // this.lblMessage = count.toString() + \" records updated\";\n this._SweepChargesModelService.formData.CustomerName = \"\";\n this.lblMessage = count.toString() + \" records are send to checker for reviews charges successfully\"; \n this.showerrormsg = false;\n this.showMsg = true;\n this.fnGetAllSweepChargeList(this.customerId,this.FromDate,this.ToDate,this._SweepChargesModelService.formData.chargeStatus,this._SweepChargesModelService.formData.WaiveStatus,this.sortOrder);\n //this.DownloadTTUM();\n this.MakershowModalForCharge=false;\n this.BulkChargeButton=false;\n this.bulkChargePreCheckerToChecker=false;\n if(this.WaiveOffSelected)\n this.WaiveOffSelected=false;\n }, (err) => {\n this.router.navigate([\"404\"]);\n });\n }\n else {\n this.lblMessage = \"No records for charge\"; \n this.showerrormsg = true;\n this.showMsg = false;\n this.MakershowModalForCharge=false;\n }\n }\n else if (this.chargeType == \"DailyOrFlatDaily\") {\n if(this.FilterallDailyFlatDailySweepChargesListExport.length==0) {\n list = this.FilteredDailyFlatDailySweepChargesList.filter(row => { return row.chargeStatus == 'Uncharged' });\n }\n else{\n list = this.FilterallDailyFlatDailySweepChargesListExport.filter(row => { return row.chargeStatus == 'Uncharged' });\n }\n \n if (list.length > 0) {\n this._SweepChargesModelService.fnDailyAndFlatChargesApply(localStorage.getItem(\"LoginUserId\"), this.customerId, this.FromDate, this.ToDate,1,this.checkedDailyflatList,this.pageNo,this.config.itemsPerPage.toString(),this.sortOrder).subscribe(count => { \n this.lblMessage = count.toString() + \" records are send to checker for reviews charges successfully\"; \n this.showerrormsg = false;\n this._SweepChargesModelService.formData.CustomerName = \"\";\n this.showMsg = true;\n this.fnGetAllDailyFlatDailySweepChargeList(\"\",null,null,this._SweepChargesModelService.formData.chargeStatus,this._SweepChargesModelService.formData.WaiveStatus,0,this.config.itemsPerPage.toString(),this.pageNo,this.sortOrder);\n // this.DownloadTTUM();\n this.MakershowModalForCharge=false;\n this.BulkDailyflatChargeButton=false;\n this.bulkChargeDailyCheckerToChecker=false;\n if(this.DailyFlatWaiveOffSelected)\n this.DailyFlatWaiveOffSelected=false;\n }, (err) => {\n this.router.navigate([\"404\"]);\n });\n }\n else {\n this.lblMessage = \"No records for charge\"; \n this.showerrormsg = true;\n this.showMsg = false;\n this.MakershowModalForCharge=false;\n }\n }\n else if (this.chargeType == \"MonthlyOrFlatMontlhy\") {\n if(this.FilteredMonthlyFlatMonthlySweepChargesList.length==0) {\n list = this.FilteredMonthlyFlatMonthlySweepChargesList.filter(row => { return row.chargeStatus == 'Uncharged' });\n }\n else{\n list = this.FilteredMonthlyFlatMonthlySweepChargesList.filter(row => { return row.chargeStatus == 'Uncharged' });\n }\n \n if (list.length > 0) {\n this._SweepChargesModelService.fnMonthlyAndFlatChargesApply(localStorage.getItem(\"LoginUserId\"), this.customerId, 1,this.checkedMonthlyFlatList).subscribe(count => {\n // this.lblMessage = count.toString() + \" records updated\";\n this.lblMessage = count.toString() + \" records are send to checker for reviews charges successfully\"; \n this.showerrormsg = false;\n this._SweepChargesModelService.formData.CustomerName = \"\";\n this.showMsg = true;\n this.fnGetAllMonthlyFlatMonthlySweepChargeList(null,this._SweepChargesModelService.formData.chargeStatus,this._SweepChargesModelService.formData.WaiveStatus,0,this.config.itemsPerPage.toString(),this.pageNo,this.sortOrder);\n // this.DownloadTTUM();\n this.MakershowModalForCharge=false;\n this.BulkMonthlyflatChargeButton=false;\n this.bulkChargeMonthlyCheckerToChecker=false;\n if(this.MonthlyFlatWaiveOffSelected)\n this.MonthlyFlatWaiveOffSelected=false;\n }, (err) => {\n this.router.navigate([\"404\"]);\n });\n }\n else {\n this.lblMessage = \"No records for charge\";\n //this.showlbl();\n this.showerrormsg = true;\n this.showMsg = false;\n this.MakershowModalForCharge=false;\n }\n }\n }\n else{\n if (this.chargeType == \"PerSweep\") {\n if(this.FilterallSweepChargesListExport.length==0) {\n list = this.FilteredSweepChargesList.filter(row => { return row.chargeStatus == 'Pending' });\n }\n else{\n list = this.FilterallSweepChargesListExport.filter(row => { return row.chargeStatus == 'Pending' });\n }\n \n if (list.length > 0) { \n this._SweepChargesModelService.fnPerSweepChargesApply(localStorage.getItem(\"LoginUserId\"), this.customerId,this.AuthorizeWaiveOffStatus,this.checkedWaiveOffList).subscribe(count => {\n // this.lblMessage = count.toString() + \" records updated\";\n if(this.AuthorizeWaiveOffStatus==2) { \n this.lblMessage = count.toString() + \" records charged successfully\";\n }\n else if(this.AuthorizeWaiveOffStatus==3){ \n this.lblMessage = count.toString() + \" records charges rejected successfully\";\n } this._SweepChargesModelService.formData.CustomerName = \"\"; \n this.showerrormsg = false;\n this.showMsg = true;\n this.fnGetAllSweepChargeList(this.customerId,this.FromDate,this.ToDate,this._SweepChargesModelService.formData.chargeStatus,this._SweepChargesModelService.formData.WaiveStatus,this.sortOrder);\n this.DownloadTTUM();\n this.showModalForCharge=false;\n this.BulkChargeButton=false;\n this.BulkChargeButtonChecker=false;\n if(this.WaiveOffSelected)\n this.WaiveOffSelected=false;\n }, (err) => {\n this.router.navigate([\"404\"]);\n });\n }\n else {\n this.lblMessage = \"No records for charge\"; \n this.showerrormsg = true;\n this.showMsg = false;\n this.showModalForCharge=false;\n }\n }\n else if (this.chargeType == \"DailyOrFlatDaily\") {\n if(this.FilterallDailyFlatDailySweepChargesListExport.length==0) {\n list = this.FilteredDailyFlatDailySweepChargesList.filter(row => { return row.chargeStatus == 'Pending' });\n }\n else{\n list = this.FilterallDailyFlatDailySweepChargesListExport.filter(row => { return row.chargeStatus == 'Pending' });\n }\n \n if (list.length > 0) {\n this._SweepChargesModelService.fnDailyAndFlatChargesApply(localStorage.getItem(\"LoginUserId\"), this.customerId, this.FromDate, this.ToDate,this.AuthorizeWaiveOffStatus,this.checkedDailyflatList,this.pageNo,this.config.itemsPerPage.toString(),this.sortOrder).subscribe(count => {\n // this.lblMessage = count.toString() + \" records updated\"; \n if(this.AuthorizeWaiveOffStatus==2) { \n this.lblMessage = count.toString() + \" records charged successfully\";\n }\n else if(this.AuthorizeWaiveOffStatus==3){ \n this.lblMessage = count.toString() + \" records charges rejected successfully\";\n } \n this._SweepChargesModelService.formData.CustomerName = \"\";\n //this.showlbl();\n this.showerrormsg = false;\n this.showMsg = true;\n this.fnGetAllDailyFlatDailySweepChargeList(\"\",null,null,this._SweepChargesModelService.formData.chargeStatus,this._SweepChargesModelService.formData.WaiveStatus,0,10,1,this.sortOrder);\n this.DownloadTTUM();\n this.showModalForCharge=false;\n this.BulkDailyflatChargeButton=false;\n this.BulkChargeDailyChecker=false;\n if(this.DailyFlatWaiveOffSelected)\n this.DailyFlatWaiveOffSelected=false;\n }, (err) => {\n this.router.navigate([\"404\"]);\n });\n }\n else {\n this.lblMessage = \"No records for charge\";\n //this.showlbl();\n this.showerrormsg = true;\n this.showMsg = false;\n this.showModalForCharge=false;\n }\n }\n else if (this.chargeType == \"MonthlyOrFlatMontlhy\") {\n if(this.FilteredMonthlyFlatMonthlySweepChargesList.length==0) {\n list = this.FilteredMonthlyFlatMonthlySweepChargesList.filter(row => { return row.chargeStatus == 'Pending' });\n }\n else{\n list = this.FilteredMonthlyFlatMonthlySweepChargesList.filter(row => { return row.chargeStatus == 'Pending' });\n }\n \n if (list.length > 0) {\n this._SweepChargesModelService.fnMonthlyAndFlatChargesApply(localStorage.getItem(\"LoginUserId\"), this.customerId, this.AuthorizeWaiveOffStatus,this.checkedMonthlyFlatList).subscribe(count => {\n // this.lblMessage = count.toString() + \" records updated\";\n if(this.AuthorizeWaiveOffStatus==2) { \n this.lblMessage = count.toString() + \" records charged successfully\";\n }\n else if(this.AuthorizeWaiveOffStatus==3){ \n this.lblMessage = count.toString() + \" records charges rejected successfully\";\n } \n \n this._SweepChargesModelService.formData.CustomerName = \"\";\n //this.showlbl();\n this.showerrormsg = false;\n this.showMsg = true;\n this.fnGetAllMonthlyFlatMonthlySweepChargeList(null,this._SweepChargesModelService.formData.chargeStatus,this._SweepChargesModelService.formData.WaiveStatus,0,this.config.itemsPerPage.toString(),this.pageNo,this.sortOrder);\n this.DownloadTTUM();\n this.showModalForCharge=false;\n this.BulkMonthlyflatChargeButton=false;\n this.BulkChargeMonthlyChecker=false;\n if(this.MonthlyFlatWaiveOffSelected)\n this.MonthlyFlatWaiveOffSelected=false;\n }, (err) => {\n this.router.navigate([\"404\"]);\n });\n }\n else {\n this.lblMessage = \"No records for charge\";\n //this.showlbl();\n this.showerrormsg = true;\n this.showMsg = false;\n this.showModalForCharge=false;\n }\n }\n }\n \n }\n\n // Bulk hide Waive Off Confirmation function\n BulkhideWaiveOffConfirm(){\n if(!this.CheckerPrivillage || this.BulkWaiveOffCheckertocheckerButton || this.BulkDailyflatWaiveOffCheckerTocheckerButton || this.BulkMonthlyflatWaiveOffCheckerToCheckerButton){ \n //1= pending status.\n if(this.checkedWaiveOffList != undefined){\n this._SweepChargesModelService.fnUpdateWaiveOffStatusAndBalance(this.checkedWaiveOffList,1,'',1).subscribe(respose => {\n this.fnGetAllSweepChargeList(this.customerId,this._SweepChargesModelService.formData.FromDate,this._SweepChargesModelService.formData.ToDate,this._SweepChargesModelService.formData.chargeStatus,this._SweepChargesModelService.formData.WaiveStatus,this.sortOrder);\n for (var i = 0; i < this.FilteredSweepChargesList.length; i++) {\n this.FilteredSweepChargesList[i].IsWaiveOffSelected = false;\n }\n for (var i = 0; i < this.FilterallSweepChargesListExport.length; i++) {\n this.FilterallSweepChargesListExport[i].IsWaiveOffSelected = false;\n }\n this._SweepChargesModelService.formData.CustomerName = \"\";\n this.SweepCheckedBulkWaiveOff();\n this.WaiveOffSelected=false;\n this.hideMakeWaiveOff();\n this.lblMessage=\"Waive off Request has been sent to checker for review.\";\n this.IsWaiveOffSelected=false;\n this.BulkWaiveOffButton=false;\n this.MakershowModalForWaiveOff=false;\n this.BulkWaiveOffCheckertocheckerButton=false;\n }, (err) => {\n this.router.navigate([\"404\"]);\n }); \n }\n else if(this.checkedDailyflatList != undefined){\n this._SweepChargesModelService.fnUpdateWaiveOffStatusAndBalance(this.checkedDailyflatList,1,'',2).subscribe(respose => {\n this.fnGetAllDailyFlatDailySweepChargeList(\"\",null,null,this._SweepChargesModelService.formData.chargeStatus,this._SweepChargesModelService.formData.WaiveStatus,0,10,1,this.sortOrder);\n for (var i = 0; i < this.FilteredDailyFlatDailySweepChargesList.length; i++) {\n this.FilteredDailyFlatDailySweepChargesList[i].IsDailyFlatWaiveOffSelected = false;\n }\n for (var i = 0; i < this.FilterallDailyFlatDailySweepChargesListExport.length; i++) {\n this.FilterallDailyFlatDailySweepChargesListExport[i].IsDailyFlatWaiveOffSelected = false;\n }\n this.hideMakeWaiveOff();\n this._SweepChargesModelService.formData.CustomerName = \"\";\n this.lblMessage=\"Waive off Request has been sent to checker for review.\";\n this.BulkDailyflatWaiveOffButton=false;\n this.DailyFlatWaiveOffSelected=false;\n this.BulkDailyflatWaiveOffCheckerTocheckerButton=false;\n }, (err) => {\n this.router.navigate([\"404\"]);\n }); \n }\n else if(this.checkedMonthlyFlatList != undefined){\n this._SweepChargesModelService.fnUpdateWaiveOffStatusAndBalance(this.checkedMonthlyFlatList,1,'',3).subscribe(respose => {\n this.fnGetAllMonthlyFlatMonthlySweepChargeList(null,this._SweepChargesModelService.formData.chargeStatus,this._SweepChargesModelService.formData.WaiveStatus,0,this.config.itemsPerPage.toString(),this.pageNo,this.sortOrder);\n for (var i = 0; i < this.FilteredMonthlyFlatMonthlySweepChargesList.length; i++) {\n this.FilteredMonthlyFlatMonthlySweepChargesList[i].IsMonthlyFlatWaiveOffSelected = false;\n }\n for (var i = 0; i < this.FilterallMonthlyFlatMonthlySweepChargesListExport.length; i++) {\n this.FilterallMonthlyFlatMonthlySweepChargesListExport[i].IsMonthlyFlatWaiveOffSelected = false;\n }\n this._SweepChargesModelService.formData.CustomerName = \"\";\n this.hideMakeWaiveOff();\n this.lblMessage=\"Waive off Request has been sent to checker for review.\";\n this.BulkMonthlyflatWaiveOffButton=false;\n this.BulkMonthlyflatWaiveOffCheckerToCheckerButton=false;\n }, (err) => {\n this.router.navigate([\"404\"]);\n }); \n }\n this.showMsg=true;\n }\n else{\n if(this.checkedWaiveOffList != undefined){\n this._SweepChargesModelService.fnUpdateWaiveOffStatusAndBalance(this.checkedWaiveOffList,this.AuthorizeWaiveOffStatus,this.waiveComment,1).subscribe(respose => {\n this.fnGetAllSweepChargeList(this.customerId,this._SweepChargesModelService.formData.FromDate,this._SweepChargesModelService.formData.ToDate,this._SweepChargesModelService.formData.chargeStatus,this._SweepChargesModelService.formData.WaiveStatus,this.sortOrder);\n for (var i = 0; i < this.FilteredSweepChargesList.length; i++) {\n this.FilteredSweepChargesList[i].IsWaiveOffSelected = false;\n }this._SweepChargesModelService.formData.CustomerName = \"\";\n this.SweepCheckedBulkWaiveOff();\n this.WaiveOffSelected=false;\n this.hideWaiveOff();\n this.BulkWaiveOffButton=false;\n }, (err) => {\n this.router.navigate([\"404\"]);\n }); \n }\n else if(this.checkedDailyflatList != undefined) {\n this._SweepChargesModelService.fnUpdateWaiveOffStatusAndBalance(this.checkedDailyflatList,this.AuthorizeWaiveOffStatus,this.waiveComment,2).subscribe(respose => {\n this.fnGetAllDailyFlatDailySweepChargeList(\"\",null,null,this._SweepChargesModelService.formData.chargeStatus,this._SweepChargesModelService.formData.WaiveStatus,0,10,1,this.sortOrder);\n for (var i = 0; i < this.FilteredDailyFlatDailySweepChargesList.length; i++) {\n this.FilteredDailyFlatDailySweepChargesList[i].IsDailyFlatWaiveOffSelected = false;\n }this._SweepChargesModelService.formData.CustomerName = \"\";\n this.DailyCheckedBulkWaiveOff();\n this.DailyFlatWaiveOffSelected=false;\n this.hideWaiveOff();\n this.BulkDailyflatWaiveOffButton=false;\n }, (err) => {\n this.router.navigate([\"404\"]);\n }); \n }\n else if(this.checkedMonthlyFlatList != undefined){\n this._SweepChargesModelService.fnUpdateWaiveOffStatusAndBalance(this.checkedMonthlyFlatList,this.AuthorizeWaiveOffStatus,this.waiveComment,3).subscribe(respose => {\n this.fnGetAllMonthlyFlatMonthlySweepChargeList(null,this._SweepChargesModelService.formData.chargeStatus,this._SweepChargesModelService.formData.WaiveStatus,0,this.config.itemsPerPage.toString(),this.pageNo,this.sortOrder);\n for (var i = 0; i < this.FilteredMonthlyFlatMonthlySweepChargesList.length; i++) {\n this.FilteredMonthlyFlatMonthlySweepChargesList[i].IsMonthlyFlatWaiveOffSelected = false;\n }this._SweepChargesModelService.formData.CustomerName = \"\";\n this.MonthlyCheckedBulkWaiveOff();\n this.MonthlyFlatWaiveOffSelected=false;\n this.hideWaiveOff();\n this.BulkMonthlyflatWaiveOffButton=false;\n }, (err) => {\n this.router.navigate([\"404\"]);\n }); \n }\n if(this.AuthorizeWaiveOffStatus==2) {\n this.showMsg=true;\n this.lblMessage=\"Waive off Request Approved Successfully.\";\n }\n else if(this.AuthorizeWaiveOffStatus==3){\n this.showMsg=true;\n this.lblMessage=\"Waive off Request Rejected Successfully.\";\n }\n }\n \n }\n ////--------------------------------dialy-----------------\n AllDailyFlatWaiveOffSelected(){\n this._spinner.show();\n this._SweepChargesModelService.fnGetAllDailyAndFlatDailySweepChargesListExport(localStorage.getItem('LoginUserId')).subscribe(respose => {\n this.allDailyFlatDailySweepChargesListExport = respose; \n this.FilterallDailyFlatDailySweepChargesListExport = this.allDailyFlatDailySweepChargesListExport;\n \n setTimeout(() => {\n this.CheckAllDailyflatCheckBox();\n this._spinner.hide(); \n }, 500);\n });\n\n // this.DailyFlatWaiveOffSelected != this.DailyFlatWaiveOffSelected;\n \n}\n\nCheckAllDailyflatCheckBox(){\n if (this.FilteredDailyFlatDailySweepChargesList.length > 0) {\n for (var i = 0; i < this.FilteredDailyFlatDailySweepChargesList.length; i++) {\n if(!this.FilteredDailyFlatDailySweepChargesList[i].disableWaiveOff ){\n if((this.FilteredDailyFlatDailySweepChargesList[i].WaiveStatus != \"Pending\" || this.FilteredDailyFlatDailySweepChargesList[i].chargeStatus !=\"Pending\") \n && this.CheckerPrivillage){\n this.FilteredDailyFlatDailySweepChargesList[i].IsDailyFlatWaiveOffSelected = this.DailyFlatWaiveOffSelected; \n }\n else if(!this.CheckerPrivillage && this.FilteredDailyFlatDailySweepChargesList[i].WaiveStatus == \"Not Applicable\"){\n this.FilteredDailyFlatDailySweepChargesList[i].IsDailyFlatWaiveOffSelected = this.DailyFlatWaiveOffSelected; \n }\n } \n \n }\n }\n let listCust = this.allCustomerList.filter(x => x.CustomerName === this._SweepChargesModelService.formData.CustomerName)[0];\n if(listCust==undefined){\n this.customerId = 0;\n } \n else{\n this.customerId = listCust.CustPkId;\n } \n if (this.customerId > 0) {\n this.FilterallDailyFlatDailySweepChargesListExport = this.FilterallDailyFlatDailySweepChargesListExport.filter(row => { return row.CustomerId == this.customerId; });\n }\n else {\n this.FilterallDailyFlatDailySweepChargesListExport = this.FilterallDailyFlatDailySweepChargesListExport;\n }\n var chargestatuss=this._SweepChargesModelService.formData.chargeStatus;\n this.FilterallDailyFlatDailySweepChargesListExport = this.FilterallDailyFlatDailySweepChargesListExport.filter(row => {\n return row.chargeStatus.match(chargestatuss);\n });\n \n if (this.FilterallDailyFlatDailySweepChargesListExport.length > 0) {\n for (var i = 0; i < this.FilterallDailyFlatDailySweepChargesListExport.length; i++) {\n if(!this.FilterallDailyFlatDailySweepChargesListExport[i].disableWaiveOff ){\n if((this.FilterallDailyFlatDailySweepChargesListExport[i].WaiveStatus != \"Pending\" || this.FilterallDailyFlatDailySweepChargesListExport[i].chargeStatus !=\"Pending\") \n && this.CheckerPrivillage){\n this.FilterallDailyFlatDailySweepChargesListExport[i].IsDailyFlatWaiveOffSelected = this.DailyFlatWaiveOffSelected; \n }\n else if(!this.CheckerPrivillage && this.FilterallDailyFlatDailySweepChargesListExport[i].WaiveStatus == \"Not Applicable\"){\n this.FilterallDailyFlatDailySweepChargesListExport[i].IsDailyFlatWaiveOffSelected = this.DailyFlatWaiveOffSelected; \n }\n } \n \n }\n }\n this.DailyCheckedBulkWaiveOff();\n}\nDailyFlatCheckAll(){\n var chargestatuss=this._SweepChargesModelService.formData.chargeStatus;\n this.FilterallDailyFlatDailySweepChargesListExport = this.FilterallDailyFlatDailySweepChargesListExport.filter(row => {\n return row.chargeStatus.match(chargestatuss);\n });\n this.DailyCheckedBulkWaiveOff();\n}\n IsDailyFlatWaiveOffCheck(AclinkName,status){\n \n // status!= this.DailyFlatWaiveOffSelected ;\n for (var i = 0; i < this.FilteredDailyFlatDailySweepChargesList.length; i++) {\n if(this.FilteredDailyFlatDailySweepChargesList[i].AclinkName == AclinkName)\n this.FilteredDailyFlatDailySweepChargesList[i].IsDailyFlatWaiveOffSelected = status; \n }\n for (var i = 0; i < this.FilterallDailyFlatDailySweepChargesListExport.length; i++) {\n if(this.FilterallDailyFlatDailySweepChargesListExport[i].AclinkName == AclinkName)\n this.FilterallDailyFlatDailySweepChargesListExport[i].IsDailyFlatWaiveOffSelected = status; \n}\n this.DailySingleChecks();\n }\n\n DailySingleChecks(){\n this.checkedDailyflatList = [];\n for (var i = 0; i < this.FilteredDailyFlatDailySweepChargesList.length; i++) {\n if(this.FilteredDailyFlatDailySweepChargesList[i].IsDailyFlatWaiveOffSelected == true){\n this.checkedDailyflatList.push(this.FilteredDailyFlatDailySweepChargesList[i]);\n \n if(this.FilteredDailyFlatDailySweepChargesList[i].chargeStatus==\"Uncharged\" && !this.CheckerPrivillage) {\n this.BulkDailyflatChargeButton=true;\n }\n else if(this.FilteredDailyFlatDailySweepChargesList[i].chargeStatus==\"Pending\" && this.CheckerPrivillage){\n this.BulkDailyflatChargeButton=true;\n }\n else if(this.FilteredDailyFlatDailySweepChargesList[i].chargeStatus==\"Charged\" && this.FilteredDailyFlatDailySweepChargesList[i].WaiveStatus==\"Not Applicable\" && !this.CheckerPrivillage){ \n this.BulkDailyflatWaiveOffButton=true;\n }\n else if(this.FilteredDailyFlatDailySweepChargesList[i].chargeStatus==\"Charged\" && this.FilteredDailyFlatDailySweepChargesList[i].WaiveStatus==\"Pending\" && this.CheckerPrivillage){ \n this.BulkDailyflatWaiveOffButton=true; \n this.BulkDailyflatWaiveOffCheckerButton=false;\n this.BulkDailyflatWaiveOffCheckerTocheckerButton=false; \n } \n else if(this.FilteredDailyFlatDailySweepChargesList[i].accLinCreatedBy==+this._encreptdecrept.decryptUsingAES256(localStorage.getItem('LoginUserId'))) {\n if(this.FilteredDailyFlatDailySweepChargesList[i].chargeStatus==\"Uncharged\" && this.CheckerPrivillage) {\n this.BulkChargeDailyChecker=false;\n this.bulkChargeDailyCheckerToChecker=true;\n }\n else if(this.FilteredDailyFlatDailySweepChargesList[i].chargeStatus==\"Charged\" && this.FilteredDailyFlatDailySweepChargesList[i].WaiveStatus==\"Not Applicable\" && this.CheckerPrivillage) {\n this.BulkDailyflatWaiveOffCheckerButton=false;\n this.BulkDailyflatWaiveOffCheckerTocheckerButton=true;\n this.BulkDailyflatWaiveOffButton=false; \n }\n }\n else if(this.FilteredDailyFlatDailySweepChargesList[i].accLinCreatedBy != +this._encreptdecrept.decryptUsingAES256(localStorage.getItem('LoginUserId'))) {\n if(this.FilteredDailyFlatDailySweepChargesList[i].chargeStatus==\"Pending\" && this.CheckerPrivillage) {\n this.BulkChargeDailyChecker=true;\n this.bulkChargeDailyCheckerToChecker=false;\n }\n } \n else{\n this.BulkDailyflatWaiveOffButton=false;\n this.BulkDailyflatChargeButton=false;\n this.BulkChargeDailyChecker=false;\n this.bulkChargeDailyCheckerToChecker=false;\n }\n }\n }\n var checkedList = this.FilteredDailyFlatDailySweepChargesList.filter(row => { return row.IsDailyFlatWaiveOffSelected == true }); \n if(this.FilteredDailyFlatDailySweepChargesList.length == checkedList.length){\n this.DailyFlatWaiveOffSelected = true;\n }\n else{\n this.DailyFlatWaiveOffSelected=false;\n }\n \n if(checkedList.length==0){\n this.BulkDailyflatWaiveOffButton=false;\n this.BulkDailyflatChargeButton=false;\n this.BulkChargeDailyChecker=false;\n this.bulkChargeDailyCheckerToChecker=false;\n }\n }\n\n BulkDailyflatChargeButton:boolean;\n BulkChargeDailyChecker:boolean;\n bulkChargeDailyCheckerToChecker:boolean;\n\n BulkDailyflatWaiveOffCheckerButton:boolean;\n BulkDailyflatWaiveOffCheckerTocheckerButton:boolean;\n isCheckBoxSelected:boolean=false;\n DailyCheckedBulkWaiveOff(){\n\n this.checkedDailyflatList = [];\n for (var i = 0; i < this.FilterallDailyFlatDailySweepChargesListExport.length; i++) {\n if(this.FilterallDailyFlatDailySweepChargesListExport[i].IsDailyFlatWaiveOffSelected == true){\n this.checkedDailyflatList.push(this.FilterallDailyFlatDailySweepChargesListExport[i]);\n this.isCheckBoxSelected=true;\n if(this.FilterallDailyFlatDailySweepChargesListExport[i].chargeStatus==\"Uncharged\" && !this.CheckerPrivillage) {\n this.BulkDailyflatChargeButton=true;\n }\n else if(this.FilterallDailyFlatDailySweepChargesListExport[i].chargeStatus==\"Pending\" && this.CheckerPrivillage){\n this.BulkDailyflatChargeButton=true;\n }\n else if(this.FilterallDailyFlatDailySweepChargesListExport[i].chargeStatus==\"Charged\" && this.FilterallDailyFlatDailySweepChargesListExport[i].WaiveStatus==\"Not Applicable\" && !this.CheckerPrivillage){ \n this.BulkDailyflatWaiveOffButton=true;\n }\n else if(this.FilterallDailyFlatDailySweepChargesListExport[i].chargeStatus==\"Charged\" && this.FilterallDailyFlatDailySweepChargesListExport[i].WaiveStatus==\"Pending\" && this.CheckerPrivillage){ \n this.BulkDailyflatWaiveOffButton=true; \n this.BulkDailyflatWaiveOffCheckerButton=false;\n this.BulkDailyflatWaiveOffCheckerTocheckerButton=false; \n } \n else if(this.FilterallDailyFlatDailySweepChargesListExport[i].accLinCreatedBy==+this._encreptdecrept.decryptUsingAES256(localStorage.getItem('LoginUserId'))) {\n if(this.FilterallDailyFlatDailySweepChargesListExport[i].chargeStatus==\"Uncharged\" && this.CheckerPrivillage) {\n this.BulkChargeDailyChecker=false;\n this.bulkChargeDailyCheckerToChecker=true;\n }\n else if(this.FilterallDailyFlatDailySweepChargesListExport[i].chargeStatus==\"Charged\" && this.FilterallDailyFlatDailySweepChargesListExport[i].WaiveStatus==\"Not Applicable\" && this.CheckerPrivillage) {\n this.BulkDailyflatWaiveOffCheckerButton=false;\n this.BulkDailyflatWaiveOffCheckerTocheckerButton=true;\n this.BulkDailyflatWaiveOffButton=false; \n }\n }\n else if(this.FilterallDailyFlatDailySweepChargesListExport[i].accLinCreatedBy != +this._encreptdecrept.decryptUsingAES256(localStorage.getItem('LoginUserId'))) {\n if(this.FilterallDailyFlatDailySweepChargesListExport[i].chargeStatus==\"Pending\" && this.CheckerPrivillage) {\n this.BulkChargeDailyChecker=true;\n this.bulkChargeDailyCheckerToChecker=false;\n }\n } \n else{\n this.BulkDailyflatWaiveOffButton=false;\n this.BulkDailyflatChargeButton=false;\n this.BulkChargeDailyChecker=false;\n this.bulkChargeDailyCheckerToChecker=false;\n }\n }\n }\n //when we checked and unchecked then button should not display.\n var checkedList = this.FilterallDailyFlatDailySweepChargesListExport.filter(row => { return row.IsDailyFlatWaiveOffSelected == true });\n if(checkedList.length==0) {\n this.BulkDailyflatWaiveOffButton=false;\n this.BulkDailyflatChargeButton=false;\n this.bulkChargeDailyCheckerToChecker=false;\n this.BulkDailyflatWaiveOffCheckerButton=false;\n this.BulkDailyflatWaiveOffCheckerTocheckerButton=false;\n } \n this.FilterdSweepcheckedList = [];\n for(var i=0;i {\n this.allMonthlyFlatMonthlySweepChargesListExport = respose;\n this.FilterallMonthlyFlatMonthlySweepChargesListExport = this.allMonthlyFlatMonthlySweepChargesListExport; \n setTimeout(() => {\n this.CheckAllMonthlyCheckBox()\n this._spinner.hide(); \n }, 500);\n });\n \n }\n\n CheckAllMonthlyCheckBox(){\n this.MonthlyFlatWaiveOffSelected != this.MonthlyFlatWaiveOffSelected;\n if (this.FilteredMonthlyFlatMonthlySweepChargesList.length > 0) {\n for (var i = 0; i < this.FilteredMonthlyFlatMonthlySweepChargesList.length; i++) {\n if(!this.FilteredMonthlyFlatMonthlySweepChargesList[i].disableWaiveOff)\n if((this.FilteredMonthlyFlatMonthlySweepChargesList[i].WaiveStatus == \"Pending\" || \n this.FilteredMonthlyFlatMonthlySweepChargesList[i].chargeStatus==\"Pending\") && this.CheckerPrivillage){\n this.FilteredMonthlyFlatMonthlySweepChargesList[i].IsMonthlyFlatWaiveOffSelected = this.MonthlyFlatWaiveOffSelected; \n }\n else if(!this.CheckerPrivillage && this.FilteredMonthlyFlatMonthlySweepChargesList[i].WaiveStatus == \"Not Applicable\"){\n this.FilteredMonthlyFlatMonthlySweepChargesList[i].IsMonthlyFlatWaiveOffSelected = this.MonthlyFlatWaiveOffSelected; \n }\n else if(this.allMonthlyFlatMonthlySweepChargesList[i].accLinCreatedBy==+this._encreptdecrept.decryptUsingAES256(localStorage.getItem('LoginUserId'))) {\n if(this.allMonthlyFlatMonthlySweepChargesList[i].chargeStatus==\"Uncharged\" && this.CheckerPrivillage) {\n this.FilteredMonthlyFlatMonthlySweepChargesList[i].IsMonthlyFlatWaiveOffSelected = this.MonthlyFlatWaiveOffSelected; \n }\n }\n else if(this.allMonthlyFlatMonthlySweepChargesList[i].accLinCreatedBy != +this._encreptdecrept.decryptUsingAES256(localStorage.getItem('LoginUserId'))) {\n if(this.allMonthlyFlatMonthlySweepChargesList[i].chargeStatus==\"Pending\" && this.CheckerPrivillage) {\n this.FilteredMonthlyFlatMonthlySweepChargesList[i].IsMonthlyFlatWaiveOffSelected = this.MonthlyFlatWaiveOffSelected; \n }\n \n } \n }\n }\n let listCust = this.allCustomerList.filter(x => x.CustomerName === this._SweepChargesModelService.formData.CustomerName)[0];\n if(listCust==undefined){\n this.customerId = 0;\n } \n else{\n this.customerId = listCust.CustPkId;\n } \n if (this.customerId > 0) {\n this.FilterallMonthlyFlatMonthlySweepChargesListExport = this.FilterallMonthlyFlatMonthlySweepChargesListExport.filter(row => { return row.CustomerId == this.customerId; });\n }\n else {\n this.FilterallMonthlyFlatMonthlySweepChargesListExport = this.FilterallMonthlyFlatMonthlySweepChargesListExport;\n }\n var chargestatuss=this._SweepChargesModelService.formData.chargeStatus;\n this.FilterallMonthlyFlatMonthlySweepChargesListExport = this.FilterallMonthlyFlatMonthlySweepChargesListExport.filter(row => {\n return row.chargeStatus.match(chargestatuss);\n });\n \n if (this.FilterallMonthlyFlatMonthlySweepChargesListExport.length > 0) {\n for (var i = 0; i < this.FilterallMonthlyFlatMonthlySweepChargesListExport.length; i++) {\n if(!this.FilterallMonthlyFlatMonthlySweepChargesListExport[i].disableWaiveOff)\n if((this.FilterallMonthlyFlatMonthlySweepChargesListExport[i].WaiveStatus == \"Pending\" || \n this.FilterallMonthlyFlatMonthlySweepChargesListExport[i].chargeStatus==\"Pending\") && this.CheckerPrivillage){\n this.FilterallMonthlyFlatMonthlySweepChargesListExport[i].IsMonthlyFlatWaiveOffSelected = this.MonthlyFlatWaiveOffSelected; \n }\n else if(!this.CheckerPrivillage && this.FilterallMonthlyFlatMonthlySweepChargesListExport[i].WaiveStatus == \"Not Applicable\"){\n this.FilterallMonthlyFlatMonthlySweepChargesListExport[i].IsMonthlyFlatWaiveOffSelected = this.MonthlyFlatWaiveOffSelected; \n }\n else if(this.FilterallMonthlyFlatMonthlySweepChargesListExport[i].accLinCreatedBy==+this._encreptdecrept.decryptUsingAES256(localStorage.getItem('LoginUserId'))) {\n if(this.FilterallMonthlyFlatMonthlySweepChargesListExport[i].chargeStatus==\"Uncharged\" && this.CheckerPrivillage) {\n this.FilterallMonthlyFlatMonthlySweepChargesListExport[i].IsMonthlyFlatWaiveOffSelected = this.MonthlyFlatWaiveOffSelected; \n }\n }\n else if(this.FilterallMonthlyFlatMonthlySweepChargesListExport[i].accLinCreatedBy != +this._encreptdecrept.decryptUsingAES256(localStorage.getItem('LoginUserId'))) {\n if(this.FilterallMonthlyFlatMonthlySweepChargesListExport[i].chargeStatus==\"Pending\" && this.CheckerPrivillage) {\n this.FilterallMonthlyFlatMonthlySweepChargesListExport[i].IsMonthlyFlatWaiveOffSelected = this.MonthlyFlatWaiveOffSelected; \n }\n \n } \n }\n }\n this.MonthlyCheckedBulkWaiveOff();\n }\n MonthlyCheckAll(){\n var chargestatuss=this._SweepChargesModelService.formData.chargeStatus;\n this.FilterallMonthlyFlatMonthlySweepChargesListExport = this.FilterallMonthlyFlatMonthlySweepChargesListExport.filter(row => {\n return row.chargeStatus.match(chargestatuss);\n });\n this.MonthlyCheckedBulkWaiveOff();\n }\n IsMonthlyFlatWaiveOffCheck(id,status){\n \n // status!= this.MonthlyFlatWaiveOffSelected ;\n for (var i = 0; i < this.FilteredMonthlyFlatMonthlySweepChargesList.length; i++) {\n if(this.FilteredMonthlyFlatMonthlySweepChargesList[i].AclinkName == id)\n this.FilteredMonthlyFlatMonthlySweepChargesList[i].IsMonthlyFlatWaiveOffSelected = status; \n }\n for (var i = 0; i < this.FilterallMonthlyFlatMonthlySweepChargesListExport.length; i++) {\n if(this.FilterallMonthlyFlatMonthlySweepChargesListExport[i].AclinkName == id)\n this.FilterallMonthlyFlatMonthlySweepChargesListExport[i].IsMonthlyFlatWaiveOffSelected = status; \n}\n this.MonthlySingleCheck();\n }\n BulkMonthlyflatWaiveOffCheckerButton:boolean;\n BulkMonthlyflatWaiveOffCheckerToCheckerButton:boolean;\n\n MonthlySingleCheck(){\n this.checkedMonthlyFlatList = [];\n for (var i = 0; i < this.FilteredMonthlyFlatMonthlySweepChargesList.length; i++) {\n if(this.FilteredMonthlyFlatMonthlySweepChargesList[i].IsMonthlyFlatWaiveOffSelected == true){\n this.checkedMonthlyFlatList.push(this.FilteredMonthlyFlatMonthlySweepChargesList[i]);\n\n if(this.FilteredMonthlyFlatMonthlySweepChargesList[i].chargeStatus==\"Uncharged\" && !this.CheckerPrivillage) {\n this.BulkMonthlyflatChargeButton=true\n }\n else if(this.FilteredMonthlyFlatMonthlySweepChargesList[i].chargeStatus==\"Pending\" && this.CheckerPrivillage){\n this.BulkMonthlyflatChargeButton=true;\n }\n else if(this.FilteredMonthlyFlatMonthlySweepChargesList[i].chargeStatus==\"Charged\" && this.FilteredMonthlyFlatMonthlySweepChargesList[i].WaiveStatus==\"Not Applicable\" && !this.CheckerPrivillage){ \n this.BulkMonthlyflatWaiveOffButton=true; \n }\n else if(this.FilteredMonthlyFlatMonthlySweepChargesList[i].chargeStatus==\"Charged\" && this.FilteredMonthlyFlatMonthlySweepChargesList[i].WaiveStatus==\"Pending\" && this.CheckerPrivillage){ \n this.BulkMonthlyflatWaiveOffButton=true; \n }\n else if(this.FilteredMonthlyFlatMonthlySweepChargesList[i].accLinCreatedBy==+this._encreptdecrept.decryptUsingAES256(localStorage.getItem('LoginUserId'))) {\n if(this.FilteredMonthlyFlatMonthlySweepChargesList[i].chargeStatus==\"Uncharged\" && this.CheckerPrivillage) {\n this.BulkChargeMonthlyChecker=false;\n this.bulkChargeMonthlyCheckerToChecker=true;\n }\n if(this.FilteredMonthlyFlatMonthlySweepChargesList[i].chargeStatus==\"Charged\" && this.FilteredMonthlyFlatMonthlySweepChargesList[i].WaiveStatus==\"Not Applicable\" && this.CheckerPrivillage) {\n this.BulkMonthlyflatWaiveOffCheckerButton=false;\n this.BulkMonthlyflatWaiveOffCheckerToCheckerButton=true;\n }\n }\n else if(this.FilteredMonthlyFlatMonthlySweepChargesList[i].accLinCreatedBy != +this._encreptdecrept.decryptUsingAES256(localStorage.getItem('LoginUserId'))) {\n if(this.FilteredMonthlyFlatMonthlySweepChargesList[i].chargeStatus==\"Pending\" && this.CheckerPrivillage) {\n this.BulkChargeMonthlyChecker=true;\n this.bulkChargeMonthlyCheckerToChecker=false;\n }\n \n }\n else{\n this.BulkMonthlyflatWaiveOffButton=false;\n this.BulkMonthlyflatChargeButton=false;\n }\n \n }\n \n } \n var checkedList = this.FilteredMonthlyFlatMonthlySweepChargesList.filter(row => { return row.IsMonthlyFlatWaiveOffSelected == true });\n if(checkedList.length==0) {\n this.BulkMonthlyflatWaiveOffButton=false;\n this.BulkMonthlyflatChargeButton=false;\n this.bulkChargeMonthlyCheckerToChecker=false;\n this.BulkMonthlyflatWaiveOffCheckerButton=false;\n this.BulkMonthlyflatWaiveOffCheckerToCheckerButton=false;\n } \n if(this.FilteredMonthlyFlatMonthlySweepChargesList.length == checkedList.length){\n this.MonthlyFlatWaiveOffSelected = true;\n }\n else{\n this.MonthlyFlatWaiveOffSelected=false;\n }\n }\nisMonthlyCheckBoxSelected:boolean;\n MonthlyCheckedBulkWaiveOff(){\n \n this.checkedMonthlyFlatList = [];\n \n for (var i = 0; i < this.FilterallMonthlyFlatMonthlySweepChargesListExport.length; i++) {\n if(this.FilterallMonthlyFlatMonthlySweepChargesListExport[i].IsMonthlyFlatWaiveOffSelected == true){\n this.checkedMonthlyFlatList.push(this.FilterallMonthlyFlatMonthlySweepChargesListExport[i]);\n this.isMonthlyCheckBoxSelected=true;\n if(this.FilterallMonthlyFlatMonthlySweepChargesListExport[i].chargeStatus==\"Uncharged\" && !this.CheckerPrivillage) {\n this.BulkMonthlyflatChargeButton=true\n }\n else if(this.FilterallMonthlyFlatMonthlySweepChargesListExport[i].chargeStatus==\"Pending\" && this.CheckerPrivillage){\n this.BulkMonthlyflatChargeButton=true;\n }\n else if(this.FilterallMonthlyFlatMonthlySweepChargesListExport[i].chargeStatus==\"Charged\" && this.FilterallMonthlyFlatMonthlySweepChargesListExport[i].WaiveStatus==\"Not Applicable\" && !this.CheckerPrivillage){ \n this.BulkMonthlyflatWaiveOffButton=true; \n }\n else if(this.FilterallMonthlyFlatMonthlySweepChargesListExport[i].chargeStatus==\"Charged\" && this.FilterallMonthlyFlatMonthlySweepChargesListExport[i].WaiveStatus==\"Pending\" && this.CheckerPrivillage){ \n this.BulkMonthlyflatWaiveOffButton=true; \n }\n else if(this.FilterallMonthlyFlatMonthlySweepChargesListExport[i].accLinCreatedBy==+this._encreptdecrept.decryptUsingAES256(localStorage.getItem('LoginUserId'))) {\n if(this.FilterallMonthlyFlatMonthlySweepChargesListExport[i].chargeStatus==\"Uncharged\" && this.CheckerPrivillage) {\n this.BulkChargeMonthlyChecker=false;\n this.bulkChargeMonthlyCheckerToChecker=true;\n }\n if(this.FilterallMonthlyFlatMonthlySweepChargesListExport[i].chargeStatus==\"Charged\" && this.FilterallMonthlyFlatMonthlySweepChargesListExport[i].WaiveStatus==\"Not Applicable\" && this.CheckerPrivillage) {\n this.BulkMonthlyflatWaiveOffCheckerButton=false;\n this.BulkMonthlyflatWaiveOffCheckerToCheckerButton=true;\n }\n }\n else if(this.FilterallMonthlyFlatMonthlySweepChargesListExport[i].accLinCreatedBy != +this._encreptdecrept.decryptUsingAES256(localStorage.getItem('LoginUserId'))) {\n if(this.FilterallMonthlyFlatMonthlySweepChargesListExport[i].chargeStatus==\"Pending\" && this.CheckerPrivillage) {\n this.BulkChargeMonthlyChecker=true;\n this.bulkChargeMonthlyCheckerToChecker=false;\n }\n \n }\n else{\n this.BulkMonthlyflatWaiveOffButton=false;\n this.BulkMonthlyflatChargeButton=false;\n }\n \n }\n \n } \n //when we checked and unchecked then button should not display.\n var checkedList = this.FilterallMonthlyFlatMonthlySweepChargesListExport.filter(row => { return row.IsMonthlyFlatWaiveOffSelected == true });\n if(checkedList.length==0) {\n this.BulkMonthlyflatWaiveOffButton=false;\n this.BulkMonthlyflatChargeButton=false;\n this.bulkChargeMonthlyCheckerToChecker=false;\n this.BulkMonthlyflatWaiveOffCheckerButton=false;\n this.BulkMonthlyflatWaiveOffCheckerToCheckerButton=false;\n }\n this.FilterdSweepcheckedList = [];\n for(var i=0;i x.CustomerName === CustomerName)[0];\n if(listCust==undefined){\n this.customerId = 0;\n } \n else{\n this.customerId = listCust.CustPkId;\n } \n if(chargeType==1)\n this.fnGetAllSweepChargeList(CustomerName,FromDate,ToDate,this._SweepChargesModelService.formData.chargeStatus,this._SweepChargesModelService.formData.WaiveStatus,this.sortOrder);\n else if(chargeType==2)\n this.fnGetAllDailyFlatDailySweepChargeList(this.customerId,FromDate,ToDate,this._SweepChargesModelService.formData.chargeStatus,this._SweepChargesModelService.formData.WaiveStatus,0,this.config.itemsPerPage.toString(),this.pageNo,this.sortOrder);\n else if(chargeType==3)\n this.fnGetAllMonthlyFlatMonthlySweepChargeList(null,this._SweepChargesModelService.formData.chargeStatus,this._SweepChargesModelService.formData.WaiveStatus,0,this.config.itemsPerPage.toString(),this.pageNo,this.sortOrder);\n } \n totalNoOfPages() { \n \n if(this.ComingFromLast == true){\n this.pageNumber = []; \n this.pageNumber[this._PaginationService.pageNumberShow - 1] = true; \n this.ComingFromLast = false;\n }\n if(this.ComingFromFirst == true){\n this.pageNumber = []; \n this.pageNumber[0] = true;\n this.ComingFromFirst = false;\n } \n this.filterCount = this.totalCount;\n this.paginationData = Number(this.totalCount/this.config.itemsPerPage); \n let tempPageData = this.paginationData.toFixed(); \n if (Number(tempPageData) < this.paginationData) { \n this.exactPageList = Number(tempPageData) + 1; \n this._PaginationService.exactPageList = this.exactPageList; \n } else { \n this.exactPageList = Number(tempPageData); \n this._PaginationService.exactPageList = this.exactPageList \n }\n if(this._PaginationService.exactPageList < 10){\n this._PaginationService.pageNumberShow = this._PaginationService.exactPageList;\n this._PaginationService.disabledPrevBtn = true;\n this._PaginationService.disabledNextBtn = true;\n }\n else{\n this._PaginationService.pageNumberShow = 10;\n } \n this._PaginationService.pageOnLoad(); \n this.pageField = this._PaginationService.pageField; \n \n if(this.pageField.length < 10){\n this._PaginationService.disabledNextBtn = true;\n this._PaginationService.disabledPrevBtn = true;\n }\n \n }\n\n showPerSweepAndDailyPrevPage(FromDate,ToDate,CustomerName,chargeType) { \n if (this._PaginationService.showNoOfCurrentPage != 1) { \n this._PaginationService.pageNumberShow = 10;\n this._PaginationService.prevValue(); \n this.pageNumber = []; \n this.pageNumber[0] = true; \n this.currentPage = this._PaginationService.pageField[0]; \n this.pageNo = this._PaginationService.pageField[0];\n let listCust = this.allCustomerList.filter(x => x.CustomerName === CustomerName)[0];\n if(listCust==undefined){\n this.customerId = 0;\n } \n else{\n this.customerId = listCust.CustPkId;\n } \n if(chargeType==1)\n this.fnGetAllSweepChargeList(CustomerName,FromDate,ToDate,this._SweepChargesModelService.formData.chargeStatus,this._SweepChargesModelService.formData.WaiveStatus,this.sortOrder); \n else if(chargeType==2)\n this.fnGetAllDailyFlatDailySweepChargeList(this.customerId,null,null,this._SweepChargesModelService.formData.chargeStatus,this._SweepChargesModelService.formData.WaiveStatus,0,this.config.itemsPerPage.toString(),this.pageNo,this.sortOrder);\n else if(chargeType==3)\n this.fnGetAllMonthlyFlatMonthlySweepChargeList(null,this._SweepChargesModelService.formData.chargeStatus,this._SweepChargesModelService.formData.WaiveStatus,0,this.config.itemsPerPage.toString(),this.pageNo,this.sortOrder);\n this.pageChanged(this.pageNo); \n } \n } \n showPerSwepAndDailyLastPage(FromDate,ToDate,CustomerName,chargeType){\n \n this._PaginationService.temppage = this._PaginationService.exactPageList;\n if(this._PaginationService.exactPageList%10 == 0)\n this._PaginationService.pageNumberShow = 10;\n else \n this._PaginationService.pageNumberShow = this._PaginationService.exactPageList%10;\n \n this._PaginationService.showNoOfCurrentPage = Math.ceil(this._PaginationService.exactPageList/10);\n this._PaginationService.comingFromPreAndNext = true;\n this._PaginationService.LastValue(); \n \n this.currentPage = this._PaginationService.pageField[this._PaginationService.pageNumberShow - 1]; \n this.pageNo = this._PaginationService.pageField[this._PaginationService.pageNumberShow - 1];\n let listCust = this.allCustomerList.filter(x => x.CustomerName === CustomerName)[0];\n if(listCust==undefined){\n this.customerId = 0;\n } \n else{\n this.customerId = listCust.CustPkId;\n } \n\n if(chargeType==1)\n this.fnGetAllSweepChargeList(CustomerName,FromDate,ToDate,this._SweepChargesModelService.formData.chargeStatus,this._SweepChargesModelService.formData.WaiveStatus,this.sortOrder); \n else if(chargeType==2)\n this.fnGetAllDailyFlatDailySweepChargeList(this.customerId,null,null,this._SweepChargesModelService.formData.chargeStatus,this._SweepChargesModelService.formData.WaiveStatus,0,this.config.itemsPerPage.toString(),this.pageNo,this.sortOrder);\n else if(chargeType==3)\n this.fnGetAllMonthlyFlatMonthlySweepChargeList(null,this._SweepChargesModelService.formData.chargeStatus,this._SweepChargesModelService.formData.WaiveStatus,0,this.config.itemsPerPage.toString(),this.pageNo,this.sortOrder)\n this.pageChanged(this.pageNo); \n this.ComingFromLast = true;\n \n \n }\n\n showNextPerSweepAndDaily(FromDate,ToDate,CustomerName,chargeType) { \n if (this._PaginationService.disabledNextBtn == false) { \n this.pageNumber = []; \n this._PaginationService.nextValue(); \n this.pageNumber[0] = true; \n this.currentPage = this._PaginationService.pageField[0]; \n this.pageNo = this._PaginationService.pageField[0]; \n let listCust = this.allCustomerList.filter(x => x.CustomerName === CustomerName)[0];\n if(listCust==undefined){\n this.customerId = 0;\n } \n else{\n this.customerId = listCust.CustPkId;\n } \n if(chargeType==1) \n this.fnGetAllSweepChargeList(CustomerName,FromDate,ToDate,this._SweepChargesModelService.formData.chargeStatus,this._SweepChargesModelService.formData.WaiveStatus,this.sortOrder); \n else if(chargeType==2)\n this.fnGetAllDailyFlatDailySweepChargeList(this.customerId,null,null,this._SweepChargesModelService.formData.chargeStatus,this._SweepChargesModelService.formData.WaiveStatus,0,this.config.itemsPerPage.toString(),this.pageNo,this.sortOrder);\n else if(chargeType==3)\n this.fnGetAllMonthlyFlatMonthlySweepChargeList(null,this._SweepChargesModelService.formData.chargeStatus,this._SweepChargesModelService.formData.WaiveStatus,0,this.config.itemsPerPage.toString(),this.pageNo,this.sortOrder);\n this.pageChanged(this.pageNo); \n } \n }\n\n sortperSweepGrid(value: string, id,FromDate,ToDate,CustomerName) { \n this.sortOrder = value; \n this.order =value; \n if (this.orderBy == \"Desc\") { \n this.orderBy = \"Asc\" \n this.sortOrder =this.sortOrder+'_ASC'; \n sortTableSweepChargesMst(id,true);\n } else { \n this.orderBy = \"Desc\"; \n this.sortOrder =this.sortOrder+'_DESC';\n sortTableSweepChargesMst(id,false); \n } \n \n this.fnGetAllSweepChargeList(CustomerName,FromDate,ToDate,this._SweepChargesModelService.formData.chargeStatus,this._SweepChargesModelService.formData.WaiveStatus,this.sortOrder); \n this.pageChanged(this.pageNo); \n \n } \n\n showPerAndDailyFirstPage(FromDate,ToDate,CustomerName,chargeType){ \n this._PaginationService.temppage = 10;\n this._PaginationService.pageNumberShow = 10;\n this._PaginationService.showNoOfCurrentPage = 1;\n this._PaginationService.FirstValue(); \n this.currentPage = this._PaginationService.pageField[0]; \n this.pageNo = this._PaginationService.pageField[0];\n let listCust = this.allCustomerList.filter(x => x.CustomerName === CustomerName)[0];\n if(listCust==undefined){\n this.customerId = 0;\n } \n else{\n this.customerId = listCust.CustPkId;\n }\n if(chargeType==1)\n this.fnGetAllSweepChargeList(CustomerName,FromDate,ToDate,this._SweepChargesModelService.formData.chargeStatus,this._SweepChargesModelService.formData.WaiveStatus,this.sortOrder); \n else if (chargeType==2) \n this.fnGetAllDailyFlatDailySweepChargeList(this.customerId,null,null,this._SweepChargesModelService.formData.chargeStatus,this._SweepChargesModelService.formData.WaiveStatus,0,this.config.itemsPerPage.toString(),this.pageNo,this.sortOrder);\n else if(chargeType==3)\n this.fnGetAllMonthlyFlatMonthlySweepChargeList(null,this._SweepChargesModelService.formData.chargeStatus,this._SweepChargesModelService.formData.WaiveStatus,0,this.config.itemsPerPage.toString(),this.pageNo,this.sortOrder);\n this.pageChanged(this.pageNo);\n this.ComingFromFirst = true;\n // } \n }\n\n sortMonthlyGrid(value: string, id,FromDate,ToDate,CustomerName) { \n this.sortOrder = value; \n this.order =value; \n if (this.orderBy == \"Desc\") { \n this.orderBy = \"Asc\" \n this.sortOrder =this.sortOrder+'_ASC'; \n sortTableMonthlySweepCharges(id,true);\n } else { \n this.orderBy = \"Desc\"; \n this.sortOrder =this.sortOrder+'_DESC';\n sortTableMonthlySweepCharges(id,false); \n } \n let listCust = this.allCustomerList.filter(x => x.CustomerName === CustomerName)[0];\n if(listCust==undefined){\n this.customerId = 0;\n } \n else{\n this.customerId = listCust.CustPkId;\n } \n this.fnGetAllMonthlyFlatMonthlySweepChargeList(this.customerId,this._SweepChargesModelService.formData.chargeStatus,this._SweepChargesModelService.formData.WaiveStatus,0,this.config.itemsPerPage.toString(),this.pageNo,this.sortOrder);\n this.pageChanged(this.pageNo); \n \n }\n\n sortDailyGrid(value: string, id,FromDate,ToDate,CustomerName) { \n this.sortOrder = value; \n this.order =value; \n if (this.orderBy == \"Desc\") { \n this.orderBy = \"Asc\" \n this.sortOrder =this.sortOrder+'_ASC'; \n sortTableDailySweepCharges(id,true);\n } else { \n this.orderBy = \"Desc\"; \n this.sortOrder =this.sortOrder+'_DESC';\n sortTableDailySweepCharges(id,false); \n } \n let listCust = this.allCustomerList.filter(x => x.CustomerName === CustomerName)[0];\n if(listCust==undefined){\n this.customerId = 0;\n } \n else{\n this.customerId = listCust.CustPkId;\n }\n this.fnGetAllDailyFlatDailySweepChargeList(this.customerId,FromDate,ToDate,this._SweepChargesModelService.formData.chargeStatus,this._SweepChargesModelService.formData.WaiveStatus,0,this.config.itemsPerPage.toString(),this.pageNo,this.sortOrder);\n this.pageChanged(this.pageNo); \n \n }\n \n}\n","
\n
\n
\n
\n

Sweep Charges

\n
\n
\n\n
\n
\n ×\n Success! {{lblMessage}}\n
\n \n
\n ×\n {{ lblMessage }}.\n
\n
\n\n
\n \n\n
\n \n\n \n\n \n \n \n\n
\n Please Enter a valid Customer Name\n
\n
\n\n
\n \n \n
\n\n\n
\n\n \n \n \n
\n
\n \n\n
\n \n
\n
\n
\n Please Enter a valid Date Format\n
\n
\n Date should be less than current date\n
\n
\n\n \n
\n \n
\n\n
\n\n
\n\n \n\n \n\n \n \n
\n
\n \n
\n \n
\n
\n
\n Please Enter valid Date Format\n
\n
\n {{ errorMessage }}\n
\n\n
\n\n \n
\n \n
\n\n
\n\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n \n\n
\n\n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n
\n\n
\n
\n \n
\n\n
\n \n \n
\n
\n \n\n \n
\n\n
\n \n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Transaction IDFrom AccountTo AccountBalance TransferDate of TransactionChargesCharge StatusWaive-Off Status\n
\n \n \n
\n
{{sweepcharge.TransactionId}}{{sweepcharge.FromAccountName}} - {{sweepcharge.FromAccountNumber}}{{sweepcharge.ToAccountName}} - {{sweepcharge.ToAccountNumber}}{{sweepcharge.BalanceTransfer}}{{sweepcharge.CreatedDate | date:'medium'}}{{sweepcharge.charges}}{{sweepcharge.chargeStatus}}{{sweepcharge.WaiveStatus}}\n
\n\n \n \n
\n
No records found.
\n
\n
\n \n \n
\n
\n \n
\n
\n
\n \n
\n Page {{currentPage}} of Total page {{_PaginationService.exactPageList}} \n
\n\n
\n
\n
\n
\n\n
\n \" class=\"nav-link\"\n class=\"btn btn-primary btn-md text-white pull-right\" id=\"navbarDropdownMenuLink\" data-toggle=\"dropdown\"\n style=\"color:#4ad4e3;font-size: 15px;;\" aria-haspopup=\"true\" aria-expanded=\"false\" />\n \n
\n
\n \n
\n
\n \" class=\"nav-link\"\n class=\"btn btn-primary btn-md text-white pull-right\" id=\"navbarDropdownMenuLink\" data-toggle=\"dropdown\"\n style=\"color:#4ad4e3;font-size: 15px;;\" aria-haspopup=\"true\" aria-expanded=\"false\" />\n \n
\n
\n \n
\n\n
\n \" class=\"nav-link\"\n class=\"btn btn-primary btn-md text-white pull-right\" id=\"navbarDropdownMenuLink\" data-toggle=\"dropdown\"\n style=\"color:#4ad4e3;font-size: 15px;;\" aria-haspopup=\"true\" aria-expanded=\"false\" />\n \n
\n
\n \n
\n
\n \" class=\"nav-link\"\n class=\"btn btn-primary btn-md text-white pull-right\" id=\"navbarDropdownMenuLink\" data-toggle=\"dropdown\"\n style=\"margin-top: -0.65em;margin-left:16.5em;color:#4ad4e3;font-size: 15px;;\" aria-haspopup=\"true\"\n aria-expanded=\"false\" />\n \n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n
A/c Link NameAccountSweep DateCharge TypeNo. Of TransactionChargesCharge StatusWaive-Off Status\n
\n \n \n
\n
{{sweepcharge.AclinkName}}{{sweepcharge.FromAccountName}} - {{sweepcharge.FromAccountNumber}}{{sweepcharge.CreatedDate | date:'mediumDate'}}{{sweepcharge.ChargeType}}{{sweepcharge.TransactionCount}}{{sweepcharge.charges}}{{sweepcharge.chargeStatus}}{{sweepcharge.WaiveStatus}}\n
\n \n \n
\n
No records found.
\n
\n
\n \n \n
\n
\n \n
\n
\n
\n \n
\n Page {{currentPage}} of Total page {{_PaginationService.exactPageList}} \n
\n\n
\n
\n
\n
\n\n
\n \" class=\"nav-link\"\n class=\"btn btn-primary btn-md text-white pull-right\" id=\"navbarDropdownMenuLink\" data-toggle=\"dropdown\"\n style=\"color:#4ad4e3;font-size: 15px;;\" aria-haspopup=\"true\" aria-expanded=\"false\" />\n \n
\n
\n \n
\n\n
\n \" class=\"nav-link\"\n class=\"btn btn-primary btn-md text-white pull-right\" id=\"navbarDropdownMenuLink\" data-toggle=\"dropdown\"\n style=\"color:#4ad4e3;font-size: 15px;;\" aria-haspopup=\"true\" aria-expanded=\"false\" />\n \n
\n
\n \n
\n\n
\n \" class=\"nav-link\"\n class=\"btn btn-primary btn-md text-white pull-right\" id=\"navbarDropdownMenuLink\" data-toggle=\"dropdown\"\n style=\"color:#4ad4e3;font-size: 15px;;\" aria-haspopup=\"true\" aria-expanded=\"false\" />\n \n
\n
\n \n
\n
\n \" class=\"nav-link\"\n class=\"btn btn-primary btn-md text-white pull-right\" id=\"navbarDropdownMenuLink\" data-toggle=\"dropdown\"\n style=\"color:#4ad4e3;font-size: 15px;;\" aria-haspopup=\"true\" aria-expanded=\"false\" />\n \n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n
A/c Link NameAccountSweep MonthCharge TypeNo. Of TransactionChargesCharge StatusWaive-Off Status\n
\n \n \n
\n
{{sweepcharge.AclinkName}}{{sweepcharge.FromAccountName}} - {{sweepcharge.FromAccountNumber}}{{sweepcharge.SweepMonth}}{{sweepcharge.ChargeType}}{{sweepcharge.TransactionCount}}{{sweepcharge.charges}}{{sweepcharge.chargeStatus}}{{sweepcharge.WaiveStatus}}\n
\n \n \n
\n
No records found.
\n
\n
\n \n \n
\n
\n \n
\n
\n
\n \n
\n Page {{currentPage}} of Total page {{_PaginationService.exactPageList}} \n
\n\n
\n
\n
\n
\n \" class=\"nav-link\"\n class=\"btn btn-primary btn-md text-white pull-right\" id=\"navbarDropdownMenuLink\" data-toggle=\"dropdown\"\n style=\"color:#4ad4e3;font-size: 15px;;\" aria-haspopup=\"true\" aria-expanded=\"false\" />\n \n
\n
\n \n
\n\n
\n \" class=\"nav-link\"\n class=\"btn btn-primary btn-md text-white pull-right\" id=\"navbarDropdownMenuLink\" data-toggle=\"dropdown\"\n style=\"color:#4ad4e3;font-size: 15px;;\" aria-haspopup=\"true\" aria-expanded=\"false\" />\n \n
\n
\n \n
\n\n
\n \" class=\"nav-link\"\n class=\"btn btn-primary btn-md text-white pull-right\" id=\"navbarDropdownMenuLink\" data-toggle=\"dropdown\"\n style=\"color:#4ad4e3;font-size: 15px;;\" aria-haspopup=\"true\" aria-expanded=\"false\" />\n \n
\n
\n \n
\n
\n \" class=\"nav-link\"\n class=\"btn btn-primary btn-md text-white pull-right\" id=\"navbarDropdownMenuLink\" data-toggle=\"dropdown\"\n style=\"margin-top: -0.65em;margin-left:16.5em;color:#4ad4e3;font-size: 15px;;\" aria-haspopup=\"true\"\n aria-expanded=\"false\" />\n \n
\n
\n \n
\n
\n
\n
\n
\n\n
\n
\n
\n
\n

Confirmation

\n \n
\n
\n

Are you sure you want to charge.

\n
\n
\n \n \n
\n
\n
\n
\n\n
\n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n\n \n \n
A/c Link NameAccountSweep DateCharge TypeChargesCharge StatusWaive-Off Status
{{sweepcharge.AclinkName}}{{sweepcharge.FromAccountName}} -\n {{sweepcharge.FromAccountNumber}}{{sweepcharge.CreatedDate | date:'mediumDate'}}{{sweepcharge.ChargeType}}{{sweepcharge.charges}}{{sweepcharge.chargeStatus}}{{sweepcharge.WaiveStatus}}
\n
\n\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n\n \n
Transaction IDFrom AccountTo AccountBalance TransferDate of TransactionChargesCharge StatusWaive-Off Status
{{sweepcharge.TransactionId}}{{sweepcharge.FromAccountName}} -\n {{sweepcharge.FromAccountNumber}}{{sweepcharge.ToAccountName}} -\n {{sweepcharge.ToAccountNumber}}{{sweepcharge.BalanceTransfer}}{{sweepcharge.CreatedDate | date:'medium'}}{{sweepcharge.charges}}{{sweepcharge.chargeStatus}}{{sweepcharge.WaiveStatus}}
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n
A/c Link NameAccountSweep DateCharge TypeNo. Of TransactionChargesCharge StatusWaive-Off Status
{{sweepcharge.AclinkName}}{{sweepcharge.FromAccountName}} -\n {{sweepcharge.FromAccountNumber}}{{sweepcharge.CreatedDate | date:'mediumDate'}}{{sweepcharge.ChargeType}}{{sweepcharge.TransactionCount}}{{sweepcharge.charges}}{{sweepcharge.chargeStatus}}{{sweepcharge.WaiveStatus}}
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n
A/c Link NameAccountSweep MonthCharge TypeNo. Of TransactionChargesCharge StatusWaive-Off Status
{{sweepcharge.AclinkName}}{{sweepcharge.FromAccountName}} -\n {{sweepcharge.FromAccountNumber}}{{sweepcharge.SweepMonth}}{{sweepcharge.ChargeType}}{{sweepcharge.TransactionCount}}{{sweepcharge.charges}}{{sweepcharge.chargeStatus}}{{sweepcharge.WaiveStatus}}
\n
\n\n\n\n\n
\n
\n
\n
\n

Confirmation

\n \n
\n
\n

Are you sure you want to Waive off the charges?

\n\n \n \n\n\n \n
\n
\n \n \n\n \n
\n
\n
\n
\n
\n
\n
\n
\n

Confirmation

\n \n
\n
\n

Are you sure you want to send the Waive off request ?

\n \n
\n
\n \n \n\n \n
\n
\n
\n
\n\n
\n
\n
\n
\n

Confirmation

\n \n
\n
\n

Are you sure you want to send the charges request ?

\n \n
\n
\n \n \n\n
\n
\n
\n
\n\n
\n
\n
\n
\n

Confirmation

\n \n
\n
\n

Are you sure you want to charge?

\n\n\n\n \n
\n
\n \n \n\n \n
\n
\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { FormGroup, FormControl, NgForm,FormBuilder } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { UserService } from '../../MasterService/user.service';\nimport * as XLSX from 'xlsx';\nimport { CustomerService } from 'src/app/MasterService/customer.service';\nimport { BranchService } from 'src/app/MasterService/branch.service';\nimport { Console } from 'console';\nimport { NgxSpinnerService } from 'ngx-spinner';\nimport { Constants } from 'src/app/Common/constant';\n\n@Component({\n selector: 'app-branch-bulk-upload',\n templateUrl: './branch-bulk-upload.component.html',\n styleUrls: ['./branch-bulk-upload.component.css'],\n})\nexport class BranchBulkUploadComponent implements OnInit {\n uploadForm: FormGroup;\n lblMessage: string;\n lblSuccessDetails: string;\n file: any;\n arrayBuffer: any;\n filelist: any;\n showMsg: boolean;\n showerrormsg: boolean;\n disableButton: boolean = true;\n ErrorList: any = [];\n Message: any;\n splitResult: any;\n showOrangemsg: boolean;\n splitresult: any;\n newsplitresult: any;\n viewresult: any;\n IsValid: boolean;\n sbresult: string;\n rowNumber: number;\n filename: string;\n\n headerArrayList: any;\n headerColumns: any;\n IsMaxFileSize: boolean;\n ErrorMessage: string;\n headerColumnsArrays: any;\n FileValid: boolean = true;\n errorFileURL:string;\n uploadList: any[];\n config:any;\n \n constructor(\n private router: Router,\n private _branchservice: BranchService,\n public _spinner: NgxSpinnerService,\n private formBuilder: FormBuilder\n ) {}\n\n ngOnInit(): void {\n this.disableButton = true;\n this.uploadForm = this.formBuilder.group({\n profile: [''],\n });\n\n this.config = {\n itemsPerPage: 10,\n currentPage: 1,\n };\n\n this.errorFileURL=Constants.tokenURL;\n this._branchservice\n .GetAndInsertImportFileData('',localStorage.getItem('LoginUserId')).subscribe((data) => {\n console.log(data);\n this.uploadList = data;\n for(var i=0;i 0) {\n const file = event.target.files[0];\n this.uploadForm.get('profile').setValue(file);\n }\n }\n\n\n addfile(event) {\n this._spinner.show();\n this.disableButton = true;\n this.ErrorMessage = '';\n this.lblMessage = ' Please select valid file';\n this.showMsg = false;\n this.showerrormsg = false;\n this.showOrangemsg = false;\n this.viewresult = '';\n\n\n this.file = event.target.files[0];\n this.filename = this.file.name;\n let fileReader = new FileReader();\n fileReader.readAsArrayBuffer(this.file);\n\n // if (this.filename == \"UploadBranch (1).xlsx\")\n // this.filename = \"UploadBranch.xlsx\";\n // if (this.filename == \"UploadBranch (2).xlsx\")\n // this.filename = \"UploadBranch.xlsx\";\n // if (this.filename == \"UploadBranch (3).xlsx\")\n // this.filename = \"UploadBranch.xlsx\";\n\n fileReader.onload = (e) => {\n this.arrayBuffer = fileReader.result;\n var data = new Uint8Array(this.arrayBuffer);\n var arr = new Array();\n for (var i = 0; i != data.length; ++i)\n arr[i] = String.fromCharCode(data[i]);\n var bstr = arr.join('');\n var workbook = XLSX.read(bstr, { type: 'binary' });\n var first_sheet_name = workbook.SheetNames[0];\n var worksheet = workbook.Sheets[first_sheet_name];\n var arraylist = XLSX.utils.sheet_to_json(worksheet, { raw: true });\n this.headerArrayList = XLSX.utils.sheet_to_json(worksheet, { header: 1 });\n this.headerColumns = this.headerArrayList[0].toString();\n var ExcelHeader = this.headerColumns.split(',');\n this.headerColumnsArrays = ExcelHeader;\n if (\n this.headerColumnsArrays[0] != 'CorrespondentBank' ||\n this.headerColumnsArrays[1] != 'BankName' ||\n this.headerColumnsArrays[2] != 'BranchCode' ||\n this.headerColumnsArrays[3] != 'BranchName' ||\n this.headerColumnsArrays[4] != 'BICCode' ||\n this.headerColumnsArrays[5] != 'IFSCCode' ||\n this.headerColumnsArrays[6] != 'MICRCode' ||\n this.headerColumnsArrays[7] != 'Address1' ||\n this.headerColumnsArrays[8] != 'Address2' ||\n this.headerColumnsArrays[9] != 'Country' ||\n this.headerColumnsArrays[10] != 'State' ||\n this.headerColumnsArrays[11] != 'City'\n ) {\n this.FileValid = false;\n this.showerrormsg = true;\n this.lblMessage = ' Please select valid file';\n } else {\n this.FileValid = true;\n }\n\n if (arraylist.length > 0) {\n this.disableButton = false;\n }\n\n if (this.file.size > 4194304) {\n this.IsMaxFileSize = true;\n this.disableButton = true;\n this.ErrorMessage = ' Maximum file size should be 4MB.';\n }\n this.filelist = arraylist;\n };\n setTimeout(() => {\n this._spinner.hide();\n }, 500);\n }\n\n onSubmit(form: NgForm) {\n debugger;\n this._spinner.show();\n if (this.filelist.length > 0) {\n this.rowNumber = 1;\n this.sbresult = '';\n if (this.FileValid == true) {\n\n this.IsValid=true;\n // this.filelist.forEach((element, index) => {\n // debugger;\n // this.rowNumber = this.rowNumber + 1;\n // this.IsValid = true;\n\n // if (element['CorrespondentBank'] == undefined) {\n // this.IsValid = false;\n // this.sbresult +=\n // this.rowNumber + ' Correspondent bank is required.
';\n // }\n\n // if (element['CorrespondentBank'] != undefined) {\n // if (\n // element['CorrespondentBank'].toString().toLowerCase() === 'yes' ||\n // element['CorrespondentBank'].toString().toLowerCase() === 'no'\n // ) {\n // if (\n // element['CorrespondentBank'].toString().toLowerCase() === 'no'\n // ) {\n // if (element['BankName'] == undefined) {\n // this.IsValid = false;\n // this.sbresult +=\n // this.rowNumber + ' BankName is required.
';\n // }\n\n // if (element['BankName'] != undefined) {\n // if (\n // element['BankName'].toString().toLowerCase() != 'idbi bank'\n // ) {\n // this.IsValid = false;\n // this.sbresult +=\n // this.rowNumber +\n // ' If Correspondent Bank is NO then Bank Name should be IDBI Bank.
';\n // }\n // }\n // }\n\n // if (\n // element['CorrespondentBank'].toString().toLowerCase() === 'yes'\n // ) {\n // if (element['BankName'] == undefined) {\n // this.IsValid = false;\n // this.sbresult +=\n // this.rowNumber + ' BankName is required.
';\n // }\n\n // if (element['BankName'] != undefined) {\n // if (\n // element['BankName'].toString().toLowerCase() === 'idbi bank'\n // ) {\n // this.IsValid = false;\n // this.sbresult +=\n // this.rowNumber +\n // ' If Correspondent Bank is YES then Bank Name should not be IDBI Bank.
';\n // }\n // }\n // }\n // } else {\n // this.IsValid = false;\n // this.sbresult +=\n // this.rowNumber +\n // ' Correspondent Bank Type does not belong to the table.
';\n // }\n // }\n\n // if (element['BranchCode'] == undefined) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + ' Branch Code is required.
';\n // }\n\n // if (element['BranchName'] == undefined) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + ' Branch Name is required.
';\n // }\n\n // // if (element[\"BICCode\"] != undefined) {\n // // var regBIC = /^[a-z]{6}[0-9a-z]{2}([0-9a-z]{3})?\\z/i;\n // // var txtBIC = regBIC.test(element[\"BICCode\"]);\n // // if (!txtBIC) {\n // // this.IsValid = false;\n // // this.sbresult += this.rowNumber + \" BIC Code must be in Correct Format.
\";\n // // }\n // // }\n\n // if (element['IFSCCode'] == undefined) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + ' IFSC Code is required.
';\n // }\n\n // if (element['IFSCCode'] != undefined) {\n // var reg = /^[A-Za-z]{4}[0-9]{6,7}$/;\n // var txtIFSC = reg.test(element['IFSCCode']);\n // if (!txtIFSC) {\n // this.IsValid = false;\n // this.sbresult +=\n // this.rowNumber + ' IFSC Code must be in Correct Format.
';\n // }\n // }\n\n // // if (element[\"MICRCode\"] == undefined) {\n // // this.IsValid = false;\n // // this.sbresult += this.rowNumber + \" Status is required.
\";\n // // }\n\n // if (element['Country'] == undefined) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + ' Country is required.
';\n // }\n\n // if (element['State'] == undefined) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + ' State is required.
';\n // }\n\n // if (element['City'] == undefined) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + ' City is required.
';\n // }\n // });\n\n if (this.IsValid) {\n const formData = new FormData();\n formData.append('file', this.uploadForm.get('profile').value);\n this._branchservice.fnUploadFile(formData).subscribe((res) => { \n if (res != null) { \n this._branchservice\n .GetAndInsertImportFileData(res,localStorage.getItem('LoginUserId'))\n .subscribe((data) => { \n this.uploadList = data;\n\n for(var i=0;i {\n // debugger;\n\n // this.splitresult = res.m_StringValue.split(',
');\n // this.newsplitresult = this.splitresult[0].split(',@');\n\n // if (this.newsplitresult[0] == 'Red') {\n // this.lblMessage = this.newsplitresult[1];\n // this.Message = this.splitresult[1];\n // this.showerrormsg = true;\n // this.showMsg = false;\n // this.showOrangemsg = false;\n // } else if (this.newsplitresult[0] == 'Green') {\n // this.lblMessage = this.newsplitresult[1];\n // this.Message = '';\n // this.showerrormsg = false;\n // this.showMsg = true;\n // this.showOrangemsg = false;\n // } else if (this.newsplitresult[0] == 'Orange') {\n // this.lblMessage = this.newsplitresult[1];\n // this.Message = this.splitresult[1];\n // this.showerrormsg = false;\n // this.showMsg = false;\n // this.showOrangemsg = true;\n // }\n\n // this.onTop();\n // });\n } else {\n this.Message = '';\n this.Message = 'Import Summary
' + this.sbresult;\n }\n }\n } else {\n this.lblMessage = \"Please upload valid file\";\n this.showerrormsg = true;\n this.showMsg = false;\n this.showOrangemsg = false;\n }\n setTimeout(() => {\n this._spinner.hide();\n }, 500);\n }\n\n BackButton() {\n this.router.navigate(['/ManageBranchMaster']);\n }\n\n onTop() {\n window.scroll({\n top: 0,\n left: 0,\n behavior: 'smooth',\n });\n }\n\n showlbl() {\n this.showMsg = true;\n }\n hidelbl() {\n this.showMsg = false;\n }\n\n showerror() {\n this.showerrormsg = true;\n }\n hideerror() {\n this.showerrormsg = false;\n }\n\n showOrangeerror() {\n this.showOrangemsg = true;\n }\n hideOrangeerror() {\n this.showOrangemsg = false;\n }\n}\n","
\n
\n
\n
\n \n
\n
\n \n
\n
\n

\n Upload Branch\n

\n
\n
\n
\n
\n\n \n
\n \n

\n * Marked Fields Are Mandatory.\n

\n
\n \n
\n\n \n\n \n ×\n {{ lblMessage }}.\n
\n
\n
\n \n\n
\n
\n
\n
\n
\n\n
\n \n
\n\n
\n \n
\n
\n
\n
\n
\n
\n \n {{ ErrorMessage }}\n \n \n
\n
\n \n \n \n Import File Name\n Uploaded Date\n Uploaded By\n Status \n Results/Comments \n \n \n \n \n {{ upload.originalFileName }}\n {{ upload.CREATEDDATE }}\n {{ upload.USERNAME }}\n {{ upload.STATUS }}\n \n Error Log\n \n {{ upload.TOTALRECORDS }} Records\n \n \n No records found.\n \n \n \n\n
\n
\n \n
\n\n
\n \n
\n
\n\n
\n
\n \n \n \n \n\n\n\n","import { Component, OnInit } from '@angular/core';\nimport { FormGroup, FormControl, NgForm } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { UserService } from '../../MasterService/user.service';\nimport * as XLSX from 'xlsx'; \nimport { CustomerService } from 'src/app/MasterService/customer.service';\nimport { NgxSpinnerService } from 'ngx-spinner';\nimport { Constants } from 'src/app/Common/constant';\nimport { FormBuilder } from '@angular/forms';\n\n\n@Component({\n selector: 'app-customerbulkupload',\n templateUrl: './customerbulkupload.component.html',\n styleUrls: ['./customerbulkupload.component.css']\n})\nexport class CustomerbulkuploadComponent implements OnInit {\n\n lblMessage:string;\n file:any;\n arrayBuffer:any;\n filelist:any;\n showMsg: boolean;\n showerrormsg: boolean;\n showOrangeerrormsg: boolean;\n disableButton:boolean = true;\n viewresult:any;\n splitresult:any;\n newsplitresult:any;\n headerArrayList:any;\n headerColumns:any;\n IsValid:boolean;\n sbresult:string;\n rowNumber:number;\n IsMaxFileSize: boolean;\n ErrorMessage: string;\n headerColumnsArrays: any;\n FileValid: boolean=true;\n uploadForm: FormGroup;\n uploadList: any[];\n errorFileURL:string;\n config:any;\n\n constructor(private router: Router,private _customerservice:CustomerService,public _spinner:NgxSpinnerService,\n private formBuilder: FormBuilder) { }\n\n ngOnInit(): void { \n this.disableButton = true;\n this.uploadForm = this.formBuilder.group({\n profile: [''],\n });\n\n this.config = {\n itemsPerPage: 10,\n currentPage: 1,\n };\n \n this.errorFileURL=Constants.tokenURL;\n this._customerservice\n .GetAndInsertImportFileData('',localStorage.getItem('LoginUserId'))\n .subscribe((data) => {\n console.log(data);\n this.uploadList = data;\n for(var i=0;i 0) {\n const file = event.target.files[0];\n this.uploadForm.get('profile').setValue(file);\n }\n }\n\n addfile(event) \n {\n this._spinner.show();\n this.disableButton = true;\n this.ErrorMessage=\"\";\n this.showerrormsg=false;\n this.lblMessage = \"\";\n\n debugger\n this.showMsg = false;\n this.showerrormsg = false;\n this.showOrangeerrormsg = false;\n this.viewresult = \"\";\n\n this.file= event.target.files[0]; \n let fileReader = new FileReader(); \n fileReader.readAsArrayBuffer(this.file); \n fileReader.onload = (e) => { \n this.arrayBuffer = fileReader.result; \n var data = new Uint8Array(this.arrayBuffer); \n var arr = new Array(); \n for(var i = 0; i != data.length; ++i) arr[i] = String.fromCharCode(data[i]); \n var bstr = arr.join(\"\"); \n var workbook = XLSX.read(bstr, {type:\"binary\"}); \n var first_sheet_name = workbook.SheetNames[0]; \n var worksheet = workbook.Sheets[first_sheet_name]; \n var arraylist = XLSX.utils.sheet_to_json(worksheet,{raw:true}); \n this.headerArrayList = XLSX.utils.sheet_to_json(worksheet, { header: 1 });\n this.headerColumns = this.headerArrayList[0].toString();\n var ExcelHeader = this.headerColumns.split(',');\n this.headerColumnsArrays=ExcelHeader;\n if ((this.headerColumnsArrays[0] != \"CustomerId\") || (this.headerColumnsArrays[1] != \"CustomerName\") || (this.headerColumnsArrays[2] != \"CorporationCode\") \n || (this.headerColumnsArrays[3] != \"DateOfEstablishment\") || (this.headerColumnsArrays[4] != \"ContactPerson\") || (this.headerColumnsArrays[5]!= \"MobileNumber\")\n || (this.headerColumnsArrays[6] != \"Email\") || (this.headerColumnsArrays[7] != \"Address1\") || (this.headerColumnsArrays[8] != \"Address2\")\n || (this.headerColumnsArrays[9] != \"Country\") || (this.headerColumnsArrays[10] != \"State\") || (this.headerColumnsArrays[11] != \"City\")\n || (this.headerColumnsArrays[12] != \"ZipCode\") || (this.headerColumnsArrays[13] != \"Description\") ){\n this.FileValid = false;\n this.showerrormsg=true;\n this.lblMessage = \" Please select valid file\";\n }\n else{\n this.FileValid = true;\n }\n if(arraylist.length>0 && this.FileValid ==true)\n {\n this.disableButton = false;\n } \n if(this.file.size > 4194304){\n this.IsMaxFileSize=true;\n this.disableButton = true;\n this.ErrorMessage=\" Maximum file size should be 4MB.\"\n } \n this.filelist = arraylist; \n setTimeout(() => {\n this._spinner.hide(); \n }, 500);\n \n } \n}\n\nonSubmit(form: NgForm) {\n debugger;\n this._spinner.show();\n if (this.filelist.length > 0) { \n\n this.rowNumber = 1;this.sbresult = \"\";\n \n if( this.FileValid==true){\n this.IsValid = true;\n\n // this.filelist.forEach((element,index) => {\n // debugger;\n // this.rowNumber = this.rowNumber + 1;\n // this.IsValid = true;\n\n // if (element[\"CustomerId\"] == undefined) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + \" Customer Id is required.
\";\n // }\n\n // if (element[\"CustomerName\"] == undefined) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + \" Customer Name is required.
\";\n // }\n\n // if (element[\"CorporationCode\"] == undefined) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + \" Corporation Code is required.
\";\n // }\n\n // if (element[\"DateOfEstablishment\"] == undefined) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + \" Date Of Establishment is required.
\";\n // }\n\n // if (element[\"DateOfEstablishment\"] != undefined) {\n // var regex = new RegExp(\"([0-9]{4}[-](0[1-9]|1[0-2])[-]([0-2]{1}[0-9]{1}|3[0-1]{1})|([0-2]{1}[0-9]{1}|3[0-1]{1})[-](0[1-9]|1[0-2])[-][0-9]{4})\");\n // var dateOk = regex.test(element[\"DateOfEstablishment\"]);\n // if(!dateOk){\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + \" Date Of Establishment provided is not in the DD-MM-YYYY Format.
\";\n // }\n // }\n\n // if (element[\"ContactPerson\"] == undefined) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + \" Contact Person is required.
\";\n // }\n\n // if (element[\"MobileNumber\"] == undefined) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + \" Mobile Number is required.
\";\n // }\n\n // if (element[\"MobileNumber\"] != undefined) {\n // var mob = /^[1-9]{1}[0-9]{9}$/;\n // var txtMobile = mob.test(element[\"MobileNumber\"]);\n // if (!txtMobile) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + \" Mobile Number must be 10 digits.
\";\n // }\n // }\n\n // if (element[\"Email\"] == undefined) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + \" Email Id is required.
\";\n // }\n\n // if (element[\"Email\"] != undefined) {\n // //var reg = /^([A-Za-z0-9_\\-\\.])+\\@([A-Za-z0-9_\\-\\.])+\\.([A-Za-z]{2,4})$/;\n // var reg = /^[a-zA-Z0-9\\-_]+(\\.[a-zA-Z0-9\\-_]+)*@[a-z0-9]+(\\-[a-z0-9]+)*(\\.[a-z0-9]+(\\-[a-z0-9]+)*)*\\.[a-z]{2,4}$/;\n // var IsValidEmail = reg.test(element[\"Email\"].toLowerCase());\n // if (!IsValidEmail) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + \" Email must be in Correct Format.
\";\n // }\n // }\n\n // if (element[\"Address1\"] == undefined) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + \" Address1 is required.
\";\n // }\n\n // if (element[\"Country\"] == undefined) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + \" Country is required.
\";\n // }\n\n // if (element[\"State\"] == undefined) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + \" State is required.
\";\n // }\n\n // if (element[\"City\"] == undefined) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + \" City is required.
\";\n // }\n\n // if (element[\"ZipCode\"] == undefined) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + \" ZipCode is required.
\";\n // }\n\n // // if (element[\"Status\"] == undefined) {\n // // this.IsValid = false;\n // // this.sbresult += this.rowNumber + \" Status is required.
\";\n // // }\n\n // // if (element[\"Status\"] == undefined) {\n // // this.IsValid = false;\n // // this.sbresult += this.rowNumber + \" Status is required.
\";\n // // }\n\n // // if (element[\"Status\"] == undefined) {\n // // this.IsValid = false;\n // // this.sbresult += this.rowNumber + \" Status is required.
\";\n // // }\n\n // });\n\n if (this.IsValid) {\n const formData = new FormData();\n formData.append('file', this.uploadForm.get('profile').value);\n this._customerservice.fnUploadFile(formData).subscribe((res) => { \n if (res != null) { \n this._customerservice\n .GetAndInsertImportFileData(res,localStorage.getItem('LoginUserId'))\n .subscribe((data) => { \n this.uploadList = data;\n for(var i=0;i{\n // debugger;\n \n // this.splitresult = res.m_StringValue.split(\",
\")\n // this.newsplitresult = this.splitresult[0].split(\",@\");\n \n // if (this.newsplitresult[0] == \"Red\") {\n // this.lblMessage = this.newsplitresult[1];\n // this.viewresult = this.splitresult[1];\n // this.showerrormsg = true;\n // this.showMsg = false;\n // this.showOrangeerrormsg = false;\n // }\n // if (this.newsplitresult[0] == \"Green\") {\n // this.lblMessage = this.newsplitresult[1];\n // this.viewresult = \"\";\n // this.showerrormsg = false;\n // this.showOrangeerrormsg = false;\n // this.showMsg = true;\n // }\n // if (this.newsplitresult[0] == \"Orange\") {\n // this.lblMessage = this.newsplitresult[1];\n // this.viewresult = this.splitresult[1];\n // this.showerrormsg = false;\n // this.showMsg = false;\n // this.showOrangeerrormsg = true;\n // }\n \n // this.onTop();\n // });\n\n }\n else {\n this.viewresult = \"\";\n this.viewresult = \"Import Summary
\" + this.sbresult;\n }\n }\n}\nelse{\n this.lblMessage = \"Please upload valid file\";\n this.showerrormsg = true;\n this.showMsg = false;\n this.showOrangeerrormsg = false;\n}\nsetTimeout(() => {\n this._spinner.hide(); \n}, 500);\n\n}\n\n BackButton() {\n this.router.navigate(['/ManageCustomer']);\n }\n\n onTop() {\n window.scroll({\n top: 0,\n left: 0,\n behavior: 'smooth'\n })\n }\n\n showlbl() {\n this.showMsg = true;\n }\n hidelbl() {\n this.showMsg = false;\n }\n\n showerror() {\n this.showerrormsg = true;\n }\n hideerror() {\n this.showerrormsg = false;\n }\n showOrangeerror() {\n this.showOrangeerrormsg = true;\n }\n hideOrangeerror() {\n this.showOrangeerrormsg = false;\n }\n\n\n}\n","
\n
\n
\n
\n
\n
\n
\n \n
\n
\n

Upload Customer

\n
\n
\n
\n
\n
\n \n\n
\n \n \n \n
\n
\n
\n ×\n Success! {{lblMessage}}.\n
\n\n
\n ×\n Failed! {{lblMessage}}.\n
\n\n
\n ×\n {{lblMessage}}.\n
\n\n
\n
\n\n
\n \n
\n
\n
\n \n
\n\n
\n \n
\n\n
\n \n
\n
\n
\n
\n\n
\n
\n \n
\n {{ErrorMessage}}\n
\n
\n
\n
\n
\n \n \n \n Import File Name\n Uploaded Date\n Uploaded By\n Status \n Results/Comments \n \n \n \n \n {{ upload.originalFileName }}\n {{ upload.CREATEDDATE }}\n {{ upload.USERNAME }}\n {{ upload.STATUS }}\n \n Error Log\n \n {{ upload.TOTALRECORDS }} Records \n \n \n \n No records found.\n \n \n \n\n
\n\n
\n \n
\n \n
\n \n
\n\n
\n
\n
\n
\n
\n
\n
\n
\n \n","import { Component, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { FormBuilder, FormGroup, NgForm } from '@angular/forms';\nimport * as XLSX from 'xlsx'; \nimport { HolidayService } from 'src/app/MasterService/Holiday.service';\nimport { NgxSpinnerService } from 'ngx-spinner';\nimport { Constants } from 'src/app/Common/constant';\n\n@Component({\n selector: 'app-holidaybulk-upload',\n templateUrl: './holidaybulk-upload.component.html',\n styleUrls: ['./holidaybulk-upload.component.css']\n})\nexport class HolidaybulkUploadComponent implements OnInit {\n uploadForm: FormGroup;\n IsMaxFileSize: boolean;\n ErrorMessage: string;\n headerColumnsArrays: any;\n FileValid: boolean=true;\n lblMessage:string;\n file:any;\n arrayBuffer:any;\n filelist:any;\n showMsg: boolean;\n showerrormsg: boolean;\n disableButton:boolean = true;\n\n ErrorList:any=[];\n Message:any;\n splitResult:any;\n showOrangemsg:boolean;\n splitresult:any;\n newsplitresult:any;\n viewresult:any;\n\n headerArrayList:any;\n headerColumns:any;\n IsValid:boolean;\n sbresult:string;\n rowNumber:number;\n errorFileURL:string;\n uploadList: any[];\n config:any;\n\n constructor(private router: Router,public _holidayService: HolidayService,public _spinner:NgxSpinnerService,private formBuilder: FormBuilder) { }\n\n ngOnInit(): void {\n this.disableButton = true;\n\n this.uploadForm = this.formBuilder.group({\n profile: [''],\n });\n\n this.config = {\n itemsPerPage: 10,\n currentPage: 1,\n };\n \n this.errorFileURL = Constants.tokenURL;\n\n this._holidayService.GetAndInsertImportFileData('',localStorage.getItem('LoginUserId')).subscribe((data) => {\n this.uploadList = data;\n console.log(data);\n\n for(var i=0;i 0) {\n const file = event.target.files[0];\n this.uploadForm.get('profile').setValue(file);\n }\n }\n\n addfile(event){\n this._spinner.show();\n this.disableButton = true;\n this.ErrorMessage=\"\";\n this.showerrormsg=false;\n this.lblMessage = \"\";\n\n debugger; \n this.file= event.target.files[0]; \n let fileReader = new FileReader(); \n fileReader.readAsArrayBuffer(this.file); \n\n fileReader.onload = (e) => { \n this.arrayBuffer = fileReader.result; \n var data = new Uint8Array(this.arrayBuffer); \n var arr = new Array(); \n for(var i = 0; i != data.length; ++i) arr[i] = String.fromCharCode(data[i]); \n var bstr = arr.join(\"\"); \n var workbook = XLSX.read(bstr, {type:\"binary\"}); \n var first_sheet_name = workbook.SheetNames[0]; \n var worksheet = workbook.Sheets[first_sheet_name]; \n var arraylist = XLSX.utils.sheet_to_json(worksheet,{raw:true}); \n this.headerArrayList = XLSX.utils.sheet_to_json(worksheet, { header: 1 });\n this.headerColumns = this.headerArrayList[0].toString();\n var ExcelHeader = this.headerColumns.split(',');\n this.headerColumnsArrays=ExcelHeader;\n\n if ((this.headerColumnsArrays[0] != \"CorrespondentBank\") || (this.headerColumnsArrays[1] != \"BankName\") || (this.headerColumnsArrays[2] != \"BranchName\") \n || (this.headerColumnsArrays[3] != \"BranchCode\") || (this.headerColumnsArrays[4] != \"Leave\") || (this.headerColumnsArrays[5]!= \"Date\")\n || (this.headerColumnsArrays[6] != \"HolidayType\") || (this.headerColumnsArrays[7] != \"Holiday\") || (this.headerColumnsArrays[8] != \"DateFrom\")\n || (this.headerColumnsArrays[9] != \"DateTo\") || (this.headerColumnsArrays[10] != \"NoDays\") || (this.headerColumnsArrays[11] != \"IsHolidayWorking\")\n || (this.headerColumnsArrays[12] != \"Country\") || (this.headerColumnsArrays[13] != \"State\") && (this.headerColumnsArrays[14] != \"City\") ){\n this.FileValid = false;\n this.showerrormsg=true;\n this.lblMessage = \" Please select valid file\";\n }\n else{\n this.FileValid =true;\n }\n \n if(arraylist.length > 0 && this.FileValid ==true){\n this.disableButton = false;\n }\n\n if(this.file.size > 4194304){\n this.IsMaxFileSize=true;\n this.disableButton = true;\n this.ErrorMessage=\" Maximum file size should be 4MB.\"\n } \n this.filelist = arraylist; \n setTimeout(() => {\n this._spinner.hide(); \n }, 500);\n } \n }\n\n onSubmit(form: NgForm) {\n this._spinner.show();\n debugger;\n if (this.filelist.length > 0) { \n\n this.rowNumber = 1;this.sbresult = \"\";\n \n if(this.FileValid == true){\n this.IsValid = true;\n // this.filelist.forEach((element,index) => {\n // debugger;\n // this.rowNumber = this.rowNumber + 1;\n // this.IsValid = true;\n\n // if (element[\"CorrespondentBank\"] == undefined) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + \" Correspondent Bank is required.
\";\n // }\n\n // if (element[\"CorrespondentBank\"] != undefined) {\n\n // if (element[\"CorrespondentBank\"].toString().toLowerCase() === \"yes\" || element[\"CorrespondentBank\"].toString().toLowerCase() === \"no\") {\n\n // if (element[\"CorrespondentBank\"].toString().toLowerCase() === \"no\") {\n\n // if (element[\"BankName\"] == undefined) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + \" BankName is required.
\";\n // }\n\n // if (element[\"BankName\"] != undefined) {\n\n // if (element[\"BankName\"].toString().toLowerCase() != \"idbi bank\") {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + \" If Correspondent Bank is NO then Bank Name should be IDBI Bank.
\";\n // }\n // }\n\n // }\n\n // if (element[\"CorrespondentBank\"].toString().toLowerCase() === \"yes\") {\n\n // if (element[\"BankName\"] == undefined) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + \" BankName is required.
\";\n // }\n\n // if (element[\"BankName\"] != undefined) {\n\n // if (element[\"BankName\"].toString().toLowerCase() === \"idbi bank\") {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + \" If Correspondent Bank is YES then Bank Name should not be IDBI Bank.
\";\n // }\n\n // }\n\n // }\n\n // }\n // else{\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + \" Correspondent Bank Type does not belong to the table.
\";\n // }\n\n // }\n\n // if (element[\"BranchName\"] == undefined) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + \" BranchName is required.
\";\n // }\n\n // if (element[\"BranchCode\"] == undefined) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + \" Branch Code is required.
\";\n // }\n\n // if (element[\"Leave\"] == undefined) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + \" Leave is required.
\";\n // }\n\n // if (element[\"Leave\"] != undefined) {\n\n // if (element[\"Leave\"].toString().toLowerCase() === \"single\" || element[\"Leave\"].toString().toLowerCase() === \"multiple\"){\n\n // if (element[\"Leave\"].toString().toLowerCase() === \"single\") {\n\n // if (element[\"Date\"] == undefined) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + \" Date is required.
\";\n // }\n\n // if (element[\"Date\"] != undefined) {\n // var regex = new RegExp(\"([0-9]{4}[-](0[1-9]|1[0-2])[-]([0-2]{1}[0-9]{1}|3[0-1]{1})|([0-2]{1}[0-9]{1}|3[0-1]{1})[-](0[1-9]|1[0-2])[-][0-9]{4})\");\n // var dateOk = regex.test(element[\"Date\"]);\n // if (!dateOk) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + \" Date provided is not in the DD-MM-YYYY Format.
\"; \n // }\n // }\n\n // if (element[\"DateFrom\"] != undefined && element[\"DateTo\"] != undefined) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + \" If Leave type is Single then FromDate and ToDate is not required.
\";\n // }\n\n // }\n\n // if(element[\"Leave\"].toString().toLowerCase() === \"multiple\"){\n\n // if (element[\"DateFrom\"] == undefined) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + \" FromDate is required.
\";\n // }\n\n // if (element[\"DateFrom\"] != undefined) {\n // var regex = new RegExp(\"([0-9]{4}[-](0[1-9]|1[0-2])[-]([0-2]{1}[0-9]{1}|3[0-1]{1})|([0-2]{1}[0-9]{1}|3[0-1]{1})[-](0[1-9]|1[0-2])[-][0-9]{4})\");\n // var dateOk = regex.test(element[\"DateFrom\"]);\n // if (!dateOk) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + \" DateFrom provided is not in the DD-MM-YYYY Format.
\"; \n // }\n // }\n\n // if (element[\"DateTo\"] == undefined) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + \" DateTo is required.
\";\n // }\n\n // if (element[\"DateTo\"] != undefined) {\n // var regex = new RegExp(\"([0-9]{4}[-](0[1-9]|1[0-2])[-]([0-2]{1}[0-9]{1}|3[0-1]{1})|([0-2]{1}[0-9]{1}|3[0-1]{1})[-](0[1-9]|1[0-2])[-][0-9]{4})\");\n // var dateOk = regex.test(element[\"DateTo\"]);\n // if (!dateOk) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + \" DateTo provided is not in the DD-MM-YYYY Format.
\"; \n // }\n // }\n\n // if (element[\"Date\"] != undefined) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + \" If Leave is Multiple then Date is not required.
\";\n // }\n\n // } \n // }\n // else{\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + \" Leave does not belong to the table.
\";\n // }\n // }\n\n // if (element[\"HolidayType\"] == undefined) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + \" HolidayType is required.
\";\n // }\n\n // if (element[\"Holiday\"] == undefined) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + \" Holiday is required.
\";\n // }\n\n // if (element[\"IsHolidayWorking\"] == undefined) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + \" IsHolidayWorking is required.
\";\n // }\n\n // if (element[\"IsHolidayWorking\"] != undefined) {\n\n // if (element[\"IsHolidayWorking\"].toString().toLowerCase() === \"yes\" || element[\"IsHolidayWorking\"].toString().toLowerCase() === \"no\") {\n\n // if (element[\"IsHolidayWorking\"].toString().toLowerCase() === \"no\") {\n // }\n\n // if (element[\"IsHolidayWorking\"].toString().toLowerCase() === \"yes\") {\n // }\n\n // }\n // else{\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + \" IsHolidayWorking Type does not belong to the table.
\";\n // }\n\n // }\n\n // if (element[\"Country\"] == undefined) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + \" Country is required.
\";\n // }\n\n // if (element[\"State\"] == undefined) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + \" State is required.
\";\n // }\n\n // if (element[\"City\"] == undefined) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + \" City is required.
\";\n // }\n\n // });\n\n if (this.IsValid) {\n this._holidayService.fnUploadHoliay(this.filelist,this.headerColumns,localStorage.getItem('LoginUserId')).subscribe(res=>{\n this.splitResult = res.m_StringValue.split(\",
\")\n if (this.splitResult[0] == \"Red\") {\n this.lblMessage = this.splitResult[1];\n this.Message = this.splitResult[2];\n this.showerrormsg = true;\n this.showMsg = false;\n this.showOrangemsg = false;\n }\n else if (this.splitResult[0] == \"Green\") {\n this.lblMessage = this.splitResult[1];\n this.Message = \"\";\n this.showerrormsg = false;\n this.showMsg = true;\n this.showOrangemsg = false;\n }\n else if (this.splitResult[0] == \"Orange\") {\n this.lblMessage = this.splitResult[1];\n this.Message = this.splitResult[2];\n this.showerrormsg = false;\n this.showMsg = false;\n this.showOrangemsg = true;\n }\n });\n \n // const formData = new FormData();\n // formData.append('file', this.uploadForm.get('profile').value);\n // this._holidayService.fnUploadFile(formData).subscribe((res) => { \n // if (res != null) { \n // this._holidayService.GetAndInsertImportFileData(res,localStorage.getItem('LoginUserId')).subscribe((data) => { \n // this.uploadList = data;\n \n // for(var i=0;iImport Summary
\" + this.sbresult;\n }\n }\n }\n else{\n this.lblMessage = \"Please upload valid file\";\n this.showerrormsg = true;\n this.showMsg = false;\n this.showOrangemsg = false;\n}\n setTimeout(() => {this._spinner.hide();}, 500);\n}\n\n onTop() {\n window.scroll({\n top: 0,\n left: 0,\n behavior: 'smooth'\n })\n }\n\n showlbl() {\n this.showMsg = true;\n }\n\n hidelbl() {\n this.showMsg = false;\n }\n\n showerror() {\n this.showerrormsg = true;\n }\n\n hideerror() {\n this.showerrormsg = false;\n }\n\n showOrangeerror(){\n this.showOrangemsg = true;\n }\n\n hideOrangeerror(){\n this.showOrangemsg = false;\n }\n\n}\n","
\n
\n
\n
\n\n
\n
\n
\n \n
\n
\n

Upload Holiday

\n
\n
\n
\n
\n
\n\n
\n
\n
\n

* Marked Fields Are Mandatory.

\n
\n\n \n\n
\n \n
\n
\n
\n ×\n Success! {{lblMessage}}.\n
\n\n
\n ×\n Failed! {{lblMessage}}.\n
\n\n
\n ×\n {{lblMessage}}.\n
\n
\n
\n \n
\n \n
\n
\n
\n \n
\n\n
\n \n
\n\n
\n \n
\n
\n
\n\n
\n
\n\n
\n
{{ErrorMessage}}
\n\n
\n\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Import File NameUploaded DateUploaded ByStatusResult/Comment
{{upload.originalFileName}}{{upload.CREATEDDATE}}{{upload.USERNAME}}{{upload.STATUS}}\n Error Log\n {{ upload.TOTALRECORDS }} Records
No records found.
\n\n
\n
\n \n
\n \n
\n \n
\n
\n\n
\n
\n
\n
\n
\n
\n
\n \n","import { Component, OnInit } from '@angular/core';\nimport { FormGroup, FormControl, NgForm,FormBuilder } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { UserService } from '../../MasterService/user.service';\nimport * as XLSX from 'xlsx';\nimport { NgxSpinnerService } from 'ngx-spinner';\nimport { element } from 'protractor';\nimport { Constants } from 'src/app/Common/constant';\n\n@Component({\n selector: 'app-user-bullk-upload',\n templateUrl: './user-bullk-upload.component.html',\n styleUrls: ['./user-bullk-upload.component.css'],\n})\nexport class UserBullkUploadComponent implements OnInit {\n uploadForm: FormGroup;\n lblMessage: string;\n file: any;\n arrayBuffer: any;\n filelist: any;\n showMsg: boolean;\n showerrormsg: boolean;\n disableButton: boolean = true;\n Message: any;\n splitResult: any;\n showOrangemsg: boolean;\n headerArrayList: any;\n headerColumns: any;\n IsValid: boolean;\n sbresult: string;\n rowNumber: number;\n IsMaxFileSize: boolean;\n ErrorMessage: string;\n headerColumnsArrays: any;\n FileValid: boolean = true;\n filename: any;\n errorFileURL:string;\n uploadList: any[];\n config:any;\n\n constructor(\n public _userService: UserService,\n private router: Router,\n public _spinner: NgxSpinnerService,\n private formBuilder: FormBuilder\n ) {}\n\n ngOnInit(): void {\n this.disableButton = true;\n this.uploadForm = this.formBuilder.group({\n profile: [''],\n });\n\n this.config = {\n itemsPerPage: 10,\n currentPage: 1,\n };\n\n this.errorFileURL=Constants.tokenURL ;\n this._userService\n .GetAndInsertImportFileData('',localStorage.getItem('LoginUserId')).subscribe((data) => {\n console.log(data);\n this.uploadList = data;\n for(var i=0;i 0) {\n const file = event.target.files[0];\n this.uploadForm.get('profile').setValue(file);\n }\n }\n addfile(event) {\n event.value;\n debugger;\n this._spinner.show();\n this.disableButton = true;\n this.ErrorMessage = '';\n this.showerrormsg = false;\n this.lblMessage = '';\n this.showMsg = false;\n this.showerrormsg = false;\n this.showOrangemsg = false;\n // this.viewresult = \"\";\n\n this.file = event.target.files[0];\n let fileReader = new FileReader();\n fileReader.readAsArrayBuffer(this.file);\n\n fileReader.onload = (e) => {\n this.arrayBuffer = fileReader.result;\n var data = new Uint8Array(this.arrayBuffer);\n var arr = new Array();\n for (var i = 0; i != data.length; ++i)\n arr[i] = String.fromCharCode(data[i]);\n var bstr = arr.join('');\n var workbook = XLSX.read(bstr, { type: 'binary' });\n var first_sheet_name = workbook.SheetNames[0];\n var worksheet = workbook.Sheets[first_sheet_name];\n var arraylist = XLSX.utils.sheet_to_json(worksheet, { raw: true });\n this.headerArrayList = XLSX.utils.sheet_to_json(worksheet, { header: 1 });\n this.headerColumns = this.headerArrayList[0].toString();\n var ExcelHeader = this.headerColumns.split(',');\n this.headerColumnsArrays = ExcelHeader;\n if (\n this.headerColumnsArrays[0] != 'FirstName' ||\n this.headerColumnsArrays[1] != 'MiddleName' ||\n this.headerColumnsArrays[2] != 'LastName' ||\n this.headerColumnsArrays[3] != 'Gender' ||\n this.headerColumnsArrays[4] != 'Password' ||\n this.headerColumnsArrays[5] != 'BirthDate' ||\n this.headerColumnsArrays[6] != 'EmailId' ||\n this.headerColumnsArrays[7] != 'MobileNumber' ||\n this.headerColumnsArrays[8] != 'OtherNumber' ||\n this.headerColumnsArrays[9] != 'TransactionLimit' ||\n this.headerColumnsArrays[10] != 'Role' ||\n this.headerColumnsArrays[11] != 'UserType' ||\n this.headerColumnsArrays[12] != 'BankCorpUser' ||\n this.headerColumnsArrays[13] != 'BranchUser'\n ) {\n this.FileValid = false;\n this.showerrormsg = true;\n this.lblMessage = ' Please select valid file';\n } else {\n this.FileValid = true;\n }\n\n if (arraylist.length > 0 && this.FileValid == true) {\n this.disableButton = false;\n }\n if (this.file.size > 4194304) {\n this.IsMaxFileSize = true;\n this.disableButton = true;\n this.ErrorMessage = ' Maximum file size should be 4MB.';\n }\n this.filelist = arraylist;\n };\n setTimeout(() => {\n this._spinner.hide();\n }, 500);\n }\n\n onSubmit(form: NgForm) {\n debugger;\n this._spinner.show();\n if (this.filelist.length > 0) {\n this.rowNumber = 1;\n this.sbresult = '';\n\n if (this.FileValid == true) {\n this.IsValid = true;\n // this.filelist.forEach((element, index) => {\n // debugger;\n // this.rowNumber = this.rowNumber + 1;\n // this.IsValid = true;\n // //ExcelHeader[0];\n // // if (element[\"Status\"] == undefined) {\n // // this.IsValid = false;\n // // this.sbresult += this.rowNumber + \" Status is required.
\";\n // // }\n\n // if (element['FirstName'] == undefined) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + ' FirstName is required.
';\n // }\n\n // if (element['LastName'] == undefined) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + ' LastName is required.
';\n // }\n\n // if (element['Gender'] == undefined) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + ' Gender is required.
';\n // }\n\n // if (element['Password'] == undefined) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + ' Password is required.
';\n // }\n\n // if (element['Password'] != undefined) {\n // if (element['Password'].length < 8) {\n // this.IsValid = false;\n // this.sbresult +=\n // this.rowNumber +\n // ' Password must be Minimum of 8 characters.
';\n // }\n // }\n\n // if (element['BirthDate'] == undefined) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + ' BirthDate is required.
';\n // }\n\n // if (element['BirthDate'] != undefined) {\n // var regex = new RegExp(\n // '([0-9]{4}[-](0[1-9]|1[0-2])[-]([0-2]{1}[0-9]{1}|3[0-1]{1})|([0-2]{1}[0-9]{1}|3[0-1]{1})[-](0[1-9]|1[0-2])[-][0-9]{4})'\n // );\n // var dateOk = regex.test(element['BirthDate']);\n // if (!dateOk) {\n // this.IsValid = false;\n // this.sbresult +=\n // this.rowNumber +\n // ' Birth Date provided is not in the DD-MM-YYYY Format.
';\n // }\n // }\n\n // if (element['EmailId'] == undefined) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + ' EmailId is required.
';\n // }\n\n // if (element['EmailId'] != undefined) {\n // //var reg = /^([A-Za-z0-9_\\-\\.])+\\@([A-Za-z0-9_\\-\\.])+\\.([A-Za-z]{2,4})$/;\n // var reg = /^[a-zA-Z0-9\\-_]+(\\.[a-zA-Z0-9\\-_]+)*@[a-z0-9]+(\\-[a-z0-9]+)*(\\.[a-z0-9]+(\\-[a-z0-9]+)*)*\\.[a-z]{2,4}$/;\n // var IsValidEmail = reg.test(element['EmailId'].toLowerCase());\n // if (!IsValidEmail) {\n // this.IsValid = false;\n // this.sbresult +=\n // this.rowNumber + ' Email must be in Correct Format.
';\n // }\n // }\n\n // if (element['MobileNumber'] == undefined) {\n // this.IsValid = false;\n // this.sbresult +=\n // this.rowNumber + ' MobileNumber is required.
';\n // }\n\n // if (element['MobileNumber'] != undefined) {\n // var mob = /^[1-9]{1}[0-9]{9}$/;\n // var txtMobile = mob.test(element['MobileNumber']);\n // if (!txtMobile) {\n // this.IsValid = false;\n // this.sbresult +=\n // this.rowNumber + ' Mobile Number must be 10 digits.
';\n // }\n // }\n\n // if (element['TransactionLimit'] == undefined) {\n // this.IsValid = false;\n // this.sbresult +=\n // this.rowNumber + ' Transaction Limit is required.
';\n // }\n\n // if (element['TransactionLimit'] != undefined) {\n // if (!/^[0-9.]+$/.test(element['TransactionLimit'])) {\n // this.IsValid = false;\n // this.sbresult +=\n // this.rowNumber +\n // ' Transaction Limit should accept only Number.
';\n // }\n // }\n\n // if (element['Role'] == undefined) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + ' Role is required.
';\n // }\n\n // if (element['UserType'] == undefined) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + ' UserType is required.
';\n // }\n\n // if (element['UserType'] != undefined) {\n // if (element['UserType'].toString().toLowerCase() === 'bank user') {\n // } else if (\n // element['UserType'].toString().toLowerCase() === 'corporate user'\n // ) {\n // if (element['BankCorpUser'] == undefined) {\n // this.IsValid = false;\n // this.sbresult +=\n // this.rowNumber + ' Bank Corporate User is required.
';\n // }\n // } else if (\n // element['UserType'].toString().toLowerCase() === 'branch user'\n // ) {\n // if (element['BranchUser'] == undefined) {\n // this.IsValid = false;\n // this.sbresult +=\n // this.rowNumber + ' Branch User is required.
';\n // }\n // } else {\n // this.IsValid = false;\n // this.sbresult +=\n // this.rowNumber + ' Please enter correct UserType.
';\n // }\n // }\n // });\n\n if (this.IsValid) {\n const formData = new FormData();\n formData.append('file', this.uploadForm.get('profile').value);\n this._userService.fnUploadFile(formData).subscribe((res) => { \n if (res != null) { \n this._userService\n .GetAndInsertImportFileData(res,localStorage.getItem('LoginUserId'))\n .subscribe((data) => { \n this.uploadList = data; \n for(var i=0;i {\n // debugger;\n // this.splitResult = res.m_StringValue.split(',
');\n\n // if (this.splitResult[0] == 'Red') {\n // this.lblMessage = this.splitResult[1];\n // this.Message = this.splitResult[2];\n // this.showerrormsg = true;\n // this.showMsg = false;\n // this.showOrangemsg = false;\n // } else if (this.splitResult[0] == 'Green') {\n // this.lblMessage = this.splitResult[1];\n // this.Message = '';\n // this.showerrormsg = false;\n // this.showMsg = true;\n // this.showOrangemsg = false;\n // } else if (this.splitResult[0] == 'Orange') {\n // this.lblMessage = this.splitResult[1];\n // this.Message = this.splitResult[2];\n // this.showerrormsg = false;\n // this.showMsg = false;\n // this.showOrangemsg = true;\n // }\n\n // this.onTop();\n // });\n } \n else if(this.filelist.length ==0 ) { \n this.lblMessage = 'Please upload valid file';\n this.showerrormsg = true;\n }\n else{\n this.lblMessage = 'Import summary ' + this.sbresult;\n this.showerrormsg = true;\n }\n }\n } else {\n this.lblMessage = \"Please upload valid file\";\n this.showerrormsg = true;\n this.showMsg = false;\n this.showOrangemsg = false;\n }\n setTimeout(() => {\n this._spinner.hide();\n }, 500);\n }\n\n BackButton() {\n this.router.navigate(['/ManageUserMaster']);\n }\n\n onTop() {\n window.scroll({\n top: 0,\n left: 0,\n behavior: 'smooth',\n });\n }\n\n showlbl() {\n this.showMsg = true;\n }\n hidelbl() {\n this.showMsg = false;\n }\n\n showerror() {\n this.showerrormsg = true;\n }\n hideerror() {\n this.showerrormsg = false;\n }\n\n showOrangeerror() {\n this.showOrangemsg = true;\n }\n hideOrangeerror() {\n this.showOrangemsg = false;\n }\n}\n","
\n
\n
\n
\n \n
\n
\n \n
\n
\n

\n Upload User\n

\n
\n
\n
\n
\n\n \n
\n \n

\n * Marked Fields Are Mandatory.\n

\n
\n \n
\n\n \n\n \n ×\n {{ lblMessage }}.\n
\n
\n \n\n
\n
\n
\n
\n
\n\n
\n \n
\n\n
\n \n
\n
\n
\n\n
\n
\n \n \n {{ ErrorMessage }}\n
\n \n
\n
\n \n \n \n Import File Name\n Uploaded Date\n Uploaded By\n Status \n Results/Comments \n \n \n \n \n {{ upload.originalFileName }}\n {{ upload.CREATEDDATE }}\n {{ upload.USERNAME }}\n {{ upload.STATUS }}\n \n Error Log\n \n {{ upload.TOTALRECORDS }} Records\n \n \n \n No records found.\n \n \n \n\n
\n
\n \n
\n\n
\n \n
\n
\n\n
\n
\n\n \n \n \n \n\n\n\n","import { Component, OnInit } from '@angular/core';\nimport { FormGroup, FormControl, NgForm, FormBuilder } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { UserService } from '../../MasterService/user.service';\nimport * as XLSX from 'xlsx'; \nimport { AccountMasterService } from 'src/app/MasterService/account-master.service';\nimport { NgxSpinnerService } from 'ngx-spinner';\nimport { Constants } from 'src/app/Common/constant';\n\n@Component({\n selector: 'app-accountbulkupload',\n templateUrl: './accountbulkupload.component.html',\n styleUrls: ['./accountbulkupload.component.css']\n})\nexport class AccountbulkuploadComponent implements OnInit {\n lblMessage:string;\n file:any;\n arrayBuffer:any;\n filelist:any;\n showMsg: boolean;\n showerrormsg: boolean;\n disableButton:boolean = true;\n Message:any;\n splitResult:any;\n showOrangemsg:boolean;\n headerArrayList:any;\n headerColumns:any;\n IsValid:boolean;\n sbresult:string;\n rowNumber:number\n IsMaxFileSize:boolean=false;\n headerColumnsArrays: any;\n FileValid: boolean=true;\n uploadForm: FormGroup;\n uploadList: any[];\n errorFileURL:string;\n config:any;\n \n constructor(private router: Router,private _AccountService:AccountMasterService,public _spinner:NgxSpinnerService,\n private formBuilder: FormBuilder) { }\n\n ngOnInit(): void {\n this.disableButton = true;\n this.uploadForm = this.formBuilder.group({\n profile: [''],\n });\n\n this.config = {\n itemsPerPage: 10,\n currentPage: 1,\n };\n\n this.errorFileURL=Constants.tokenURL;\n this._AccountService\n .GetAndInsertImportFileData('',localStorage.getItem('LoginUserId')).subscribe((data) => {\n console.log(data);\n this.uploadList = data;\n\n for(var i=0;i 0) {\n const file = event.target.files[0];\n this.uploadForm.get('profile').setValue(file);\n }\n }\n\n addfile(event) \n {\n this._spinner.show();\n this.disableButton = true;\n this.IsMaxFileSize=false;\n \n\n this.showMsg = false;\n this.showerrormsg = false;\n this.showOrangemsg = false;\n this.Message = \"\";\n this.lblMessage = \"\";\n\n\n this.file= event.target.files[0]; \n let fileReader = new FileReader(); \n fileReader.readAsArrayBuffer(this.file); \n fileReader.onload = (e) => { \n this.arrayBuffer = fileReader.result; \n var data = new Uint8Array(this.arrayBuffer); \n var arr = new Array(); \n for(var i = 0; i != data.length; ++i) arr[i] = String.fromCharCode(data[i]); \n var bstr = arr.join(\"\"); \n var workbook = XLSX.read(bstr, {type:\"binary\"}); \n var first_sheet_name = workbook.SheetNames[0]; \n var worksheet = workbook.Sheets[first_sheet_name]; \n var arraylist = XLSX.utils.sheet_to_json(worksheet,{raw:true}); \n\n this.headerArrayList = XLSX.utils.sheet_to_json(worksheet, { header: 1 });\n this.headerColumns = this.headerArrayList[0].toString();\n var ExcelHeader = this.headerColumns.split(',');\n this.headerColumnsArrays=ExcelHeader;\n if ((this.headerColumnsArrays[0] != \"AccountName\") || (this.headerColumnsArrays[1] != \"AccountNumber\") || (this.headerColumnsArrays[2] != \"AccountType\") \n || (this.headerColumnsArrays[3] != \"CustomerName\") || (this.headerColumnsArrays[4] != \"BranchName\") || (this.headerColumnsArrays[5]!= \"ContactPerson\")\n || (this.headerColumnsArrays[6] != \"MobileNumber\") || (this.headerColumnsArrays[7] != \"EmailId\") || (this.headerColumnsArrays[8] != \"CurrentBalance\")\n || (this.headerColumnsArrays[9] != \"CurrencyCode\") || (this.headerColumnsArrays[10] != \"BaseCurrency\") || (this.headerColumnsArrays[11] != \"ForeignCurrency\")\n || (this.headerColumnsArrays[12] != \"AccountDiscription\")){\n this.FileValid = false;\n this.showerrormsg=true;\n this.lblMessage = \" Please select valid file\";\n }\n else{\n this.FileValid = true;\n }\n if(arraylist.length>0 && this.FileValid == true )\n {\n this.disableButton = false;\n } \n if(this.file.size > 4194304){;\n this.disableButton = true;\n this.IsMaxFileSize=true;\n } \n setTimeout(() => {\n this._spinner.hide(); \n }, 500); \n this.filelist = arraylist; \n \n } \n}\n\nonSubmit(form: NgForm) {debugger;\n this._spinner.show();\nif (this.filelist.length > 0) {\n this.rowNumber = 1;this.sbresult = \"\"; \n \n if(this.FileValid == true){\n this.IsValid=true;\n \n // this.filelist.forEach((element,index) => {\n // this.rowNumber = this.rowNumber + 1;\n // this.IsValid = true;\n\n // if (element[\"AccountName\"] == undefined) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + \" Account Name is required.
\";\n // }\n\n // if (element[\"AccountNumber\"] == undefined) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + \" Account Number is required.
\";\n // }\n\n // if (element[\"AccountType\"] == undefined) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + \" AccountType is required.
\";\n // }\n\n // if (element[\"AccountType\"] != undefined) {\n\n // if (element[\"AccountType\"].toLowerCase() === \"saving a/c\") {\n // }\n // else if(element[\"AccountType\"].toLowerCase() === \"current a/c\"){\n // }\n // else if(element[\"AccountType\"].toLowerCase() === \"loan a/c\"){\n // }\n // else if(element[\"AccountType\"].toLowerCase() === \"escrow a/c\"){\n // }\n // else if(element[\"AccountType\"].toLowerCase() === \"correspondent a/c\"){\n // }\n // else if(element[\"AccountType\"].toLowerCase() === \"virtual a/c\"){\n // }\n // else{\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + \" Account Type not belong to table.
\";\n // }\n\n // }\n\n // if (element[\"CustomerName\"] == undefined) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + \" Customer Name is required.
\";\n // }\n\n // if (element[\"BranchName\"] == undefined) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + \" Branch Name is required.
\";\n // }\n\n // // if (element[\"AccountStatus\"] == undefined) {\n // // this.IsValid = false;\n // // this.sbresult += this.rowNumber + \" Account Status is required.
\";\n // // }\n\n // // if (element[\"AccountStatus\"] != undefined) {\n\n // // if (element[\"AccountStatus\"].toLowerCase() === \"active\") {\n // // }\n // // else if (element[\"AccountStatus\"].toLowerCase() === \"inactive\") {\n // // }\n // // else if (element[\"AccountStatus\"].toLowerCase() === \"pending\") {\n // // }\n // // else{\n // // this.IsValid = false;\n // // this.sbresult += this.rowNumber + \" Account Status does not belong to the table.
\";\n // // }\n \n // // }\n\n // if (element[\"ContactPerson\"] == undefined) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + \" Contact Person is required.
\";\n // }\n\n // if (element[\"MobileNumber\"] == undefined) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + \" Mobile Number is required.
\";\n // }\n\n // if (element[\"MobileNumber\"] != undefined) {\n // var mob = /^[1-9]{1}[0-9]{9}$/;\n // var txtMobile = mob.test(element[\"MobileNumber\"]);\n // if (!txtMobile) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + \" Mobile Number must be 10 digits.
\";\n // }\n // }\n\n // if (element[\"EmailId\"] == undefined) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + \" Email Id is required.
\";\n // }\n\n // if (element[\"EmailId\"] != undefined) {\n // //var reg = /^([A-Za-z0-9_\\-\\.])+\\@([A-Za-z0-9_\\-\\.])+\\.([A-Za-z]{2,4})$/;\n // var reg = /^[a-zA-Z0-9\\-_]+(\\.[a-zA-Z0-9\\-_]+)*@[a-z0-9]+(\\-[a-z0-9]+)*(\\.[a-z0-9]+(\\-[a-z0-9]+)*)*\\.[a-z]{2,4}$/;\n // var IsValidEmail = reg.test(element[\"EmailId\"].toLowerCase());\n // if (!IsValidEmail) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + \" Email must be in Correct Format.
\";\n // }\n // }\n\n // });\n\n if (this.IsValid) {\n const formData = new FormData();\n formData.append('file', this.uploadForm.get('profile').value);\n this._AccountService.fnUploadFile(formData).subscribe((res) => { \n if (res != null) { \n this._AccountService\n .GetAndInsertImportFileData(res,localStorage.getItem('LoginUserId'))\n .subscribe((data) => { \n this.uploadList = data;\n for(var i=0;i{\n\n // this.splitResult = res.m_StringValue.split(\",
\")\n \n \n // if (this.splitResult[0] == \"Red\") {\n // this.lblMessage = this.splitResult[1];\n // this.Message = this.splitResult[2];\n // this.showerrormsg = true;\n // this.showMsg = false;\n // this.showOrangemsg = false;\n // }\n // else if (this.splitResult[0] == \"Green\") {\n // this.lblMessage = this.splitResult[1];\n // this.Message = \"\";\n // this.showerrormsg = false;\n // this.showMsg = true;\n // this.showOrangemsg = false;\n // }\n // else if (this.splitResult[0] == \"Orange\") {\n // this.lblMessage = this.splitResult[1];\n // this.Message = this.splitResult[2];\n // this.showerrormsg = false;\n // this.showMsg = false;\n // this.showOrangemsg = true;\n // }\n // this.onTop();\n \n // });\n\n }\n else {\n this.Message = \"\";\n this.Message = \"Import Summary
\" + this.sbresult;\n }\n }\n}\nelse{\n this.lblMessage = \"Please upload valid file\";\n this.showerrormsg = true;\n this.showMsg = false;\n this.showOrangemsg = false;\n}\nsetTimeout(() => {\n this._spinner.hide(); \n}, 500); \n}\n\n BackButton() {\n this.router.navigate(['/ManageAccount']);\n }\n\n onTop() {\n window.scroll({\n top: 0,\n left: 0,\n behavior: 'smooth'\n })\n }\n\n showlbl() {\n this.showMsg = true;\n }\n hidelbl() {\n this.showMsg = false;\n }\n\n showerror() {\n this.showerrormsg = true;\n }\n hideerror() {\n this.showerrormsg = false;\n }\n\n showOrangeerror(){\n this.showOrangemsg = true;\n }\n hideOrangeerror(){\n this.showOrangemsg = false;\n }\n\n\n\n}\n","
\n
\n
\n
\n
\n
\n
\n \n
\n
\n

Upload Account

\n
\n
\n
\n
\n
\n \n\n
\n \n \n \n
\n
\n
\n ×\n Success! {{lblMessage}}.\n
\n\n
\n ×\n Failed! {{lblMessage}}.\n
\n\n
\n ×\n {{lblMessage}}.\n
\n
\n
\n\n
\n \n
\n
\n
\n \n
\n\n
\n \n
\n\n
\n \n
\n
\n

\n \n
\n Maximum file size should be 4mb.\n
\n
\n \n\n
\n
\n
\n \n \n \n Import File Name\n Uploaded Date\n Uploaded By\n Status \n Results/Comments \n \n \n \n \n {{ upload.originalFileName }}\n {{ upload.CREATEDDATE }}\n {{ upload.USERNAME }}\n {{ upload.STATUS }}\n \n Error Log\n \n {{ upload.TOTALRECORDS }} Records \n \n \n \n No records found.\n \n \n \n\n
\n
\n \n
\n \n
\n \n
\n
\n\n
\n
\n
\n
\n
\n
\n
\n \n ","import { NgModule } from '@angular/core';\nimport {\n NbAuthComponent,\n NbLoginComponent,\n NbLogoutComponent,\n NbRegisterComponent,\n NbRequestPasswordComponent,\n NbResetPasswordComponent,\n} from '@nebular/auth';\nimport { CommonModule } from '@angular/common';\nimport { Routes, RouterModule } from '@angular/router';\nimport { IndexComponent } from './Home/index/index.component';\nimport { AddAccountComponent } from './AccountMaster/add-account/add-account.component';\nimport { ManageAccountComponent } from './AccountMaster/manage-account/manage-account.component';\nimport { DefaultComponent } from './layout/default/default.component';\nimport { UserMasterComponent } from './ManageMaster/user-master/user-master.component';\nimport { AccountlinkComponent } from './AccountMaster/accountlink/accountlink.component';\nimport { LoginPageComponent } from './Home/login/login-page.component';\nimport { ManageUserMasterComponent } from './ManageMaster/manage-user-master/manage-user-master.component';\nimport { CustomerMasterComponent } from './ManageMaster/customer-master/customer-master.component';\nimport { ManageCustomerMasterComponent } from './ManageMaster/manage-customer-master/manage-customer-master.component';\nimport { BranchMasterComponent } from './ManageMaster/branch-master/branch-master.component';\nimport { ManageBranchMasterComponent} from './ManageMaster/manage-branch-master/manage-branch-master.component';\nimport { ManageAccessComponent } from './ManageMaster/manage-access/manage-access.component';\nimport { HolidayMasterSetupComponent } from './ManageMaster/holiday-master-setup/holiday-master-setup.component';\nimport { HolidayMasterComponent } from './ManageMaster/holiday-master/holiday-master.component';\nimport { SignUpComponent } from './Home/sign-up/sign-up.component';\nimport { ViewBranchMasterComponent } from './ManageMaster/view-branch-master/view-branch-master.component';\nimport { EditBranchMasterComponent } from './ManageMaster/edit-branch-master/edit-branch-master.component';\nimport { AddSchemeComponent } from './SchemeMaster/add-scheme/add-scheme.component';\nimport { ManageSchemeComponent } from './SchemeMaster/manage-scheme/manage-scheme.component';\nimport { ManageRoleMasterComponent} from './ManageMaster/manage-role-master/manage-role-master.component';\nimport { RoleMasterComponent } from './ManageMaster/role-master/role-master.component';\nimport { AccountLinkMasterComponent } from './AccountMaster/account-link-master/account-link-master.component';\nimport { SweepChargesMasterComponent} from './ManageMaster/sweep-charges-master/sweep-charges-master.component';\nimport { CustomerMappingComponent } from './ManageMaster/customer-mapping/customer-mapping.component';\nimport { SweepsummaryreportsComponent } from './Reports/sweepsummaryreports/sweepsummaryreports.component';\nimport { UserBullkUploadComponent} from './UploadUser/user-bullk-upload/user-bullk-upload.component';\nimport { MasterFundDisbursementComponentComponent } from './SweepManagement/master-fund-disbursement-component/master-fund-disbursement-component.component';\nimport { AddEditFunddisbursementComponent } from './SweepManagement/add-edit-funddisbursement/add-edit-funddisbursement.component';\nimport { ResetPasswordComponent } from './Home/reset-password/reset-password.component';\nimport { CustomerbulkuploadComponent} from './UploadCustomer/customerbulkupload/customerbulkupload.component';\nimport { BranchBulkUploadComponent} from'./UploadBranch/branch-bulk-upload/branch-bulk-upload.component';\nimport { HolidaybulkUploadComponent } from './UploadHoliday/holidaybulk-upload/holidaybulk-upload.component';\nimport { DashboardComponent} from'./dashboard/dashboard.component';\nimport { AccountbulkuploadComponent} from'./Upload_Account/accountbulkupload/accountbulkupload.component';\nimport { SchemeAccountLinkComponent} from './SchemeMaster/scheme-account-link/scheme-account-link.component';\nimport { ManageRuleMasterComponent } from './SchemeMaster/manage-rule-master/manage-rule-master.component';\nimport { AddRuleMasterComponent } from './SchemeMaster/add-rule-master/add-rule-master.component';\nimport { SweepchargesListComponent } from './SweepManagement/sweepcharges-list/sweepcharges-list.component';\nimport { RuleSummaryReportsComponent } from './Reports/rule-summary-reports/rule-summary-reports.component';\nimport { UserAuditReportComponent} from './Reports/user-audit-report/user-audit-report.component';\nimport { SweepExecutionComponent } from './AccountMaster/sweep-execution/sweep-execution.component';\nimport { SiteConfigurationComponent } from './Home/site-configuration/site-configuration.component';\nimport { ErrorPageComponent} from './Home/error-page/error-page.component';\nimport { AccountAuditReportComponent} from './Reports/account-audit-report/account-audit-report.component';\nimport { from } from 'rxjs';\nimport { CustomerAuditReportComponent } from './Reports/customer-audit-report/customer-audit-report.component';\nimport { PaymentsComponent } from './payments/payments.component';\nimport { UploadPaymentsComponent} from'./upload-payments/upload-payments.component';\nimport { PaymentsReportComponent } from './Reports/payments-report/payments-report.component';\n\nconst routes: Routes = [{\n path:\"\",\n component:DefaultComponent,\n children:[\n { path:\"\", component:IndexComponent },\n { path:\"AddAccount\", component:AddAccountComponent },\n { path:\"EditAccount\", component:AddAccountComponent },\n { path:\"ManageAccount\", component:ManageAccountComponent },\n { path:\"UserMaster\", component:UserMasterComponent },\n { path:\"AccountLinkMaster\", component:AccountlinkComponent },\n { path:\"ManageUserMaster\", component:ManageUserMasterComponent },\n { path:\"LoginPage\", component:LoginPageComponent },\n { path:\"CustomerMaster\", component:CustomerMasterComponent },\n { path:\"ManageCustomer\", component:ManageCustomerMasterComponent },\n { path:\"BranchMaster\", component:BranchMasterComponent },\n { path:\"ManageAccess\", component:ManageAccessComponent },\n { path:\"ManageBranchMaster\", component:ManageBranchMasterComponent },\n { path:\"AddHolidayMaster\", component:HolidayMasterSetupComponent },\n { path:\"HolidayMaster\", component:HolidayMasterComponent },\n { path:\"SignUpPage\", component:SignUpComponent },\n { path:\"ViewBranchMst\", component:ViewBranchMasterComponent },\n { path:\"EditBranchMst\", component:EditBranchMasterComponent },\n { path:\"AddScheme\", component:AddSchemeComponent },\n { path:\"ManageScheme\", component:ManageSchemeComponent },\n { path:\"ManageRole\", component:ManageRoleMasterComponent },\n { path:\"RoleMaster\", component:RoleMasterComponent },\n { path:\"AccountLinkList\", component:AccountLinkMasterComponent },\n { path:\"SweepChargesdetails\", component:SweepChargesMasterComponent },\n { path:\"CustomerMapping\", component:CustomerMappingComponent },\n { path:\"SweepSummaryReports\", component:SweepsummaryreportsComponent },\n {path:\"UploadBullkUser\", component:UserBullkUploadComponent},\n {path:\"ManageFundDisbursement\",component:MasterFundDisbursementComponentComponent},\n {path:\"AddEditFundDisburs\",component:AddEditFunddisbursementComponent},\n {path:\"UploadBulkCustomer\",component:CustomerbulkuploadComponent},\n {path:\"UploadBulkBranch\",component:BranchBulkUploadComponent},\n {path:\"ResetPassword\",component:ResetPasswordComponent},\n {path:\"UploadBulkHoliday\",component:HolidaybulkUploadComponent},\n {\n path: 'Dashboard',\n loadChildren: () => import('./pages/pages.module')\n .then(m => m.PagesModule),\n },\n {\n path: 'CustomerDashboard',\n loadChildren: () => import('./pages/customerPages.module')\n .then(m => m.CustomerPagesModule),\n },\n //{path:\"Dashboard\",component:DashboardComponent},\n {path:\"UploadBulkAccount\",component:AccountbulkuploadComponent},\n {path:\"SchemeAccountLink\",component:SchemeAccountLinkComponent},\n {path:\"ManageRulesMaster\",component:ManageRuleMasterComponent},\n {path:\"AddRuleMaster\",component:AddRuleMasterComponent},\n {path:\"SweepCharges\",component:SweepchargesListComponent},\n {path:\"RuleSummaryReport\",component:RuleSummaryReportsComponent},\n {path:\"UserAuditReport\",component:UserAuditReportComponent},\n {path:\"UserAuditReportById\",component:UserAuditReportComponent},\n {path:\"sweepExecution\",component:SweepExecutionComponent},\n {path:\"SiteConfiguration\",component:SiteConfigurationComponent},\n {path:\"CustomerAuditReport\",component:CustomerAuditReportComponent},\n {path:\"CustomerAuditReportById\",component:CustomerAuditReportComponent},\n {path:\"AccountAuditReport\",component:AccountAuditReportComponent},\n {path:\"AccountAuditReportById\",component:AccountAuditReportComponent},\n {path:\"Payments\",component:PaymentsComponent},\n {path:\"UploadPayments\",component:UploadPaymentsComponent},\n {path:\"PaymentsReport\",component:PaymentsReportComponent},\n {path:\"**\",component:ErrorPageComponent}, \n \n]\n},\n\n];\n\n\n\n@NgModule({\n imports: [RouterModule.forRoot(routes, {\n onSameUrlNavigation: 'reload'\n })],\n exports:[RouterModule]\n})\nexport class AppRoutingModule { }\n","import { Component, HostListener } from '@angular/core';\nimport { AutoLogoutService } from './MasterService/auto-logout.service';\nimport 'rxjs/add/observable/interval';\nimport { Subscription, Observable } from 'rxjs';\nimport { TokenService } from './MasterService/token.service';\nimport { NavigationEnd, Router } from '@angular/router';\nimport * as $ from 'jquery';\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.css']\n})\nexport class AppComponent {\n title = 'LMS';\n\n sub: Subscription;\n\n constructor(private autoLogout: AutoLogoutService, public _token: TokenService,private router: Router) {\n \n // this.sub = Observable.interval(+localStorage.getItem('tokenInterval'))\n // .subscribe((val) => {\n // if (localStorage.getItem('LoginUserId') != null) {\n // this._token.fnrenewTokenTest();\n // }\n // });\n\n }\n\n ngOnInit() {\n this.router.events.subscribe(event => {\n if(event instanceof NavigationEnd) {\n $(\"html\").removeAttr(\"dir\");\n }\n })\n }\n\n\n\n\n\n\n\n\n}","","import { BrowserModule } from '@angular/platform-browser';\nimport { NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { AppRoutingModule } from './app-routing.module';\nimport { AppComponent } from './app.component';\nimport { DefaultModule } from './layout/default/default.module';\nimport { UserMasterComponent } from './ManageMaster/user-master/user-master.component';\nimport { BranchMasterComponent } from './ManageMaster/branch-master/branch-master.component';\nimport { UserService } from './MasterService/user.service';\nimport { ManageUserMasterComponent } from './ManageMaster/manage-user-master/manage-user-master.component';\nimport { CustomerService} from './MasterService/customer.service';\nimport { ManageBranchMasterComponent } from './ManageMaster/manage-branch-master/manage-branch-master.component';\nimport { BranchService} from './MasterService/branch.service';\nimport { ViewBranchMasterComponent } from './ManageMaster/view-branch-master/view-branch-master.component';\nimport { EditBranchMasterComponent } from './ManageMaster/edit-branch-master/edit-branch-master.component';\nimport { ManageRoleMasterComponent } from './ManageMaster/manage-role-master/manage-role-master.component';\nimport { RoleMasterComponent } from './ManageMaster/role-master/role-master.component';\nimport { RoleService} from './MasterService/role.service';\nimport { NgxPaginationModule} from 'ngx-pagination';\nimport { NgxSpinnerModule } from \"ngx-spinner\";\nimport { SweepChargesMasterComponent } from './ManageMaster/sweep-charges-master/sweep-charges-master.component';\nimport { ChargesSweepService} from './MasterService/charges-sweep.service';\nimport { SweepsummaryreportsComponent } from './Reports/sweepsummaryreports/sweepsummaryreports.component';\nimport { AutoLogoutService } from './MasterService/auto-logout.service';\nimport { MustMatchDirective } from './Common/must-match.directive';\nimport {ValidateUserNameDirective} from './MasterService/validateUserName.directive';\nimport {CustomvalidationService} from './MasterService/customvalidation.service';\nimport { UserBullkUploadComponent } from './UploadUser/user-bullk-upload/user-bullk-upload.component';\nimport { AddEditFunddisbursementComponent } from './SweepManagement/add-edit-funddisbursement/add-edit-funddisbursement.component';\nimport { MasterFundDisbursementComponentComponent } from './SweepManagement/master-fund-disbursement-component/master-fund-disbursement-component.component';\nimport{CookieService} from \"ngx-cookie-service\";\nimport { ResetPasswordComponent } from './Home/reset-password/reset-password.component';\nimport { CustomerbulkuploadComponent } from './UploadCustomer/customerbulkupload/customerbulkupload.component';\nimport { BranchBulkUploadComponent } from './UploadBranch/branch-bulk-upload/branch-bulk-upload.component';\nimport { HolidaybulkUploadComponent } from './UploadHoliday/holidaybulk-upload/holidaybulk-upload.component';\nimport { AccountBulkUploadComponent } from './UploadAccount/account-bulk-upload/account-bulk-upload.component';\nimport { ChartsModule } from 'ng2-charts';\nimport { LineChartSchemeDetailsComponent } from './line-chart-scheme-details/line-chart-scheme-details.component';\nimport { DashboardComponent } from './dashboard/dashboard.component';\nimport { AccountbulkuploadComponent } from './Upload_Account/accountbulkupload/accountbulkupload.component';\nimport { ManageRuleMasterComponent } from './SchemeMaster/manage-rule-master/manage-rule-master.component';\nimport { AddRuleMasterComponent } from './SchemeMaster/add-rule-master/add-rule-master.component';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { BarChartSchemeDetailsComponent } from './bar-chart-scheme-details/bar-chart-scheme-details.component';\nimport { LineChartSweepTransactionComponent } from './line-chart-sweep-transaction/line-chart-sweep-transaction.component';\nimport { SweepchargesListComponent } from './SweepManagement/sweepcharges-list/sweepcharges-list.component';\nimport { NgMultiSelectDropDownModule } from 'ng-multiselect-dropdown';\nimport { PaymentsComponent } from './payments/payments.component';\nimport { UploadPaymentsComponent } from './upload-payments/upload-payments.component';\nimport { PaymentsReportComponent } from './Reports/payments-report/payments-report.component';\n\n\nimport { HttpClientModule } from '@angular/common/http';\nimport { CoreModule } from './@core/core.module';\nimport { ThemeModule } from './@theme/theme.module';\nimport {\n NbChatModule,\n NbDatepickerModule,\n NbDialogModule,\n NbMenuModule,\n NbSidebarModule,\n NbSpinnerModule,\n NbToastrModule,\n NbWindowModule,\n} from '@nebular/theme';\nimport { NgSelectModule } from '@ng-select/ng-select';\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\nimport { RuleSummaryReportsComponent } from './Reports/rule-summary-reports/rule-summary-reports.component';\nimport { AngularMyDatePickerModule } from 'angular-mydatepicker';\nimport { UserAuditReportComponent } from './Reports/user-audit-report/user-audit-report.component';\nimport{UserauditreportService}from 'src/app/MasterService/userauditreport.service';\nimport { SweepExecutionComponent } from './AccountMaster/sweep-execution/sweep-execution.component';\nimport { SiteConfigurationComponent } from './Home/site-configuration/site-configuration.component';\nimport { ErrorPageComponent } from './Home/error-page/error-page.component';\nimport { CustomerAuditReportComponent } from './Reports/customer-audit-report/customer-audit-report.component';\nimport { AccountAuditReportComponent } from './Reports/account-audit-report/account-audit-report.component';\nimport { SchemeAccountLinkComponent } from 'src/app/SchemeMaster/scheme-account-link/scheme-account-link.component';\n@NgModule({\n schemas: [ \n CUSTOM_ELEMENTS_SCHEMA\n ],\n declarations: [\n AppComponent,\n UserMasterComponent,\n BranchMasterComponent,\n ManageUserMasterComponent,\n ManageBranchMasterComponent,\n ViewBranchMasterComponent,\n EditBranchMasterComponent,\n ManageRoleMasterComponent,\n RoleMasterComponent,\n SweepChargesMasterComponent,\n SweepsummaryreportsComponent,\n MustMatchDirective,\n ValidateUserNameDirective,\n UserBullkUploadComponent,\n AddEditFunddisbursementComponent, \n MasterFundDisbursementComponentComponent, \n BranchBulkUploadComponent,\n ResetPasswordComponent, \n CustomerbulkuploadComponent, HolidaybulkUploadComponent, LineChartSchemeDetailsComponent, DashboardComponent,\n CustomerbulkuploadComponent, HolidaybulkUploadComponent, AccountbulkuploadComponent, ManageRuleMasterComponent, AddRuleMasterComponent, BarChartSchemeDetailsComponent, LineChartSweepTransactionComponent,\n CustomerbulkuploadComponent, HolidaybulkUploadComponent, AccountbulkuploadComponent, ManageRuleMasterComponent, AddRuleMasterComponent, BarChartSchemeDetailsComponent, SweepchargesListComponent, RuleSummaryReportsComponent, UserAuditReportComponent, SweepExecutionComponent, SiteConfigurationComponent, ErrorPageComponent, CustomerAuditReportComponent, AccountAuditReportComponent\n // CustomerbulkuploadComponent, HolidaybulkUploadComponent, AccountbulkuploadComponent, ManageRuleMasterComponent, AddRuleMasterComponent, BarChartSchemeDetailsComponent, SweepchargesListComponent, RuleSummaryReportsComponent, UserAuditReportComponent, SweepExecutionComponent, SiteConfigurationComponent, ErrorPageComponent, AccountAuditReportComponent\n //CustomerbulkuploadComponent, AccountBulkUploadComponent\n ,SchemeAccountLinkComponent, PaymentsComponent, UploadPaymentsComponent, PaymentsReportComponent\n ],\n imports: [\n CommonModule,\n BrowserModule,\n FormsModule,\n ReactiveFormsModule,\n AppRoutingModule,\n DefaultModule,\n NgxPaginationModule,\n NgxSpinnerModule,\n ChartsModule,\n BrowserAnimationsModule,\n HttpClientModule,\n NbSidebarModule.forRoot(),\n NbMenuModule.forRoot(),\n NbDatepickerModule.forRoot(),\n NbDialogModule.forRoot(),\n NbWindowModule.forRoot(),\n NbToastrModule.forRoot(),\n NbChatModule.forRoot({\n messageGoogleMapKey: 'AIzaSyA_wNuCzia92MAmdLRzmqitRGvCF7wCZPY',\n }),\n CoreModule.forRoot(),\n ThemeModule.forRoot(),\n NgSelectModule,\n NgbModule,\n AngularMyDatePickerModule,NbSpinnerModule,\n \n NgMultiSelectDropDownModule.forRoot()\n ],\n exports: [SweepchargesListComponent],\n providers: [UserService,CustomerService,BranchService,RoleService,\n ChargesSweepService,AutoLogoutService,CustomvalidationService,CookieService],\n bootstrap: [AppComponent]\n})\n\nexport class AppModule { }\n","import { Component, OnInit } from '@angular/core';\nimport { ChartDataSets, ChartType, ChartOptions } from 'chart.js';\nimport { Color, BaseChartDirective, Label } from 'ng2-charts';\nimport * as pluginAnnotations from 'chartjs-plugin-annotation';\nimport { SchemeMasterService } from '../MasterService/scheme-master.service';\nimport { SchemeMaster } from 'src/app/MasterService/SchemeMaster';\nimport { CustomerService } from '../MasterService/customer.service';\n\n@Component({\n selector: 'app-bar-chart-scheme-details',\n templateUrl: './bar-chart-scheme-details.component.html',\n styleUrls: ['./bar-chart-scheme-details.component.css']\n})\nexport class BarChartSchemeDetailsComponent implements OnInit {\n Scheme : SchemeMaster[];\n FilteredScheme : SchemeMaster[];\n\n constructor(public _SchemeService : SchemeMasterService,public _customerService: CustomerService) { }\n\n ngOnInit(): void {\n this._customerService.fnGetCustomerMasterList().subscribe(customerList => {\n this._customerService.customerList = customerList;\n this.fnGetSchemMasterList(customerList[0].CustPkId);\n }) \n }\n\n SchemeNameList:any =[];\n BudgetAmountList:any =[];\n UtilizedAmountList:any =[];\n UnUtilizedAmountList:any =[];\n\n fnGetSchemMasterList(CustomerId:number){\n this._SchemeService.fnGetSchemMasterList(localStorage.getItem('LoginUserId')).subscribe(Scheme=>{\n this.Scheme = Scheme;\n this.FilteredScheme = this.Scheme.filter(row=>{\n return row.CustomerId.toString().match(CustomerId.toString());\n }); \n if(this.FilteredScheme.length > 0)\n {\n this.FilteredScheme.forEach(element => { \n this.SchemeNameList.push(element[\"SchemeName\"]);\n this.BudgetAmountList.push(element[\"BudgetAmount\"]);\n this.UtilizedAmountList.push(element[\"UtilizedAmount\"]);\n this.UnUtilizedAmountList.push(element[\"UnutilizedAmount\"]); \n }); \n } \n else\n {\n this.SchemeNameList.length=0;\n this.BudgetAmountList.length=0;\n this.UtilizedAmountList.length=0;\n this.UnUtilizedAmountList.length=0;\n } \n });\n }\n\n public barChartOptions: ChartOptions = {\n responsive: true,\n };\n public barChartLabels: Label[] = this.SchemeNameList;\n public barChartType: ChartType = 'bar';\n public barChartLegend = true;\n public barChartPlugins = [];\n\n public barChartData: ChartDataSets[] = [\n { data: this.BudgetAmountList, label: 'Allotted Funds', stack: 'a' },\n { data: this.UtilizedAmountList, label: 'Utilized Funds', stack: 'a' },\n { data: this.UnUtilizedAmountList, label: 'UnUtilized Funds', stack: 'a' }\n ];\n\n}","
\n
Scheme Management
\n
\n \n \n
\n
\n \n \n
\n
","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-dashboard',\n templateUrl: './dashboard.component.html',\n styleUrls: ['./dashboard.component.css']\n})\nexport class DashboardComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","
\n
\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { Constants } from 'src/app/Common/constant';\nimport { LoginDetails } from 'src/app/Common/LoginDetail';\nimport { HolidayService } from 'src/app/MasterService/Holiday.service';\nimport { LoginService } from 'src/app/MasterService/Login.service';\nimport { IfStmt } from '@angular/compiler';\nimport { UserService } from 'src/app/MasterService/user.service';\nimport { EncryptdecryptService } from 'src/app/MasterService/encryptdecrypt.service';\nimport * as $ from 'jquery';\nimport { debug } from 'console';\n\n@Component({\n selector: 'app-default',\n templateUrl: './default.component.html',\n styleUrls: ['./default.component.css']\n})\nexport class DefaultComponent implements OnInit {\n showModalLogout: boolean;\n showLastLogin: boolean;\n ShowLoginUser: boolean;\n lblMessageLogout: string;\n AdminPrivllage: boolean = false;\n LoginINFo: any;\n LoginRoleName: string;\n LastLoginDate: string;\n IsLastLoginPopupDisplay: boolean = false;\n LoginUser: string;\n FirstName: string;\n LastName: string;\n LoginAccessList: any;\n RuleSummaryPrivillage: boolean = false;\n ReportExistinMenu: boolean = false;\n showLogout() { this.showModalLogout = true; }\n hideLogout() { this.showModalLogout = false; }\n constructor(private router: Router, public _login: LoginService, public _user: UserService,\n public _encrypt: EncryptdecryptService) {\n }\n LogoutPopup() {\n this.lblMessageLogout = \"Are you sure, you want to Logout?\";\n this.showLogout();\n }\n\n Hide() {\n this.hideLogout();\n }\n HideLastLogin() {\n this.showLastLogin = false;\n }\n YesLogout() {\n $('#divLastLoginDate').css('display', 'none');\n LoginDetails.UserId = 0;\n this._user.fnUpdateTokenInDb(localStorage.getItem('UID'), \"\").subscribe(data => {\n this.hideLogout();\n localStorage.clear();\n this.router.navigate([\"\"]);\n this.ngOnInit();\n });\n\n }\n readonly rootURL = Constants.apiURL + 'HolidayMasterApi/';\n //public UserName= localStorage.getItem('LoginFirstName')+ ' '+localStorage.getItem('LoginLastName'); \n\n public userID = LoginDetails.UserId;\n public UserName;\n // public UserName=\"Rubina qureshi\";\n ngOnInit(): void {\n if ((localStorage.getItem('LoginUserId')) == null) {\n // this._login.fnGetLoginUserID(localStorage.getItem('LoginUserId'));\n this.UserName = '';\n // LoginDetails.LoginAccessData=[];\n this._login.displaystart = true;\n this._login.displayLogin = false;\n if (localStorage.getItem('RefreshSignIN') == \"true\") {\n debugger;\n this.router.navigate([\"/LoginPage\"]);\n // localStorage.removeItem(\"RefreshSignIN\")\n return;\n }\n else {\n this.router.navigate([\"\"]);\n }\n\n\n }\n if ((localStorage.getItem('LoginUserId')) != null) {\n this.FirstName = localStorage.getItem('LoginFirstName');\n this.LastName = localStorage.getItem('LoginLastName');\n if (this.FirstName.length > 0 || this.LastName.length > 0) {\n this.UserName = this.FirstName.charAt(0).toUpperCase() + this.FirstName.substr(1).toLowerCase() + ' ' + this.LastName.charAt(0).toUpperCase() + this.LastName.substr(1).toLowerCase()\n }\n this._login.displaystart = false;\n this._login.displayLogin = true;\n this._login.fnGetLoginUserID(localStorage.getItem('LoginUserId'));\n this._login.fnGetMenuModuleListForDashboard(localStorage.getItem('LoginUserId'));\n //Rubina added\n\n this.LoginRoleName = this._encrypt.decryptUsingAES256(localStorage.getItem('LoginRoleName'));\n this.LastLoginDate = localStorage.getItem('LastLoginDate');\n // this.LoginUser = localStorage.getItem('LoginUser');\n debugger;\n if (localStorage.getItem('LoginUser') == \"Yes\") {\n if (this.LastLoginDate != '') {\n this.IsLastLoginPopupDisplay = true;\n this.LastLoginDate = this.LastLoginDate;\n\n // this.LastLoginDate = 'Last Login: ' + this.LastLoginDate;\n this.showLastLogin = true;\n localStorage.removeItem('LoginUser')\n $(function () {\n setTimeout(function () {\n // $(\"#divLastLoginDate\").hide();\n $(\"#LastLoginModel\").hide();\n\n // this.showLastLogin=false;\n }, 5000);\n });\n }\n }\n if (this.LoginRoleName.indexOf(\"IDBIAdmin\") !== -1) {\n this.AdminPrivllage = true;\n }\n }\n\n\n\n this._login.fnGetLoginMenuNModule(localStorage.getItem('LoginUserId')).subscribe(data => {\n this.LoginAccessList = data;\n debugger;\n this.LoginAccessList.forEach(element => {\n if (element.menuName == \"Manage Master\") {\n element.moduleList.forEach(element => {\n if (element[\"moduleName\"] == 'Scheme Master') {\n this.RuleSummaryPrivillage = true;\n }\n });\n }\n if (element.menuName == \"Reports\") {\n this.ReportExistinMenu = true;\n }\n //vaibhav 21/12/2020 4:47 PM commented below code for Reports modules showing multiple times.\n // else{ \n // this.ReportExistinMenu=false;\n // }\n });\n });\n // if(localStorage.getItem('LoginUserId')==null){\n // this.router.navigate([\"\"]);\n // return;\n // }\n\n }\n\n bool: boolean = false;\n LoginPage() {\n document.location.reload();\n localStorage.setItem('RefreshSignIN', 'true');\n // if(localStorage.getItem(\"UserTypeVal\")!=null){\n // if(localStorage.getItem(\"UserTypeVal\")==\"2\"){\n // this.bool = true;\n // }\n // else{\n // }\n // }\n // else{\n // document.location.reload();\n // localStorage.setItem('RefreshSignIN', 'true');\n // };\n }\n // redirectToAccoulink() {\n // // this.router.navigate(['/AccountLinkMaster']);\n\n // this.router.navigateByUrl('/', { skipLocationChange: true }).then(() => {\n // this.router.navigate(['AccountLinkMaster']).then(()=> {\n // location.reload();\n // });\n // }); \n\n //}\n\n}\n","
\n
\n
\n
\n\n
\n \n \"logo\"\n \n \n \n
\n \n
\n
\n
\n
\n

Confirmation

\n \n
\n
\n {{lblMessageLogout}}\n
\n
\n \n \n
\n
\n
\n
\n\n
\n
\n
\n
\n
Last Login:
\n \n
\n
\n \n {{LastLoginDate}}
\n
\n
\n
\n\n
\n
\n
\n
\n \n
\n
{{LoginRoleName}}
\n
\n
\n
\n \n
\n\n \n \n \n
\n \n \n\n
\n \n
\n\n
\n
\n
\n
\n\n\n \n\n\n\n\n\n","import { NgModule,CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { DefaultComponent } from './default.component';\nimport { IndexComponent } from 'src/app/Home/index/index.component';\nimport { LoginPageComponent } from 'src/app/Home/login/login-page.component';\nimport { RouterModule } from '@angular/router';\nimport { AddAccountComponent } from 'src/app/AccountMaster/add-account/add-account.component';\nimport { ManageAccountComponent } from 'src/app/AccountMaster/manage-account/manage-account.component';\nimport { HttpClientModule } from '@angular/common/http'; \nimport { AccountMasterService } from 'src/app/shared/account-master.service';\nimport { AccountlinkComponent } from 'src/app/AccountMaster/accountlink/accountlink.component';\nimport { CustomerMasterComponent } from 'src/app/ManageMaster/customer-master/customer-master.component';\nimport { ManageCustomerMasterComponent } from 'src/app/ManageMaster/manage-customer-master/manage-customer-master.component';\nimport { ManageAccessComponent } from 'src/app/ManageMaster/manage-access/manage-access.component';\nimport { HolidayMasterComponent } from 'src/app/ManageMaster/holiday-master/holiday-master.component';\nimport { HolidayMasterSetupComponent } from 'src/app/ManageMaster/holiday-master-setup/holiday-master-setup.component';\nimport { SignUpComponent } from 'src/app/Home/sign-up/sign-up.component';\nimport { CustomerService } from 'src/app/MasterService/customer.service';\nimport { ManageSchemeComponent } from 'src/app/SchemeMaster/manage-scheme/manage-scheme.component';\nimport { AddSchemeComponent } from 'src/app/SchemeMaster/add-scheme/add-scheme.component';\nimport { SchemeMasterService } from 'src/app/MasterService/scheme-master.service';\nimport { AccountLinkMasterComponent } from 'src/app/AccountMaster/account-link-master/account-link-master.component';\nimport { NgxPaginationModule} from 'ngx-pagination';\nimport { CustomerMappingComponent } from 'src/app/ManageMaster/customer-mapping/customer-mapping.component';\nimport { NgxSpinnerModule } from \"ngx-spinner\";\nimport{CookieService} from \"ngx-cookie-service\";\nimport { NumberDirective } from 'src/app/CustomDirectives/numbers-only.directive';\nimport { DragScrollModule } from 'ngx-drag-scroll';\nimport {NgbModule} from '@ng-bootstrap/ng-bootstrap';\nimport { AngularMyDatePickerModule } from 'angular-mydatepicker';\nimport { ChartsModule } from 'ng2-charts';\n\n@NgModule({\n declarations: [\n DefaultComponent,\n IndexComponent,\n AddAccountComponent,\n ManageAccountComponent,\n AccountlinkComponent,\n LoginPageComponent,\n CustomerMasterComponent,\n ManageCustomerMasterComponent,\n ManageAccessComponent,\n HolidayMasterComponent,\n HolidayMasterSetupComponent,\n SignUpComponent,\n ManageSchemeComponent,\n AddSchemeComponent,\n AccountLinkMasterComponent,\n CustomerMappingComponent,\n NumberDirective,\n ],\n imports: [\n CommonModule,\n RouterModule,\n HttpClientModule,\n FormsModule,\n ReactiveFormsModule,\n NgxPaginationModule,\n NgxSpinnerModule,\n DragScrollModule,\n NgbModule,\n AngularMyDatePickerModule,\n ChartsModule\n],\n\n providers:[\n AccountMasterService,\n CustomerService,\n SchemeMasterService,\n CookieService\n ], \n schemas: [ \n CUSTOM_ELEMENTS_SCHEMA\n ],\n})\nexport class DefaultModule { }\n","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { ChartDataSets, ChartOptions } from 'chart.js';\nimport { Color, BaseChartDirective, Label } from 'ng2-charts';\nimport * as pluginAnnotations from 'chartjs-plugin-annotation';\nimport { SchemeMasterService } from '../MasterService/scheme-master.service';\nimport { SchemeMaster } from 'src/app/MasterService/SchemeMaster';\nimport { CustomerService } from '../MasterService/customer.service';\n\n@Component({\n selector: 'app-line-chart-scheme-details',\n templateUrl: './line-chart-scheme-details.component.html',\n styleUrls: ['./line-chart-scheme-details.component.css']\n})\nexport class LineChartSchemeDetailsComponent implements OnInit {\n Scheme : SchemeMaster[];\n FilteredScheme : SchemeMaster[];\n\n constructor(public _SchemeService : SchemeMasterService,public _customerService: CustomerService) { }\n\n ngOnInit(): void {\n this._customerService.fnGetCustomerMasterList().subscribe(customerList => {\n this._customerService.customerList = customerList;\n this.fnGetSchemMasterList(customerList[0].CustPkId);\n }) \n } \n\n SchemeNameList:any =[];\n BudgetAmountList:any =[];\n UtilizedAmountList:any =[];\n UnUtilizedAmountList:any =[];\n\n fnGetSchemMasterList(CustomerId:number){\n this._SchemeService.fnGetSchemMasterList(localStorage.getItem('LoginUserId')).subscribe(Scheme=>{\n this.Scheme = Scheme;\n this.FilteredScheme = this.Scheme.filter(row=>{\n return row.CustomerId.toString().match(CustomerId.toString());\n }); \n if(this.FilteredScheme.length > 0)\n {\n this.FilteredScheme.forEach(element => { \n this.SchemeNameList.push(element[\"SchemeName\"]);\n this.BudgetAmountList.push(element[\"BudgetAmount\"]);\n this.UtilizedAmountList.push(element[\"UtilizedAmount\"]);\n this.UnUtilizedAmountList.push(element[\"UnutilizedAmount\"]); \n }); \n } \n else\n {\n this.SchemeNameList.length=0;\n this.BudgetAmountList.length=0;\n this.UtilizedAmountList.length=0;\n this.UnUtilizedAmountList.length=0;\n } \n });\n }\n\n public lineChartData: ChartDataSets[] = [\n { data: this.BudgetAmountList, label: 'Allotted Funds' },\n { data: this.UtilizedAmountList, label: 'Utilized Funds' },\n { data: this.UnUtilizedAmountList, label: 'UnUtilized Funds', yAxisID: 'y-axis-1' }\n ];\n public lineChartLabels: Label[] = this.SchemeNameList;\n public lineChartOptions: (ChartOptions & { annotation: any }) = {\n responsive: true,\n scales: {\n // We use this empty structure as a placeholder for dynamic theming.\n xAxes: [{}],\n yAxes: [\n {\n id: 'y-axis-0',\n position: 'left',\n },\n {\n id: 'y-axis-1',\n position: 'right',\n gridLines: {\n color: 'rgba(255,0,0,0.3)',\n },\n ticks: {\n fontColor: 'red',\n }\n }\n ]\n },\n annotation: {\n annotations: [\n {\n type: 'line',\n mode: 'vertical',\n scaleID: 'x-axis-0',\n value: 'March',\n borderColor: 'orange',\n borderWidth: 2,\n label: {\n enabled: true,\n fontColor: 'orange',\n content: 'LineAnno'\n }\n },\n ],\n },\n };\n public lineChartColors: Color[] = [\n { // grey\n backgroundColor: 'rgba(148,159,177,0.2)',\n borderColor: 'rgba(148,159,177,1)',\n pointBackgroundColor: 'rgba(148,159,177,1)',\n pointBorderColor: '#fff',\n pointHoverBackgroundColor: '#fff',\n pointHoverBorderColor: 'rgba(148,159,177,0.8)'\n },\n { // dark grey\n backgroundColor: 'rgba(77,83,96,0.2)',\n borderColor: 'rgba(77,83,96,1)',\n pointBackgroundColor: 'rgba(77,83,96,1)',\n pointBorderColor: '#fff',\n pointHoverBackgroundColor: '#fff',\n pointHoverBorderColor: 'rgba(77,83,96,1)'\n },\n { // red\n backgroundColor: 'rgba(255,0,0,0.3)',\n borderColor: 'red',\n pointBackgroundColor: 'rgba(148,159,177,1)',\n pointBorderColor: '#fff',\n pointHoverBackgroundColor: '#fff',\n pointHoverBorderColor: 'rgba(148,159,177,0.8)'\n }\n ];\n public lineChartLegend = true;\n public lineChartType = 'line';\n public lineChartPlugins = [pluginAnnotations];\n\n @ViewChild(BaseChartDirective, { static: true }) chart: BaseChartDirective; \n\n // events\n public chartClicked({ event, active }: { event: MouseEvent, active: {}[] }): void {\n \n }\n\n public chartHovered({ event, active }: { event: MouseEvent, active: {}[] }): void {\n \n }\n\n public hideOne() {\n const isHidden = this.chart.isDatasetHidden(1);\n this.chart.hideDataset(1, !isHidden);\n } \n\n}\n","
\n
\n \n \n
\n
\n \n
\n
","import { Component, OnInit } from '@angular/core';\nimport { ChartDataSets, ChartType, ChartOptions } from 'chart.js';\nimport { Color, BaseChartDirective, Label } from 'ng2-charts';\nimport { CustomerService } from '../MasterService/customer.service';\nimport { SweepChargesModelService } from 'src/app/MasterService/sweep-charges-model.service';\n\n@Component({\n selector: 'app-line-chart-sweep-transaction',\n templateUrl: './line-chart-sweep-transaction.component.html',\n styleUrls: ['./line-chart-sweep-transaction.component.css']\n})\nexport class LineChartSweepTransactionComponent implements OnInit {\n SweepTransGraphDataList:any[];\n WDays:any=[];\n FixedBalanceTransfer:any=[];\n ReverseBalanceTransfer:any=[];\n ZeroBalanceTransfer:any=[];\n TargetBalanceTransfer:any=[];\n FixedSweepList:any=[];\n ReverseSweepList:any=[];\n ZeroBalSweepList:any=[];\n TargetBalSweepList:any=[];\n\n constructor(public _customerService: CustomerService,public _SweepChargesModelService: SweepChargesModelService) { }\n\n ngOnInit(): void {\n this._customerService.fnGetCustomerMasterList().subscribe(customerList => {\n this._customerService.customerList = customerList; \n this.fnGetSweepTransGraphData(customerList[0].CustPkId,1); \n }) \n }\n\n fnGetSweepTransGraphData(CustId:number,type:number) {\n this.WDays.length=0;\n this.FixedBalanceTransfer.length=0;\n this.ReverseBalanceTransfer.length=0;\n this.ZeroBalanceTransfer.length=0;\n this.TargetBalanceTransfer.length=0;\n this.FixedSweepList.length=0;\n this.ReverseSweepList.length=0;\n this.ZeroBalSweepList.length=0;\n this.TargetBalSweepList.length=0;\n\n this._SweepChargesModelService.fnGetSweepTransGraphData(CustId,type).subscribe(respose => {\n this.SweepTransGraphDataList = respose;\n\n this.FixedSweepList = this.SweepTransGraphDataList.filter(row=>{\n return row.SweepMethod.toString().match('Fixed Sweep');\n }); \n if(this.FixedSweepList.length > 0)\n {\n this.FixedSweepList.forEach(element => { \n this.WDays.push(element[\"WDays\"]);\n this.FixedBalanceTransfer.push(element[\"BalanceTransfer\"]); \n }); \n } \n else\n {\n this.WDays.length=0;\n this.FixedBalanceTransfer.length=0; \n } \n\n this.ReverseSweepList = this.SweepTransGraphDataList.filter(row=>{\n return row.SweepMethod.toString().match('Reverse Sweep');\n }); \n if(this.ReverseSweepList.length > 0)\n {\n this.ReverseSweepList.forEach(element => { \n this.ReverseBalanceTransfer.push(element[\"BalanceTransfer\"]); \n }); \n } \n else\n { \n this.ReverseBalanceTransfer.length=0; \n } \n\n this.TargetBalSweepList = this.SweepTransGraphDataList.filter(row=>{\n return row.SweepMethod.toString().match('Target Balance/Minimum Balance sweep');\n }); \n if(this.TargetBalSweepList.length > 0)\n {\n this.TargetBalSweepList.forEach(element => { \n this.TargetBalanceTransfer.push(element[\"BalanceTransfer\"]); \n }); \n } \n else\n { \n this.TargetBalanceTransfer.length=0; \n } \n\n this.ZeroBalSweepList = this.SweepTransGraphDataList.filter(row=>{\n return row.SweepMethod.toString().match('Zero Balance Sweep');\n }); \n if(this.ZeroBalSweepList.length > 0)\n {\n this.ZeroBalSweepList.forEach(element => { \n this.ZeroBalanceTransfer.push(element[\"BalanceTransfer\"]); \n });\n } \n else\n { \n this.ZeroBalanceTransfer.length=0; \n } \n \n \n });\n }\n\n public lineChartData: ChartDataSets[] = [\n { data: this.FixedBalanceTransfer, label: 'Fixed Sweep' },\n { data: this.ReverseBalanceTransfer, label: 'Reverse Sweep' },\n { data: this.TargetBalanceTransfer, label: 'Target Balance/Minimum Balance sweep' },\n { data: this.ZeroBalanceTransfer, label: 'Zero Balance Sweep' },\n ]; \n\n public lineChartLabels: Label[] = this.WDays;\n public lineChartOptions: (ChartOptions) = {\n responsive: true,\n };\n public lineChartColors: Color[] = [\n {\n borderColor: 'black',\n backgroundColor: 'rgba(255,0,0,0.3)',\n },\n ];\n public lineChartLegend = true;\n public lineChartType = 'line';\n public lineChartPlugins = [];\n\n}\n","
\n
\n
\n
Sweep Transactoins
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
","import { Component, OnInit, AfterViewInit } from '@angular/core';\nimport { ViewEncapsulation } from '@angular/core';\nimport { HttpClientModule, HttpClient, HttpHeaders } from '@angular/common/http';\nimport { NgxSpinnerService } from 'ngx-spinner';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { WindowScrollingService } from 'src/app/MasterService/window-scrolling.service';\nimport { NgForm } from '@angular/forms';\nimport { TokenService } from 'src/app/MasterService/token.service';\nimport { EncryptdecryptService } from 'src/app/MasterService/encryptdecrypt.service';\nimport { PaymentsService } from 'src/app/MasterService/payments.service';\nimport { DecimalPipe } from '@angular/common';\nimport { SchemeAccountLinkService } from 'src/app/MasterService/scheme-account-link.service';\nimport { retryWhen } from 'rxjs/operators';\n\nexport class payment {\n PaymentsTrackingId:number;\n DebitAccountNumber: string;\n CreditAccountNumber: string;\n DebitAccountId: number;\n CreditAccountId: number;\n DebitBalance: string;\n CreditBalance: string;\n Amount: string;\n Comments:string;\n isExcuted:string = '0';\n status:string;\n refNumber:string;\n batchId:string;\n userId:string;\n BeforeBalDA:string;\n AfterBalDA:string;\n BeforeBalCA:string;\n AfterBalCA:string;\n Action:string;\n StructureId:number;\n StructureTypeName:string;\n DebitIFSC:string;\n CreditIFSC:string;\n DebitACHName:string;\n CreditACHName:string;\n DebitBankName:string;\n CreditBankName:string;\n}\n\n@Component({\n selector: 'app-payments',\n templateUrl: './payments.component.html',\n styleUrls: ['./payments.component.css']\n})\nexport class PaymentsComponent implements OnInit {\n config: any;\n paymentObj:payment = new payment();\n payments:payment[] = [];\n LoginUserId: string;\n DebitAccountsList: any[] = [];\n AccountsList: any[] = [];\n lastSortedByField;\n ddlshowvalue:number;\n ascendingOrder = true;\n ddlshowStartValue:number;\n filterCount:string;\n AllStructorTypes: any = [];\n \n constructor(private httpService: HttpClient, private router: Router, private _spinner: NgxSpinnerService,\n public _token: TokenService, public _encrypt: EncryptdecryptService,public _PaymentsService: PaymentsService,public _schemeLinkService: SchemeAccountLinkService) {\n }\n ngOnInit(): void {\n if (localStorage.getItem('LoginUserId') == null) {\n this.router.navigate([\"\"]);\n return;\n }\n this.config = {\n itemsPerPage: 5,\n currentPage: 1,\n };\n this.ddlshowvalue =5;\n this.ddlshowStartValue = 1;\n this.filterCount = \"\";\n this.LoginUserId = localStorage.getItem('LoginUserId');\n this.GetAccounts();\n //this.sortTable(1,false);\n this.add(0);\n this.StructorType();\n }\n pageChanged(event) {\n this.config.currentPage = event;\n this.ddlshowvalue = this.config.currentPage*this.config.itemsPerPage;\n this.ddlshowStartValue = this.ddlshowvalue - (this.config.itemsPerPage-1);\n if(this.payments.length<=this.ddlshowvalue)\n this.ddlshowvalue = this.payments.length;\n }\n StructorType() {\n this._schemeLinkService.fnGetStructorType().subscribe(data => {\n this.AllStructorTypes = data;\n });\n }\n addClick(){\n var DebitAccountDetails = this.GetAccountDetails(this.paymentObj.DebitAccountNumber);\n var CreditAccountDetails = this.GetAccountDetails(this.paymentObj.CreditAccountNumber);\n debugger;\n this.paymentObj.status = (\n this.paymentObj.DebitAccountNumber == null?\"Debit Account Number is required\":\n this.paymentObj.CreditAccountNumber == null?\"Credit Account Number is required\":\n this.paymentObj.Amount == null?\"Amount is required\":\n DebitAccountDetails == null?\"Enter valid Debit Account Number\":\n CreditAccountDetails == null?\"Enter valid Credit Account Number\":\n DebitAccountDetails.BankName != \"IDBI Bank\" ? \"Debit account should always be IDBI\":\n this.paymentObj.StructureTypeName == \"Fund Transfer\" && (DebitAccountDetails.BankName != \"IDBI Bank\" || CreditAccountDetails.BankName != \"IDBI Bank\")?\"For fund tranfer both account should be IDBI\":\n (this.paymentObj.StructureTypeName == \"NEFT\" || this.paymentObj.StructureTypeName == \"RTGS\") && ( DebitAccountDetails.BankName == \"IDBI Bank\" && CreditAccountDetails.BankName == \"IDBI Bank\")?\"For NEFT credit account should be non IDBI\":\n this.paymentObj.StructureTypeName == \"RTGS\" && parseFloat(this.paymentObj.Amount) < 200000?\"For RTGS Amount should be 2 Lac or above\":\n \"\"\n );\n if(this.paymentObj.status != \"\"){\n alert(this.paymentObj.status);\n this.paymentObj.status == \"\";\n return;\n }\n else{\n this.paymentObj.DebitAccountId = DebitAccountDetails.AcId;\n this.paymentObj.CreditAccountId = CreditAccountDetails.AcId;\n this.paymentObj.DebitBankName = DebitAccountDetails.BankName;\n this.paymentObj.CreditBankName = CreditAccountDetails.BankName;\n this.paymentObj.DebitACHName = DebitAccountDetails.ACHName;\n this.paymentObj.CreditACHName = CreditAccountDetails.ACHName;\n }\n this.add(0);\n }\n GetAccountDetails(acNo):any{\n var retval = null;\n for(var i = 0;idocument.getElementById(\"StructureId\")).value);\n this.paymentObj.Action = PaymentsTrackingId == 0 ? \"add\" : \"delete\";\n this.paymentObj.PaymentsTrackingId = PaymentsTrackingId;\n this._PaymentsService.addAccounts(this.paymentObj).subscribe(res => {\n this.payments = res;\n },(err)=>{\n this.router.navigate([\"404\"]);\n });\n }\n execute(){\n this._PaymentsService.Execute(this.payments).subscribe(res => {\n this.payments = res;\n },(err)=>{\n this.router.navigate([\"404\"]);\n });\n }\n GetAccounts(){\n this._PaymentsService.getAccounts().subscribe(res => {\n debugger;\n this.AccountsList = res;\n this.DebitAccountsList = res.filter(function (el) {\n return el[\"BankName\"] == \"IDBI Bank\"\n });\n },(err)=>{\n this.router.navigate([\"404\"]);\n });\n }\n sortTable(n, val) {\n var table = (document.getElementById(\"tblpayment\"));\n $('.sortorder').remove();\n var hdr = table.rows[0].cells[n];\n if (val) {\n $(hdr).html($(hdr).html() + '');\n } else {\n $(hdr).html($(hdr).html() + '');\n }\n }\n fnSortTable(field,obj){\n if(this.lastSortedByField === field) {\n this.ascendingOrder = !this.ascendingOrder;\n\n this.sortTable(obj,this.ascendingOrder);\n }\n else {\n this.lastSortedByField = field;\n this.ascendingOrder = true;\n\n this.sortTable(obj,this.ascendingOrder);\n }\n\n this.payments = this.payments.sort((a, b) => {\n if(this.ascendingOrder) {\n if (a[field].toLowerCase() < b[field].toLowerCase())\n return -1;\n if (a[field].toLowerCase() > b[field].toLowerCase())\n return 1;\n return 0;\n } \n else {\n if (a[field].toLowerCase() < b[field].toLowerCase())\n return 1;\n if (a[field].toLowerCase() > b[field].toLowerCase())\n return -1;\n return 0;\n }\n });\n}\n}\n","
\n
\n
\n
\n \n
\n
\n

Payments

\n
\n
\n
\n \n
\n
\n
\n \n
\n
\n
\n \n
\n
\n
\n \n
\n
\n \n \n
\n
\n
\n \n \n \n \n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Debit Account NumberCredit Account NumberAmountTypeCommentsStatusRef No
{{payment.DebitAccountNumber}} - ({{payment.DebitBalance}}){{payment.CreditAccountNumber}} - ({{payment.CreditBalance}}){{payment.Amount}}{{payment.StructureTypeName}}{{payment.Comments}}{{payment.status}}{{payment.refNumber}} \n
\n
\n \n
\n
\n
No records found.
\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n \n
\n \n \n \n \n \n \n
\n\n\n","import { AccountMaster } from './account-master.model';\nimport { Injectable } from '@angular/core';\nimport { TokenService } from 'src/app/MasterService/token.service';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\n@Injectable({\n providedIn: 'root'\n})\nexport class AccountMasterService {\n formData: AccountMaster;\n \n readonly rootURL = 'http://localhost:4200/api/AccountMasterApi/';\n list: AccountMaster[];\n \n\n\n constructor(private http: HttpClient, public _token:TokenService) { }\n\n AccountMasterList() {\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n this.http.get(this.rootURL + 'GetAcccountList', httpOptions)\n .toPromise()\n .then(res=>this.list = res as AccountMaster[]);\n }\n\n AccountMasterById(id) {\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n this.http.get(this.rootURL + 'GetAcccountListById/' + id, httpOptions)\n .toPromise()\n .then(res=>this.list = res as AccountMaster[]);\n }\n\n AddEditAccountMaster() {\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.post(this.rootURL + 'AddEditAccount/', this.formData, httpOptions);\n }\n\n DeleteAccountMaster(id){\n return this.http.delete(this.rootURL + 'DeleteAccountListById/' + id)\n }\n\n}","import { Component, OnInit } from '@angular/core';\nimport { FormGroup, FormControl, NgForm } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport * as XLSX from 'xlsx'; \nimport { PaymentsService } from 'src/app/MasterService/payments.service';\nimport { NgxSpinnerService } from 'ngx-spinner';\nimport { Constants } from 'src/app/Common/constant';\nimport { FormBuilder } from '@angular/forms';\n\n\n@Component({\n selector: 'app-upload-payments',\n templateUrl: './upload-payments.component.html',\n styleUrls: ['./upload-payments.component.css']\n})\nexport class UploadPaymentsComponent implements OnInit {\n lblMessage:string;\n file:any;\n arrayBuffer:any;\n filelist:any;\n showMsg: boolean;\n showerrormsg: boolean;\n showOrangeerrormsg: boolean;\n disableButton:boolean = true;\n viewresult:any;\n splitresult:any;\n newsplitresult:any;\n headerArrayList:any;\n headerColumns:any;\n IsValid:boolean;\n sbresult:string;\n rowNumber:number;\n IsMaxFileSize: boolean;\n ErrorMessage: string;\n headerColumnsArrays: any;\n FileValid: boolean=true;\n uploadForm: FormGroup;\n uploadList: any[];\n errorFileURL:string;\n config:any;\n\n constructor(private router: Router,private _paymentservice:PaymentsService,public _spinner:NgxSpinnerService,\n private formBuilder: FormBuilder) { }\n\n ngOnInit(): void { \n this.disableButton = true;\n this.uploadForm = this.formBuilder.group({\n profile: [''],\n });\n\n this.config = {\n itemsPerPage: 10,\n currentPage: 1,\n };\n \n this.errorFileURL=Constants.tokenURL;\n this._paymentservice\n .GetAndInsertImportFileData('',localStorage.getItem('LoginUserId'))\n .subscribe((data) => {\n console.log(data);\n this.uploadList = data;\n for(var i=0;i 0) {\n const file = event.target.files[0];\n this.uploadForm.get('profile').setValue(file);\n }\n }\n\n addfile(event) \n {\n this._spinner.show();\n this.disableButton = true;\n this.ErrorMessage=\"\";\n this.showerrormsg=false;\n this.lblMessage = \"\";\n\n debugger\n this.showMsg = false;\n this.showerrormsg = false;\n this.showOrangeerrormsg = false;\n this.viewresult = \"\";\n\n this.file= event.target.files[0]; \n let fileReader = new FileReader(); \n fileReader.readAsArrayBuffer(this.file); \n fileReader.onload = (e) => { \n this.arrayBuffer = fileReader.result; \n var data = new Uint8Array(this.arrayBuffer); \n var arr = new Array(); \n for(var i = 0; i != data.length; ++i) arr[i] = String.fromCharCode(data[i]); \n var bstr = arr.join(\"\"); \n var workbook = XLSX.read(bstr, {type:\"binary\"}); \n var first_sheet_name = workbook.SheetNames[0]; \n var worksheet = workbook.Sheets[first_sheet_name]; \n var arraylist = XLSX.utils.sheet_to_json(worksheet,{raw:true}); \n this.headerArrayList = XLSX.utils.sheet_to_json(worksheet, { header: 1 });\n this.headerColumns = this.headerArrayList[0].toString();\n var ExcelHeader = this.headerColumns.split(',');\n this.headerColumnsArrays=ExcelHeader;\n if ((this.headerColumnsArrays[0] != \"DebitAccountNumber\") || (this.headerColumnsArrays[1] != \"CreditAccountNumber\") \n || (this.headerColumnsArrays[2] != \"Amount\") || (this.headerColumnsArrays[3] != \"Comments\") || (this.headerColumnsArrays[4] != \"StructureType\")){\n this.FileValid = false;\n this.showerrormsg=true;\n this.lblMessage = \" Please select valid file\";\n }\n else{\n this.FileValid = true;\n }\n if(arraylist.length>0 && this.FileValid ==true)\n {\n this.disableButton = false;\n } \n if(this.file.size > 4194304){\n this.IsMaxFileSize=true;\n this.disableButton = true;\n this.ErrorMessage=\" Maximum file size should be 4MB.\"\n } \n this.filelist = arraylist; \n setTimeout(() => {\n this._spinner.hide(); \n }, 500);\n \n } \n}\n\nonSubmit(form: NgForm) {\n debugger;\n this._spinner.show();\n if (this.filelist.length > 0) { \n\n this.rowNumber = 1;this.sbresult = \"\";\n \n if( this.FileValid==true){\n this.IsValid = true;\n\n if (this.IsValid) {\n const formData = new FormData();\n formData.append('file', this.uploadForm.get('profile').value);\n this._paymentservice.fnUploadFile(formData).subscribe((res) => { \n if (res != null) { \n this._paymentservice\n .GetAndInsertImportFileData(res,localStorage.getItem('LoginUserId'))\n .subscribe((data) => { \n this.uploadList = data;\n for(var i=0;iImport Summary
\" + this.sbresult;\n }\n }\n}\nelse{\n this.lblMessage = \"Please upload valid file\";\n this.showerrormsg = true;\n this.showMsg = false;\n this.showOrangeerrormsg = false;\n}\nsetTimeout(() => {\n this._spinner.hide(); \n}, 500);\n\n}\n\n BackButton() {\n this.router.navigate(['/payments']);\n }\n\n onTop() {\n window.scroll({\n top: 0,\n left: 0,\n behavior: 'smooth'\n })\n }\n\n showlbl() {\n this.showMsg = true;\n }\n hidelbl() {\n this.showMsg = false;\n }\n\n showerror() {\n this.showerrormsg = true;\n }\n hideerror() {\n this.showerrormsg = false;\n }\n showOrangeerror() {\n this.showOrangeerrormsg = true;\n }\n hideOrangeerror() {\n this.showOrangeerrormsg = false;\n }\n\n\n}\n","
\n
\n
\n
\n
\n
\n
\n \n
\n
\n

Upload Payments

\n
\n
\n
\n
\n
\n \n\n
\n
\n
\n

* Marked Fields Are Mandatory.

\n \n
\n \n
\n \n \n
\n
\n
\n ×\n Success! {{lblMessage}}.\n
\n\n
\n ×\n Failed! {{lblMessage}}.\n
\n\n
\n ×\n {{lblMessage}}.\n
\n\n
\n
\n\n
\n \n
\n
\n
\n \n
\n\n
\n \n
\n\n
\n \n
\n
\n
\n
\n\n
\n
\n \n
\n {{ErrorMessage}}\n
\n
\n
\n
\n
\n \n \n \n Import File Name\n Uploaded Date\n Uploaded By\n Status \n Results/Comments \n \n \n \n \n {{ upload.originalFileName }}\n {{ upload.CREATEDDATE }}\n {{ upload.USERNAME }}\n {{ upload.STATUS }}\n \n Error Log\n \n {{ upload.TOTALRECORDS }} Records \n \n \n \n No records found.\n \n \n \n\n
\n\n
\n \n
\n \n
\n \n
\n\n
\n
\n
\n
\n
\n
\n
\n
\n \n","// This file can be replaced during build by using the `fileReplacements` array.\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\n// The list of file replacements can be found in `angular.json`.\n\nexport const environment = {\n production: false\n};\n\n/*\n * For easier debugging in development mode, you can import the following file\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\n *\n * This import should be commented out in production mode because it will have a negative impact\n * on performance if an error is thrown.\n */\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\n","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule)\n .catch(err => console.error(err));\n","/* (ignored) */","/* (ignored) */","/* (ignored) */"],"sourceRoot":"webpack:///"}