{"version":3,"sources":["webpack:///$_lazy_route_resource lazy namespace object","webpack:///src/app/account/account.component.ts","webpack:///src/app/account/account.component.html","webpack:///src/app/app-routing.module.ts","webpack:///src/app/app.component.ts","webpack:///src/app/app.component.html","webpack:///src/app/app.module.ts","webpack:///src/app/application/application.component.ts","webpack:///src/app/application/application.component.html","webpack:///src/app/business-enroll/business-enroll.component.ts","webpack:///src/app/business-enroll/business-enroll.component.html","webpack:///src/app/dashboard/dashboard.component.ts","webpack:///src/app/dashboard/dashboard.component.html","webpack:///src/app/enroll/enroll.component.ts","webpack:///src/app/enroll/enroll.component.html","webpack:///src/app/enroll/passwordvalid.component.ts","webpack:///src/app/guards/auth.guard.ts","webpack:///src/app/loading/loading.service.ts","webpack:///src/app/login/login.component.ts","webpack:///src/app/login/login.component.html","webpack:///src/app/login/password-resend.component.ts","webpack:///src/app/login/password-resend.component.html","webpack:///src/app/login/reset-form.service.ts","webpack:///src/app/mainpage/mainpage.component.ts","webpack:///src/app/mainpage/mainpage.component.html","webpack:///src/app/notification.service.ts","webpack:///src/app/notification/notification.component.ts","webpack:///src/app/notification/notification.component.html","webpack:///src/app/popupdisplay/popupdisplay.component.ts","webpack:///src/app/popupdisplay/popupdisplay.component.html","webpack:///src/app/profile/password-strength.component.ts","webpack:///src/app/profile/profile.component.ts","webpack:///src/app/profile/profile.component.html","webpack:///src/app/reset-questions/passwordvalidstr.component.ts","webpack:///src/app/reset-questions/reset-questions.component.ts","webpack:///src/app/reset-questions/reset-questions.component.html","webpack:///src/app/shared/alertmessage.service.ts","webpack:///src/app/shared/auth.service.ts","webpack:///src/app/shared/backend.service.ts","webpack:///src/app/shared/material.module.ts","webpack:///src/app/shared/orderby.service.ts","webpack:///src/app/shared/pagination.component.ts","webpack:///src/app/shared/pagination.service.ts","webpack:///src/app/shared/search.service.ts","webpack:///src/app/shared/utilities.service.ts","webpack:///src/app/unsubsribed/unsubsribed.component.ts","webpack:///src/app/unsubsribed/unsubsribed.component.html","webpack:///src/app/view/view.component.ts","webpack:///src/app/view/view.component.html","webpack:///src/config.ts","webpack:///src/environments/environment.prod.ts","webpack:///src/environments/environment.ts","webpack:///src/main.ts"],"names":["webpackEmptyAsyncContext","req","Promise","resolve","then","e","Error","code","keys","module","exports","id","AccountComponent","_backendservice","_authService","_formBuilder","_datePipe","_alert","_notificationService","_router","updatePassword","fileInput","driversfileInput","nationalfileInput","Birthday","loadingData1","uploadpassportfiles","UploadNationalInsurancefiles","reuploadpassportfiles","reUploadNationalInsurancefiles","DriversLicensefileInput","NationalInsuranceCardfileInput","Individual","Business","hidebankdetails","passportNumberEnable","drivingLincenceNumberEnable","setForm","setForm1","pageLoad","getDocuments","getDocuments2","data","map","d","dateofInception","transform","toString","LoginType","getData","accountApiUrlBase","NIBNumber","subscribe","response","formatData","clientdata","getEmailAddress","Identifications","identificationtype","nibNumber","FirstName","firstName","MiddleName","middleName","LastName","lastName","Email","email","Occupation","occupation","PassportNumber","passPortNumber","Date","birthday","expirydate","expiryDate","phone","individualPhone","address","individualAddress","request","bankname","branch","accountnumber","mask","i","trim","length","len","slice","undefined","Dates","expirydates","formatDatabusiness","businessdatas","IdNumber","BusinessName","bname","Trading","trading","BusinessType","btype","BusinessAddress","baddress","BusinessEmail","bemailaddress","DateofInception","PrimaryPhone","bPphone","PrimaryName","bPname","PrimaryEmail","bPemailaddress","SecondaryPhone","sBphone","SecondaryName","sBname","SecondaryEmail","sBemailaddress","bbankname","bbranch","baccountnumber","DateInception","DatesInception","dbDate","businessaccountData","event","value","documents","FileOverwriteOption","Passport","documents2","FileOverwriteOption2","DriversLicense","National","newEnrollData","Passportuploadfile","filestring","passportFileName","name","DriversLicenseuploadfile","DriversLicensefilestring","DriversLicenseFileName","DriversLicensename","NationalInsuranceCarduploadfile","NationalInsuranceCardfilestring","NationalInsuranceCardFileName","NationalInsuranceCardname","Expirydate","NewPassword","ConfirmPassword","openConfirmationDialog","console","log","postData","showNotification","message","type","navigate","files","target","str","fileFormat","reader","FileReader","onload","_handleReaderLoadded","bind","readAsBinaryString","openConfirmationDialo11","readerEvt","binaryString","result","btoa","DriversLicensefiles","DriversLicensefileFormat","_handleReaderLoaddedDriversLicense","NationalInsuranceCardfiles","NationalInsuranceCardfileFormat","_handleReaderLoaddedNationalInsuranceCard","checked","editDate","accountForm","required","pattern","passportFile","updatePasswordChecked","IndividualAddress","IndividualPhone","businessaccountForm","ID","Bname","Btype","Baddress","Bemailaddress","BPemailaddress","BPname","BPphone","SBname","SBemailaddress","SBphone","beneficialdocs","authorizeddocs","Businessdocs","selector","templateUrl","styleUrls","providers","routes","path","redirectTo","pathMatch","component","canActivate","children","AppRoutingModule","forRoot","imports","AppComponent","title","AppModule","declarations","entryComponents","bootstrap","schemas","ApplicationComponent","_notification","objectdata","gridobject","finalobject","hide","beneficieryList","securityidlist","amountlist","amounttest","ben","sec","rateenable","test","SelectID","invoice","removerecord","readrecord","isTermsChecked","isCheckboxDisabled","applicationApiUrlBase","security","Beneficiaries","securitylist","InvoiceNumber","selectedbenid","applicationfilterbenApiUrlBase","bendata","BeneficialOwnerName","beneficialOwnerName","Bank","bank","Branch","RoutingNumber","routingNumber","AccountNumber","accountNumber","selectedsecid","Rate","MaxAppAmt","applicationAmount","replace","sessionStorage","clear","openConfirmationDialogShot","sample1","SecurityID","amount","rateamount","parseInt","maxAppAmt","toLocaleString","push","testdata","link","document","createElement","download","href","click","item","splice","removesetForm","applicationdata","applicationData","group","addData","SelectionCustomerID","SelectionSecurityID","changeAmount","TermsAndConditionsForm","SaveData","BusinessEnrollComponent","_datepipe","BeneficialfileInput","AuthorizedfileInput","BusinessfileInput","cancel","businesstype","setForm2","setFormBusiness","accounttype","Beneficialfiles","Beneficialname","BeneficialfileFormat","_handleReaderLoaddedBeneficial","Beneficialstring","Authorizedfiles","Authorizedname","AuthorizedfileFormat","_handleReaderLoaddedAuthorized","Authorizedstring","Businessfiles","Businessname","BusinessfileFormat","_handleReaderLoaddedBusiness","Businessstring","enrollBusinessData","enrollFormBusiness","valid","logintype","Beneficialuploadfile","Authorizeduploadfile","Businessuploadfile","BeneficialFileName","AuthorizedFileName","BusinessFileName","enrollApiUrlBase","error","dobb","datenow","now","bdate","timeDiff","Math","abs","getTime","age","floor","enrollForm","ConfirmEmail","ExpiryDate","Bbankname","Bbranch","Baccountnumber","Bphone","AddEnrollBusiness","onFileChangeBeneficial","onFileChangeAuthorized","onFileChangeBusiness","DashboardComponent","dropdownOpen","currentYear","getFullYear","EnrollComponent","labelPosition","InsuranceCardNumber","msg","PassPortNumber","charCode","which","keyCode","preventDefault","minLength","compose","maxLength","IndividualPhone1","IndividualPhone2","ideType","Businesstype","enailaddress","AddEnroll","keyPressNumbers","onChangeAppType1","passwordvalid","control","upperCaseCharacters","lowerCaseCharacters","numberCharacters","specialCharacters","passwordStrength","AuthGuard","location","notificationService","authService","backendService","dialog","next","state","jwt","localStorage","getItem","checkLoginForAuthGuard","loggedIn","of","LoadingService","loaderHidden","timerHandle","setTimeout","clearTimeout","_resetFormService","$event","LoginComponent","submitted","user","Password","loginUser","login","setItem","nibnumber","access_token","token","requirePasswordChange","controls","setValue","PasswordResendComponent","submitted1","submitted2","otpdata","forgotPassword","OTP","OTPValidate","submitEmail","submittedForm","submitAnswer","resetResponse","forgottenPasswordFormUpdate","reset","otpvalidsuccess","otpvalid","emailhide","currentUrl","navigateByUrl","skipLocationChange","sendResetEmail","styles","ResetFormService","_backendService","forgotPasswordShow","validEmail","emailPending","validAnswer","pwd_reset_q1","pwd_reset_q2","questions","selectedQuestion","status","sendemailApiUrlBase","answerObj","usersApiUrlBase","MainpageComponent","NotificationService","isNotificationHidden","manualDismiss","timeToClose","options","timer","closeable","bgType","iconType","setTimers","NotificationComponent","showNotice","closeNotice","PopupdisplayComponent","dialogRef","comments","ProfileComponent","updatingPassword","passwordConfirmed","selected_Q1","selected_Q2","securityquestions","viewValue","resetQuestions","getMyProfile","updatedProfile","ModifyPassword","updateProfiledata2","changePasswordApiUrlBase","logout","serverErrorOrTimeout","valueChanges","debounceTime","newInfo","putData","removeItem","updateProfiledata","passwordvalidstr","ResetQuestionsComponent","_formBulider","updateProfile","AlertmessageService","subject","siFn","noFn","setConfirmation","that","text","asObservable","Msg","checking","open","disableClose","componentInstance","confirmMessage","afterClosed","window","reload","height","width","providedIn","AuthService","_http","_loadingService","loginData","body","JSON","stringify","httpOptions","headers","post","loginApiUrlBase","pipe","handleError","show","get","clearCookies","cookies","cookie","split","eqPos","indexOf","substring","errMsg","BackendService","url","newData","updatedData","put","MaterialModule","OrderByService","sortBy","currentSortDirection","currentSortParam","sortBy1","currentSortDirection1","currentSortParam1","param","altParam","presort","final","dateOrNum","orderByParamDescending","orderByParamAscending","sort","a","b","first","second","altFirst","altSecond","toLowerCase","orderByParamDescending1","orderByParamAscending1","PaginationComponent","_paginationService","firstEntryOnScreen","lastEntryOnScreen","pageSize","pageSizeOptions","totalEntries","entryRange","range","unsubscribe","template","PaginationService","_entryRange","paginationArray","paginationArrayDisplay","maxItemsOnPage","totalPages","maxPagesInListing","currentPage","currentPageIndexTop","start","total","ceil","paginationArrayMid","paginationArrayMin","paginationArrayMax","setGrid","pageIndex","SearchService","searchOpen","svcRenderer","addClass","removeClass","property","reject","lowerItem","filtered","filter","g","lowerProp","search","itemToStr","index","arr","l","includes","end","thisDateAsNumber","Utilities","checkvalue","back","UnsubsribedComponent","unsubsribeApiUrlBase","Unsubsribe","Unsubsribedata","ViewComponent","orderByService","searchService","datePipe","defaultSortOrder","active","loadingData","originalItems","pagenlenth","audit","noEntrys","searchArray","searchFilteredItems","exportItems","TextSearch","viewApiUrlBase","data1","orderBy","paginationGrid","approvedTime","entryRangeSubscription","sentLen","itemsToSearch","findItemsFromMultiple","allFiltered","searchText","itemsToOrder","items","orderByParam","apiUrlBase","production","CONFIG","environment","getbankIdDropdownApiUrlBase","bootstrapModule","err"],"mappings":"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","file":"main-es5.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\";","import { Component, OnInit } from '@angular/core';\nimport { BackendService } from '../shared/backend.service';\nimport { AuthService } from '../shared/auth.service';\nimport CONFIG from 'src/config';\nimport { FormGroup, FormControl, Validators, FormBuilder } from '@angular/forms';\nimport { DatePipe } from '@angular/common';\nimport { AlertmessageService } from '../shared/alertmessage.service';\n\nimport { Router } from '@angular/router';\nimport { NotificationService } from '../notification.service';\nimport { ElementFinder } from 'protractor';\n\n@Component({\n selector: 'app-account',\n templateUrl: './account.component.html',\n styleUrls: ['./account.component.scss'],\n providers: [DatePipe],\n})\nexport class AccountComponent implements OnInit {\n updatePassword = false;\n\n clientdata: any;\n businessdatas: any;\n NIBNumber: any;\n FirstName: any;\n MiddleName: any;\n LastName: any;\n Email: any;\n Occupation: any;\n PassportNumber: any;\n address: any;\n request: any;\n phone: any;\n bankname: any;\n branch: any;\n accountnumber: any;\n\n Date: boolean; Dates: boolean;\n expirydate: boolean; expirydates: boolean;\n\n //Business info\n IdNumber: any;\n BusinessName: any;\n Trading: any;\n BusinessType: any;\n BusinessAddress: any;\n BusinessEmail: any;\n DateofInception: any;\n\n PrimaryPhone: any;\n PrimaryName: any;\n PrimaryEmail: any;\n SecondaryPhone: any;\n SecondaryName: any;\n SecondaryEmail: any;\n DateInception: boolean; DatesInception: boolean;\n dbDate: any;\n\n\n accountForm: FormGroup;\n businessaccountForm: FormGroup;\n\n editDate: any;\n documents: any;\n\n documents2: any;\n Passport: boolean;\n DriversLicense: boolean;\n National: boolean;\n\n fileInput: string = \"'Upload Passport*\";\n\n\n driversfileInput: string[] = [\n \"Select Scanned Copy*\",\n \"Select Scanned Copy*\",\n ];\n nationalfileInput: string[] = [\n \"Select Scanned Copy*\",\n \"Select Scanned Copy*\",\n ];\n Identifications: any;\n\n\n\n files: FileList;\n DriversLicensefiles: FileList;\n NationalInsuranceCardfiles: FileList;\n\n name: any;\n DriversLicensename: any;\n NationalInsuranceCardname: any;\n\n filestring: any;\n DriversLicensefilestring: any;\n NationalInsuranceCardfilestring: any;\n\n fileFormat: any;\n DriversLicensefileFormat: any;\n NationalInsuranceCardfileFormat: any;\n\n Birthday = new FormControl();\n loadingData1: boolean = true;\n uploadpassportfiles: boolean = false;\n UploadNationalInsurancefiles: boolean = false;\n\n\n reuploadpassportfiles: boolean = false;\n reUploadNationalInsurancefiles: boolean = false;\n\n\n\n //fileInput: string = 'Select file*';\n DriversLicensefileInput: string = 'Upload Driver’s License**';\n NationalInsuranceCardfileInput: string = 'Upload National Insurance Card**';\n\n Individual: boolean = false;\n Business: boolean = false;\n getEmailAddress: any;\n hidebankdetails = false;\n passportNumberEnable: boolean = false;\n drivingLincenceNumberEnable: boolean = false;\n constructor(\n public _backendservice: BackendService,\n public _authService: AuthService,\n public _formBuilder: FormBuilder,\n public _datePipe: DatePipe,\n public _alert: AlertmessageService,\n public _notificationService: NotificationService,\n public _router: Router,\n\n ) { }\n\n ngOnInit(): void {\n this.setForm();\n this.setForm1();\n this.pageLoad();\n this.getDocuments();\n this.getDocuments2();\n\n }\n\n\n formatDatabusiness(data) {\n data.map(d => {\n d.dateofInception = this._datePipe.transform(d.dateofInception.toString(), \"MM/dd/yyyy\");\n\n });\n }\n\n pageLoad() {\n\n\n // console.log(this._authService.LoginType)\n this.loadingData1 = false;\n if (this._authService.LoginType == \"Individual\") {\n // console.log(this._authService.LoginType)\n this.Individual = true;\n this.Business = false;\n\n //console.log(this._authService.LoginType)\n this._backendservice.getData(`${CONFIG.accountApiUrlBase}/${this._authService.NIBNumber}/${this._authService.LoginType}`)\n .subscribe(\n response => {\n // console.log(response)\n this.loadingData1 = true;\n this.formatData(response['data']);\n this.clientdata = response['data'];\n this.getEmailAddress = response['email'];\n //console.log(this.getEmailAddress)\n\n\n\n\n\n this.Identifications = this.clientdata[0].identificationtype;\n\n\n if (this.clientdata[0].identificationtype == \"0 \") {\n // console.log(\"passportt\")\n this.uploadpassportfiles = true;\n this.UploadNationalInsurancefiles = false;\n this.passportNumberEnable = true;\n this.drivingLincenceNumberEnable = false;\n }\n else if (this.clientdata[0].identificationtype == \"1 \") {\n\n this.UploadNationalInsurancefiles = true;\n this.uploadpassportfiles = false;\n this.passportNumberEnable = false;\n this.drivingLincenceNumberEnable = true;\n }\n else {\n //console.log(\"EMPTY\")\n this.UploadNationalInsurancefiles = false;\n this.uploadpassportfiles = false;\n }\n\n this.NIBNumber = this.clientdata[0].nibNumber;\n\n this.FirstName = this.clientdata[0].firstName;\n\n this.MiddleName = this.clientdata[0].middleName;\n\n this.LastName = this.clientdata[0].lastName;\n\n this.Email = this.clientdata[0].email;\n this.Occupation = this.clientdata[0].occupation;\n\n if (this.getEmailAddress == this.Email) {\n //console.log(\"test\")\n this.hidebankdetails = true;\n }\n\n\n this.PassportNumber = this.clientdata[0].passPortNumber;\n\n this.Date = this.clientdata[0].birthday;\n\n this.expirydate = this.clientdata[0].expiryDate;\n\n this.phone = this.clientdata[0].individualPhone;\n this.address = this.clientdata[0].individualAddress;\n this.request = this.clientdata[0].request;\n\n this.bankname = this.clientdata[0].bankname;\n this.branch = this.clientdata[0].branch;\n this.accountnumber = this.clientdata[0].accountnumber\n let mask = \"\";\n\n if (this.accountnumber) {\n // console.log(this.AccountNumber.trim().length);\n for (let i = 0; i < this.accountnumber.trim().length - 4; i++) {\n mask += \"*\";\n }\n\n let len = this.accountnumber.trim().length;\n //console.log(mask + this.AccountNumber.slice(len-4,len));\n\n this.accountnumber = mask + this.accountnumber.trim().slice(len - 4, len);\n // console.log(this.AccountNumber);\n // return mask + this.AccountNumber.slice(3,7)\n\n }\n if (this.clientdata[0].birthday == undefined) {\n ///// console.log(\"test birthdate\")\n this.Date = false;\n this.Dates = true;\n }\n\n else {\n //// console.log(\" date elde\")\n this.Date = true;\n this.Dates = false;\n }\n this.clientdata.birthday = new Date(this.clientdata[0].birthday);\n\n if (this.clientdata[0].expiryDate == undefined) {\n ///// console.log(\"test birthdate\")\n this.expirydate = false;\n this.expirydates = true;\n }\n else {\n //// console.log(\" date elde\")\n this.expirydate = true;\n this.expirydates = false;\n }\n this.clientdata.expiryDate = new Date(this.clientdata[0].expiryDate);\n })\n }\n\n // Business Logics\n else {\n this.Business = true;\n this.Individual = false;\n\n this._backendservice.getData(`${CONFIG.accountApiUrlBase}/${this._authService.NIBNumber}/${this._authService.LoginType}`)\n .subscribe(\n response => {\n this.loadingData1 = true;\n //console.log(response)\n this.formatDatabusiness(response['businessdata']);\n this.businessdatas = response['businessdata'];\n // console.log(this.businessdatas)\n\n this.IdNumber = this.businessdatas[0].nibNumber;\n this.BusinessName = this.businessdatas[0].bname;\n this.Trading = this.businessdatas[0].trading;\n this.BusinessType = this.businessdatas[0].btype;\n this.BusinessAddress = this.businessdatas[0].baddress;\n this.BusinessEmail = this.businessdatas[0].bemailaddress;\n this.DateofInception = this.businessdatas[0].dateofInception;\n //Primary Contacts\n this.PrimaryPhone = this.businessdatas[0].bPphone;\n this.PrimaryName = this.businessdatas[0].bPname;\n this.PrimaryEmail = this.businessdatas[0].bPemailaddress;\n //Secondary Contacts\n this.SecondaryPhone = this.businessdatas[0].sBphone;\n this.SecondaryName = this.businessdatas[0].sBname;\n this.SecondaryEmail = this.businessdatas[0].sBemailaddress;\n //Bank Info\n this.bankname = this.businessdatas[0].bbankname;\n this.branch = this.businessdatas[0].bbranch;\n this.accountnumber = this.businessdatas[0].baccountnumber\n\n\n let mask = \"\";\n\n if (this.accountnumber) {\n\n for (let i = 0; i < this.accountnumber.trim().length - 4; i++) {\n mask += \"*\";\n }\n\n let len = this.accountnumber.trim().length;\n\n\n this.accountnumber = mask + this.accountnumber.trim().slice(len - 4, len);\n\n\n }\n if (this.businessdatas[0].dateofInception == undefined) {\n\n this.DateInception = false;\n this.DatesInception = true;\n }\n\n else {\n\n this.DateInception = true;\n this.DatesInception = false;\n }\n this.businessdatas.dateofInception = new Date(this.businessdatas[0].dateofInception);\n //console.log(this.businessdatas.dateofInception)\n\n this.dbDate = new Date(this.businessdatas[0].dateofInception);\n })\n\n\n\n\n\n }\n\n\n }\n updateBusinessAccount(businessaccountData) {\n //console.log(businessaccountData)\n\n }\n\n IdentificationradioChange(event) {\n this.Identifications = event.value;\n if (this.Identifications == \"0\") {\n this.reuploadpassportfiles = true;\n this.reUploadNationalInsurancefiles = false;\n }\n else {\n this.reUploadNationalInsurancefiles = true;\n this.reuploadpassportfiles = false;\n }\n }\n getDocuments() {\n this._backendservice.getData(`${CONFIG.accountApiUrlBase}/${this._authService.NIBNumber}/${this._authService.LoginType}`)\n .subscribe(response => {\n this.documents = response['documents'];\n // console.log(this.documents);\n //// console.log(this.documents.length);\n this.FileOverwriteOption(this.documents.length);\n });\n }\n\n\n FileOverwriteOption(value) {\n //// console.log(value);\n for (let i = 0; i < value; i++) {\n //// console.log(this.documents[i]);\n if (this.documents[i] == \"jpg\" || this.documents[i] == \"JPG\" || this.documents[i] == \"pdf\" || this.documents[i] == \"PDF\") {\n //// console.log(\"test\");\n this.Passport = true;\n break;\n }\n }\n\n }\n\n\n btnclickevent1() {\n this.Passport = false;\n //this.fileInput = 'Upload Passport*';\n }\n\n\n getDocuments2() {\n this._backendservice.getData(`${CONFIG.accountApiUrlBase}/${this._authService.NIBNumber}/${this._authService.LoginType}`)\n .subscribe(response => {\n this.documents2 = response['documents2'];\n //console.log(this.documents2);\n //// console.log(this.documents.length);\n this.FileOverwriteOption2(this.documents2.length);\n });\n }\n\n FileOverwriteOption2(value) {\n //// console.log(value);\n for (let i = 0; i < value; i++) {\n //// console.log(this.documents[i]);\n if (this.documents2[i] == \"jpg\" || this.documents2[i] == \"JPG\" || this.documents2[i] == \"pdf\" || this.documents2[i] == \"PDF\") {\n //// console.log(\"test\");\n this.DriversLicense = true;\n this.National = true;\n break;\n }\n }\n\n }\n btnclickevent2() {\n this.DriversLicense = false;\n this.driversfileInput[0] = 'Upload Driver’s License*';\n }\n btnclickevent3() {\n this.National = false;\n this.nationalfileInput[0] = 'Upload National Insurance Card*';\n }\n\n updateAccount(newEnrollData) {\n //console.log(this.DriversLicense);\n // console.log( this.National);\n\n\n if (this.DriversLicense == true || this.National == true) {\n this.Identifications = '3';\n }\n\n this.loadingData1 = false;\n newEnrollData.Passportuploadfile = this.filestring;\n newEnrollData.passportFileName = this.name;\n ////console.log(this.fileFormat);\n\n\n //Driver’s License AND National Insurance Card\n //console.log(this.DriversLicensefilestring)\n newEnrollData.DriversLicenseuploadfile = this.DriversLicensefilestring;\n newEnrollData.DriversLicenseFileName = this.DriversLicensename;\n\n //console.log(this.NationalInsuranceCardfilestring)\n newEnrollData.NationalInsuranceCarduploadfile = this.NationalInsuranceCardfilestring;\n newEnrollData.NationalInsuranceCardFileName = this.NationalInsuranceCardname;\n\n newEnrollData.identificationtype = this.Identifications;\n newEnrollData.Birthday = this._datePipe.transform(newEnrollData.Birthday.toString(), \"MM/dd/yyyy\");\n newEnrollData.Expirydate = this._datePipe.transform(newEnrollData.Expirydate.toString(), \"MM/dd/yyyy\");\n //if (this.fileFormat != \"image/jpeg\" || this.fileFormat == \"image/jpg\") {\n\n //this._alert.openConfirmationDialog(\" Please select a file of type jpg or jpeg \");\n\n if (newEnrollData.NewPassword != newEnrollData.ConfirmPassword) {\n //// console.log(\"test\");\n this.loadingData1 = true;\n this._alert.openConfirmationDialog(\"New password and Confirm New password is not match.\");\n }\n if (newEnrollData.request == null || newEnrollData.request == undefined\n || newEnrollData.request == \"\") {\n //// console.log(\"test\");\n this.loadingData1 = true;\n this._alert.openConfirmationDialog(\"Request can not empty.\");\n return true;\n }\n //}\n\n\n else {\n console.log(newEnrollData);\n this._backendservice.postData(newEnrollData, `${CONFIG.accountApiUrlBase}/save/${this._authService.NIBNumber}`)\n .subscribe(\n response => {\n if (response) {\n this.loadingData1 = true;\n this._notificationService.showNotification({ message: response['msg'], type: 'success' });\n this._router.navigate(['/login']);\n //this._alert.openConfirmationDialog(response['msg']);\n\n }\n else {\n ////console.log(\"test fail\");\n this.loadingData1 = true;\n this._notificationService.showNotification({ message: response['msg'], type: 'error' });\n }\n });\n }\n\n }\n\n\n onFileChange(event) {\n this.files = event.target.files;\n\n\n\n if (this.files[0].name.length < 30) {\n var str = this.files[0].name;\n this.fileInput = str.slice(0, 30);\n } else {\n var str = this.files[0].name;\n this.fileInput = str.slice(0, 25) + '...' + str.slice(-4);\n }\n //console.log(this.fileInput)\n\n if (\n this.files[0].type == \"image/jpg\" || this.files[0].type == \"application/pdf\" || this.files[0].type == \"image/jpeg\"\n ) {\n this.name = this.files[0].name;\n this.fileFormat = this.files[0].type;\n // console.log(this.files[0].type)\n // console.log(this.name);\n // console.log(this.files);\n var reader = new FileReader();\n reader.onload = this._handleReaderLoadded.bind(this);\n reader.readAsBinaryString(this.files[0]);\n }\n\n else {\n this.loadingData1 = true;\n this._alert.openConfirmationDialo11(\"Please select a jpg/jpeg/pdf file to proceed.\");\n return true;\n }\n\n }\n _handleReaderLoadded(readerEvt) {\n var binaryString = readerEvt.target.result;\n this.filestring = btoa(binaryString); //Convaerting Binary String Data\n ////console.log(this.filestring);\n\n }\n\n\n onFileChangeDriversLicense(event) {\n this.DriversLicensefiles = event.target.files;\n\n\n if (this.DriversLicensefiles[0].name.length < 30) {\n var str = this.DriversLicensefiles[0].name;\n this.DriversLicensefileInput = str.slice(0, 30);\n } else {\n var str = this.DriversLicensefiles[0].name;\n this.DriversLicensefileInput = str.slice(0, 25) + '...' + str.slice(-4);\n }\n\n if (\n this.DriversLicensefiles[0].type == \"image/jpg\" || this.DriversLicensefiles[0].type == \"application/pdf\" || this.DriversLicensefiles[0].type == \"image/jpeg\"\n ) {\n this.DriversLicensename = this.DriversLicensefiles[0].name;\n this.DriversLicensefileFormat = this.DriversLicensefiles[0].type;\n //console.log(this.fileFormat);\n //// console.log(this.files);\n var reader = new FileReader();\n reader.onload = this._handleReaderLoaddedDriversLicense.bind(this);\n reader.readAsBinaryString(this.DriversLicensefiles[0]);\n }\n else {\n this.loadingData1 = true;\n this._alert.openConfirmationDialo11(\"Please select a jpg/jpeg/pdf file to proceed.\");\n return true;\n }\n }\n _handleReaderLoaddedDriversLicense(readerEvt) {\n var binaryString = readerEvt.target.result;\n this.DriversLicensefilestring = btoa(binaryString); //Convaerting Binary String Data\n ////console.log(this.filestring);\n\n }\n\n\n onFileChangeNationalInsuranceCard(event) {\n this.NationalInsuranceCardfiles = event.target.files;\n\n\n\n if (this.DriversLicensefiles[0].name.length < 30) {\n var str = this.NationalInsuranceCardfiles[0].name;\n this.NationalInsuranceCardfileInput = str.slice(0, 30);\n } else {\n var str = this.NationalInsuranceCardfiles[0].name;\n this.NationalInsuranceCardfileInput = str.slice(0, 25) + '...' + str.slice(-4);\n }\n\n if (\n this.NationalInsuranceCardfiles[0].type == \"image/jpg\" || this.NationalInsuranceCardfiles[0].type == \"application/pdf\" || this.NationalInsuranceCardfiles[0].type == \"image/jpeg\"\n ) {\n this.NationalInsuranceCardname = this.NationalInsuranceCardfiles[0].name;\n this.NationalInsuranceCardfileFormat = this.NationalInsuranceCardfiles[0].type;\n //console.log(this.fileFormat);\n //// console.log(this.files);\n var reader = new FileReader();\n reader.onload = this._handleReaderLoaddedNationalInsuranceCard.bind(this);\n reader.readAsBinaryString(this.NationalInsuranceCardfiles[0]);\n }\n else {\n this.loadingData1 = true;\n this._alert.openConfirmationDialo11(\"Please select a jpg/jpeg/pdf file to proceed.\");\n return true;\n }\n\n }\n _handleReaderLoaddedNationalInsuranceCard(readerEvt) {\n var binaryString = readerEvt.target.result;\n this.NationalInsuranceCardfilestring = btoa(binaryString); //Convaerting Binary String Data\n ////console.log(this.filestring);\n\n }\n\n\n\n\n\n OnCheckboxChange(event) {\n ////console.log(event.checked);\n if (event.checked)\n this.updatePassword = true;\n else\n this.updatePassword = false;\n }\n valueOfDate(value) {\n this.editDate = value;\n ////console.log(this.editDate);\n\n //this.editDate=this._datepipe.transform(value.toString(),\"MM/dd/yyyy\");\n\n ////console.log(\"test Date\");\n //console.log(value, item);\n }\n\n setForm() {\n\n this.accountForm = new FormGroup({\n\n NIBNumber: new FormControl('', [Validators.required]),\n ConfirmPassword: new FormControl('', [Validators.required]),\n NewPassword: new FormControl('', [Validators.pattern('^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#?!@$%^&*-+.)(/]).{8,12}$')]),\n FirstName: new FormControl('', [Validators.required]),\n MiddleName: new FormControl('', [Validators.required]),\n LastName: new FormControl('', [Validators.required]),\n Email: new FormControl(''),\n PassportNumber: new FormControl('', [Validators.required]),\n Birthday: new FormControl(''),\n Expirydate: new FormControl(''),\n passportFile: new FormControl('', [Validators.required]),\n updatePasswordChecked: new FormControl(''),\n\n //Raghava added new spec's\n bankname: new FormControl(''),\n branch: new FormControl(''),\n accountnumber: new FormControl(''),\n IndividualAddress: new FormControl('', [Validators.required]),\n IndividualPhone: new FormControl('', [Validators.required]),\n request: new FormControl('', [Validators.required]),\n Occupation: new FormControl('', [Validators.required]),\n });\n }\n setForm1() {\n this.businessaccountForm = new FormGroup({\n\n ID: new FormControl(''),\n Bname: new FormControl('', [Validators.required]),\n trading: new FormControl(''),\n Btype: new FormControl('', [Validators.required]),\n Baddress: new FormControl('', [Validators.required]),\n Bemailaddress: new FormControl('', [Validators.required]),\n DateofInception: new FormControl('', [Validators.required]),\n\n //Primary\n BPemailaddress: new FormControl('', [Validators.required]),\n BPname: new FormControl('', [Validators.required]),\n BPphone: new FormControl('', [Validators.required]),\n //Secondary\n\n SBname: new FormControl(''),\n SBemailaddress: new FormControl(''),\n SBphone: new FormControl(''),\n //Bank Info\n bankname: new FormControl(''),\n branch: new FormControl(''),\n accountnumber: new FormControl(''),\n\n //documents\n\n beneficialdocs: new FormControl(''),\n authorizeddocs: new FormControl(''),\n Businessdocs: new FormControl(''),\n\n passportFile: new FormControl('', [Validators.required]),\n });\n }\n\n\n\n\n formatData(data) {\n data.map(d => {\n d.birthday = this._datePipe.transform(d.birthday.toString(), \"MM/dd/yyyy\");\n d.expirydate = this._datePipe.transform(d.expiryDate.toString(), \"MM/dd/yyyy\");\n });\n }\n\n}\n","
\n
\n
\n
\n

Individual Account

\n
\n\n
\n

Business Account

\n
\n\n
\n \n NIB Number\n \n \n \n
\n\n
\n Update\n Password\n
\n\n
\n \n Password\n \n \n Password should contain at least one uppercase letter, one lowercase letter, one number and one\n special character and minimum\n 8 and maximum 12 characters,\n \n \n
\n
\n \n ConfirmPassword\n \n \n
\n\n
\n \n First Name\n \n \n \n
\n\n\n
\n \n Middle Name\n \n \n \n
\n
\n \n Last Name\n \n \n \n
\n
\n \n Email\n \n \n \n
\n
\n \n Phone Number \n \n \n
\n\n
\n \n Address \n \n \n
\n\n
\n \n Occupation/Source of Income \n \n \n
\n
\n \n Driver’s License & InsuranceCard Number\n \n \n \n
\n
\n \n Passport Number\n \n \n \n
\n\n \n\n\n\n\n\n
\n \n Expiration Date\n \n \n \n \n
\n
\n \n Expiration Date\n\n \n \n \n \n
\n\n
\n
\n
\n \n Birthday\n \n \n \n \n
\n \n
\n \n Request \n \n \n
\n
\n \n Birthday\n\n \n \n \n \n
\n\n\n
\n\n
\n
\n

Banking Info

\n\n
\n
\n \n Bank Name \n \n \n
\n\n
\n \n Branch \n \n \n
\n\n
\n \n Account Number \n \n \n
\n
\n
\n\n
\n\n\n\n
\n
\n

Upload Passport

\n
\n\n
\n \n \n File Uploaded\n cancel\n \n \n
\n\n
\n
\n
\n \n \n\n
\n
\n
\n \n
\n\n\n
\n
\n

Upload Driver’s License

\n
\n\n
\n \n\n \n\n \n File Uploaded\n cancel\n \n \n
\n\n
\n
\n
\n \n \n\n
\n
\n
 \n\n\n
\n

Upload National Insurance Card

\n
\n\n
\n \n \n File Uploaded\n cancel\n \n \n
\n\n
\n
\n
\n \n \n
\n
\n
\n\n
\n\n\n \n
\n
Identification Type
\n
\n \n \n Passport\n \n Driver’s\n License AND National Insurance Card\n \n \n
\n
\n\n\n
\n

Upload Passport\n \n

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

Upload Driver’s License\n \n

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

Upload National Insurance Card\n \n

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

Individual Account

\n
\n\n
\n

Business Account

\n
\n\n
\n \n NIB Number\n \n\n \n
\n\n
\n \n Business Name \n \n \n
\n\n
\n \n Trading As (optional) \n \n \n
\n\n
\n \n Business Type \n \n \n
\n\n
\n \n Business Address \n \n \n
\n\n
\n \n Business Email Address \n \n \n\n
\n\n\n\n
\n \n Date of Inception\n \n \n \n \n
\n\n\n
\n \n\n
\n

Primary Contacts

\n\n
\n
\n \n Name \n \n \n
\n\n
\n \n Email Address \n \n \n
\n\n
\n \n Phone \n \n \n
\n
\n
\n\n \n
\n

Secondary Contacts

\n\n
\n
\n \n Name \n \n \n
\n\n
\n \n Email Address\n \n \n
\n\n
\n \n Phone \n \n \n
\n
\n
\n\n
\n
\n

Banking Info

\n\n
\n
\n \n Bank Name \n \n \n
\n\n
\n \n Branch \n \n \n
\n\n
\n \n Account Number \n \n \n
\n
\n
\n\n
\n\n\n\n \n
\n
\n

Beneficial Owner details (articles of incorporation or equivalent)

\n
\n\n
\n \n \n File Uploaded\n cancel\n \n \n
\n\n
\n
\n
\n \n \n\n
\n
\n
\n\n\n \n
\n

Authorized Signatories and specimen signatures

\n
\n\n
\n \n \n File Uploaded\n cancel\n \n \n
\n\n
\n
\n
\n \n \n\n
\n
\n
\n\n\n\n \n
\n

Business license/VAT registration

\n
\n\n
\n \n \n File Uploaded\n cancel\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 } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { LoginComponent } from './login/login.component';\nimport { EnrollComponent } from './enroll/enroll.component';\nimport { ApplicationComponent } from './application/application.component';\n// import { AuthGuard } from './guards/auth.guard';\nimport { DashboardComponent } from './dashboard/dashboard.component';\nimport { ViewComponent } from './view/view.component';\nimport { ResetQuestionsComponent } from './reset-questions/reset-questions.component';\nimport { ProfileComponent } from './profile/profile.component';\nimport { AccountComponent } from './account/account.component';\nimport { AuthGuard } from './guards/auth.guard';\nimport { MainpageComponent } from './mainpage/mainpage.component';\nimport { BusinessEnrollComponent } from './business-enroll/business-enroll.component';\nimport { UnsubsribedComponent } from './unsubsribed/unsubsribed.component';\n\nconst routes: Routes = [\n {\n path: '',\n redirectTo: 'login',\n pathMatch: 'full'\n },\n {\n path: 'enroll',\n component: EnrollComponent\n },\n // {\n // path:'enrollbusiness',\n // component:BusinessEnrollComponent\n // },\n {\n path: 'login',\n component: LoginComponent\n },\n {\n path: 'dashboard',\n component: DashboardComponent,\n canActivate: [AuthGuard],\n children: [\n {\n\n path: '',\n component: MainpageComponent\n },\n {\n path: 'account',\n component: AccountComponent\n },\n {\n path: 'application',\n component: ApplicationComponent\n },\n {\n path: 'view',\n component: ViewComponent\n },\n\n {\n path: 'changePassword',\n component: ProfileComponent,\n\n },\n {\n path:'Unsubcribe',\n component:UnsubsribedComponent,\n }\n ]\n },\n {\n path: 'profile',\n component: ResetQuestionsComponent\n },\n {\n path: '',\n redirectTo: 'login',\n pathMatch: 'full'\n },\n\n];\n\n@NgModule({\n imports: [RouterModule.forRoot(routes)],\n exports: [RouterModule]\n})\nexport class AppRoutingModule { }\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.scss']\n})\nexport class AppComponent {\n title = 'bgrs-application';\n}\n","\n\n\n","import { BrowserModule, } from '@angular/platform-browser';\nimport { NgModule, CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA } from '@angular/core';\nimport { FormsModule , ReactiveFormsModule } from '@angular/forms';\nimport { AppRoutingModule } from './app-routing.module';\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { AppComponent } from './app.component';\nimport { EnrollComponent } from './enroll/enroll.component';\nimport { LoginComponent } from './login/login.component';\nimport { ApplicationComponent } from './application/application.component';\nimport { ViewComponent } from './view/view.component';\nimport { RouterModule, Routes } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { LoadingService } from './loading/loading.service';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\n// import '@angular/compiler';\n// material.module.ts\nimport { ModuleWithProviders } from \"@angular/core\";\nimport { MAT_LABEL_GLOBAL_OPTIONS, MatNativeDateModule, MAT_DATE_LOCALE } from '@angular/material/core';\nimport { MaterialModule } from './shared/material.module';\nimport { BackendService } from './shared/backend.service';\n// import { NotificationComponent } from './notification/notification.component';\n// import { NotificationService } from './notification/notification.service';\nimport { PopupdisplayComponent } from './popupdisplay/popupdisplay.component';\nimport { AlertmessageService } from './shared/alertmessage.service';\nimport { DashboardComponent } from './dashboard/dashboard.component';\nimport { OrderByService } from './shared/orderby.service';\nimport { PaginationService } from './shared/pagination.service';\nimport { PaginationComponent } from './shared/pagination.component';\nimport { PasswordResendComponent } from './login/password-resend.component';\nimport { ResetFormService } from './login/reset-form.service';\nimport { ResetQuestionsComponent } from './reset-questions/reset-questions.component';\nimport { ProfileComponent } from './profile/profile.component';\n\nimport {passwordStrength} from './profile/password-strength.component';\nimport{passwordvalid} from './enroll/passwordvalid.component';\n//import{passwordvalidstr} from './reset-questions/passwordvalidstr.component'\n//import{passwordvalidstr} from './reset-questions/passwordvalidstr.component'\n\n\nimport { AccountComponent } from './account/account.component';\nimport { DatePipe } from '@angular/common';\nimport { NotificationService } from './notification.service';\nimport { NotificationComponent } from './notification/notification.component';\nimport { AuthGuard } from './guards/auth.guard';\nimport { MainpageComponent } from './mainpage/mainpage.component';\nimport { BusinessEnrollComponent } from './business-enroll/business-enroll.component';\nimport { UnsubsribedComponent } from './unsubsribed/unsubsribed.component';\n\n// import { NotificationService } from './notification/notification.service';\n@NgModule({\n declarations: [\n AppComponent,\n EnrollComponent,\n LoginComponent,\n ApplicationComponent,\n ViewComponent,\n //NotificationComponent,\n DashboardComponent,\n PasswordResendComponent,\n ResetQuestionsComponent,\n ProfileComponent,\n AccountComponent,\n NotificationComponent,\n MainpageComponent,\n PaginationComponent,\n BusinessEnrollComponent,\n UnsubsribedComponent,\n \n ],\n entryComponents: [AppComponent, PopupdisplayComponent],\n imports: [\n BrowserModule,\n AppRoutingModule,\n FormsModule, \n ReactiveFormsModule,\n BrowserAnimationsModule,\n // HttpModule,\n HttpClientModule,\n MaterialModule,\n ],\n\n providers: [\n LoadingService,\n BackendService,\n NotificationService,\n AlertmessageService,\n OrderByService,\n PaginationService,\n ResetFormService,\n DatePipe,\n AuthGuard\n ],\n bootstrap: [AppComponent],\n schemas: [\n CUSTOM_ELEMENTS_SCHEMA,\n NO_ERRORS_SCHEMA\n ]\n})\nexport class AppModule { }\n\n\n\n","import { Component, OnInit } from '@angular/core';\nimport { BackendService } from '../shared/backend.service';\nimport CONFIG from 'src/config';\nimport { FormGroup, FormBuilder, FormControl, Validators } from '@angular/forms';\nimport { AuthService } from '../shared/auth.service';\nimport { AlertmessageService } from '../shared/alertmessage.service';\nimport { NotificationService } from '../notification.service';\nimport { Router } from '@angular/router';\nimport { MatCheckboxChange } from '@angular/material/checkbox';\n\n@Component({\n selector: 'app-application',\n templateUrl: './application.component.html',\n styleUrls: ['./application.component.scss'],\n //providers: [NotificationService],\n})\nexport class ApplicationComponent implements OnInit {\n applicationData: FormGroup;\n security: any;\n selectedbenid: any;\n selectedsecid: any;\n Beneficiaries: any;\n securitylist: any;\n Beneficiaries1: any;\n securityrate: any;\n BeneficialOwnerName: any;\n applicationAmount: any;\n objectdata: any[] = [];\n testdata: any;\n MaxAppAmt: any;\n\n\n gridobject: any[] = [];\n finalobject: any = {};\n hide: boolean = false;\n beneficieryList: string[] = [];\n securityidlist: string[] = [];\n amountlist: string[] = [];\n amounttest = new FormControl();\n ben = new FormControl();\n sec = new FormControl();\n Bank: any;\n Branch: any;\n AccountNumber: any;\n RoutingNumber: any;\n InvoiceNumber: any;\n\n Rate: any;\n rateenable: boolean = false;\n test: boolean = false;\n\n SelectID = false;\n invoice = false;\n\n loadingData1: boolean = true;\n removerecord: boolean = false;\n readrecord: boolean = true;\n bendata: any;\n isTermsChecked = false;\n isCheckboxDisabled = false;\n\n sample1: any\n constructor(\n public _backendservice: BackendService,\n public _formBuilder: FormBuilder,\n public _authService: AuthService,\n public _alert: AlertmessageService,\n public _notification: NotificationService,\n public _router: Router\n ) { }\n\n ngOnInit(): void {\n this.pageLoad();\n this.setForm();\n\n }\n\n pageLoad() {\n this._backendservice.getData(`${CONFIG.applicationApiUrlBase}/${this._authService.NIBNumber}`)\n .subscribe(\n response => {\n //console.log(response);\n this.security = response['security'];\n this.Beneficiaries = response['beneficiaries'];\n this.securitylist = response['securitylist'];\n this.InvoiceNumber = response['invoiceNoIncrement'];\n // console.log(this.security,this.Beneficiaries,this.securitylist);\n })\n\n }\n SelectionCustomerID(value) {\n // console.log(value);\n this.selectedbenid = value;\n this.SelectID = true;\n // this.Beneficiaries1 = this.Beneficiaries.filter(x => x.customerAccountCode == value.toString());\n // this.BeneficialOwnerName = this.Beneficiaries1[0].beneficialOwnerName;\n // this.Bank = this.Beneficiaries1[0].bank;\n // this.Branch = this.Beneficiaries1[0].branch;\n // this.RoutingNumber = this.Beneficiaries1[0].routingNumber;\n // this.AccountNumber = this.Beneficiaries1[0].accountNumber;\n\n //// console.log(this.BeneficialOwnerName,this.Bank,this.Branch,this.RoutingNumber,this.AccountNumber );\n //console.log(this.selectedbenid)\n this._backendservice.getData(`${CONFIG.applicationfilterbenApiUrlBase}/${this.selectedbenid}`)\n .subscribe(\n response => {\n //console.log(response); \n this.bendata = response['beneficiariesdata'];\n // / console.log(this.bendata); \n this.BeneficialOwnerName = this.bendata[0].beneficialOwnerName;\n this.Bank = this.bendata[0].bank;\n this.Branch = this.bendata[0].branch;\n this.RoutingNumber = this.bendata[0].routingNumber;\n this.AccountNumber = this.bendata[0].accountNumber;\n //console.log( this.RoutingNumber)\n let mask = \"\";\n\n if (this.AccountNumber) {\n // console.log(this.AccountNumber.trim().length);\n for (let i = 0; i < this.AccountNumber.trim().length - 4; i++) {\n mask += \"*\";\n }\n\n let len = this.AccountNumber.trim().length;\n //console.log(mask + this.AccountNumber.slice(len-4,len));\n\n this.AccountNumber = mask + this.AccountNumber.trim().slice(len - 4, len);\n // console.log(this.AccountNumber);\n // return mask + this.AccountNumber.slice(3,7)\n\n }\n\n })\n\n //console.log(this.AccountNumber);\n\n }\n\n SelectionSecurityID(value) {\n //console.log(value)\n this.selectedsecid = value;\n this._backendservice.getData(`${CONFIG.applicationApiUrlBase}/rate/${value}`)\n .subscribe(\n response => {\n console.log(response); \n this.Rate = response['rate'];\n this.MaxAppAmt = response['maxAmount']\n console.log(this.MaxAppAmt)\n if (this.Rate != '') {\n //console.log(\"test\")\n this.rateenable = true;\n this.test = true;\n }\n\n })\n\n }\n\n\n changeAmount(value) {\n if (value !== undefined && value !== null) {\n // here we just remove the commas from value\n this.applicationAmount = value.toString().replace(/,/g, \"\");\n // console.log(this.applicationAmount)\n var i = this.applicationAmount\n //console.log(i)\n if (i % 100 == 0) {\n //console.log(\"Test\")\n //this._alert.openConfirmationDialo11(\"Please Enter Amount 1\");\n } else {\n this._alert.openConfirmationDialo11(this.amounttest.value + \" \" + \"Not Divisible by 100 \");\n this.loadingData1 = true;\n return false;\n }\n\n\n } else {\n\n this.applicationAmount = value;\n // console.log(this.applicationAmount)\n }\n //this.amountlist.push(this.applicationAmount);\n //value=null;\n ////console.log( this.applicationAmount);\n\n }\n\n\n // addData(data) {\n // sessionStorage.clear();\n\n // if (data.Beneficiaries == \"\" || data.Beneficiaries == undefined) {\n // this._alert.openConfirmationDialogShot(\"Please select the Beneficiaries\");\n // this.hide = false;\n // this.rateenable = false;\n // this.test = true;\n // return false;\n // }\n\n\n\n // this.sample1 = data.SecurityID;\n // if (data.SecurityID == \"\" || data.SecurityID == undefined) {\n // this._alert.openConfirmationDialogShot(\"Please select the SecurityID\");\n // this.hide = false;\n // this.rateenable = false;\n // this.test = true;\n // return false;\n // }\n\n // if (this.applicationAmount == \"\" || this.applicationAmount == undefined) {\n // this._alert.openConfirmationDialogShot(\"Please Enter the Amount\");\n // this.hide = false;\n // // this.rateenable = false;\n // this.test = true;\n // return false;\n // }\n\n // data.amount = this.applicationAmount;\n // data.rateamount = this.Rate;\n // if (parseInt(data.amount) == 0 || data.amount == \"\") {\n // this._alert.openConfirmationDialogShot(\"Application Amount should be greater than 0\");\n // }\n // else {\n\n // var i = this.applicationAmount\n // // console.log(i)\n // if (i % 100 == 0) {\n // console.log(\"Test\")\n // //this._alert.openConfirmationDialo11(\"Please Enter Amount 1\");\n // } else {\n // this._alert.openConfirmationDialo11(this.amounttest.value + \" \" + \"Not Divisible by 100 \");\n // this.loadingData1 = true;\n // return false;\n // }\n // if(i > this.MaxAppAmt){\n // console.log(i)\n // console.log(this.MaxAppAmt)\n // this._alert.openConfirmationDialo11(\"Amount Entered for \" + data.SecurityID + \" should be Less than or equal to: \" + this.MaxAppAmt.ToString(\"N0\") );\n // }\n\n\n // this.sample1 = data;\n // // console.log(this.sample1, data)\n\n // this.objectdata.push(data);\n // this.beneficieryList.push(this.selectedbenid);\n // this.securityidlist.push(this.selectedsecid);\n\n // this.amountlist.push(this.amounttest.value);\n // this.amounttest = new FormControl();\n\n // //console.log(this.selectedbenid);\n\n // // console.log(this.selectedsecid);\n // // for (let i = 0; i <= this.objectdata.length; i++) {\n // // console.log(\"ObjectData\")\n // // if (this.selectedbenid == this.objectdata[i].Beneficiaries ) {\n\n // // console.log(\"Without select second record\");\n // // \n // // }}\n\n // //console.log(this.objectdata.length)\n // if (this.objectdata.length > 0) {\n\n // this.testdata = this.objectdata;\n\n // //console.log(this.testdata, \"test\");\n // this.hide = true;\n // this.rateenable = true;\n // this.test = false;\n // //this.invoice = true;\n\n // }\n // else {\n // // console.log(\"test1\");\n // this.hide = false;\n\n // this.rateenable = false;\n // this.test = true;\n // this.invoice = false;\n // }\n\n // this.setForm();\n\n // }\n // }\n\n\n addData(data) {\n sessionStorage.clear();\n\n if (data.Beneficiaries == \"\" || data.Beneficiaries == undefined) {\n this._alert.openConfirmationDialogShot(\"Please select the Beneficiaries\");\n this.hide = false;\n this.rateenable = false;\n this.test = true;\n return false;\n }\n\n this.sample1 = data.SecurityID;\n if (data.SecurityID == \"\" || data.SecurityID == undefined) {\n this._alert.openConfirmationDialogShot(\"Please select the SecurityID\");\n this.hide = false;\n this.rateenable = false;\n this.test = true;\n return false;\n }\n\n if (this.applicationAmount == \"\" || this.applicationAmount == undefined) {\n this._alert.openConfirmationDialogShot(\"Please Enter the Amount\");\n this.hide = false;\n this.test = true;\n return false;\n }\n \n\n data.amount = this.applicationAmount;\n data.rateamount = this.Rate;\n let applicationAmount = parseInt(this.applicationAmount.toString().replace(/,/g, \"\"));\n let maxAppAmt = parseInt(this.MaxAppAmt.toString().replace(/,/g, \"\"));\n if (parseInt(data.amount) == 0 || data.amount == \"\") {\n this._alert.openConfirmationDialogShot(\"Application Amount should be greater than 0\");\n return false;\n } else {\n // var i = this.applicationAmount;\n\n // Check if amount is divisible by 100\n if (applicationAmount % 100 !== 0) {\n this._alert.openConfirmationDialogShot(this.amounttest.value + \" is not divisible by 100.\");\n this.loadingData1 = true;\n return false;\n }\n\n // Check if amount is greater than MaxAppAmt\n if (applicationAmount > maxAppAmt) {\n console.log(maxAppAmt)\n console.log(applicationAmount)\n this._alert.openConfirmationDialogShot(`Amount entered for \"${data.SecurityID}\"should be less than or equal to:${maxAppAmt.toLocaleString()}`);\n this.loadingData1 = true;\n return false;\n }\n\n // Proceed with data operations if all conditions are met\n this.sample1 = data;\n this.objectdata.push(data);\n this.beneficieryList.push(this.selectedbenid);\n this.securityidlist.push(this.selectedsecid);\n this.amountlist.push(this.amounttest.value);\n this.amounttest = new FormControl();\n\n if (this.objectdata.length > 0) {\n this.testdata = this.objectdata;\n this.hide = true;\n this.rateenable = true;\n this.test = false;\n } else {\n this.hide = false;\n this.rateenable = false;\n this.test = true;\n this.invoice = false;\n }\n\n this.setForm();\n }\n}\n\n// TermsAndConditionsForm(){\n// let link = document.createElement(\"a\");\n// if (this.isTermsChecked=true){\n// this._alert.openConfirmationDialogShot(\"You have read and agreed to the terms and conditions\");\n// link.download = \"BRS_and_BSB_Disclaimer_Portal\";\n// link.href = \"assets/img/BRS_and_BSB_Disclaimer_Portal.pdf\";\n// link.click();\n// }\n// else{\n// this._alert.openConfirmationDialogShot(\"Please check the box and Read the terms and conditions\");\n// }\n \n// }\n// TermsAndConditionsForm() {\n// const link = document.createElement(\"a\");\n \n// if (this.isTermsChecked) {\n// this._alert.openConfirmationDialogShot(\"You have read and agreed to the terms and conditions\");\n// link.download = \"BRS_and_BSB_Disclaimer_Portal\";\n// link.href = \"assets/img/BRS_and_BSB_Disclaimer_Portal.pdf\";\n// link.click();\n// } else {\n \n// this._alert.openConfirmationDialogShot(\"Please check the box and read the terms and conditions\");\n \n// }\n// }\n\nTermsAndConditionsForm(event: MatCheckboxChange) {\n this.isTermsChecked = event.checked; \n console.log('Checkbox value:', this.isTermsChecked);\n if (this.isTermsChecked) {\n this.isCheckboxDisabled = true; \n const link = document.createElement(\"a\");\n link.download = \"BRS_and_BSB_Disclaimer_Terms_and_Conditions\";\n // link.href = \"assets/img/BRS_and_BSB_Disclaimer_Portal.pdf\";\n link.href = \"assets/img/BRS_and_BSB_Disclaimer_Terms_and_Conditions.pdf\"\n link.click();\n this._alert.openConfirmationDialogShot(\"You have read, understood and agree to the Bank's terms and conditions, and acknowledge the Banks Disclaimer\");\n } else {\n this._alert.openConfirmationDialogShot(\"Please check the box and read the terms and conditions\");\n }\n}\n\n\n\n\n deleteConfirm(item) {\n\n\n for (let i = 0; i <= this.objectdata.length - 1; i++) {\n if (item.Beneficiaries == this.objectdata[i].Beneficiaries && item.SecurityID == this.objectdata[i].SecurityID\n && item.amount == this.objectdata[i].amount) {\n\n //console.log(i);\n this.objectdata.splice(i, 1);\n }\n\n }\n\n\n\n }\n\n SaveData() {\n this.invoice = true;\n // console.log(this.sample1)\n // console.log(this.selectedbenid);\n // console.log(this.beneficieryList)\n // console.log(this.securityidlist);\n // console.log(this.objectdata)\n // console.log(this.objectdata.length)\n\n this.removesetForm()\n this.Rate = \"\";\n // console.log(this.Rate)\n if (this.objectdata.length == 0) {\n\n this._alert.openConfirmationDialogShot(\"Select at least one record\");\n return;\n }\n\n\n\n\n\n\n var i = this.applicationAmount;\n //console.log(i, this.amountlist)\n if (i % 100 == 0) {\n console.log(\"Test\")\n //this._alert.openConfirmationDialo11(\"Please Enter Amount 1\");\n } else {\n this._alert.openConfirmationDialo11(this.amounttest.value + \" \" + \"Not Divisible by 100 \");\n this.loadingData1 = true;\n return;\n }\n\n this.loadingData1 = false;\n //console.log(this.selectedsecid)\n this.beneficieryList.push(this.selectedbenid);\n this.securityidlist.push(this.selectedsecid);\n\n // //Amount Validation\n // if(this.amounttest.value==\"\" || this.amounttest.value==null){\n // this.setForm();\n // this.loadingData1 = true;\n // //remove Beneficiary list\n // const index: number = this.beneficieryList.indexOf(this.selectedbenid);\n // this.beneficieryList.splice(index, 1);\n\n // //Remove the securityidlist\n // const index1: number = this.beneficieryList.indexOf(this.selectedsecid);\n // this.securityidlist.splice(index1, 1); \n\n // this._alert.openConfirmationDialo11(\"Please Enter Amount\");\n // return;\n // }\n\n // // Beneficiary Validation\n\n // if(this.selectedbenid == undefined ){\n // this.setForm();\n // this.loadingData1 = true; \n\n // //remove Beneficiary list\n // const index: number = this.beneficieryList.indexOf(this.selectedbenid);\n // this.beneficieryList.splice(index, 1);\n\n // //Remove the securityidlist\n // const index1: number = this.beneficieryList.indexOf(this.selectedsecid);\n // this.securityidlist.splice(index1, 1); \n\n // this._alert.openConfirmationDialo11(\"Please select the Beneficiary\");\n // return;\n // }\n\n // // Security ID Validation\n\n // if(this.selectedsecid == undefined ){\n // this.setForm();\n // this.loadingData1 = true;\n\n // //remove Beneficiary list\n // const index: number = this.beneficieryList.indexOf(this.selectedbenid);\n // this.beneficieryList.splice(index, 1);\n\n // //Remove the securityidlist\n // const index1: number = this.beneficieryList.indexOf(this.selectedsecid);\n // this.securityidlist.splice(index1, 1); \n\n // this._alert.openConfirmationDialo11(\"Please select the Security ID\");\n // return;\n // }\n\n\n\n\n this.amountlist.push(this.amounttest.value);\n\n //console.log(this.securityidlist);\n this.amounttest = new FormControl();\n\n // this.finalobject.beneficieryList=this.beneficieryList;\n // this.finalobject.securityidlist=this.securityidlist;\n\n\n this.finalobject.amountlist = this.amountlist;\n this.finalobject.NIBNumber = this._authService.NIBNumber;\n\n this.finalobject.BeneficialOwnerName = this.BeneficialOwnerName;\n\n this.finalobject.applicationdata = this.objectdata;\n this.finalobject.InvoiceNumber = this.InvoiceNumber\n //console.log(this.finalobject)\n\n this._backendservice.postData(this.finalobject, `${CONFIG.applicationApiUrlBase}/save`)\n .subscribe(response => {\n //// console.log(response);\n if (response['result'] == true) {\n this.loadingData1 = true;\n //// console.log(\"if\");\n this._notification.showNotification({ message: response['msg'], type: 'success' });\n this._router.navigate(['/dashboard']);\n }\n else {\n //// console.log(\"else\");\n this.loadingData1 = true;\n this._alert.openConfirmationDialog(response['msg']);\n this._router.navigate(['/dashboard/application']);\n }\n\n\n });\n\n }\n\n\n setForm() {\n this.applicationData = this._formBuilder.group({\n //'amount':['',[Validators.required, Validators.pattern('^-?[0-9]\\\\d*(\\\\.\\\\d{1,2})?$')]],\n 'Beneficiaries': [''],\n 'SecurityID': [''],\n\n\n })\n\n }\n\n removesetForm() {\n this.applicationData = this._formBuilder.group({\n 'amount': [''],\n 'Beneficiaries': [''],\n 'SecurityID': [''],\n 'Rate': [''],\n\n })\n\n }\n\n\n}","
\n

Application

\n\n \n
\n
\n \n Beneficial Owner Name\n \n \n
\n
\n \n Bank Name\n \n \n
\n
\n \n Branch\n \n \n
\n
\n \n Account Number\n \n \n
\n \n \n
\n \n InvoiceNo\n \n \n
\n \n
\n \n \n\n\n
\n
\n \n \n \n \n \n \n \n \n \n \n\n\n \n\n\n \n \n\n\n \n\n\n \n\n \n \n \n\n\n\n\n\n\n\n\n \n\n \n\n \n\n \n\n\n \n\n\n \n\n \n\n \n\n
BeneficiariesSelect SecurityRateAmountClick
\n \n \n Beneficiary\n \n \n \n \n \n \n Security ID\n \n \n \n\n \n \n \n Rate\n \n \n \n \n \n \n Amount\n \n \n \n \n \n
\n \n \n Select Beneficiary\n \n\n \n \n\n

{{item.customerAccountCode}}

\n
\n
\n
\n
\n \n \n Select Security ID\n \n \n \n \n

{{item}}

\n
\n
\n
\n
\n \n \n Rate\n \n \n\n \n \n \n \n Amount\n \n \n \n \n  \n\n
\n \n \n \n \n \n \n \n \n \n \n I Accept all the \n \n Disclaimer, Terms and Conditions.\n \n
\n and confirm that I have read, understood, and agree to the
Bank's terms and conditions, and acknowledge the Bank's Disclaimer.\n
\n
\n
\n \n
\n \n
\n
\n
\n
\n \n \n
","import { Component, OnInit } from '@angular/core';\nimport { FormControl, FormGroup, FormBuilder, Validators } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { AuthService } from '../shared/auth.service';\nimport { BackendService } from '../shared/backend.service';\nimport { NotificationService } from '../notification.service';\nimport { DatePipe } from '@angular/common';\nimport { AlertmessageService } from '../shared/alertmessage.service';\nimport CONFIG from 'src/config';\n\n@Component({\n selector: 'app-business-enroll',\n templateUrl: './business-enroll.component.html',\n styleUrls: ['./business-enroll.component.scss'],\n providers: [DatePipe],\n})\nexport class BusinessEnrollComponent implements OnInit {\n enrollForm: FormGroup;\n enrollFormBusiness: FormGroup;\n\n files: FileList;\n DriversLicensefiles: FileList;\n NationalInsuranceCardfiles: FileList;\n Beneficialfiles: FileList;\n Authorizedfiles: FileList;\n Businessfiles: FileList;\n name: any;\n DriversLicensename: any;\n NationalInsuranceCardname: any;\n Beneficialname: any;\n Authorizedname: any;\n Businessname: any;\n\n\n\n filestring: any;\n DriversLicensefilestring: any;\n NationalInsuranceCardfilestring: any;\n Beneficialstring: any;\n Authorizedstring: any;\n Businessstring: any;\n\n\n\n\n fileFormat: any;\n DriversLicensefileFormat: any;\n NationalInsuranceCardfileFormat: any;\n BeneficialfileFormat: any;\n AuthorizedfileFormat: any;\n BusinessfileFormat: any;\n\n\n\n\n Birthday = new FormControl();\n loadingData1: boolean = true;\n uploadpassportfiles: boolean = false;\n UploadNationalInsurancefiles: boolean = false;\n\n fileInput: string = 'Select file*';\n DriversLicensefileInput: string = 'Select file*';\n NationalInsuranceCardfileInput: string = 'Select file*';\n BeneficialfileInput: string = 'Select file*';\n AuthorizedfileInput: string = 'Select file*';\n BusinessfileInput: string = 'Select file*'\n cancel: boolean = false;\n Identifications: any;\n Individual: boolean = false;\n Business: boolean = false;\n accounttype: any;\n selected: true\n businesstype: string[] = ['Sample', 'Sample2'];\n\n passportNumberEnable: boolean = false;\n drivingLincenceNumberEnable: boolean = false;\n\n constructor(\n public _formBuilder: FormBuilder,\n public _router: Router,\n public _authService: AuthService,\n public _backendservice: BackendService,\n public _notificationService: NotificationService,\n public _datepipe: DatePipe,\n public _alert: AlertmessageService\n\n //public _resetFormService: ResetFormService\n ) { }\n\n ngOnInit(): void {\n \n this.setForm2();\n this.setFormBusiness();\n this.uploadpassportfiles = false;\n this.UploadNationalInsurancefiles = false\n }\n\n radioChange(event) {\n // console.log(event.value);\n this.accounttype = event.value;\n //console.log(this.accounttype)\n // console.log(this.accounttype);\n if (event.value == 0) {\n this.accounttype = \"Individual\";\n //console.log(this.accounttype);\n this.Individual = true;\n this.Business = false;\n return this.Individual;\n }\n\n else {\n this.accounttype = \"Business\"\n // console.log(this.accounttype);\n this.Business = true;\n this.Individual = false;\n return this.Business;\n }\n\n\n }\n\n\n\n ClearFileds() {\n\n // console.log(\"testtt\")\n this.cancel = true;\n this.Business = false;\n this.Individual = false;\n\n // this.radioChange(event);\n }\n\n\n onFileChange(event) {\n this.files = event.target.files;\n\n if (this.files[0].name.length < 30) {\n var str = this.files[0].name;\n this.fileInput = str.slice(0, 30);\n } else {\n var str = this.files[0].name;\n this.fileInput = str.slice(0, 25) + '...' + str.slice(-4);\n }\n if (this.files[0].type == \"image/jpg\" || this.files[0].type == \"application/pdf\" ||\n this.files[0].type == \"image/jpeg\") {\n this.name = this.files[0].name;\n this.fileFormat = this.files[0].type;\n //console.log(this.fileFormat);\n //// console.log(this.files);\n var reader = new FileReader();\n reader.onload = this._handleReaderLoadded.bind(this);\n reader.readAsBinaryString(this.files[0]);\n }\n else {\n this.loadingData1 = true;\n this._alert.openConfirmationDialo11(\"Please select a jpg/jpeg/pdf file to proceed.\");\n return true;\n }\n\n }\n _handleReaderLoadded(readerEvt) {\n var binaryString = readerEvt.target.result;\n this.filestring = btoa(binaryString); //Convaerting Binary String Data\n ////console.log(this.filestring);\n\n }\n onFileChangeDriversLicense(event) {\n this.DriversLicensefiles = event.target.files;\n\n\n if (this.DriversLicensefiles[0].name.length < 30) {\n var str = this.DriversLicensefiles[0].name;\n this.DriversLicensefileInput = str.slice(0, 30);\n } else {\n var str = this.DriversLicensefiles[0].name;\n this.DriversLicensefileInput = str.slice(0, 25) + '...' + str.slice(-4);\n }\n\n if (\n this.DriversLicensefiles[0].type == \"image/jpg\" || this.DriversLicensefiles[0].type == \"application/pdf\" || this.DriversLicensefiles[0].type == \"image/jpeg\"\n ) {\n this.DriversLicensename = this.DriversLicensefiles[0].name;\n this.DriversLicensefileFormat = this.DriversLicensefiles[0].type;\n //console.log(this.fileFormat);\n //// console.log(this.files);\n var reader = new FileReader();\n reader.onload = this._handleReaderLoaddedDriversLicense.bind(this);\n reader.readAsBinaryString(this.DriversLicensefiles[0]);\n }\n else {\n this.loadingData1 = true;\n this._alert.openConfirmationDialo11(\"Please select a jpg/jpeg/pdf file to proceed.\");\n return true;\n }\n }\n _handleReaderLoaddedDriversLicense(readerEvt) {\n var binaryString = readerEvt.target.result;\n this.DriversLicensefilestring = btoa(binaryString); //Convaerting Binary String Data\n ////console.log(this.filestring);\n\n }\n\n\n onFileChangeNationalInsuranceCard(event) {\n this.NationalInsuranceCardfiles = event.target.files;\n\n if (this.DriversLicensefiles[0].name.length < 30) {\n var str = this.NationalInsuranceCardfiles[0].name;\n this.NationalInsuranceCardfileInput = str.slice(0, 30);\n } else {\n var str = this.NationalInsuranceCardfiles[0].name;\n this.NationalInsuranceCardfileInput = str.slice(0, 25) + '...' + str.slice(-4);\n }\n\n if (this.NationalInsuranceCardfiles[0].type == \"image/jpg\" ||\n this.NationalInsuranceCardfiles[0].type == \"application/pdf\" ||\n this.NationalInsuranceCardfiles[0].type == \"image/jpeg\") {\n this.NationalInsuranceCardname = this.NationalInsuranceCardfiles[0].name;\n this.NationalInsuranceCardfileFormat = this.NationalInsuranceCardfiles[0].type;\n //console.log(this.fileFormat);\n //// console.log(this.files);\n var reader = new FileReader();\n reader.onload = this._handleReaderLoaddedNationalInsuranceCard.bind(this);\n reader.readAsBinaryString(this.NationalInsuranceCardfiles[0]);\n }\n else {\n this.loadingData1 = true;\n this._alert.openConfirmationDialo11(\"Please select a jpg/jpeg/pdf file to proceed.\");\n return true;\n }\n\n }\n _handleReaderLoaddedNationalInsuranceCard(readerEvt) {\n var binaryString = readerEvt.target.result;\n this.NationalInsuranceCardfilestring = btoa(binaryString); //Convaerting Binary String Data\n ////console.log(this.filestring);\n\n }\n\n onFileChangeBeneficial(event) {\n this.Beneficialfiles = event.target.files;\n\n if (this.Beneficialfiles[0].name.length < 30) {\n var str = this.Beneficialfiles[0].name;\n this.BeneficialfileInput = str.slice(0, 30);\n } else {\n var str = this.Beneficialfiles[0].name;\n this.BeneficialfileInput = str.slice(0, 25) + '...' + str.slice(-4);\n }\n\n if (this.Beneficialfiles[0].type == \"image/jpg\" ||\n this.Beneficialfiles[0].type == \"application/pdf\" ||\n this.Beneficialfiles[0].type == \"image/jpeg\") {\n this.Beneficialname = this.Beneficialfiles[0].name;\n this.BeneficialfileFormat = this.Beneficialfiles[0].type;\n //console.log(this.fileFormat);\n //// console.log(this.files);\n var reader = new FileReader();\n reader.onload = this._handleReaderLoaddedBeneficial.bind(this);\n reader.readAsBinaryString(this.Beneficialfiles[0]);\n }\n else {\n this.loadingData1 = true;\n this._alert.openConfirmationDialo11(\"Please select a jpg/jpeg/pdf file to proceed.\");\n return true;\n }\n }\n\n _handleReaderLoaddedBeneficial(readerEvt) {\n var binaryString = readerEvt.target.result;\n this.Beneficialstring = btoa(binaryString); //Convaerting Binary String Data\n\n }\n\n\n onFileChangeAuthorized(event) {\n this.Authorizedfiles = event.target.files;\n\n if (this.Authorizedfiles[0].name.length < 30) {\n var str = this.Authorizedfiles[0].name;\n this.AuthorizedfileInput = str.slice(0, 30);\n } else {\n var str = this.Authorizedfiles[0].name;\n this.AuthorizedfileInput = str.slice(0, 25) + '...' + str.slice(-4);\n }\n\n if (this.Authorizedfiles[0].type == \"image/jpg\" ||\n this.Authorizedfiles[0].type == \"application/pdf\" ||\n this.Authorizedfiles[0].type == \"image/jpeg\") {\n this.Authorizedname = this.Authorizedfiles[0].name;\n this.AuthorizedfileFormat = this.Authorizedfiles[0].type;\n //console.log(this.fileFormat);\n //// console.log(this.files);\n var reader = new FileReader();\n reader.onload = this._handleReaderLoaddedAuthorized.bind(this);\n reader.readAsBinaryString(this.Authorizedfiles[0]);\n }\n else {\n this.loadingData1 = true;\n this._alert.openConfirmationDialo11(\"Please select a jpg/jpeg/pdf file to proceed.\");\n return true;\n }\n }\n\n _handleReaderLoaddedAuthorized(readerEvt) {\n var binaryString = readerEvt.target.result;\n this.Authorizedstring = btoa(binaryString); //Convaerting Binary String Data\n\n }\n\n\n onFileChangeBusiness(event) {\n this.Businessfiles = event.target.files;\n\n if (this.Businessfiles[0].name.length < 30) {\n var str = this.Businessfiles[0].name;\n this.BusinessfileInput = str.slice(0, 30);\n } else {\n var str = this.Businessfiles[0].name;\n this.BusinessfileInput = str.slice(0, 25) + '...' + str.slice(-4);\n }\n\n if (this.Businessfiles[0].type == \"image/jpg\" ||\n this.Businessfiles[0].type == \"application/pdf\" ||\n this.Businessfiles[0].type == \"image/jpeg\") {\n this.Businessname = this.Businessfiles[0].name;\n this.BusinessfileFormat = this.Businessfiles[0].type;\n //console.log(this.fileFormat);\n //// console.log(this.files);\n var reader = new FileReader();\n reader.onload = this._handleReaderLoaddedBusiness.bind(this);\n reader.readAsBinaryString(this.Businessfiles[0]);\n }\n else {\n this.loadingData1 = true;\n this._alert.openConfirmationDialo11(\"Please select a jpg/jpeg/pdf file to proceed.\");\n return true;\n }\n }\n\n _handleReaderLoaddedBusiness(readerEvt) {\n var binaryString = readerEvt.target.result;\n this.Businessstring = btoa(binaryString); //Convaerting Binary String Data\n\n }\n\n\n\n IdentificationradioChange(event) {\n //console.log(event);\n this.Identifications = event.value;\n if (this.Identifications == \"0\") {\n this.uploadpassportfiles = true;\n this.UploadNationalInsurancefiles = false;\n this.passportNumberEnable=true;\n this.drivingLincenceNumberEnable=false;\n }\n else {\n this.UploadNationalInsurancefiles = true;\n this.uploadpassportfiles = false;\n this.passportNumberEnable=false\n this.drivingLincenceNumberEnable=true;\n }\n }\n\n\n\n onSelectedCountry(event) {\n\n }\n\n\n AddEnrollBusiness(enrollBusinessData) {\n\n\n this.loadingData1 = false;\n\n if (enrollBusinessData.NIBNumber == \"\" || enrollBusinessData.NIBNumber == null) {\n ////console.log(\"test\");\n this.loadingData1 = true;\n this._alert.openConfirmationDialo11(\"Please Enter ID Number\");\n return true;\n }\n\n\n //console.log(enrollBusinessData);\n if (this.enrollFormBusiness.valid) {\n\n\n\n //else {\n //// console.log(newEnrollData);\n enrollBusinessData.logintype = this.accounttype;\n\n enrollBusinessData.Beneficialuploadfile = this.Beneficialstring;\n enrollBusinessData.Authorizeduploadfile = this.Authorizedstring;\n enrollBusinessData.Businessuploadfile = this.Businessstring;\n\n\n enrollBusinessData.BeneficialFileName = this.Beneficialname;\n enrollBusinessData.AuthorizedFileName = this.Authorizedname;\n enrollBusinessData.BusinessFileName = this.Businessname;\n\n\n\n enrollBusinessData.identificationtype = this.Identifications;\n\n enrollBusinessData.DateofInception = this._datepipe.transform(enrollBusinessData.DateofInception.toString(), \"MM/dd/yyyy\");\n\n //console.log(enrollBusinessData)\n this._backendservice.postData(enrollBusinessData, `${CONFIG.enrollApiUrlBase}`)\n .subscribe(\n response => {\n if (response) {\n // console.log(\"test\");\n this.loadingData1 = true;\n this._alert.openConfirmationDialo11(response['msg']);\n //this._notificationService.showNotification({ message: response['msg'], type: 'success' });\n this.setForm2();\n this.uploadpassportfiles = false;\n this.UploadNationalInsurancefiles = false\n }\n else {\n this.loadingData1 = true;\n // console.log(\"test fail\");\n this._notificationService.showNotification({ message: response['msg'], type: 'error' });\n }\n },\n error => {\n\n });\n //}\n\n\n }\n else {\n this.loadingData1 = true;\n //// console.log(\"enrollForm not valid.\");\n this._alert.openConfirmationDialo11(\"Please fill all the details.\");\n }\n\n }\n\n\n\n\n AddEnroll(newEnrollData) {\n this.loadingData1 = false;\n //newEnrollData.Birthday = this._datepipe.transform(newEnrollData.Birthday.toString(), \"MM/dd/yyyy\");\n ////console.log(newEnrollData.Birthday)\n\n newEnrollData.logintype = this.accounttype;\n var dobb = newEnrollData.Birthday;\n var datenow = Date.now();\n\n const bdate = new Date(newEnrollData.Birthday);\n const timeDiff = Math.abs(Date.now() - bdate.getTime());\n var age = Math.floor((timeDiff / (1000 * 3600 * 24)) / 365);\n\n if (newEnrollData.NIBNumber == \"\" || newEnrollData.NIBNumber == null) {\n ////console.log(\"test\");\n this.loadingData1 = true;\n this._alert.openConfirmationDialo11(\"Please Enter NIB Number\");\n return true;\n }\n\n if (newEnrollData.MiddleName == \"\") {\n ////console.log(\"test\");\n this.loadingData1 = true;\n this._alert.openConfirmationDialo11(\" If there is no middle name can use ‘X’\");\n return true;\n }\n if (age < 18) {\n this.loadingData1 = true;\n this._alert.openConfirmationDialo11(\"Age Should be 18 years above.\");\n return true;\n }\n\n\n\n if (this.Identifications == \"\" || this.Identifications == null || this.Identifications == undefined) {\n this.loadingData1 = true;\n this._alert.openConfirmationDialo11(\"Please select the Identification Type.\");\n return true;\n }\n\n if(newEnrollData.bankname==\"\"|| newEnrollData.bankname==null|| newEnrollData.bankname==undefined){\n this.loadingData1 = true;\n this._alert.openConfirmationDialo11(\"Please fill the Bank Name.\");\n return true;\n }\n if(newEnrollData.branch==\"\"|| newEnrollData.branch==null|| newEnrollData.branch==undefined){\n this.loadingData1 = true;\n this._alert.openConfirmationDialo11(\"Please fill the Branch.\");\n return true;\n }\n if(newEnrollData.accountnumber==\"\"|| newEnrollData.accountnumber==null|| newEnrollData.accountnumber==undefined){\n this.loadingData1 = true;\n this._alert.openConfirmationDialo11(\"Please fill the Account Number.\");\n return true;\n }\n\n\n\n\n\n //console.log(newEnrollData);\n if (this.enrollForm.valid) {\n\n // console.log(this.fileFormat)\n // if (this.fileFormat != \"image/jpeg\" || this.fileFormat != \"image/jpg\" || this.fileFormat != \"application/pdf\" ) {\n\n // this._alert.openConfirmationDialog(\" Please select a file of type jpg or jpeg or pdf \");\n // return true;\n // }\n\n\n\n if (newEnrollData.NewPassword != newEnrollData.ConfirmPassword) {\n //// console.log(\"test\");\n this.loadingData1 = true;\n this._alert.openConfirmationDialo11(\"password and Confirm New password is not match.\");\n return true;\n }\n\n if (newEnrollData.Email != newEnrollData.ConfirmEmail) {\n //// console.log(\"test\");\n this.loadingData1 = true;\n this._alert.openConfirmationDialo11(\"Email and Confirm Email is not match.\");\n return true;\n }\n\n else {\n //// console.log(newEnrollData);\n newEnrollData.Passportuploadfile = this.filestring;\n newEnrollData.passportFileName = this.name;\n\n //Driver’s License AND National Insurance Card\n newEnrollData.DriversLicenseuploadfile = this.DriversLicensefilestring;\n newEnrollData.DriversLicenseFileName = this.DriversLicensename;\n\n newEnrollData.NationalInsuranceCarduploadfile = this.NationalInsuranceCardfilestring;\n newEnrollData.NationalInsuranceCardFileName = this.NationalInsuranceCardname;\n\n newEnrollData.identificationtype = this.Identifications;\n\n newEnrollData.Birthday = this._datepipe.transform(newEnrollData.Birthday.toString(), \"MM/dd/yyyy\");\n newEnrollData.ExpiryDate = this._datepipe.transform(newEnrollData.expirydate.toString(), \"MM/dd/yyyy\");\n this._backendservice.postData(newEnrollData, `${CONFIG.enrollApiUrlBase}`)\n .subscribe(\n response => {\n if (response) {\n // console.log(\"test\");\n this.loadingData1 = true;\n this._alert.openConfirmationDialo11(response['msg']);\n //this._notificationService.showNotification({ message: response['msg'], type: 'success' });\n \n this.uploadpassportfiles = false;\n this.UploadNationalInsurancefiles = false\n }\n else {\n this.loadingData1 = true;\n // console.log(\"test fail\");\n this._notificationService.showNotification({ message: response['msg'], type: 'error' });\n }\n },\n error => {\n\n });\n }\n\n\n }\n else {\n this.loadingData1 = true;\n //// console.log(\"enrollForm not valid.\");\n this._alert.openConfirmationDialo11(\"Please fill all the details.\");\n }\n }\n\n setFormBusiness() {\n\n this.enrollFormBusiness = new FormGroup({\n\n\n NIBNumber: new FormControl('', [Validators.pattern('^([0-9]).{7,8}$')]),\n Bname: new FormControl('', [Validators.required]),\n trading: new FormControl(''),\n Btype: new FormControl('', [Validators.required]),\n Baddress: new FormControl('', [Validators.required]),\n Bemailaddress: new FormControl('', [Validators.required]),\n DateofInception: new FormControl('', [Validators.required]),\n\n //Primary\n BPemailaddress: new FormControl('', [Validators.required]),\n BPname: new FormControl('', [Validators.required]),\n BPphone: new FormControl('', [Validators.required]),\n //Secondary\n\n SBname: new FormControl(''),\n SBemailaddress: new FormControl(''),\n SBphone: new FormControl(''),\n //Bank Info\n Bbankname: new FormControl(''),\n Bbranch: new FormControl(''),\n Baccountnumber: new FormControl(''),\n\n//documents\n\n beneficialdocs: new FormControl(''),\n authorizeddocs: new FormControl(''),\n Businessdocs: new FormControl(''),\n });\n\n\n }\n\n setForm2() {\n\n this.enrollFormBusiness = new FormGroup({\n\n NIBNumber: new FormControl(''),\n Bname: new FormControl(''),\n trading: new FormControl(''),\n Btype: new FormControl(''),\n Bemailaddress: new FormControl(''),\n Bphone: new FormControl(''),\n DateofInception: new FormControl(''),\n\n BPemailaddress: new FormControl(''),\n BPname: new FormControl(''),\n BPphone: new FormControl(''),\n //Secondary\n\n SBname: new FormControl(''),\n SBemailaddress: new FormControl(''),\n SBphone: new FormControl(''),\n //Bank Info\n Bbankname: new FormControl(''),\n Bbranch: new FormControl(''),\n Baccountnumber: new FormControl(''),\n\n Baddress: new FormControl(''),\n beneficialdocs: new FormControl(''),\n authorizeddocs: new FormControl(''),\n Businessdocs: new FormControl(''),\n });\n }\n\n\n}\n","
\n\n\n
\n\n \n \n
\n\n\n\n \n
\n
\n\n
\n

Business Enrol Application

\n
\n\n
\n \n ID Number \n \n \n ID Number should contain 8\n characters\n \n \n
\n\n
\n \n Business Name \n \n \n
\n\n
\n \n Trading As (optional) \n \n \n
\n\n
\n \n Business Type \n \n \n
\n\n
\n \n Business Address \n \n \n
\n\n
\n \n Business Email Address \n \n \n\n
\n\n
\n \n Date of Inception \n \n \n \n \n
\n\n
\n\n
\n\n \n\n
\n

Primary Contacts

\n\n
\n
\n \n Name \n \n \n
\n\n
\n \n Email Address \n \n \n
\n\n
\n \n Phone \n \n \n
\n
\n
\n\n \n
\n

Secondary Contacts

\n\n
\n
\n \n Name \n \n \n
\n\n
\n \n Email Address\n \n \n
\n\n
\n \n Phone \n \n \n
\n
\n
\n\n \n
\n

Banking Info

\n\n
\n
\n \n Bank Name \n \n \n\n
\n\n
\n \n Branch \n \n \n\n
\n\n
\n \n Account Number \n \n \n\n
\n\n
\n
\n\n\n\n\n\n \n\n
\n
\n

Beneficial Owner details (articles of incorporation or equivalent)\n \n

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

Authorized Signatories and specimen signatures\n \n

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

Business license/VAT registration\n \n

\n
\n
\n \n \n\n\n
\n
\n\n
\n\n\n\n\n\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 { AuthService } from '../shared/auth.service';\n\n@Component({\n selector: 'app-dashboard',\n templateUrl: './dashboard.component.html',\n styleUrls: ['./dashboard.component.scss']\n})\nexport class DashboardComponent implements OnInit {\n currentYear: number;\n dropdownOpen: boolean = false;\n constructor(public _authService:AuthService) { }\n\n ngOnInit(): void {\n this.currentYear = new Date().getFullYear();\n ////console.log(this._authService.NIBNumber);\n }\n \n\n}\n","\n
\n \n \n \n
\n \n
\n
\n
\n \n
\n","import { Component, OnInit, ɵConsole } from '@angular/core';\nimport { IfStmt } from '@angular/compiler';\nimport { FormGroup, FormBuilder, Validators, FormControl } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { AuthService } from '../shared/auth.service';\nimport { BackendService } from '../shared/backend.service';\nimport CONFIG from 'src/config';\n//import { NotificationService } from '../notification/notification.service';\nimport { DatePipe } from '@angular/common';\nimport { AlertmessageService } from '../shared/alertmessage.service';\nimport { NotificationService } from '../notification.service';\nimport { passwordvalid } from './passwordvalid.component';\nimport { MatRadioChange, MatRadioGroup, MatRadioModule } from '@angular/material/radio';\n\n@Component({\n selector: 'app-enroll',\n templateUrl: './enroll.component.html',\n styleUrls: ['./enroll.component.scss'],\n\n //imports: [MatRadioModule],\n})\nexport class EnrollComponent implements OnInit {\n\n checked = false; labelPosition: 'before' | 'Individual' = 'Individual';\n enrollForm: FormGroup;\n enrollFormBusiness: FormGroup;\n\n files: FileList;\n DriversLicensefiles: FileList;\n NationalInsuranceCardfiles: FileList;\n Beneficialfiles: FileList;\n Authorizedfiles: FileList;\n Businessfiles: FileList;\n name: any;\n DriversLicensename: any;\n NationalInsuranceCardname: any;\n Beneficialname: any;\n Authorizedname: any;\n Businessname: any;\n filestring: any;\n DriversLicensefilestring: any;\n NationalInsuranceCardfilestring: any;\n Beneficialstring: any;\n Authorizedstring: any;\n Businessstring: any;\n fileFormat: any;\n DriversLicensefileFormat: any;\n NationalInsuranceCardfileFormat: any;\n BeneficialfileFormat: any;\n AuthorizedfileFormat: any;\n BusinessfileFormat: any;\n Birthday = new FormControl();\n loadingData1: boolean = true;\n uploadpassportfiles: boolean = false;\n test: boolean = false;\n UploadNationalInsurancefiles: boolean = false;\n fileInput: string = 'Select file*';\n DriversLicensefileInput: string = 'Select file*';\n NationalInsuranceCardfileInput: string = 'Select file*';\n BeneficialfileInput: string = 'Select file*';\n AuthorizedfileInput: string = 'Select file*';\n BusinessfileInput: string = 'Select file*'\n cancel: boolean = false;\n Identifications: any;\n Individual: boolean = false;\n Business: boolean = false;\n accounttype: any;\n selected: true\n businesstype: string[] = ['Sample', 'Sample2'];\n passportNumberEnable: boolean = false;\n drivingLincenceNumberEnable: boolean = false;\n selectedValue: string;\n PassportNumber = new FormControl(\"\");\n InsuranceCardNumber = new FormControl(\"\");\n\n constructor(\n public _formBuilder: FormBuilder,\n public _router: Router,\n public _authService: AuthService,\n public _backendservice: BackendService,\n public _notificationService: NotificationService,\n public _datepipe: DatePipe,\n public _alert: AlertmessageService\n //public _resetFormService: ResetFormService\n ) { }\n\n ngOnInit(): void {\n this.setForm();\n this.setForm2();\n this.setFormBusiness();\n this.uploadpassportfiles = false;\n this.UploadNationalInsurancefiles = false\n }\n\n radioChange(event) {\n // console.log(event.value);\n this.accounttype = event.value;\n //console.log(this.accounttype)\n // console.log(this.accounttype);\n if (event.value == 0) {\n this.accounttype = \"Individual\";\n //console.log(this.accounttype);\n this.Individual = true;\n this.Business = false;\n return this.Individual;\n }\n else {\n this.accounttype = \"Business\"\n // console.log(this.accounttype);\n this.Business = true;\n this.Individual = false;\n return this.Business;\n }\n }\n ClearFileds() {\n // console.log(\"testtt\")\n this.cancel = true;\n this.Business = false;\n this.Individual = false;\n // this.radioChange(event);\n }\n\n onFileChange(event) {\n // console.log(event.target.files);\n this.files = event.target.files;\n if (this.files[0].name.length < 30) {\n var str = this.files[0].name;\n this.fileInput = str.slice(0, 30);\n } else {\n var str = this.files[0].name;\n this.fileInput = str.slice(0, 25) + '...' + str.slice(-4);\n }\n if (this.files[0].type == \"image/jpg\" || this.files[0].type == \"application/pdf\" ||\n this.files[0].type == \"image/jpeg\") {\n this.name = this.files[0].name;\n this.fileFormat = this.files[0].type;\n //console.log(this.fileFormat);\n //// console.log(this.files);\n var reader = new FileReader();\n reader.onload = this._handleReaderLoadded.bind(this);\n reader.readAsBinaryString(this.files[0]);\n }\n else {\n this.loadingData1 = true;\n this._alert.openConfirmationDialo11(\"Please select a jpg/jpeg/pdf file to proceed.\");\n return true;\n }\n\n }\n _handleReaderLoadded(readerEvt) {\n var binaryString = readerEvt.target.result;\n this.filestring = btoa(binaryString); //Convaerting Binary String Data\n ////console.log(this.filestring);\n }\n onFileChangeDriversLicense(event) {\n this.DriversLicensefiles = event.target.files;\n if (this.DriversLicensefiles[0].name.length < 30) {\n var str = this.DriversLicensefiles[0].name;\n this.DriversLicensefileInput = str.slice(0, 30);\n } else {\n var str = this.DriversLicensefiles[0].name;\n this.DriversLicensefileInput = str.slice(0, 25) + '...' + str.slice(-4);\n }\n\n if (\n this.DriversLicensefiles[0].type == \"image/jpg\" || this.DriversLicensefiles[0].type == \"application/pdf\" || this.DriversLicensefiles[0].type == \"image/jpeg\"\n ) {\n this.DriversLicensename = this.DriversLicensefiles[0].name;\n this.DriversLicensefileFormat = this.DriversLicensefiles[0].type;\n //console.log(this.fileFormat);\n //// console.log(this.files);\n var reader = new FileReader();\n reader.onload = this._handleReaderLoaddedDriversLicense.bind(this);\n reader.readAsBinaryString(this.DriversLicensefiles[0]);\n }\n else {\n this.loadingData1 = true;\n this._alert.openConfirmationDialo11(\"Please select a jpg/jpeg/pdf file to proceed.\");\n return true;\n }\n }\n _handleReaderLoaddedDriversLicense(readerEvt) {\n var binaryString = readerEvt.target.result;\n this.DriversLicensefilestring = btoa(binaryString); //Convaerting Binary String Data\n ////console.log(this.filestring);\n }\n\n onFileChangeNationalInsuranceCard(event) {\n this.NationalInsuranceCardfiles = event.target.files;\n\n if (this.DriversLicensefiles[0].name.length < 30) {\n var str = this.NationalInsuranceCardfiles[0].name;\n this.NationalInsuranceCardfileInput = str.slice(0, 30);\n } else {\n var str = this.NationalInsuranceCardfiles[0].name;\n this.NationalInsuranceCardfileInput = str.slice(0, 25) + '...' + str.slice(-4);\n }\n\n if (this.NationalInsuranceCardfiles[0].type == \"image/jpg\" ||\n this.NationalInsuranceCardfiles[0].type == \"application/pdf\" ||\n this.NationalInsuranceCardfiles[0].type == \"image/jpeg\") {\n this.NationalInsuranceCardname = this.NationalInsuranceCardfiles[0].name;\n this.NationalInsuranceCardfileFormat = this.NationalInsuranceCardfiles[0].type;\n //console.log(this.fileFormat);\n //// console.log(this.files);\n var reader = new FileReader();\n reader.onload = this._handleReaderLoaddedNationalInsuranceCard.bind(this);\n reader.readAsBinaryString(this.NationalInsuranceCardfiles[0]);\n }\n else {\n this.loadingData1 = true;\n this._alert.openConfirmationDialo11(\"Please select a jpg/jpeg/pdf file to proceed.\");\n return true;\n }\n\n }\n _handleReaderLoaddedNationalInsuranceCard(readerEvt) {\n var binaryString = readerEvt.target.result;\n this.NationalInsuranceCardfilestring = btoa(binaryString); //Convaerting Binary String Data\n ////console.log(this.filestring)\n }\n onFileChangeBeneficial(event) {\n this.Beneficialfiles = event.target.files;\n\n if (this.Beneficialfiles[0].name.length < 30) {\n var str = this.Beneficialfiles[0].name;\n this.BeneficialfileInput = str.slice(0, 30);\n } else {\n var str = this.Beneficialfiles[0].name;\n this.BeneficialfileInput = str.slice(0, 25) + '...' + str.slice(-4);\n }\n\n if (this.Beneficialfiles[0].type == \"image/jpg\" ||\n this.Beneficialfiles[0].type == \"application/pdf\" ||\n this.Beneficialfiles[0].type == \"image/jpeg\") {\n this.Beneficialname = this.Beneficialfiles[0].name;\n this.BeneficialfileFormat = this.Beneficialfiles[0].type;\n //console.log(this.fileFormat);\n //// console.log(this.files);\n var reader = new FileReader();\n reader.onload = this._handleReaderLoaddedBeneficial.bind(this);\n reader.readAsBinaryString(this.Beneficialfiles[0]);\n }\n else {\n this.loadingData1 = true;\n this._alert.openConfirmationDialo11(\"Please select a jpg/jpeg/pdf file to proceed.\");\n return true;\n }\n }\n\n _handleReaderLoaddedBeneficial(readerEvt) {\n var binaryString = readerEvt.target.result;\n this.Beneficialstring = btoa(binaryString); //Convaerting Binary String Data\n\n }\n\n onFileChangeAuthorized(event) {\n this.Authorizedfiles = event.target.files;\n\n if (this.Authorizedfiles[0].name.length < 30) {\n var str = this.Authorizedfiles[0].name;\n this.AuthorizedfileInput = str.slice(0, 30);\n } else {\n var str = this.Authorizedfiles[0].name;\n this.AuthorizedfileInput = str.slice(0, 25) + '...' + str.slice(-4);\n }\n\n if (this.Authorizedfiles[0].type == \"image/jpg\" ||\n this.Authorizedfiles[0].type == \"application/pdf\" ||\n this.Authorizedfiles[0].type == \"image/jpeg\") {\n this.Authorizedname = this.Authorizedfiles[0].name;\n this.AuthorizedfileFormat = this.Authorizedfiles[0].type;\n //console.log(this.fileFormat);\n //// console.log(this.files);\n var reader = new FileReader();\n reader.onload = this._handleReaderLoaddedAuthorized.bind(this);\n reader.readAsBinaryString(this.Authorizedfiles[0]);\n }\n else {\n this.loadingData1 = true;\n this._alert.openConfirmationDialo11(\"Please select a jpg/jpeg/pdf file to proceed.\");\n return true;\n }\n }\n\n _handleReaderLoaddedAuthorized(readerEvt) {\n var binaryString = readerEvt.target.result;\n this.Authorizedstring = btoa(binaryString); //Convaerting Binary String Data\n }\n\n onFileChangeBusiness(event) {\n this.Businessfiles = event.target.files;\n\n if (this.Businessfiles[0].name.length < 30) {\n var str = this.Businessfiles[0].name;\n this.BusinessfileInput = str.slice(0, 30);\n } else {\n var str = this.Businessfiles[0].name;\n this.BusinessfileInput = str.slice(0, 25) + '...' + str.slice(-4);\n }\n\n if (this.Businessfiles[0].type == \"image/jpg\" ||\n this.Businessfiles[0].type == \"application/pdf\" ||\n this.Businessfiles[0].type == \"image/jpeg\") {\n this.Businessname = this.Businessfiles[0].name;\n this.BusinessfileFormat = this.Businessfiles[0].type;\n //console.log(this.fileFormat);\n //// console.log(this.files);\n var reader = new FileReader();\n reader.onload = this._handleReaderLoaddedBusiness.bind(this);\n reader.readAsBinaryString(this.Businessfiles[0]);\n }\n else {\n this.loadingData1 = true;\n this._alert.openConfirmationDialo11(\"Please select a jpg/jpeg/pdf file to proceed.\");\n return true;\n }\n }\n\n _handleReaderLoaddedBusiness(readerEvt) {\n var binaryString = readerEvt.target.result;\n this.Businessstring = btoa(binaryString); //Convaerting Binary String Data\n\n }\n\n onChangeAppType1(event) {\n //console.log(event);\n this.Identifications = event.value;\n if (this.Identifications == \"0\") {\n //console.log(event);\n this.uploadpassportfiles = true;\n this.passportNumberEnable = true;\n this.drivingLincenceNumberEnable = false;\n this.UploadNationalInsurancefiles = false;\n // this.ideForm1();\n // this.PassportNumber=null;\n\n }\n\n if (this.Identifications == \"1\") {\n\n this.UploadNationalInsurancefiles = true;\n this.uploadpassportfiles = false;\n this.passportNumberEnable = false\n this.drivingLincenceNumberEnable = true;\n }\n\n\n }\n\n\n AddEnrollBusiness(enrollBusinessData) {\n this.loadingData1 = false;\n if (enrollBusinessData.NIBNumber == \"\" || enrollBusinessData.NIBNumber == null) {\n ////console.log(\"test\");\n this.loadingData1 = true;\n this._alert.openConfirmationDialo11(\"Please Enter ID Number\");\n return true;\n }\n //console.log(enrollBusinessData);\n if (this.enrollFormBusiness.valid) {\n\n //else {\n //// console.log(newEnrollData);\n enrollBusinessData.logintype = this.accounttype;\n\n enrollBusinessData.Beneficialuploadfile = this.Beneficialstring;\n enrollBusinessData.Authorizeduploadfile = this.Authorizedstring;\n enrollBusinessData.Businessuploadfile = this.Businessstring;\n enrollBusinessData.BeneficialFileName = this.Beneficialname;\n enrollBusinessData.AuthorizedFileName = this.Authorizedname;\n enrollBusinessData.BusinessFileName = this.Businessname;\n enrollBusinessData.identificationtype = this.Identifications;\n enrollBusinessData.DateofInception = this._datepipe.transform(enrollBusinessData.DateofInception.toString(), \"MM/dd/yyyy\");\n\n //console.log(enrollBusinessData)\n this._backendservice.postData(enrollBusinessData, `${CONFIG.enrollApiUrlBase}`)\n .subscribe(\n response => {\n if (response) {\n // console.log(\"test\");\n this.loadingData1 = true;\n this._alert.openConfirmationDialo11(response['msg']);\n //this._notificationService.showNotification({ message: response['msg'], type: 'success' });\n this.setForm2();\n this.uploadpassportfiles = false;\n this.UploadNationalInsurancefiles = false\n }\n else {\n this.loadingData1 = true;\n // console.log(\"test fail\");\n this._notificationService.showNotification({ message: response['msg'], type: 'error' });\n }\n },\n error => {\n\n });\n //}\n }\n else {\n this.loadingData1 = true;\n //// console.log(\"enrollForm not valid.\");\n this._alert.openConfirmationDialo11(\"Please fill all the details.\");\n }\n }\n\n AddEnroll(newEnrollData) {\n // console.log(this.InsuranceCardNumber.value);\n //console.log(this.PassportNumber.value)\n this.loadingData1 = false;\n var msg = \"\";\n newEnrollData.logintype = \"Individual\";\n var dobb = newEnrollData.Birthday;\n var datenow = Date.now();\n\n const bdate = new Date(newEnrollData.Birthday);\n const timeDiff = Math.abs(Date.now() - bdate.getTime());\n var age = Math.floor((timeDiff / (1000 * 3600 * 24)) / 365);\n\n if (newEnrollData.NIBNumber == \"\" || newEnrollData.NIBNumber == null) {\n msg = msg + \"\\n ---- NIB Number\";\n }\n if (newEnrollData.NewPassword == \"\" || newEnrollData.NewPassword == null) {\n msg = msg + \"\\n ---- Password\";\n }\n\n if (newEnrollData.ConfirmPassword == \"\" || newEnrollData.ConfirmPassword == null) {\n msg = msg + \"\\n ---- Confirm Password\";\n }\n\n if (newEnrollData.FirstName == \"\" || newEnrollData.FirstName == null) {\n msg = msg + \"\\n ---- First Name\";\n\n }\n\n if (newEnrollData.LastName == \"\" || newEnrollData.LastName == null) {\n msg = msg + \"\\n ---- Last Name\";\n\n }\n if (newEnrollData.Email == \"\" || newEnrollData.Email == null) {\n msg = msg + \"\\n ---- Email\";\n }\n if (newEnrollData.ConfirmEmail == \"\" || newEnrollData.ConfirmEmail == null) {\n msg = msg + \"\\n ---- ConfirmEmail\";\n }\n\n if (newEnrollData.Birthday == \"\" || newEnrollData.Birthday == null) {\n msg = msg + \"\\n ---- Date Of Birth\";\n }\n if (newEnrollData.expirydate == \"\" || newEnrollData.expirydate == null) {\n msg = msg + \"\\n ----Expiry Date\";\n }\n\n if (newEnrollData.IndividualAddress == \"\" || newEnrollData.IndividualAddress == null) {\n msg = msg + \"\\n ----Address\";\n }\n\n if (newEnrollData.IndividualPhone == \"\" || newEnrollData.IndividualPhone == null) {\n msg = msg + \"\\n ----Phone\";\n }\n if (newEnrollData.Occupation == \"\" || newEnrollData.Occupation == null) {\n msg = msg + \"\\n ----Source/Occupation\";\n }\n if (this.Identifications == \"\" || this.Identifications == null || this.Identifications == undefined) {\n msg = msg + \"\\n ---- Identification Type.\";\n\n }\n\n if (this.Identifications == \"0\") {\n if (this.PassportNumber.value == \"\" || this.PassportNumber.value == null) {\n msg = msg + \"\\n ----PassportNumber\";\n }\n }\n\n if (this.Identifications == \"1\") {\n if (this.InsuranceCardNumber.value == \"\" || this.InsuranceCardNumber.value == null) {\n msg = msg + \"\\n ----Driver’s License & InsuranceCard Number\";\n }\n }\n\n\n\n if (msg != \"\") {\n this.loadingData1 = true;\n this._alert.openConfirmationDialog(\"Please enter all required fields\" + msg);\n return true;\n }\n if (newEnrollData.MiddleName == \"\" || newEnrollData.MiddleName == null) {\n this.loadingData1 = true;\n this._alert.openConfirmationDialo11(\" If there is no middle name can use ‘X’\");\n return true;\n\n }\n if (age < 18) {\n this.loadingData1 = true;\n this._alert.openConfirmationDialo11(\"Age Should be 18 years above.\");\n return true;\n }\n\n if (newEnrollData.NewPassword != newEnrollData.ConfirmPassword) {\n this.loadingData1 = true;\n this._alert.openConfirmationDialo11(\"password and Confirm New password is not match.\");\n return true;\n }\n // console.log(newEnrollData);\n\n if (newEnrollData.Email != newEnrollData.ConfirmEmail) {\n this.loadingData1 = true;\n this._alert.openConfirmationDialo11(\"Email and Confirm Email is not match.\");\n return true;\n }\n\n if ((this.Identifications == \"0\") && (this.name == \"\" || this.name == null || this.name == undefined)) {\n this.loadingData1 = true;\n this._alert.openConfirmationDialo11(\"please upload file upload file.\");\n return true;\n }\n if ((this.Identifications == \"1\") && (this.DriversLicensename == \"\" || this.DriversLicensename == null || this.DriversLicensename == undefined)) {\n this.loadingData1 = true;\n this._alert.openConfirmationDialo11(\"please upload file upload files.\");\n return true;\n }\n // if(this.Identifications ==\"0\" ){\n // if(this.filestring ==\"\" || this.filestring ==null){\n\n // this.loadingData1 = true;\n // this._alert.openConfirmationDialo11(\"please upload file upload file.\");\n // return true;\n // }\n\n // }\n // if(this.Identifications ==\"1\" ){\n // if (this.DriversLicensefilestring ==\"\" || this.DriversLicensefilestring ==null){\n\n // this.loadingData1 = true;\n // this._alert.openConfirmationDialo11(\"please upload file upload files.\");\n // return true;\n // }\n // }\n else {\n\n if (this.Identifications == \"0\") {\n newEnrollData.PassPortNumber = this.PassportNumber.value;\n }\n else {\n newEnrollData.PassPortNumber = this.InsuranceCardNumber.value;\n }\n\n newEnrollData.Passportuploadfile = this.filestring;\n newEnrollData.passportFileName = this.name;\n //Driver’s License AND National Insurance Card\n newEnrollData.DriversLicenseuploadfile = this.DriversLicensefilestring;\n newEnrollData.DriversLicenseFileName = this.DriversLicensename;\n newEnrollData.NationalInsuranceCarduploadfile = this.NationalInsuranceCardfilestring;\n newEnrollData.NationalInsuranceCardFileName = this.NationalInsuranceCardname;\n newEnrollData.identificationtype = this.Identifications;\n newEnrollData.Birthday = this._datepipe.transform(newEnrollData.Birthday.toString(), \"MM/dd/yyyy\");\n newEnrollData.ExpiryDate = this._datepipe.transform(newEnrollData.expirydate.toString(), \"MM/dd/yyyy\");\n this._backendservice.postData(newEnrollData, `${CONFIG.enrollApiUrlBase}`)\n .subscribe(\n response => {\n if (response) {\n // console.log(response);\n this.loadingData1 = true;\n this._alert.openConfirmationDialo11(response['msg']);\n //this._notificationService.showNotification({ message: response['msg'], type: 'success' });\n this.setForm1();\n this.uploadpassportfiles = false;\n this.UploadNationalInsurancefiles = false\n\n this.InsuranceCardNumber = new FormControl(\"\");\n this.PassportNumber = new FormControl(\"\");\n //windwos reload\n // this._router.navigate(['/enroll']).then(() => {\n // window.location.reload();\n // });\n }\n else {\n this.loadingData1 = true;\n // console.log(\"test fail\");\n this._notificationService.showNotification({ message: response['msg'], type: 'error' });\n }\n },\n error => {\n\n });\n }\n }\n\n\n //Only numbers allowed method\n keyPressNumbers(event) {\n var charCode = (event.which) ? event.which : event.keyCode;\n // Only Numbers 0-9\n if ((charCode < 48 || charCode > 57)) {\n event.preventDefault();\n return false;\n } else {\n return true;\n }\n }\n setForm() {\n this.enrollForm = new FormGroup({\n NIBNumber: new FormControl('', [Validators.required]),\n //NIBNumber: new FormControl('', [Validators.required, Validators.pattern('^([0-9]).{7,8}$')]),\n ConfirmPassword: new FormControl('', [Validators.required, Validators.minLength(3)]),\n // NewPassword: new FormControl('', [Validators.pattern('^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#?!@$%^&*-.+)(/]).{8,12}$')]),\n\n NewPassword: new FormControl('', [Validators.compose([\n Validators.required, Validators.minLength(8), Validators.maxLength(20), passwordvalid])]),\n FirstName: new FormControl('', [Validators.required]),\n MiddleName: new FormControl('', [Validators.required]),\n LastName: new FormControl('', [Validators.required]),\n Email: new FormControl('', [Validators.required, Validators.pattern('^[a-zA-Z0-9]+[a-zA-Z0-9._-]+@[a-zA-Z]+.[a-zA-Z]+$')]),\n //Email: new FormControl('', [Validators.required, Validators.pattern('^[a-zA-Z0-9]+[a-zA-Z0-9.]+@[a-zA-Z]+.[a-zA-Z]+$')]),\n ConfirmEmail: new FormControl('', [Validators.required, Validators.pattern('^[a-zA-Z0-9]+[a-zA-Z0-9._-]+@[a-zA-Z]+.[a-zA-Z]+$')]),\n PassportNumber: new FormControl('', [Validators.required]),\n Birthday: new FormControl('', [Validators.required]),\n bankname: new FormControl(''),\n branch: new FormControl(''),\n accountnumber: new FormControl(''),\n passportFile: new FormControl('', [Validators.required]),\n expirydate: new FormControl('', [Validators.required]),\n IndividualAddress: new FormControl('', [Validators.required]),\n IndividualPhone: new FormControl('', [Validators.required]),\n Occupation: new FormControl('', [Validators.required]),\n IndividualPhone1: new FormControl(''),\n IndividualPhone2: new FormControl(''),\n ideType: new FormControl(''),\n });\n\n\n }\n setFormBusiness() {\n this.enrollFormBusiness = new FormGroup({\n NIBNumber: new FormControl('', [Validators.pattern('^([0-9]).{7,8}$')]),\n Bname: new FormControl('', [Validators.required]),\n trading: new FormControl(''),\n Btype: new FormControl('', [Validators.required]),\n Baddress: new FormControl('', [Validators.required]),\n Bemailaddress: new FormControl('', [Validators.required]),\n DateofInception: new FormControl('', [Validators.required]),\n //Primary\n BPemailaddress: new FormControl('', [Validators.required]),\n BPname: new FormControl('', [Validators.required]),\n BPphone: new FormControl('', [Validators.required]),\n //Secondary\n SBname: new FormControl(''),\n SBemailaddress: new FormControl(''),\n SBphone: new FormControl(''),\n //Bank Info\n Bbankname: new FormControl(''),\n Bbranch: new FormControl(''),\n Baccountnumber: new FormControl(''),\n //documents\n beneficialdocs: new FormControl(''),\n authorizeddocs: new FormControl(''),\n Businessdocs: new FormControl(''),\n });\n }\n setForm1() {\n this.enrollForm = new FormGroup({\n NIBNumber: new FormControl(''),\n ConfirmPassword: new FormControl(''),\n NewPassword: new FormControl(''),\n FirstName: new FormControl(''),\n MiddleName: new FormControl(''),\n LastName: new FormControl(''),\n Email: new FormControl(''),\n ConfirmEmail: new FormControl(''),\n\n Birthday: new FormControl(''),\n expirydate: new FormControl(''),\n passportFile: new FormControl(''),\n IndividualPhone: new FormControl(''),\n IndividualAddress: new FormControl(''),\n bankname: new FormControl(''),\n branch: new FormControl(''),\n accountnumber: new FormControl(''),\n Occupation: new FormControl(''),\n Businessname: new FormControl(''),\n trading: new FormControl(''),\n Businesstype: new FormControl(''),\n enailaddress: new FormControl(''),\n DateofInception: new FormControl(''),\n Bname: new FormControl(''),\n Bemailaddress: new FormControl(''),\n Bphone: new FormControl(''),\n SBname: new FormControl(''),\n SBemailaddress: new FormControl(''),\n SBphone: new FormControl(''),\n Bbankname: new FormControl(''),\n Bbranch: new FormControl(''),\n Baccountnumber: new FormControl(''),\n IndividualPhone1: new FormControl(''),\n IndividualPhone2: new FormControl(''),\n ideType: new FormControl(''),\n });\n }\n\n setForm2() {\n this.enrollFormBusiness = new FormGroup({\n NIBNumber: new FormControl(''),\n Bname: new FormControl(''),\n trading: new FormControl(''),\n Btype: new FormControl(''),\n Bemailaddress: new FormControl(''),\n Bphone: new FormControl(''),\n DateofInception: new FormControl(''),\n BPemailaddress: new FormControl(''),\n BPname: new FormControl(''),\n BPphone: new FormControl(''),\n //Secondary\n SBname: new FormControl(''),\n SBemailaddress: new FormControl(''),\n SBphone: new FormControl(''),\n //Bank Info\n Bbankname: new FormControl(''),\n Bbranch: new FormControl(''),\n Baccountnumber: new FormControl(''),\n Baddress: new FormControl(''),\n beneficialdocs: new FormControl(''),\n authorizeddocs: new FormControl(''),\n Businessdocs: new FormControl(''),\n });\n }\n\n}\n","
\n\n\n
\n\n
\n \n \n \n\n \n\n \n\n\n
\n\n\n
\n
\n
\n

Individual Enrol Application

\n
\n
\n

Existing client\n settlement instructions cannot be changed via this option.

\n
\n\n
\n \n NIB Number \n \n \n NIB Number should contain 8\n characters\n \n \n
\n
\n\n\n \n Password \n \n 0 && enrollForm.controls.NewPassword.invalid\">\n Password should contain at least one uppercase letter,one number,one special and minimum 8\n maximum 20\n characters\n \n \n information\n \n \n
\n
\n \n Confirm Password \n \n \n Please Enter Confirm Password\n \n \n
\n
\n \n First Name \n \n \n
\n
\n \n Middle Name \n \n \n
\n
\n \n Last Name \n \n \n
\n
\n \n Email \n \n \n
\n\n
\n \n Confirm Email \n \n \n
\n\n\n\n
\n \n \n Expiration Date \n\n \n \n \n
\n
\n\n
\n \n Birthday \n \n \n \n
\n
\n\n
\n
\n\n
\n

Banking Info

\n\n
\n
\n \n Bank Name(Optional) \n \n \n
\n\n
\n \n Branch(Optional) \n \n \n
\n\n
\n \n Account Number(Optional) \n \n \n
\n
\n
\n\n\n\n\n
\n
\n \n Address \n \n \n\n
\n\n
\n \n Primary Phone Number \n \n \n
\n\n
\n \n Phone Number1(Optional) \n \n \n
\n\n\n
\n \n Phone Number2(Optional) \n \n \n
\n\n
\n \n Occupation/Source of Income \n \n \n
\n
\n
Identification Type \n
\n
\n \n Passport\n Driver’s\n License AND National Insurance Card\n \n \n\n
\n\n\n
\n\n\n\n
\n

Upload Passport\n \n

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

Upload Driver’s License\n \n

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

Upload National Insurance Card\n \n

\n
\n
\n \n \n\n\n
\n
\n\n
\n\n\n\n\n
\n \n \n Passport Number \n \n \n
\n\n
\n \n \n Driver’s License & InsuranceCard Number \n \n \n
\n
\n \n\n \n\n \n
\n
\n\n\n
\n\n \n
\n
\n\n
\n

Enrol Application

\n
\n\n
\n \n ID Number \n \n \n ID Number should contain 8\n characters\n \n \n
\n\n
\n \n Business Name \n \n \n
\n\n
\n \n Trading As (optional) \n \n \n
\n\n
\n \n Business Type \n \n \n
\n\n
\n \n Business Address \n \n \n
\n\n
\n \n Business Email Address \n \n \n\n
\n\n
\n \n Date of Inception \n \n \n \n \n
\n\n
\n\n
\n\n \n\n
\n

Primary Contacts

\n\n
\n
\n \n Name \n \n \n
\n\n
\n \n Email Address \n \n \n
\n\n
\n \n Phone \n \n \n
\n
\n
\n\n \n
\n

Secondary Contacts

\n\n
\n
\n \n Name \n \n \n
\n\n
\n \n Email Address\n \n \n
\n\n
\n \n Phone \n \n \n
\n
\n
\n\n \n
\n

Banking Info

\n\n
\n
\n \n Bank Name \n \n \n\n
\n\n
\n \n Branch \n \n \n\n
\n\n
\n \n Account Number \n \n \n\n
\n\n
\n
\n\n\n\n\n\n \n\n
\n
\n

Beneficial Owner details (articles of incorporation or equivalent)\n \n

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

Authorized Signatories and specimen signatures\n \n

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

Business license/VAT registration\n \n

\n
\n
\n \n \n\n\n
\n
\n\n
\n\n\n\n\n\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 { AbstractControl, ValidationErrors } from \"@angular/forms\"\n\nexport const passwordvalid = function (control: AbstractControl): ValidationErrors | null {\n\n let value: string = control.value || '';\n let msg = \"\";\n if (!value) {\n return null\n }\n\n let upperCaseCharacters = /[A-Z]+/g;\n let lowerCaseCharacters = /[a-z]+/g;\n let numberCharacters = /[0-9]+/g;\n let specialCharacters = /[!@#$%^&*()_+\\-=\\[\\]{};':\"\\\\|,.<>\\/?]+/;\n if (upperCaseCharacters.test(value) === false || lowerCaseCharacters.test(value) === false || numberCharacters.test(value) === false || specialCharacters.test(value) === false) {\n return {\n passwordStrength: 'Password must contain at least two of the following: numbers, lowercase letters, uppercase letters, or special characters.'\n }\n\n }\n\n /*let upperCaseCharacters = /[A-Z]+/g\n if (upperCaseCharacters.test(value) === false) {\n return { passwordStrength: `Upper case required` };\n }\n\n let lowerCaseCharacters = /[a-z]+/g\n if (lowerCaseCharacters.test(value) === false) {\n return { passwordStrength: `lower case required` };\n }\n\n\n let numberCharacters = /[0-9]+/g\n if (numberCharacters.test(value) === false) {\n return { passwordStrength: `number required` };\n }\n\n let specialCharacters = /[!@#$%^&*()_+\\-=\\[\\]{};':\"\\\\|,.<>\\/?]+/\n if (specialCharacters.test(value) === false) {\n return { passwordStrength: `Special char required` };\n }\n return { \n passwordStrength:null \n }*/\n\n}","import CONFIG from '../../config';\r\nimport { Injectable, OnInit } from '@angular/core';\r\nimport { Location } from '@angular/common';\r\nimport { CanActivate, Router, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\n\r\nimport { AuthService } from '../shared/auth.service';\r\nimport { BackendService } from '../shared/backend.service';\r\n\r\nimport { Utilities } from '../shared/utilities.service';\r\n//import { Observable } from 'rxjs/Observable';\r\nimport { Observable, of } from 'rxjs';\r\nimport { NotificationService } from '../notification.service';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { FormBuilder } from '@angular/forms';\r\n\r\n@Injectable()\r\nexport class AuthGuard extends Utilities implements CanActivate {\r\n constructor(\r\n public _formBuilder:FormBuilder,\r\n public _router:Router,\r\n public location: Location,\r\n public notificationService: NotificationService,\r\n public authService: AuthService,\r\n public backendService: BackendService,\r\n public dialog:MatDialog\r\n ) {\r\n super(_formBuilder,_router,location, notificationService ,authService,backendService,dialog);\r\n }\r\n\r\n// canActivate(next: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable {\r\n// // return Observable.of(true).delay(20); \r\n// console.log(localStorage.getItem('token'),sessionStorage.getItem('token'));\r\n \r\n// // fake login for now- no backend yet\r\n \r\n// let jwt = localStorage.getItem('token') || sessionStorage.getItem('token');\r\n// if(jwt) {\r\n \r\n// return this.checkLoginForAuthGuard();\r\n// } \r\n// else {\r\n// this.authService.loggedIn = false;\r\n// this._router.navigate(['/login']);\r\n// return of(false);\r\n// }\r\n// }\r\n\r\n\r\ncanActivate(next: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable {\r\n //console.log(localStorage.getItem('token'), sessionStorage.getItem('token'));\r\n\r\n let jwt = localStorage.getItem('token') || sessionStorage.getItem('token');\r\n if (jwt) {\r\n\r\n return this.checkLoginForAuthGuard();\r\n }\r\n else {\r\n this.authService.loggedIn = false;\r\n this._router.navigate(['/']);\r\n return Observable.of(false);\r\n }\r\n}\r\n\r\n\r\n\r\n}","import {Injectable} from '@angular/core';\r\n\r\n@Injectable()\r\nexport class LoadingService {\r\n loaderHidden: boolean = true;\r\n timerHandle;\r\n\r\n constructor() {}\r\n\r\n\tshow() {\r\n if(this.timerHandle || !this.loaderHidden) {\r\n return;\r\n }\r\n\r\n this.timerHandle = setTimeout(() => {\r\n this.loaderHidden = false;\r\n }, 500);\r\n\t}\r\n\r\n hide() {\r\n if(this.timerHandle) {\r\n clearTimeout(this.timerHandle);\r\n this.timerHandle = undefined;\r\n }\r\n this.loaderHidden = true;\r\n\t}\r\n}","import { Component, OnInit } from '@angular/core';\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\nimport { Route, Router } from '@angular/router';\nimport { AuthService } from '../shared/auth.service';\n//import { NotificationService } from '../notification/notification.service';\nimport { ResetFormService } from './reset-form.service';\nimport { NotificationService } from '../notification.service';\n@Component({\n selector: 'app-login',\n templateUrl: './login.component.html',\n styleUrls: ['./login.component.scss'],\n providers: [ResetFormService]\n})\nexport class LoginComponent implements OnInit {\n loginUser: FormGroup;\n submitted: Boolean = false;\n constructor(\n public _formBuilder: FormBuilder,\n public _router: Router,\n public _authService: AuthService,\n public _notificationService:NotificationService,\n public _resetFormService: ResetFormService\n ) { }\n\n ngOnInit(): void {\n this.setForm();\n }\n login(user) {\n //// console.log(user);\n this.submitted = true;\n user.Password = btoa(user.Password)\n if (this.loginUser.valid) {\n this._authService.login(user)\n .subscribe(response => {\n //// console.log('login response', response);\n //console.log(response);\n if (response.result) {\n ////console.log(\"test\");\n // this._notificationService.showNotification({type:'success',message :response.msg});\n this._authService.loggedIn = true;\n\n sessionStorage.setItem('NIBNumber', response.nibnumber);\n this._authService.NIBNumber = sessionStorage.getItem('NIBNumber'); \n ////console.log(this._authService.NIBNumber) ;\n\n sessionStorage.setItem('token', response.access_token);\n this._authService.token = sessionStorage.getItem('token'); \n\n\n sessionStorage.setItem('LoginType', response.logintype);\n this._authService.LoginType = sessionStorage.getItem('LoginType'); \n\n//console.log(this._authService.LoginType)\n\n\n this.submitted = false;\n ////console.log(this._authService.token, response.access_token);\n if (response.requirePasswordChange == true) {\n this._notificationService.showNotification({ type: 'warning', message: 'Please reset your password' });\n this._router.navigate(['/profile']);\n }\n else {\n //// console.log(\"test else\");\n this._notificationService.showNotification({ type: 'success', message: response.msg}); \n \n \n this._router.navigate(['/dashboard']);\n }\n\n }\n else {\n\n ////console.log(\"test\");\n // this._notificationService.showNotification({ type: 'error', message:response.msg})\n this._notificationService.showNotification({ type: 'error', message: response['msg'] });\n this._router.navigate(['/']);\n this.loginUser.controls['NIBNumber'].setValue('');\n this.loginUser.controls['Password'].setValue('');\n //this._notificationService.showNotification({type:'error',message:response['msg']});\n }\n },\n (error) => {\n //// console.log('login form error11');\n //this._notificationService.showNotification({type:'error',message:'server error'});\n });\n }\n else {\n ////console.log('login form error');\n this._notificationService.showNotification({ type: 'error', message: \"Please fill all the details.\"});\n }\n }\n setForm() {\n this.loginUser = this._formBuilder.group({\n 'NIBNumber': ['', Validators.required],\n 'Password': ['', Validators.required],\n });\n }\n}","
\n
\n
\n
\n
\n \n \n

Welcome to the Bond Portal

\n\n
\n\n

\n \n

\n
\n
\n\n
\n \n Enter NIB Number \n \n \n Please Enter NIB Number\n \n \n \n Enter Password\n \n \n Please Enter Password\n \n \n \n \n \n\n\n
\n
\n
\n \n
\n\n \n\n
\n\n
","import { Component, OnInit } from '@angular/core';\r\nimport { NgForm, FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { ResetFormService } from './reset-form.service';\r\nimport { NotificationService } from '../notification.service';\r\nimport { MatDialogRef } from '@angular/material/dialog';\r\nimport { PopupdisplayComponent } from '../popupdisplay/popupdisplay.component';\r\n//import { NotificationService } from '../notification/notification.service';\r\n\r\n\r\n@Component({\r\n templateUrl: './password-resend.component.html',\r\n styles: [`\r\n .field-bottom-right {\r\n position: absolute;\r\n bottom: -13px;\r\n right: -15px;\r\n z-index: 99;\r\n color:blue;\r\n }\r\n `],\r\n selector: 'forgot-password'\r\n})\r\n\r\nexport class PasswordResendComponent implements OnInit {\r\n result: any;\r\n msg: any;\r\n forgotPassword: FormGroup;\r\n submitted1: boolean = false;\r\n submitted2: boolean = false;\r\n resetResponse: any;\r\n otpdata:any={};\r\n dialogRef: MatDialogRef;\r\n\r\n constructor(\r\n public _router: Router,\r\n public _formBuilder: FormBuilder,\r\n public _resetFormService: ResetFormService,\r\n public _notificationService: NotificationService\r\n ) {\r\n this.setForm();\r\n }\r\n\r\n ngOnInit() {\r\n\r\n }\r\n\r\n OTPValidate(event){\r\n console.log(\"validate\");\r\n console.log(event.value);\r\n console.log(this.forgotPassword.controls['Email'].value,this.forgotPassword.controls['EmailOTP'].value);\r\n this.otpdata.Email=this.forgotPassword.controls['Email'].value;\r\n this.otpdata.OTP=this.forgotPassword.controls['EmailOTP'].value;\r\n console.log(this.otpdata);\r\n this._resetFormService.OTPValidate(this.otpdata);\r\n }\r\n\r\n checkEmail(email: any) {\r\n ////console.log(email);\r\n this.submitted1 = true;\r\n if (this.forgotPassword.controls['Email'].valid) {\r\n this._resetFormService.submitEmail(email);\r\n }\r\n }\r\n\r\n //Get list of users by email- if user exists, send email (backend processed)\r\n sendResetEmail(submittedForm) {\r\n\r\n console.log(submittedForm);\r\n this.submitted2 = true;\r\n\r\n if (this.forgotPassword.valid) {\r\n this.submitted2 = false;\r\n this._resetFormService.submitAnswer(submittedForm)\r\n .subscribe(resetResponse => {\r\n if (resetResponse) {\r\n console.log(\"if sucess\");\r\n this._notificationService.showNotification({ message: resetResponse['msg'], type: 'success' });\r\n this._resetFormService.forgottenPasswordFormUpdate(false);\r\n this.forgotPassword.reset();\r\n this._resetFormService.otpvalidsuccess=false;\r\n this._resetFormService.otpvalid=false;\r\n this._resetFormService.emailhide=false;\r\n\r\n let currentUrl = '/login';\r\n this._router.navigateByUrl('/', { skipLocationChange: true }).then(() => {\r\n this._router.navigate([currentUrl]);\r\n });\r\n\r\n } else {\r\n console.log(\"else\");\r\n this._notificationService.showNotification({ message: resetResponse['msg'], type: 'error' });\r\n this.forgotPassword.controls['Answer'].reset();\r\n this._resetFormService.otpvalidsuccess=false;\r\n this._resetFormService.otpvalid=false;\r\n this._resetFormService.emailhide=false;\r\n\r\n let currentUrl = '/login';\r\n this._router.navigateByUrl('/', { skipLocationChange: true }).then(() => {\r\n this._router.navigate([currentUrl]);\r\n });\r\n }\r\n },\r\n error => {\r\n console.log(error);\r\n this._notificationService.showNotification({ message: 'Server Error', type: 'error' });\r\n this._router.navigate(['/login']);\r\n });\r\n } else {\r\n //validators handle this\r\n //// console.log('Invalid form submission');\r\n }\r\n\r\n }\r\n\r\n setForm() {\r\n this.forgotPassword = this._formBuilder.group({\r\n 'Email': ['', Validators.required],\r\n //'Answer': ['', Validators.required],\r\n 'EmailOTP': ['', Validators.required]\r\n });\r\n }\r\n}\r\n","\r\n
\r\n \r\n
\r\n \r\n

Bond Application Login

\r\n
\r\n
\r\n
\r\n
Reset Password
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n Customer ID is required\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n Enter Emailed One-Time Password\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n
\r\n
\r\n","//import CONFIG from '../config';\r\n\r\nimport { Injectable } from '@angular/core';\r\nimport { BackendService } from '../shared/backend.service';\r\n//import { NotificationService } from '../notification.service';\r\nimport CONFIG from 'src/config';\r\n\r\nimport { map } from 'rxjs/operators';\r\nimport {Observable} from 'rxjs/Rx';\r\nimport { NotificationService } from '../notification.service';\r\nimport { PopupdisplayComponent } from '../popupdisplay/popupdisplay.component';\r\nimport { MatDialogRef } from '@angular/material/dialog';\r\nimport { Router } from '@angular/router';\r\nimport { AuthService } from '../shared/auth.service';\r\n\r\n@Injectable()\r\nexport class ResetFormService {\r\n forgotPasswordShow: boolean = false;\r\n validEmail: boolean = false;\r\n otpvalid:boolean=false;\r\n otpvalidsuccess:boolean=false;\r\n emailPending: boolean = false;\r\n validAnswer: boolean = false;\r\n emailhide:boolean = false;\r\n pwd_reset_q1: string = '';\r\n pwd_reset_q2: string = '';\r\n questions: string[] = [];\r\n selectedQuestion: number = 0;\r\n dialogRef: MatDialogRef;\r\n //index of questions array of selected question\r\n\r\n constructor(public _backendService: BackendService, \r\n public _notificationService: NotificationService,\r\n public _router: Router,\r\n public _authService: AuthService,\r\n ) {}\r\n\r\n forgottenPasswordFormUpdate(status: boolean, $event?: any) {\r\n ////console.log(status,event);\r\n //// console.log(\"test\");\r\n if($event) { $event.preventDefault(); };\r\n ////console.log(\"tets if\");\r\n this.validEmail = false;\r\n this.validAnswer = false;\r\n this.forgotPasswordShow = status;\r\n this.otpvalidsuccess=false;\r\n this.otpvalid=false;\r\n this.emailhide=false;\r\n let currentUrl = 'login';\r\n this._router.navigateByUrl('/', { skipLocationChange: true }).then(() => {\r\n this._router.navigate([currentUrl]);\r\n });\r\n }\r\n\r\n switchQuestion() {\r\n this.selectedQuestion = this.selectedQuestion === 0 ? 1 : 0;\r\n }\r\n\r\n submitEmail(email: string) {\r\n //// console.log(email);\r\n this.emailPending = true;\r\n this._backendService.postData(email, `${CONFIG.sendemailApiUrlBase}/checkcustomer`)\r\n .subscribe(response => {\r\n ////console.log(response);\r\n this.emailPending = false;\r\n if(response['result']) {\r\n //if user hasn't set reset questions yet, don't allow\r\n if(!response || !response) {\r\n this._notificationService.showNotification({ \r\n message: 'No password reset questions are on file for your login - Please contact your site administrator to reset your password.', \r\n type: 'error' \r\n });\r\n this.forgotPasswordShow = false;\r\n return;\r\n }\r\n this.questions.push(response['pwd_reset_q1'],response['pwd_reset_q2']);\r\n this._notificationService.showNotification({ type: 'success', message:response['msg']});\r\n console.log(response['pwd_reset_q1'],response['pwd_reset_q2']);\r\n this.validEmail = true;\r\n this.otpvalid=true\r\n this.emailhide=true\r\n } else {\r\n this._notificationService.showNotification({ message: 'Invalid CustomerID', type: 'error' });\r\n this.validEmail = false;\r\n this.otpvalid=false\r\n this.emailhide=false\r\n }\r\n });\r\n }\r\n\r\n OTPValidate(email: any) {\r\n console.log(email);\r\n this.emailPending = true;\r\n this._backendService.postData(email, `${CONFIG.sendemailApiUrlBase}/otpvalidate`)\r\n .subscribe(response => {\r\n debugger \r\n console.log(response);\r\n this.emailPending = false;\r\n if(response['result']) {\r\n //if user hasn't set reset questions yet, don't allow\r\n // if(!response || !response) {\r\n // this._notificationService.showNotification({ \r\n // message: 'No password reset questions are on file for your login - Please contact your site administrator to reset your password.', \r\n // type: 'error' \r\n // });\r\n // this.forgotPasswordShow = false;\r\n // return;\r\n // }\r\n // this.questions.push(response['pwd_reset_q1'],response['pwd_reset_q2']);\r\n //this._notificationService.showNotification({ type: 'success', message:response['msg']});\r\n // console.log(response['pwd_reset_q1'],response['pwd_reset_q2']);\r\n //this.validEmail = true;\r\n //-------- redirecting to rest password page ------//\r\n this._authService.loggedIn = true;\r\n\r\n sessionStorage.setItem('NIBNumber', response['nibnumber']);\r\n this._authService.NIBNumber = sessionStorage.getItem('NIBNumber'); \r\n ////console.log(this._authService.NIBNumber) ;\r\n\r\n sessionStorage.setItem('token', response['token']);\r\n this._authService.token = sessionStorage.getItem('token'); \r\n this._notificationService.showNotification({ type: 'warning', message: 'Please reset your password' });\r\n this._router.navigate(['/profile']);\r\n \r\n // this.otpvalid=false\r\n // this.otpvalidsuccess=true\r\n // this.emailhide=false;\r\n \r\n } else {\r\n this._notificationService.showNotification({ message: 'Invalid one-time password', type: 'error' });\r\n // this.validEmail = false;\r\n this.otpvalid=true\r\n this.otpvalidsuccess=false\r\n this.emailhide=true;\r\n }\r\n });\r\n }\r\n\r\n submitAnswer(answerObj: Object) {\r\n //add the text of the selected question to the object sent to the server\r\n answerObj['Question'] = this.questions[this.selectedQuestion];\r\n\r\n return this._backendService.postData(answerObj,`${CONFIG.sendemailApiUrlBase}/email`).map(response =>{\r\n return response;\r\n })\r\n }\r\n\r\n disableUser(email: string) {\r\n this._backendService.postData(email, `${CONFIG.usersApiUrlBase}/disableuser`)\r\n .subscribe(response => {\r\n this._notificationService.showNotification({ message: response['msg'], type: 'success' });\r\n }, error => {\r\n this._notificationService.showNotification({ message: error.msg, type: 'error' });\r\n });\r\n }\r\n}","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-mainpage',\n templateUrl: './mainpage.component.html',\n styleUrls: ['./mainpage.component.scss']\n})\nexport class MainpageComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","
\n
\n","import { Injectable } from '@angular/core';\r\nexport interface NotificationOptions\r\n{\r\n type?:string;\r\n message?:string;\r\n timer?:number;\r\n closeable?:boolean;\r\n}\r\n@Injectable()\r\n\r\nexport class NotificationService\r\n {\r\n isNotificationHidden:boolean=true;\r\n notifications:any[];\r\n manualDismiss:boolean=false;\r\n timeToClose:any=3000;\r\n timerHandle:any;\r\n message:string;\r\n bgType:string;\r\n iconType:string;\r\n\r\n constructor() { }\r\n showNotification(options?:NotificationOptions)\r\n {\r\n //console.log('entered _notificationService');\r\n if(!this.isNotificationHidden)\r\n {\r\n return;\r\n }\r\n if(options && (options.timer || options.timer==0))\r\n {\r\n this.timeToClose=options.timer;\r\n }\r\n else\r\n {\r\n this.timeToClose=5000;\r\n }\r\n\r\n this.message=(options && options.message)|| 'System Notification';\r\n const type=(options && options.type) || 'deault';\r\n this.manualDismiss=(options && options.closeable)|| false;\r\n\r\n\r\n switch (type) \r\n {\r\n case 'success':\r\n //console.log(\"test notification.\");\r\n this.bgType = 'bg-success';\r\n this.iconType = 'fa-thumbs-o-up';\r\n //console.log(type);\r\n break;\r\n case 'error':\r\n this.bgType = 'bg-danger';\r\n this.iconType = 'fa-exclamation-triangle';\r\n //console.log(type);\r\n break;\r\n case 'warning':\r\n this.bgType = 'bg-warning';\r\n this.iconType = 'fa-exclamation-triangle';\r\n break;\r\n case 'default':\r\n default:\r\n this.bgType = 'bg-primary';\r\n this.iconType = 'fa-exclamation-triangle';\r\n break;\r\n }\r\n this.isNotificationHidden=false;\r\n\r\n\r\n if(this.timeToClose >0)\r\n {\r\n this.setTimers();\r\n }\r\n else\r\n {\r\n this.manualDismiss=true;\r\n }\r\n }\r\n\r\n setTimers()\r\n {\r\n this.timerHandle = setTimeout(() => {\r\n this.isNotificationHidden = true;\r\n setTimeout(() => {\r\n this.message = '';\r\n this.bgType = '';\r\n this.iconType = '';\r\n this.timeToClose = 3000;\r\n }, 600);\r\n }, this.timeToClose);\r\n}\r\n}\r\n\r\n","import {Component, OnInit} from '@angular/core';\n\nimport { NotificationService } from '../notification.service';\n\n@Component({\n selector: 'notification-component',\n templateUrl: './notification.component.html',\n styleUrls: ['./notification.component.scss']\n // template: `\n //
\n // \n // \n //
{{notificationService.message}}
\n // \n //
\n // `,\n // styles: [`\n // .notification-wrapper {\n // opacity: 1;\n // position: fixed;\n // box-sizing: border-box;\n // bottom: 15px;\n // right: 15px;\n // min-width: 250px;\n // max-width: 50%;\n // border-radius: 5px;\n // color: #fff;\n // display: flex;\n // justify-content: space-around;\n // align-items: center;\n // padding: 12px;\n // font-size: 1.25em;\n // -webkit-backface-visibility: hidden;\n // transform: translateY(0);\n // transition: transform 0.5s ease;\n // z-index: 9999;\n // }\n // .pushdown {\n // transform: translateY(200%);\n // }\n // `]\n})\nexport class NotificationComponent implements OnInit {\n showNotice;\n\n constructor(\n public notificationService: NotificationService\n ) {}\n\n ngOnInit() \n {\n this.showNotice = this.notificationService.showNotification;\n this.notificationService.manualDismiss = false;\n this.notificationService.timeToClose = 3000;\n //console.log(this.showNotice);\n }\n\n closeNotice() {\n this.notificationService.isNotificationHidden = true;\n this.notificationService.manualDismiss = false;\n }\n}\n","\n\n
\n\n\n
{{notificationService.message}}
\n\n
","import { Component, OnInit } from '@angular/core';\nimport { MatDialogRef } from '@angular/material/dialog';\n\n\n\n@Component({\n selector: 'app-popupdisplay',\n templateUrl: './popupdisplay.component.html',\n styleUrls: ['./popupdisplay.component.scss']\n})\nexport class PopupdisplayComponent implements OnInit {\n\n \n \nconstructor(public dialogRef:MatDialogRef)\n\n{\n\n}\n public confirm:boolean;\n public confirmMessage:HTMLDataElement;\n public displaygrid:boolean;\n public body:HTMLElement;\n public comments:boolean = false;\n ngOnInit()\n {\n \n }\n}\n\n\n\n","
\n \n\n{{confirmMessage}}\n



\n
\n\n \n
","import { AbstractControl, ValidationErrors } from \"@angular/forms\"\n\nexport const passwordStrength = function (control: AbstractControl): ValidationErrors | null {\n\n let value: string = control.value || '';\n let msg = \"\";\n if (!value) {\n return null\n }\n\n let upperCaseCharacters = /[A-Z]+/g;\n let lowerCaseCharacters = /[a-z]+/g;\n let numberCharacters = /[0-9]+/g;\n let specialCharacters = /[!@#$%^&*()_+\\-=\\[\\]{};':\"\\\\|,.<>\\/?]+/;\n if (upperCaseCharacters.test(value) === false || lowerCaseCharacters.test(value) === false || numberCharacters.test(value) === false || specialCharacters.test(value) === false) {\n return {\n passwordStrength: 'Password must contain at least two of the following: numbers, lowercase letters, uppercase letters, or special characters.'\n }\n\n }\n\n /*let upperCaseCharacters = /[A-Z]+/g\n if (upperCaseCharacters.test(value) === false) {\n return { passwordStrength: `Upper case required` };\n }\n\n let lowerCaseCharacters = /[a-z]+/g\n if (lowerCaseCharacters.test(value) === false) {\n return { passwordStrength: `lower case required` };\n }\n\n\n let numberCharacters = /[0-9]+/g\n if (numberCharacters.test(value) === false) {\n return { passwordStrength: `number required` };\n }\n\n let specialCharacters = /[!@#$%^&*()_+\\-=\\[\\]{};':\"\\\\|,.<>\\/?]+/\n if (specialCharacters.test(value) === false) {\n return { passwordStrength: `Special char required` };\n }\n return { \n passwordStrength:null \n }*/\n\n}","\nimport { Component, OnInit } from '@angular/core';\nimport { Location } from '@angular/common';\nimport { NgForm, FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { Router } from '@angular/router';\n//import { Observable } from 'rxjs/Observable';\nimport { Observable, of } from 'rxjs';\n//import { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material';\nimport { BackendService } from '../shared/backend.service';\nimport { AuthService } from '../shared/auth.service';\n//import { NotificationService } from '../notification.service';\nimport { Utilities } from '../shared/utilities.service';\n\nimport CONFIG from 'src/config';\nimport { MatDialog } from '@angular/material/dialog';\nimport { NotificationService } from '../notification.service';\nimport { passwordStrength } from './password-strength.component';\n//import { ConfirmModifyComponent } from './confirmmodify/confirmmodify.component';\n\nexport interface SecurityQuestion {\n value: number;\n viewValue: string;\n}\n\n@Component({\n selector: 'app-profile',\n templateUrl: './profile.component.html'\n})\nexport class ProfileComponent extends Utilities implements OnInit {\n result: any;\n msg: any;\n id: string;\n updatedProfile: FormGroup;\n Password: FormControl;\n profileData: any;\n\n passwordStrength: number = 0;\n updatingPassword: boolean = false;\n passwordConfirmed: boolean = true;\n submitted: boolean = false;\n selected_Q1: string = '';\n selected_Q2: string = '';\n securityquestions: SecurityQuestion[] = [\n {value: 1, viewValue: 'What was your childhood nickname?'},\n {value: 2, viewValue: 'What was your dream job as a child?'},\n {value: 3, viewValue: 'Which is your favorite place to travel?'},\n {value: 4, viewValue: \"What is Mother's maiden name?\"},\n {value: 5, viewValue: 'What was the name of the town/city you were born?'},\n {value: 6, viewValue: 'Which high school did you attend?'}\n ];\n resetQuestions: Object[] = [];\n constructor(\n public _formBuilder: FormBuilder,\n public _router:Router,\n public location: Location,\n public notificationService: NotificationService,\n public authService: AuthService,\n public backendService: BackendService,\n public dialog: MatDialog\n ) {\n super(_formBuilder,_router,location, notificationService ,authService,backendService,dialog);\n this.setForm();\n\n }\n\n ngOnInit() {\n ////console.log(this.securityquestions.length);\n this.getMyProfile();\n //this.getPasswordResetQuestions();\n }\n\n\n updateProfiledata(updatedProfile) {\n ////console.log(updatedProfile, this.passwordConfirmed);\n if(updatedProfile.ModifyPassword == ''){\n this.notificationService.showNotification({ message: 'Please Update New Password', type: 'warning' });\n }\n this.submitted = true;\n ////console.log(this.updatedProfile.valid, this.passwordConfirmed);\n if (this.updatedProfile.valid && this.passwordConfirmed) {\n // this.backendService.putData(updatedProfile, `${CONFIG.changePasswordApiUrlBase}/${this.authService.NIBNumber}`)\n // .subscribe(\n // response => {\n\n\n // this.submitted = false;\n // if (!response['result']) {\n // //// console.log(\"test alert\");\n // this.notificationService.showNotification({ message: response['msg'], type: 'warning' });\n // this._router.navigate(['/dashboard/modifypassword']);\n // }\n // else {\n // this.updateProfiledata2(updatedProfile);\n // // this.openDialog(updatedProfile);\n // // this.notificationService.showNotification({ message: response['msg'], type: 'success' });\n // // this.authService.logout();\n // }\n // },\n // error => {\n // this.serverErrorOrTimeout(error);\n // });\n this.updateProfiledata2(updatedProfile);\n\n } \n else {\n //validators handle this case\n //// console.log('error with form');\n this.notificationService.showNotification({ message: \"New password and Confirm password does not match.\", type: 'warning' });\n }\n }\n updateProfiledata2(updatedProfile) {\n //// console.log(\"fhsdkfsj\");\n this.backendService.postData(updatedProfile, `${CONFIG.changePasswordApiUrlBase}/${this.authService.NIBNumber}`)\n .subscribe(\n response => {\n ////console.log(response);\n if (response['result']) {\n this.submitted = false;\n this.notificationService.showNotification({ message: response['msg'], type: 'success' });\n this.authService.logout();\n }\n else{\n this.notificationService.showNotification({ message: response['msg'], type: 'warning' });\n this._router.navigate(['/dashboard/changePassword']);\n }\n\n }, error => {\n this.serverErrorOrTimeout(error);\n });\n }\n\n\n\n getMyProfile() {\n\n // this.backendService.getData(`${CONFIG.changePasswordApiUrlBase}/${this.authService.NIBNumber}`)\n // .subscribe(profileData => {\n // console.log(profileData);\n // if (!profileData) {\n // this.notificationService.showNotification({ timer: 5000, message: profileData['msg'], type: 'error', closeable: false });\n // }\n // for (let i = 0; i < this.resetQuestions.length; i += 1) {\n // if (this.resetQuestions[i]['viewValue'] === profileData['user'].pwdResetQuestion1) {\n // this.selected_Q1 = this.resetQuestions[i].toString();\n // } else if (this.resetQuestions[i]['viewValue'] === profileData['user'].pwdResetQuestion2) {\n // this.selected_Q2 = this.resetQuestions[i].toString();\n // }\n // }\n\n // this.updatedProfile.controls['PwdResetQuestion1'].setValue(profileData['user'].pwdResetQuestion1);\n // this.updatedProfile.controls['PwdResetQuestion2'].setValue(profileData['user'].pwdResetQuestion2);\n // this.updatedProfile.controls['PwdResetAnswer2'].setValue(profileData['user'].pwdResetAnswer2);\n // this.updatedProfile.controls['PwdResetAnswer1'].setValue(profileData['user'].pwdResetAnswer1);\n\n // this.updatedProfile.controls['ModifyPassword'].valueChanges\n // .debounceTime(200)\n // .subscribe((value) => {\n // this.passwordConfirmed = value === '';\n // this.updatingPassword = value !== '';\n // });\n\n // this.updatedProfile.controls['ConfirmPassword'].valueChanges\n // .subscribe((value) => {\n // this.passwordConfirmed = this.updatedProfile.controls['ModifyPassword'].value === value;\n // });\n // },\n // error => {\n // this.serverErrorOrTimeout(error);\n // });\n\n ////console.log('gfdklgndgkldglk');\n \n // console.log(\"hg\")\n // console.log(this.authService.token)\n this.backendService.getData(`${CONFIG.changePasswordApiUrlBase}/${this.authService.NIBNumber}`)\n .subscribe(response => {\n // console.log(response);\n if(!response) {\n this.notificationService.showNotification({ timer: 5000, message: response['msg'], type: 'error', closeable: false });\n }\n\n //set the id - we use this to identify the profile when updating below instead of the \n //email because the email can be changed- this cannot\n //this.id = profileData.id;\n \n this.updatedProfile.controls['ModifyPassword'].valueChanges\n .debounceTime(200)\n .subscribe((value) => {\n this.passwordConfirmed = value === '';\n this.updatingPassword = value !== '';\n });\n\n this.updatedProfile.controls['ConfirmPassword'].valueChanges\n .subscribe((value) => {\n this.passwordConfirmed = this.updatedProfile.controls['ModifyPassword'].value === value;\n });\n },\n error => {\n this.serverErrorOrTimeout(error);\n });\n\n }\n\n setSecurityQuestions(newInfo) {\n this.submitted = true;\n //// console.log(\"gdfjhfjskfgb\");\n if (this.updatedProfile.valid) {\n this.backendService.putData(newInfo, `${CONFIG.changePasswordApiUrlBase}/updateprofilesecurityquestions`)\n .subscribe(response => {\n if (response) {\n //finish login process\n this.submitted = false;\n this.authService.loggedIn = true;\n\n //remove the 'partiallogin' session variable that prevented further nav on reload\n sessionStorage.removeItem('partial_login');\n\n //hide form\n // this._loginService.resetQuestionsSet = true;\n\n this.notificationService.showNotification({ message: response['msg'], type: 'success' });\n this._router.navigate(['/main']);\n } else {\n this.notificationService.showNotification({ message: response['msg'], type: 'error' });\n }\n\n }, error => {\n this.serverErrorOrTimeout(error);\n });\n } else {\n //validators should handle this branch\n }\n }\n\n cancel() {\n // this._loginService.resetQuestionsSet = true;\n this._router.navigate(['/dashboard']);\n // this.authService.logout();\n }\n\n\n setForm() {\n this.updatedProfile = this._formBuilder.group({\n // 'Password': ['', Validators.minLength(3)],\n //'ModifyPassword': ['',Validators.pattern('^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#?!@$%^&*-.+)(/]).{6,10}$')],\n 'ModifyPassword': ['', Validators.compose([\n Validators.required, Validators.minLength(8),Validators.maxLength(20), passwordStrength])],\n 'ConfirmPassword': ['', Validators.required],\n // 'PwdResetQuestion1': [''],\n //'PwdResetQuestion2': [''],\n //'PwdResetAnswer1': [''],\n //'PwdResetAnswer2': ['']\n });\n }\n}\n","

\n
\n
\n
\n

Please reset your password

\n
\n
\n \n
\n \n
\n \n \n 0\">\n Password should contain at least one uppercase letter,\n one lowercase letter, one number and one special character and minimum 8 and maximum 20 characters,\n \n \n \n
\n
\n \n \n \n Not a match\n \n \n
\n
\n
\n \n
\n \n \n \n \n \n
\n  \n \n
\n \n
\n
\n
\n
\n","import { AbstractControl, ValidationErrors } from \"@angular/forms\"\n\nexport const passwordvalidstr = function (control: AbstractControl): ValidationErrors | null {\n\n let value: string = control.value || '';\n let msg = \"\";\n if (!value) {\n return null\n }\n\n let upperCaseCharacters = /[A-Z]+/g;\n let lowerCaseCharacters = /[a-z]+/g;\n let numberCharacters = /[0-9]+/g;\n let specialCharacters = /[!@#$%^&*()_+\\-=\\[\\]{};':\"\\\\|,.<>\\/?]+/;\n if (upperCaseCharacters.test(value) === false || lowerCaseCharacters.test(value) === false || numberCharacters.test(value) === false || specialCharacters.test(value) === false) {\n return {\n passwordStrength: 'Password must contain at least two of the following: numbers, lowercase letters, uppercase letters, or special characters.'\n }\n\n }\n\n /*let upperCaseCharacters = /[A-Z]+/g\n if (upperCaseCharacters.test(value) === false) {\n return { passwordStrength: `Upper case required` };\n }\n\n let lowerCaseCharacters = /[a-z]+/g\n if (lowerCaseCharacters.test(value) === false) {\n return { passwordStrength: `lower case required` };\n }\n\n\n let numberCharacters = /[0-9]+/g\n if (numberCharacters.test(value) === false) {\n return { passwordStrength: `number required` };\n }\n\n let specialCharacters = /[!@#$%^&*()_+\\-=\\[\\]{};':\"\\\\|,.<>\\/?]+/\n if (specialCharacters.test(value) === false) {\n return { passwordStrength: `Special char required` };\n }\n return { \n passwordStrength:null \n }*/\n\n}","import { Component, OnInit } from '@angular/core';\n\n\n\nimport { Location } from '@angular/common';\nimport { NgForm, FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { Router } from '@angular/router';\n//import { Observable } from 'rxjs/Observable';\nimport { Observable, of } from 'rxjs';\nimport { BackendService } from '../shared/backend.service';\nimport { AuthService } from '../shared/auth.service';\n//import { NotificationService } from '../notification.service';\nimport { Utilities } from '../shared/utilities.service';\nimport CONFIG from 'src/config';\nimport { NotificationService } from '../notification.service';\nimport { MatDialog } from '@angular/material/dialog';\nimport { passwordvalidstr } from './passwordvalidstr.component';\n\n\nexport interface SecurityQuestion {\n value: number;\n viewValue: string;\n}\n\n@Component({\n selector: 'app-reset-questions',\n templateUrl: './reset-questions.component.html',\n styleUrls: ['./reset-questions.component.scss']\n})\nexport class ResetQuestionsComponent extends Utilities implements OnInit {\n\n result:any;\n msg : any;\n id: string;\n updatedProfile: FormGroup;\n Password: FormControl;\n \n\n passwordStrength: number = 0;\n updatingPassword: boolean = false;\n passwordConfirmed: boolean = true;\n submitted: boolean = false;\n\n availableResetQuestions: any;\n selected_Q1: string = '';\n selected_Q2: string = '';\n securityquestions: SecurityQuestion[] = [\n {value: 1, viewValue: 'What was your childhood nickname?'},\n {value: 2, viewValue: 'What was your dream job as a child?'},\n {value: 3, viewValue: 'Which is your favorite place to travel?'},\n {value: 4, viewValue: \"What is Mother's maiden name?\"},\n {value: 5, viewValue: 'What was the name of the town/city you were born?'},\n {value: 6, viewValue: 'Which high school did you attend?'}\n ];\n\n constructor(\n public _formBulider:FormBuilder,\n public _router:Router,\n public location:Location,\n public notificationService:NotificationService,\n public backendService:BackendService,\n public authService:AuthService,\n public dialog:MatDialog\n ) {\n super(_formBulider,_router,location, notificationService ,authService,backendService,dialog);\n this.setForm();\n \n }\n\n ngOnInit() {\n this.getMyProfile();\n }\n// updateProfile(updatedProfile) {\n// if(updatedProfile.ModifyPassword == ''){\n// this.notificationService.showNotification({ message: 'Please Update Password', type: 'warning' });\n// }\n// if(updatedProfile.PwdResetQuestion1 == updatedProfile.PwdResetQuestion2){\n// this.notificationService.showNotification({ message: 'Please Select Two different questions', type: 'warning' });\n// }\n// else{\n// console.log(updatedProfile , this.passwordConfirmed);\n// this.submitted = true;\n// console.log(this.updatedProfile.valid , this.passwordConfirmed);\n// if (this.updatedProfile.valid && this.passwordConfirmed) {\n// this.backendService.putData(updatedProfile, `${CONFIG.changePasswordApiUrlBase}/${this.authService.UserID}`)\n// .subscribe(\n// response => {\n// this.submitted = false;\n// this.notificationService.showNotification({ message: response['msg'], type: 'success' });\n// this.authService.logout();\n// },\n// error => {\n// this.serverErrorOrTimeout(error);\n// });\n// } else {\n// //validators handle this case\n// console.log('error with form');\n// }}\n// }\nupdateProfiledata2(updatedProfile)\n{\n this.backendService.postData(updatedProfile, `${CONFIG.changePasswordApiUrlBase}/${this.authService.NIBNumber}`)\n .subscribe(\n response => {\n if(response['result'])\n {\n this.submitted = false;\n this.notificationService.showNotification({ message: response['msg'], type: 'success' });\n this.authService.logout();\n }\n\n else{\n this.notificationService.showNotification({ message: response['msg'], type: 'warning' });\n this._router.navigate(['/profile']);\n }\n\n },error => {\n this.serverErrorOrTimeout(error);\n });\n\n\n}\n\nupdateProfile(updatedProfile) {\n if(updatedProfile.ModifyPassword == ''){\n this.notificationService.showNotification({ message: 'Please Update New Password', type: 'warning' });\n }\n ////console.log(updatedProfile.PwdResetQuestion1 ,updatedProfile.PwdResetQuestion2);\n// if(updatedProfile.PwdResetQuestion1 == updatedProfile.PwdResetQuestion2){\n// this.notificationService.showNotification({ message: 'Please Select Two different questions', type: 'warning' });\n// }\n else{\n //// console.log(updatedProfile , this.passwordConfirmed);\n this.submitted = true;\n //// console.log(this.updatedProfile.valid , this.passwordConfirmed);\n if (this.updatedProfile.valid && this.passwordConfirmed) {\n // this.backendService.putData(updatedProfile, `${CONFIG.changePasswordApiUrlBase}/${this.authService.NIBNumber}`)\n // .subscribe(\n // response => {\n // this.submitted = false;\n // if(!response['result'])\n // {\n // //// console.log(\"test alert\");\n // this.notificationService.showNotification({ message: response['msg'], type: 'warning' });\n // //this.alert.openConfirmationDialog(response['msg'],response['result']);\n // this._router.navigate(['/profile']);\n // this.setForm();\n // }\n // else\n // {\n // this.updateProfiledata2(updatedProfile);\n // // this.openDialog(updatedProfile);\n // // this.notificationService.showNotification({ message: response['msg'], type: 'success' });\n // // this.authService.logout();\n // } \n // },\n // error => {\n // this.serverErrorOrTimeout(error);\n // });\n\n this.updateProfiledata2(updatedProfile)\n\n } \n else {\n //validators handle this case\n ////console.log('error with form');\n this.notificationService.showNotification({ message: \"New password and Confirm password does not match.\", type: 'warning' });\n }}\n}\n\n\n\n\ngetMyProfile() {\n ////console.log('gfdklgndgkldglk'); \n this.backendService.getData(`${CONFIG.changePasswordApiUrlBase}/${this.authService.NIBNumber}`)\n .subscribe(response => {\n console.log(response);\n if(!response) {\n this.notificationService.showNotification({ timer: 5000, message: response['msg'], type: 'error', closeable: false });\n }\n\n //set the id - we use this to identify the profile when updating below instead of the \n //email because the email can be changed- this cannot\n //this.id = profileData.id;\n \n this.updatedProfile.controls['ModifyPassword'].valueChanges\n .debounceTime(200)\n .subscribe((value) => {\n this.passwordConfirmed = value === '';\n this.updatingPassword = value !== '';\n });\n\n this.updatedProfile.controls['ConfirmPassword'].valueChanges\n .subscribe((value) => {\n this.passwordConfirmed = this.updatedProfile.controls['ModifyPassword'].value === value;\n });\n },\n error => {\n this.serverErrorOrTimeout(error);\n });\n }\n \n \n cancel() {\n // this._loginService.resetQuestionsSet = true;\n this.authService.logout();\n }\n\n\n setForm() {\n this.updatedProfile = this._formBulider.group({\n //'Password': ['', Validators.minLength(3)],\n //'ModifyPassword': ['', Validators.pattern('^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#?!@$%^&*-+.)(/]).{8,12}$')],\n 'ModifyPassword': ['', Validators.compose([\n Validators.required, Validators.minLength(8),Validators.maxLength(20), passwordvalidstr])],\n 'ConfirmPassword': ['', Validators.required],\n //'PwdResetQuestion1': ['', Validators.required],\n //'PwdResetQuestion2': ['', Validators.required],\n //'PwdResetAnswer1': ['', Validators.required],\n //'PwdResetAnswer2': ['', Validators.required]\n });\n }\n\n}\n","

\n
\n
\n
\n

Please reset your password

\n
\n
\n \n
\n \n
\n \n \n 0\">\n Password should contain at least one uppercase letter,\n one lowercase letter, one number and one special character and minimum 8 and maximum 20 characters,\n \n \n \n
\n
\n \n \n \n Not a match\n \n \n
\n
\n
\n \n
\n \n \n \n \n \n
\n  \n \n
\n \n
\n
\n
\n
\n","import { Injectable, Inject, AfterViewInit } from '@angular/core';\n\n\nimport { Observable, Subject } from 'rxjs';\nimport { PopupdisplayComponent } from '../popupdisplay/popupdisplay.component';\nimport { Router } from '@angular/router';\nimport { MatDialog, MatDialogRef } from '@angular/material/dialog';\n\n@Injectable({\n\n providedIn: 'root'\n})\n@Injectable()\nexport class AlertmessageService {\n\n dialogRef: MatDialogRef\n private subject = new Subject();\n // constructor(public dialog: MatDialog,public _router:Router){}\n constructor(public dialog: MatDialog,\n public _router: Router\n ) { }\n confirm(message: string, siFn: () => void, noFn: () => void) {\n console.log(\"on confirm\");\n this.setConfirmation(message, siFn, noFn);\n }\n setConfirmation(message: string, siFn: () => void, noFn: () => void) {\n let that = this;\n console.log(\"set confirm\");\n this.subject.next({\n type: \"confirm\",\n text: message,\n siFn:\n function () {\n that.subject.next(); //this will close the modal\n siFn();\n },\n noFn: function () {\n that.subject.next();\n noFn();\n }\n });\n\n }\n\n getMessage(): Observable {\n return this.subject.asObservable();\n }\n\n openConfirmationDialo11(Msg, checking?: Boolean) {\n //this._bottomSheet.open(PopupdisplayComponent);\n this.dialogRef = this.dialog.open(PopupdisplayComponent, {\n // height: '75px',\n // width: '300px',\n //height: '140px',\n //width: '600px',\n\n data: {},\n disableClose: false\n });\n this.dialogRef.componentInstance.confirmMessage = Msg;\n\n this.dialogRef.afterClosed().subscribe(result => {\n if (result) {\n\n if (checking)\n console.log('test')\n this._router.navigate(['/enroll']).then(() => {\n window.location.reload();\n\n });\n }\n this.dialogRef = null;\n });\n\n }\n\n openConfirmationDialoDivisable(Msg, checking?: Boolean) {\n //this._bottomSheet.open(PopupdisplayComponent);\n this.dialogRef = this.dialog.open(PopupdisplayComponent, {\n height: '140px',\n width: '600px',\n\n\n data: {},\n disableClose: false\n });\n this.dialogRef.componentInstance.confirmMessage = Msg;\n\n this.dialogRef.afterClosed().subscribe(result => {\n if (result) {\n if (checking)\n console.log('test')\n }\n\n this.dialogRef = null;\n });\n }\n\n\n openConfirmationDialog(Msg, checking?: Boolean) {\n console.log(Msg);\n this.dialogRef = this.dialog.open(PopupdisplayComponent, {\n // height: '140px',\n //width: '500px',\n\n // height: '140px',\n // width: '400px',\n data: {},\n disableClose: false\n });\n this.dialogRef.componentInstance.confirmMessage = Msg;\n this.dialogRef.afterClosed().subscribe(result => {\n if (result) {\n console.log(result);\n if (checking)\n console.log('test')\n //this._router.navigate(['/dashboard'])\n\n // do confirmation actions\n }\n\n this.dialogRef = null;\n });\n }\n openConfirmationDialog1(Msg, checking?: Boolean) {\n console.log(Msg);\n this.dialogRef = this.dialog.open(PopupdisplayComponent, {\n height: '140px',\n width: '400px',\n data: {},\n disableClose: false\n });\n this.dialogRef.componentInstance.confirmMessage = Msg;\n this.dialogRef.afterClosed().subscribe(result => {\n if (result) {\n console.log(result);\n if (checking)\n console.log('test')\n this._router.navigate(['']);\n\n // do confirmation actions\n }\n\n this.dialogRef = null;\n });\n }\n\n openConfirmationDialogShot(Msg, checking?: Boolean) {\n\n this.dialogRef = this.dialog.open(PopupdisplayComponent, {\n height: '180px',\n width: '1000px',\n data: {},\n disableClose: false\n });\n this.dialogRef.componentInstance.confirmMessage = Msg;\n\n this.dialogRef.afterClosed().subscribe(result => {\n if (result) {\n if (checking)\n this._router.navigate(['/dashboard/enterexcesscurrency']);\n // do confirmation actions\n }\n\n this.dialogRef = null;\n });\n }\n\n\n openConfirmationDialogSave(Msg, checking?: boolean) {\n\n this.dialogRef = this.dialog.open(PopupdisplayComponent, {\n height: '400px',\n width: '400px',\n data: {},\n disableClose: false,\n\n\n });\n this.dialogRef.componentInstance.confirmMessage = Msg;\n //Msg.replace(\".\",\"
\");\n //this.dialogRef.componentInstance.body = Msg;\n // console.log(this.dialogRef.componentInstance.confirmMessage);\n //this.dialogRef.componentInstance.displaygrid=checking;\n\n this.dialogRef.afterClosed().subscribe(result => {\n if (result) {\n\n // do confirmation actions\n }\n\n this.dialogRef = null;\n });\n }\n openConfirmationDialogLong(Msg, checking?: Boolean) {\n\n this.dialogRef = this.dialog.open(PopupdisplayComponent, {\n height: '160px',\n width: '900px',\n data: {},\n disableClose: false\n });\n this.dialogRef.componentInstance.confirmMessage = Msg;\n\n this.dialogRef.afterClosed().subscribe(result => {\n if (result) {\n\n // do confirmation actions\n }\n\n this.dialogRef = null;\n });\n }\n}\n","import { Injectable } from \"@angular/core\";\nimport { HttpClient, HttpHeaders, HttpEvent, HttpEventType} from '@angular/common/http';\nimport { Router } from '@angular/router';\nimport { LoadingService } from '../loading/loading.service';\nimport { Observable } from 'rxjs/Rx';\nimport CONFIG from '../../config';\nimport { map } from \"rxjs/operators\";\nimport { catchError } from 'rxjs/operators';\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AuthService {\n public loggedIn: boolean;\n public NIBNumber: String = localStorage.getItem('NIBNumber') || sessionStorage.getItem('NIBNumber');\n public token: string = localStorage.getItem('token') || sessionStorage.getItem('token');\n\n\n public LoginType: String = localStorage.getItem('LoginType') || sessionStorage.getItem('LoginType');\n \n constructor(\n private _http: HttpClient, \n private _router: Router,\n private _loadingService: LoadingService)\n {\n\n }\n\n login(loginData): Observable {\n //this._loadingService.show();\n const body = JSON.stringify(loginData);\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': `Bearer ${this.token}`\n })\n };\n\n //console.log(body, httpOptions);\n\n return this._http.post(CONFIG.loginApiUrlBase, body, httpOptions)\n .pipe(\n catchError(this.handleError)\n );\n\n }\n \n // logout() {\n // this._loadingService.show();\n // this.loggedIn = false;\n // this._http.get(CONFIG.loginApiUrlBase)\n // .subscribe(response => {\n // this._loadingService.hide();\n // if (localStorage.getItem('token') !== null) {\n // localStorage.removeItem('NIBNumber');\n // localStorage.removeItem('token');\n // localStorage.removeItem('NIBNumber');\n // }\n // if (sessionStorage.getItem('token') !== null) {\n // localStorage.removeItem('NIBNumber');\n // sessionStorage.removeItem('token');\n // localStorage.removeItem('NIBNumber');\n // }\n\n // //remove locally cached identity variables\n // this.token = null;\n // this.loggedIn = false;\n // this.NIBNumber = null;\n // this._router.navigate(['/']);\n // },\n // error => {\n // this.handleError(error);\n // },\n // () => {\n // this._loadingService.hide();\n // });\n // }\n\n logout() {\n this._loadingService.show();\n this.loggedIn = false;\n this._http.get(CONFIG.loginApiUrlBase)\n .subscribe(response => {\n this._loadingService.hide();\n if (localStorage.getItem('token') !== null) {\n localStorage.removeItem('NIBNumber');\n localStorage.removeItem('token');\n localStorage.removeItem('NIBNumber');\n }\n if (sessionStorage.getItem('token') !== null) {\n localStorage.removeItem('NIBNumber');\n sessionStorage.removeItem('token');\n localStorage.removeItem('NIBNumber');\n }\n \n // Clear cookies\n this.clearCookies();\n \n // Remove locally cached identity variables\n this.token = null;\n this.loggedIn = false;\n this.NIBNumber = null;\n this._router.navigate(['/']);\n },\n error => {\n this.handleError(error);\n },\n () => {\n this._loadingService.hide();\n });\n }\n \n clearCookies() {\n const cookies = document.cookie.split(\"; \");\n for (let cookie of cookies) {\n const eqPos = cookie.indexOf(\"=\");\n const name = eqPos > -1 ? cookie.substring(0, eqPos) : cookie;\n document.cookie = `${name}=;expires=Thu, 01 Jan 1970 00:00:00 GMT;path=/;`;\n }\n }\n \n\n private handleError(error) {\n const errMsg = error.message || 'Server error';\n return Observable.throw(error);\n }\n}","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\n\r\nimport { catchError } from 'rxjs/operators';\r\nimport { Observable } from 'rxjs';\r\nimport CONFIG from './../../config';\r\nimport { AuthService } from './auth.service';\r\nimport { LoadingService } from '../loading/loading.service';\r\n\r\n\r\n@Injectable()\r\nexport class BackendService {\r\n\r\n constructor(\r\n private _http: HttpClient,\r\n private _authService: AuthService,\r\n private _loadingService: LoadingService\r\n ) { }\r\n\r\n getData(url) {\r\n // console.log(\"entered getdata backend service\" + this._authService.token);\r\n this._loadingService.show();\r\n const httpOptions = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n 'Authorization': `Bearer ${this._authService.token}`\r\n })\r\n };\r\n // console.log(url, httpOptions);\r\n return this._http.get(url, httpOptions)\r\n // .map(response => { \r\n // if (response) { \r\n // return response;\r\n // } else {\r\n // throw new Error('Error Getting Data');\r\n // }\r\n // })\r\n // .catch(this.handleError)\r\n // .finally(() => {\r\n // this._loadingService.hide();\r\n // });\r\n }\r\n\r\n deleteData(url) {\r\n this._loadingService.show();\r\n const httpOptions = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n 'Authorization': `Bearer ${this._authService.token}`\r\n })\r\n };\r\n return this._http.delete(url, httpOptions)\r\n // .map(response => {\r\n // return response;\r\n // })\r\n // .catch(this.handleError)\r\n // .finally(() => {\r\n // this._loadingService.hide();\r\n // });\r\n } \r\n\r\n postData(newData, url) {\r\n //console.log(newData,url);\r\n this._loadingService.show();\r\n const httpOptions = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n 'Authorization': `Bearer ${this._authService.token}`\r\n })\r\n };\r\n const body = JSON.stringify(newData);\r\n return this._http.post(url, body, httpOptions)\r\n\r\n // .map(response => {\r\n // return response;\r\n // })\r\n // .catch(this.handleError)\r\n // .finally(() => {\r\n // this._loadingService.hide();\r\n // });\r\n }\r\n\r\n putData(updatedData, url) {\r\n this._loadingService.show();\r\n const httpOptions = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n 'Authorization': `Bearer ${this._authService.token}`\r\n })\r\n };\r\n const body = JSON.stringify(updatedData);\r\n return this._http.put(url, body, httpOptions)\r\n // .map(response => {\r\n // return response;\r\n // })\r\n // .catch(this.handleError)\r\n // .finally(() => {\r\n // this._loadingService.hide();\r\n // });\r\n\r\n }\r\n\r\n /*\r\n Utility error handler function for server errors\r\n */\r\n private handleError(error) {\r\n if (error.status && error.status === 401) {\r\n return Observable.throw('Session Expired- please log in');\r\n }\r\n\r\n return Observable.throw('Server Error');\r\n }\r\n\r\n // postFileData(fileToUpload: File): Observable {\r\n // const url = `${CONFIG.documentsApiUrlBase}/${this._authService.CustomerID}/${this._authService.Company}`;\r\n // const formData: FormData = new FormData();\r\n // const httpOptions = {\r\n // headers: new HttpHeaders({\r\n // 'Content-Type': 'application/json',\r\n // 'Authorization': `Bearer ${this._authService.token}`\r\n // })\r\n // };\r\n // console.log(fileToUpload, fileToUpload.name);\r\n // formData.append('File', fileToUpload, fileToUpload.name);\r\n // //formData.append('ComponentId', componentId);\r\n // // formData.append('fileKey', fileToUpload, fileToUpload.name);\r\n // console.log(formData);\r\n // return this._http\r\n // .post(url, formData, httpOptions)\r\n // .map(() => { return true; })\r\n // .catch((e) => this.handleError(e));\r\n // }\r\n\r\n}","import { NgModule } from '@angular/core';\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\nimport { MatButtonModule, } from '@angular/material/button';\nimport { MatButtonToggleModule } from '@angular/material/button-toggle';\nimport { MatCardModule } from '@angular/material/card';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatChipsModule } from '@angular/material/chips';\nimport { MatDatepickerModule } from '@angular/material/datepicker';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatExpansionModule } from '@angular/material/expansion';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatGridListModule } from '@angular/material/grid-list';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatListModule } from '@angular/material/list';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { MatNativeDateModule } from '@angular/material/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatPaginatorModule } from '@angular/material/paginator';\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\nimport { MatRadioModule } from '@angular/material/radio';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatSidenavModule } from '@angular/material/sidenav';\nimport { MatSliderModule } from '@angular/material/slider';\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle';\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\nimport { MatStepperModule } from '@angular/material/stepper';\nimport { MatSortModule } from '@angular/material/sort';\nimport { MatTableModule } from '@angular/material/table';\nimport { MatTabsModule } from '@angular/material/tabs';\nimport { MatToolbarModule } from '@angular/material/toolbar';\nimport { MatTooltipModule } from '@angular/material/tooltip';\n\nimport { MatIconRegistry } from '@angular/material/icon';\nimport { MatBadgeModule } from '@angular/material/badge';\nimport { MatRippleModule } from '@angular/material/core';\nimport { MatTreeModule } from '@angular/material/tree';\n\n\n@NgModule({\n imports: [ \n MatAutocompleteModule, \n MatDialogModule,\n MatFormFieldModule,\n MatInputModule,\n MatProgressBarModule,\n MatProgressSpinnerModule,\n // MatRippleModule,\n MatSelectModule,\n MatSidenavModule,\n MatSlideToggleModule,\n MatSliderModule,\n MatSnackBarModule,\n MatToolbarModule,\n MatTooltipModule,\n MatNativeDateModule,\n MatListModule,\n MatButtonModule,\n MatButtonToggleModule,\n MatCardModule,\n MatCheckboxModule,\n MatDatepickerModule,\n MatStepperModule,\n MatIconModule,\n MatTableModule,\n MatPaginatorModule,\n MatSidenavModule,\n MatSortModule,\n MatTabsModule,\n MatTooltipModule,\n MatRadioModule,\n MatChipsModule,\n MatExpansionModule,\n MatMenuModule,\n MatGridListModule,\n ],\n exports: [ \n MatAutocompleteModule, \n MatDialogModule,\n MatFormFieldModule,\n MatInputModule,\n MatProgressBarModule,\n MatProgressSpinnerModule,\n // MatRippleModule,\n MatSelectModule,\n MatSidenavModule,\n MatSlideToggleModule,\n MatSliderModule,\n MatSnackBarModule,\n MatToolbarModule,\n MatTooltipModule,\n MatNativeDateModule,\n MatListModule,\n MatButtonModule,\n MatButtonToggleModule,\n MatCardModule,\n MatCheckboxModule,\n MatDatepickerModule,\n MatStepperModule,\n MatIconModule,\n MatTableModule,\n MatPaginatorModule,\n MatSidenavModule,\n MatSortModule,\n MatTabsModule,\n MatTooltipModule,\n MatRadioModule,\n MatChipsModule,\n MatExpansionModule,\n MatMenuModule,\n MatGridListModule,\n ],\n})\nexport class MaterialModule {}","import {Injectable} from '@angular/core';\r\n\r\ninterface OrderConfig {\r\n param: string;\r\n group: any[];\r\n altParam?: string;\r\n}\r\n\r\n@Injectable()\r\nexport class OrderByService {\r\n sortBy: string = '';\r\n currentSortDirection: string = 'asc';\r\n currentSortParam: string = '';\r\n sortBy1: string = '';\r\n currentSortDirection1: string = 'asc';\r\n currentSortParam1: string = '';\r\n\r\n resetService() {\r\n this.sortBy = '';\r\n this.currentSortDirection = 'asc';\r\n this.currentSortParam = '';\r\n this.sortBy1 = '';\r\n this.currentSortDirection1 = 'asc';\r\n this.currentSortParam1 = '';\r\n }\r\n\r\n orderByParam(param, group, altParam?) {\r\n const presort = group;\r\n let final = [...presort];\r\n//console.log(final);\r\n if(\r\n param === 'commentTime' ||\r\n param === 'RequestNo' ||\r\n param === 'companyID' || \r\n param === 'product' || \r\n param === 'subject' || \r\n param === 'status' || \r\n //param === 'requestDate' || \r\n param === 'assignedTo' || \r\n //param === 'tdate' || \r\n param === 'face' ||\r\n param === 'cost' ||\r\n param === 'marketValue' ||\r\n param === 'marketPrice' ||\r\n param === 'purchPrice' ||\r\n param === 'fxRate' ||\r\n param === 'quantity' ||\r\n param === 'settlementAmount' ||\r\n param === 'price' ||\r\n param === 'debit' ||\r\n param === 'credit' ||\r\n param === 'balance' ||\r\n //param === 'date'||\r\n param === 'daysAccrued' || \r\n param === 'uploadTime' \r\n || param === 'fileName' || \r\n param === 'uploadedBy' ||\r\n param === 'commentBy' ||\r\n param === 'comments' \r\n || param === 'statusAfter'\r\n || param === 'edate'\r\n ){\r\n var dateOrNum = true;\r\n } else {\r\n var dateOrNum = false;\r\n };\r\n // console.log('dateOrNum '+ dateOrNum);\r\n\r\n if(param === this.currentSortParam && this.currentSortDirection === 'asc') {\r\n final = this.orderByParamDescending(param, presort, altParam);\r\n this.currentSortDirection = 'desc';\r\n this.sortBy = `${param}down`;\r\n //console.log(final);\r\n } else {\r\n final = this.orderByParamAscending(param, presort, altParam);\r\n this.currentSortDirection = 'asc';\r\n this.sortBy = `${param}up`;\r\n //console.log(final);\r\n }\r\n this.currentSortParam = param;\r\n return final;\r\n }\r\n\r\n //order ascending- start with lowest\r\n orderByParamAscending(param, group, altParam?) {\r\n //console.log(param, group, altParam);\r\n return group.sort((a, b): any => {\r\n //account for possible null values - set to empty str if so\r\n if((!a[param] && typeof a[param] !== 'boolean' && a[param] !== 0)) {\r\n a[param] = '';\r\n }\r\n if((!b[param] && typeof b[param] !== 'boolean' && b[param] !== 0)) {\r\n b[param] = '';\r\n }\r\n\r\n let first = a[param], second = b[param];\r\n let altFirst, altSecond;\r\n\r\n if(altParam) {\r\n altFirst = a[altParam];\r\n altSecond = b[altParam];\r\n\r\n if(altParam.indexOf('date') !== -1 || altParam.indexOf('time') !== -1) {\r\n altFirst = +new Date(a[altParam]);\r\n altSecond = +new Date(b[altParam]);\r\n } else if(typeof a[altParam] === 'string') {\r\n altFirst = a[altParam].toLowerCase();\r\n altSecond = b[altParam].toLowerCase();\r\n }\r\n }\r\n\r\n if(param.indexOf('date') !== -1 || param.indexOf('time') !== -1) {\r\n first = +new Date(a[param]);\r\n second = +new Date(b[param]);\r\n } else if(a[param] == +a[param]) {\r\n first = +a[param];\r\n second = +b[param];\r\n } else if(typeof a[param] === 'string') {\r\n first = a[param].toLowerCase();\r\n second = b[param].toLowerCase();\r\n }\r\n\r\n if(first < second) {\r\n return -1;\r\n } else if(second < first) {\r\n return 1;\r\n } else {\r\n if(altParam) {\r\n if(altFirst < altSecond) {\r\n return -1;\r\n } else if(altSecond < altFirst) {\r\n return 1;\r\n }\r\n return 0;\r\n }\r\n return 0;\r\n }\r\n });\r\n }\r\n\r\n //order descending- start with greatest\r\n orderByParamDescending(param, group, altParam?) {\r\n //console.log(param, group, altParam);\r\n return group.sort((a, b): number => {\r\n //account for possible null values - set to empty str if so\r\n if((!a[param] && typeof a[param] !== 'boolean' && a[param] !== 0)) {\r\n a[param] = '';\r\n }\r\n if((!b[param] && typeof b[param] !== 'boolean' && b[param] !== 0)) {\r\n b[param] = '';\r\n }\r\n\r\n let first = a[param], second = b[param];\r\n let altFirst, altSecond;\r\n\r\n //altParam provides fallback sorting- need to make same checks for date/str as normal param\r\n if(altParam) {\r\n altFirst = a[altParam];\r\n altSecond = b[altParam];\r\n\r\n if(altParam.indexOf('date') !== -1 || altParam.indexOf('time') !== -1) {\r\n altFirst = +new Date(a[altParam]);\r\n altSecond = +new Date(b[altParam]);\r\n } else if(typeof a[altParam] === 'string') {\r\n altFirst = a[altParam].toLowerCase();\r\n altSecond = b[altParam].toLowerCase();\r\n }\r\n }\r\n\r\n //properly format sort data (date/string here)\r\n if(param.indexOf('date') !== -1 || param.indexOf('time') !== -1) {\r\n first = +new Date(a[param]);\r\n second = +new Date(b[param]);\r\n } else if(a[param] == +a[param]) {\r\n first = +a[param];\r\n second = +b[param];\r\n } else if(typeof a[param] === 'string') {\r\n first = a[param].toLowerCase();\r\n second = b[param].toLowerCase();\r\n }\r\n\r\n if(first < second) {\r\n return 1;\r\n } else if(second < first) {\r\n return -1;\r\n } else {\r\n if(altParam) {\r\n if(altFirst < altSecond) {\r\n return -1;\r\n } else if(altSecond < altFirst) {\r\n return 1;\r\n }\r\n return 0;\r\n }\r\n return 0;\r\n }\r\n });\r\n }\r\n orderByParam1(param, group, altParam?) {\r\n const presort = group;\r\n let final = [...presort];\r\n\r\n if(\r\n param === 'RequestNo' ||\r\n param === 'companyID' || \r\n param === 'product' || \r\n param === 'subject' || \r\n param === 'status' || \r\n param === 'requestDate' || \r\n param === 'assignedTo' || \r\n param === 'tdate' || \r\n param === 'face' ||\r\n param === 'cost' ||\r\n param === 'marketValue' ||\r\n param === 'marketPrice' ||\r\n param === 'purchPrice' ||\r\n param === 'fxRate' ||\r\n param === 'quantity' ||\r\n param === 'settlementAmount' ||\r\n param === 'price' ||\r\n param === 'debit' ||\r\n param === 'credit' ||\r\n param === 'balance' ||\r\n param === 'date'||\r\n param === 'daysAccrued' ||\r\n param === 'maturitydate' || param === 'priority'\r\n ){\r\n var dateOrNum = true;\r\n } else {\r\n var dateOrNum = false;\r\n };\r\n //console.log('dateOrNum '+ dateOrNum);\r\n\r\n if(param === this.currentSortParam1 && this.currentSortDirection1 === 'asc') {\r\n final = this.orderByParamDescending1(param, presort, altParam);\r\n this.currentSortDirection1 = 'desc';\r\n this.sortBy1 = `${param}down`;\r\n } else {\r\n final = this.orderByParamAscending1(param, presort, altParam);\r\n this.currentSortDirection1 = 'asc';\r\n this.sortBy1 = `${param}up`;\r\n }\r\n this.currentSortParam1 = param;\r\n return final;\r\n }\r\n\r\n //order ascending- start with lowest\r\n orderByParamAscending1(param, group, altParam?) {\r\n return group.sort((a, b): any => {\r\n //account for possible null values - set to empty str if so\r\n if((!a[param] && typeof a[param] !== 'boolean' && a[param] !== 0)) {\r\n a[param] = '';\r\n }\r\n if((!b[param] && typeof b[param] !== 'boolean' && b[param] !== 0)) {\r\n b[param] = '';\r\n }\r\n\r\n let first = a[param], second = b[param];\r\n let altFirst, altSecond;\r\n\r\n if(altParam) {\r\n altFirst = a[altParam];\r\n altSecond = b[altParam];\r\n\r\n if(altParam.indexOf('date') !== -1 || altParam.indexOf('time') !== -1) {\r\n altFirst = +new Date(a[altParam]);\r\n altSecond = +new Date(b[altParam]);\r\n } else if(typeof a[altParam] === 'string') {\r\n altFirst = a[altParam].toLowerCase();\r\n altSecond = b[altParam].toLowerCase();\r\n }\r\n }\r\n\r\n if(param.indexOf('date') !== -1 || param.indexOf('time') !== -1) {\r\n first = +new Date(a[param]);\r\n second = +new Date(b[param]);\r\n } else if(a[param] == +a[param]) {\r\n first = +a[param];\r\n second = +b[param];\r\n } else if(typeof a[param] === 'string') {\r\n first = a[param].toLowerCase();\r\n second = b[param].toLowerCase();\r\n }\r\n\r\n if(first < second) {\r\n return -1;\r\n } else if(second < first) {\r\n return 1;\r\n } else {\r\n if(altParam) {\r\n if(altFirst < altSecond) {\r\n return -1;\r\n } else if(altSecond < altFirst) {\r\n return 1;\r\n }\r\n return 0;\r\n }\r\n return 0;\r\n }\r\n });\r\n }\r\n\r\n //order descending- start with greatest\r\n orderByParamDescending1(param, group, altParam?) {\r\n return group.sort((a, b): number => {\r\n //account for possible null values - set to empty str if so\r\n if((!a[param] && typeof a[param] !== 'boolean' && a[param] !== 0)) {\r\n a[param] = '';\r\n }\r\n if((!b[param] && typeof b[param] !== 'boolean' && b[param] !== 0)) {\r\n b[param] = '';\r\n }\r\n\r\n let first = a[param], second = b[param];\r\n let altFirst, altSecond;\r\n\r\n //altParam provides fallback sorting- need to make same checks for date/str as normal param\r\n if(altParam) {\r\n altFirst = a[altParam];\r\n altSecond = b[altParam];\r\n\r\n if(altParam.indexOf('date') !== -1 || altParam.indexOf('time') !== -1) {\r\n altFirst = +new Date(a[altParam]);\r\n altSecond = +new Date(b[altParam]);\r\n } else if(typeof a[altParam] === 'string') {\r\n altFirst = a[altParam].toLowerCase();\r\n altSecond = b[altParam].toLowerCase();\r\n }\r\n }\r\n\r\n //properly format sort data (date/string here)\r\n if(param.indexOf('date') !== -1 || param.indexOf('time') !== -1) {\r\n first = +new Date(a[param]);\r\n second = +new Date(b[param]);\r\n } else if(a[param] == +a[param]) {\r\n first = +a[param];\r\n second = +b[param];\r\n } else if(typeof a[param] === 'string') {\r\n first = a[param].toLowerCase();\r\n second = b[param].toLowerCase();\r\n }\r\n\r\n if(first < second) {\r\n return 1;\r\n } else if(second < first) {\r\n return -1;\r\n } else {\r\n if(altParam) {\r\n if(altFirst < altSecond) {\r\n return -1;\r\n } else if(altSecond < altFirst) {\r\n return 1;\r\n }\r\n return 0;\r\n }\r\n return 0;\r\n }\r\n });\r\n }\r\n}","import { Component, OnInit, OnDestroy } from '@angular/core';\r\n\r\n//import { Subscription } from 'rxjs/Subscription';\r\n\r\nimport { PaginationService } from './pagination.service';\r\n//import { PageEvent } from '@angular/material';\r\nimport { Subscription } from 'rxjs';\r\nimport { PageEvent } from '@angular/material/paginator';\r\n\r\n@Component({\r\n selector: 'pagination',\r\n template: `\r\n \r\n \r\n `,\r\n})\r\nexport class PaginationComponent implements OnInit, OnDestroy {\r\n firstEntryOnScreen: number = 0;\r\n lastEntryOnScreen: number = 0;\r\n entryRange: Subscription;\r\n // MatPaginator Inputs\r\n length;\r\n pageSize = 10;\r\n pageSizeOptions = [5, 10, 25, 100];\r\n\r\n // MatPaginator Output\r\n pageEvent: PageEvent;\r\n\r\n constructor(public _paginationService: PaginationService) {}\r\n\r\n ngOnInit() {\r\n //be sure variables are reset in case service is shared with another screen\r\n this._paginationService.totalEntries = 0;\r\n this.firstEntryOnScreen = 0;\r\n\r\n this.entryRange = this._paginationService.entryRange\r\n .subscribe(range => {\r\n this.firstEntryOnScreen = range[0];\r\n this.lastEntryOnScreen = range[1];\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n this.entryRange.unsubscribe();\r\n }\r\n}","import CONFIG from '../../config';\r\n\r\nimport { Injectable } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\n\r\n//import { BehaviorSubject } from 'rxjs/BehaviorSubject';\r\n\r\n@Injectable()\r\nexport class PaginationService {\r\n private _entryRange = new BehaviorSubject>([0, 10]);\r\n entryRange = this._entryRange.asObservable();\r\n paginationArray: Array = [1];\r\n paginationArrayDisplay: Array = [];\r\n maxItemsOnPage: number = 10;\r\n totalPages: number = 0;\r\n totalEntries: number = 0;\r\n maxPagesInListing: number = 5;\r\n currentPage: number = 1;\r\n currentPageIndexTop: number = 1;\r\n\r\n constructor() {}\r\n\r\n setGrid(start, total?) {\r\n \r\n //console.log(start, total);\r\n //passing a total entries variable is optional- needs to be done on first load and any filter by parent component\r\n if(total !== undefined) {\r\n this.totalEntries = total;\r\n //console.log(this.totalEntries , total);\r\n }\r\n\r\n this.paginationArray = [1];\r\n\r\n let totalPages = Math.ceil(this.totalEntries / this.maxItemsOnPage);\r\n //console.log(totalPages);\r\n\r\n //push each group of maxItemsOnPage into an array\r\n for(var i = 1; i < totalPages; i += 1) {\r\n this.paginationArray.push(i * this.maxItemsOnPage + 1);\r\n //console.log(i * this.maxItemsOnPage + 1);\r\n }\r\n\r\n //get the current page and check which should be displayed on screen\r\n let paginationArrayMid = this.paginationArray.indexOf(start);\r\n if(paginationArrayMid - 2 < 0) {\r\n paginationArrayMid = 2;\r\n } else if(paginationArrayMid + 3 > totalPages) {\r\n paginationArrayMid = totalPages - 3;\r\n }\r\n\r\n let paginationArrayMin = paginationArrayMid - 2;\r\n let paginationArrayMax = paginationArrayMid + 3;\r\n\r\n //limit # of page links in bottom section, show more as you scroll (but only if number of pages is greater than set max)\r\n if(totalPages > this.maxPagesInListing) {\r\n this.paginationArrayDisplay = this.paginationArray.slice(paginationArrayMin, paginationArrayMax);\r\n } else {\r\n this.paginationArrayDisplay = this.paginationArray;\r\n }\r\n\r\n this.currentPage = (start + (this.maxItemsOnPage - 1)) / this.maxItemsOnPage;\r\n\r\n //this is to pass the index of the first item on the page displaying back to the component using this service- allows for save/edit/delete on a page and stay on that page (instead of reverting to page 1).\r\n this.currentPageIndexTop = start;\r\n\r\n //fire observable update to send page range to pagination component and parent component\r\n this._entryRange.next([start - 1, start + (this.maxItemsOnPage - 1)]);\r\n }\r\n\r\n updateMaxItemsOnPage(value) {\r\n this.maxItemsOnPage = +value;\r\n this.setGrid(1);\r\n }\r\n updatePage(pageIndex, pageSize){\r\n this.maxItemsOnPage = +pageSize;\r\n // console.log(pageIndex*pageSize+1);\r\n \r\n this.setGrid(pageIndex*pageSize+1);\r\n }\r\n\r\n}\r\n","import { Injectable, Renderer2 } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class SearchService {\r\n searchOpen: boolean = false;\r\n svcRenderer: Renderer2; //this is injected by app.component- only way to manipulate the body to hide overflow when search it open (can't directly inject renderer into a service- only a component)\r\n\r\n openSearch() { \r\n this.searchOpen = true;\r\n this.svcRenderer.addClass(document.body, 'hide-overflow'); \r\n }\r\n\r\n closeSearch() { \r\n this.svcRenderer.removeClass(document.body, 'hide-overflow');\r\n this.searchOpen = false; \r\n }\r\n\r\n findItems(item, group: Array, property: any): Promise> {\r\n /*\r\n find item from larger group (within that group's property). passed property can be a string (single field search) or array of strings (searching more than one field)\r\n uses data already provided on screen load (but we can add http module if we need a version that hits the backend.\r\n */\r\n return new Promise(\r\n function (resolve, reject) {\r\n const lowerItem = typeof item === 'string' ? item.toLowerCase() : item;\r\n let filtered: Array = [];\r\n\r\n filtered = group.filter(g => {\r\n if (g[property]) {\r\n const lowerProp = g[property].toLowerCase();\r\n\r\n //search group (by property provided) for substring item\r\n if (lowerProp.search(lowerItem) !== -1) {\r\n return g[property];\r\n }\r\n }\r\n });\r\n\r\n resolve(filtered);\r\n }\r\n );\r\n }\r\n\r\n findItemsFromMultiple(item, group: Array, property: Array): Promise> {\r\n return new Promise(\r\n function (resolve, reject) {\r\n const itemToStr = item.toString();\r\n const lowerItem = itemToStr.toLowerCase();\r\n let filtered: Array = [];\r\n\r\n filtered = group.filter((g, index, arr) => {\r\n for (let i = 0, l = property.length; i < l; i += 1) {\r\n if(g[property[i]]) {\r\n if(typeof g[property[i]] === 'string') {\r\n const lowerProp = g[property[i]].toLowerCase();\r\n if (lowerProp.includes(lowerItem)) {\r\n return g[property[i]];\r\n }\r\n } else {\r\n if(g[property[i]].toString().includes(itemToStr)) {\r\n return g[property[i]];\r\n }\r\n }\r\n }\r\n }\r\n });\r\n\r\n resolve(filtered);\r\n }\r\n );\r\n }\r\n\r\n findItemsInDateRange(start: Date, end: Date, group: Array, property: string): Promise> {\r\n return new Promise(\r\n function (resolve, reject) {\r\n let filtered: Array = [];\r\n\r\n filtered = group.filter(g => {\r\n let thisDateAsNumber = +new Date(g[property]);\r\n if(thisDateAsNumber >= +start && thisDateAsNumber <= +end) {\r\n return g[property];\r\n }\r\n });\r\n\r\n resolve(filtered);\r\n }\r\n );\r\n }\r\n}","\r\n\r\nimport { Injectable } from '@angular/core';\r\nimport { Location } from '@angular/common';\r\nimport { Headers, RequestOptions } from '@angular/http';\r\n\r\n\r\nimport { AuthService } from './auth.service';\r\nimport { BackendService } from './backend.service';\r\n\r\n//import { Observable } from 'rxjs/Observable';\r\nimport { Observable, of } from 'rxjs';\r\n//import { NotificationService } from '../notification.service';\r\n//import CONFIG from '../config';\r\n\r\nimport CONFIG from 'src/config';\r\nimport { NotificationService } from '../notification.service';\r\nimport { Router } from '@angular/router';\r\nimport { FormBuilder } from '@angular/forms';\r\nimport { MatDialog } from '@angular/material/dialog';\r\n\r\n@Injectable()\r\nexport class Utilities {\r\n focused;\r\n // result:any;\r\n msg : any;\r\n checkvalue:any;\r\n \r\n constructor(\r\n public _formBuilder: FormBuilder,\r\n public _router:Router,\r\n public location: Location,\r\n public notificationService: NotificationService,\r\n public authService: AuthService,\r\n public backendService: BackendService,\r\n public dialog: MatDialog\r\n ) {}\r\n\r\n //display server error- if due to jwt expiration, log out and redirect to login screen\r\n serverErrorOrTimeout(error: string): void {\r\n this.notificationService.showNotification({ timer: 5000, message: error, type: 'error', closeable: false });\r\n\r\n //if error is due to session time out, log the user out\r\n if(error === 'Session Expired- please log in') {\r\n this.authService.logout();\r\n }\r\n }\r\n\r\n //when sending jwt to server for data, check status (admin vs non admin, user key for profile, etc)\r\n checkLoginStatus(): Observable {\r\n //return an observable so end function can subscribe and perform actions based on result after it comes in\r\n //return this.backendService.getData(`${CONFIG.loginApiUrlBase}/checklogin`);\r\n return Observable.of(true);\r\n }\r\n\r\n checkLoginForAuthGuard(): Observable {\r\n //console.log(\"check login\"+sessionStorage.getItem('partial_login'));\r\n \r\n if(sessionStorage.getItem('partial_login') === 'true') {\r\n \r\n this.notificationService.showNotification({ \r\n timer: 5000, message: 'Please finish security process', \r\n type: 'error', closeable: false \r\n });\r\n return Observable.of(false)\r\n .do(() => {\r\n \r\n return this.authService.logout();\r\n });\r\n } else {\r\n //console.log(\"Check login utilities\");\r\n return this.backendService.getData(`${CONFIG.loginApiUrlBase}/checklogin`)\r\n .map(response => {\r\n //console.log(response.result);\r\n //update shared 'loggedIn' variable that maintains state while in app \r\n this.checkvalue=response['result'];\r\n this.authService.loggedIn =true;\r\n //update user_type variable that checks user's admin vs employee status \r\n return this.checkvalue;\r\n })\r\n .catch(error => {\r\n return Observable.throw(this.serverErrorOrTimeout(error));\r\n });\r\n }\r\n \r\n }\r\n //all purpose cancel and return (if passed with nothing, just shows 'update canceled')\r\n cancel(msg='Update Canceled', type='warning'): void {\r\n this.location.back();\r\n this.notificationService.showNotification({\r\n timer: 2000,\r\n message: msg,\r\n type: type\r\n });\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\nimport { FormGroup, FormControl, Validators, FormBuilder } from '@angular/forms';\nimport { BackendService } from '../shared/backend.service';\nimport { AuthService } from '../shared/auth.service';\nimport { AlertmessageService } from '../shared/alertmessage.service';\nimport { NotificationService } from '../notification.service';\nimport { Router } from '@angular/router';\nimport CONFIG from 'src/config';\n\n@Component({\n selector: 'app-unsubsribed',\n templateUrl: './unsubsribed.component.html',\n styleUrls: ['./unsubsribed.component.scss']\n})\nexport class UnsubsribedComponent implements OnInit {\n\n Unsubsribe: FormGroup;\n getEmailAddress: any;\n loadingData1: boolean = true;\n constructor(public _backendservice: BackendService,\n public _formBuilder: FormBuilder,\n public _authService: AuthService,\n public _alert: AlertmessageService,\n public _notification: NotificationService,\n public _router: Router) { }\n\n ngOnInit(): void {\n this.setForm();\n this.pageLoad();\n }\n\n pageLoad() {\n this._backendservice.getData(`${CONFIG.unsubsribeApiUrlBase}/${this._authService.NIBNumber}`)\n .subscribe(\n response => {\n //console.log(response);\n this.getEmailAddress = response['email'];\n // console.log(this.security,this.Beneficiaries,this.securitylist);\n })\n\n }\n Unsubsribedata(data) {\n //console.log(data)\n\n this._backendservice.postData(data, `${CONFIG.unsubsribeApiUrlBase}/save/${this._authService.NIBNumber}`)\n .subscribe(\n response => {\n if (response) {\n this.loadingData1 = true;\n this._notification.showNotification({ message: response['msg'], type: 'success' });\n this._router.navigate(['/login']);\n //this._alert.openConfirmationDialog(response['msg']);\n\n }\n else {\n ////console.log(\"test fail\");\n this.loadingData1 = true;\n this._notification.showNotification({ message: response['msg'], type: 'error' });\n }\n });\n }\n setForm() {\n\n this.Unsubsribe = new FormGroup({\n\n Email: new FormControl('', [Validators.required]),\n\n });\n }\n}\n","

\n
\n
\n
\n
\n

Unsubsribe Email

\n
\n
\n\n
\n\n \n
\n \n Email\n \n\n \n
\n
\n \n
\n
\n
\n\n
\n\n\n \n\n
\n
\n
\n
","import { Component, OnInit,ViewChild } from '@angular/core';\nimport { FormGroup, FormBuilder, Validators, FormControl } from '@angular/forms';\nimport { Route, Router } from '@angular/router';\nimport { AuthService } from '../shared/auth.service';\nimport { OrderByService } from '../shared/orderby.service';\nimport { BackendService } from '../shared/backend.service';\nimport CONFIG from 'src/config';\nimport { Subscription } from 'rxjs';\nimport { PaginationService } from '../shared/pagination.service';\nimport { SearchService } from '../shared/search.service';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { DatePipe } from '@angular/common';\n\n@Component({\n selector: 'app-view',\n templateUrl: './view.component.html',\n styleUrls: ['./view.component.scss'],\n providers: [PaginationService, OrderByService,SearchService],\n})\nexport class ViewComponent implements OnInit {\n TextSearch:FormGroup;\n term:FormControl;\n defaultSortOrder: string = '';\n active: string = '';\n result: string = '';\n items:any;\n data:any;\n entryRangeSubscription1: Subscription;\n loadingData: boolean = false;\n entryRange: Array;\n originalItems: Object[] = [];\n totalEntries: number = 0;\n pagenlenth: boolean = true;\n audit: Object[] = [];\n data1:any;\n noEntrys: boolean = false;\n searchArray: Array = [];\n searchFilteredItems: Object[] = [];\n exportItems: Object[] = [];\n entryRangeSubscription: Subscription;\n @ViewChild(MatPaginator, {static: true}) paginator: MatPaginator;\n constructor(\n public _formBuilder:FormBuilder,\n public _router:Router,\n public _authService:AuthService,\n public orderByService: OrderByService,\n public _backendservice:BackendService,\n public _paginationService:PaginationService,\n public searchService: SearchService,\n public datePipe: DatePipe,\n //public _notificationService:NotificationService,\n //public _resetFormService: ResetFormService\n ) { }\n\n ngOnInit(): void {\n this.pageLoad();\n this.searchArray = ['securityID', 'applicationDate', 'applicationAmount','applicationStatus'];\n this.TextSearch=this._formBuilder.group({\n 'term': ['',],\n \n })\n\n\n }\n pageLoad() {\n this._backendservice.getData( `${CONFIG.viewApiUrlBase}/${this._authService.NIBNumber}`)\n .subscribe(\n response => {\n this.loadingData = true;\n // this.formatDataexport(response['data']);\n this.originalItems=response['data'];\n this.audit = this.originalItems;\n //console.log(this.audit);\n this.totalEntries = this.audit.length;\n this.data1=this.originalItems;\n //// console.log(this.audit.length);\n if (this.audit.length === 0) {\n this.noEntrys = true;\n }\n this.setGrid(1, this.totalEntries, \"Getdata\");\n this.orderBy(this.defaultSortOrder);\n //// console.log(this.data1)\n // this.data1.paginator =this.paginator;\n this.paginationGrid();\n },)\n \n \n }\n\n makeActive(item) {\n this.active = this.active === item ? '' : item;\n}\nformatDataexport(data) {\n //console.log(data);\n// console.log(data);\n data.map(d => {\n d.approvedTime = this.datePipe.transform(d.approvedTime.toString(), \"MM/dd/yyyy\");\n // d.amount= this.numberPipe.transform(d.amount, '1.2-2');\n //console.log(data);\n })\n \n}\npaginationGrid() {\n\n this.entryRangeSubscription = this._paginationService.entryRange.subscribe(range => {\n this.entryRange = range;\n this.audit = this.originalItems.slice(this.entryRange[0], this.entryRange[1]);\n ////console.log(this.audit);\n this.totalEntries = this.audit.length;\n ////console.log(this. totalEntries );\n ////console.log(this. audit );\n\n });\n}\n\nsetGrid(start: number, length?: number, value?: string) {\n // console.log(length);\n const sentLen = length;\n this.pagenlenth = false;\n this._paginationService.setGrid(start, sentLen);\n}\nsearchText() {\n this.result = this.TextSearch.controls['term'].value;\n //console.log(this.result);\n //console.log(this.originalItems);\n let itemsToSearch = this.originalItems;\n this.searchService.findItemsFromMultiple(this.result, itemsToSearch, this.searchArray)\n .then(allFiltered => {\n if (this.result.length > 0) {\n // console.log(\"Test\");\n this.audit = allFiltered;\n this.searchFilteredItems = allFiltered;\n }\n else {\n //console.log(\"Test2\")\n this.audit = this.originalItems;\n this.searchFilteredItems = this.originalItems;\n }\n\n //this.pagenlenth = false;\n this.setGrid(1, this.audit.length, \"search\");\n this.entryRangeSubscription = this._paginationService.entryRange\n .subscribe(range => {\n this.entryRange = range;\n this.audit = this.searchFilteredItems.slice(this.entryRange[0], this.entryRange[1]);\n this.exportItems = this.originalItems;\n this.totalEntries = this.audit.length;\n });\n });\n}\nclearTextSearch(){\n this.TextSearch=this._formBuilder.group({\n 'term': ['',],\n });\n this.searchText();\n}\n\norderBy(param){\n let itemsToOrder = this.originalItems;\n //// console.log(itemsToOrder);\n const altParam = param === this.defaultSortOrder ? undefined : this.defaultSortOrder;\n // if(this.filterApplied && !this.term.value) {\n // itemsToOrder = this.prefilteredItems;\n // } else if(this.term.value) {\n // itemsToOrder = this.searchFilteredItems;\n // }\n this.items = this.orderByService.orderByParam(param, itemsToOrder, altParam);\n //// console.log(this.items);\n this.setGrid(1, itemsToOrder.length);\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 Security ID\n \n Application Date\n \n Application Amount\n \n Status\n \n Acceptance Details\n \n Amount Accepted\n \n Refund Details\n
\n Security ID:\n
\n
\n {{item.securityID}}\n
\n Application Date:\n
\n
\n {{item.applicationDate | date: 'MM/dd/yyyy'}}\n
\n Application Amount:\n
\n
\n {{item.applicationAmount | number:'1.2-3'}}\n
\n Status:\n
\n
\n {{item.applicationStatus}}\n
\n Acceptance Details:\n
\n
\n \n {{item.applicationDate | date: 'MM/dd/yyyy'}}\n
\n Amount Accepted:\n
\n
\n \n {{item.applicationAmount | number:'1.2-3'}}\n
\n Refund Details:\n
\n
\n {{item.refundDetails}}\n
\n
\n
\n
\n \n \n
\n
No Entries Found
\n
\n\n
\n
\n \n
\n
\n
\n
\n\n\n\n \n\n\n\n \n\n","import { environment } from \"src/environments/environment.prod\";\r\n\r\n//local server\r\n // const apiUrlBase = environment.production ? 'http://localhost:59985' : 'http://localhost:59985' ;\r\n//pdx3 server\r\n\r\n//const apiUrlBase = environment.production ? 'http://pdx3.mimics.us:9012' : 'http://pdx3.mimics.us:9012' ; //pdx3 sever\r\n\r\n\r\n// Live Server\r\n const apiUrlBase = environment.production ? 'https://submissions.centralbankbahamas.com:9000/BGRSApplication' : 'https://submissions.centralbankbahamas.com:9000/BGRSApplication';\r\n\r\n\r\n//Test Server\r\n\r\n// const apiUrlBase = environment.production ? 'https://submissions.centralbankbahamas.com:9000/BGRSApplicationTEST' : 'https://submissions.centralbankbahamas.com:9000/BGRSApplicationTEST'; // For Test Server\r\n\r\n//new cbbs webserver test\r\n\r\n//const apiUrlBase = environment.production ? 'http://10.22.66.17:8000/BGRS' : 'http://10.22.66.17:8000/BGRS'; // For new Test Server\r\n\r\n //const apiUrlBase = environment.production ? 'https://www.wildsoft.in/BRS_Web_Backend' : 'https://www.wildsoft.in/BRS_Web_Backend' ;\r\n\r\n\r\nconst CONFIG = {\r\n environment: 'full',\r\n loginApiUrlBase: `${apiUrlBase}/api/login`,\r\n enrollApiUrlBase: `${apiUrlBase}/api/save`,\r\n accountApiUrlBase: `${apiUrlBase}/api/account`,\r\n getbankIdDropdownApiUrlBase: `${apiUrlBase}/api/getbankId`,\r\n applicationApiUrlBase: `${apiUrlBase}/api/pageload`,\r\n applicationfilterbenApiUrlBase: `${apiUrlBase}/api/filterbendata`,\r\n viewApiUrlBase: `${apiUrlBase}/api/view`,\r\n sendemailApiUrlBase: `${apiUrlBase}/api/ForgotPassword`,\r\n usersApiUrlBase: `${apiUrlBase}/api/user`,\r\n changePasswordApiUrlBase: `${apiUrlBase}/api/changePassword`,\r\n unsubsribeApiUrlBase: `${apiUrlBase}/api/unsubsribepageload`,\r\n};\r\nexport default CONFIG;","export const environment = {\n production: true\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"]}