{"version":3,"sources":["$_lazy_route_resource lazy namespace object","src/app/app-routing.module.ts","src/app/app.component.ts","src/app/app.component.html","src/app/app.module.ts","src/app/components/card-info/card-info.component.ts","src/app/components/card-info/card-info.component.html","src/app/components/card-recommendation/card-recommendation.component.ts","src/app/components/card-recommendation/card-recommendation.component.html","src/app/components/desired-credit-limit/desired-credit-limit.component.ts","src/app/components/desired-credit-limit/desired-credit-limit.component.html","src/app/components/recommendation/recommendation.component.ts","src/app/components/recommendation/recommendation.component.html","src/configurations/configurations.ts","src/environments/environment.ts","src/main.ts","src/shared/services/calculator/calculator.service.ts","src/shared/services/card/card.service.ts","src/shared/services/formatting/formatting.service.ts","src/shared/services/http.service.ts","src/shared/services/sharingData/sharing-data.service.ts","src/shared/services/translation/translating-data.service.ts","src/shared/services/validation/validation.service.ts"],"names":[],"mappings":"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","file":"main-es2015.js","sourcesContent":["function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"./$$_lazy_route_resource lazy recursive\";","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { DesiredCreditLimitComponent } from './components/desired-credit-limit/desired-credit-limit.component';\r\nimport { CardInfoComponent } from './components/card-info/card-info.component';\r\nimport { CardRecommendationComponent } from './components/card-recommendation/card-recommendation.component';\r\nimport { RecommendationComponent } from './components/recommendation/recommendation.component';\r\n\r\n\r\nconst routes: Routes = [ \r\n { path: 'cardinfo', component: CardInfoComponent },\r\n { path: 'desiredCreditLimit', component: DesiredCreditLimitComponent },\r\n {\r\n path: 'recommendation',\r\n component: RecommendationComponent//,\r\n // resolve: { resolvedData: JsonResolver },\r\n },\r\n { path: 'cardrecommendation', component: CardRecommendationComponent },\r\n { path: '', redirectTo: 'recommendation', pathMatch: 'full' },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forRoot(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class AppRoutingModule {}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { TranslatingDataService } from '../shared/services/translation/translating-data.service';\r\nimport { SharingDataService } from '../shared/services/sharingData/sharing-data.service';\r\nimport { map, catchError } from 'rxjs/operators';\r\nimport { of, throwError } from 'rxjs';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.css'],\r\n})\r\nexport class AppComponent implements OnInit {\r\n title = 'creditCardApp';\r\n fullYear = new Date().getFullYear();\r\n LanguageClass = $localize`:@@LanguageClass:LanguageClass`;\r\n DirectionClass = $localize`:@@DirectionClass:DirectionClass`;\r\n\r\n constructor() //private translatingDataService: TranslatingDataService,\r\n //public sharingDataService: SharingDataService\r\n {}\r\n\r\n currentDate = new Date();\r\n\r\n ngOnInit() {\r\n // if (\r\n // this.sharingDataService.minimumPaymtCalSharedData.TranslatedData == null\r\n // ) {\r\n // this.sharingDataService.minimumPaymtCalSharedData.TranslatedData = this.translatingDataService.getTranlateddata();\r\n // }\r\n }\r\n}\r\n","
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \"Logo\r\n
\r\n
\r\n
\r\n \r\n Credit Card Payment Calculator\r\n \r\n \r\n Credit Card Payment Calculator\r\n \r\n
\r\n
\r\n Last update:\r\n {{currentDate | date:'dd-MM-yyyy'}}\r\n
\r\n
\r\n
\r\n
Credit Card Payment Calculator
\r\n
\r\n Last update:\r\n {{currentDate | date:'dd-MM-yyyy'}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n\r\n \r\n
 \r\n \r\n  \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n ©\r\n {{fullYear}} CopyrightStatement\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n","import { BrowserModule } from '@angular/platform-browser';\r\nimport { NgModule, APP_INITIALIZER } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { AppRoutingModule } from './app-routing.module';\r\nimport { AppComponent } from './app.component';\r\nimport { HttpService } from '../shared/services/http.service';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { DesiredCreditLimitComponent } from './components/desired-credit-limit/desired-credit-limit.component';\r\nimport { CardInfoComponent } from './components/card-info/card-info.component';\r\nimport { CardRecommendationComponent } from './components/card-recommendation/card-recommendation.component';\r\nimport { RecommendationComponent } from './components/recommendation/recommendation.component';\r\nimport { TranslatingDataService } from '../shared/services/translation/translating-data.service';\r\nimport { SharingDataService } from 'src/shared/services/sharingData/sharing-data.service';\r\n\r\nexport function init(\r\n translatingDataService: TranslatingDataService,\r\n sharingDataService: SharingDataService\r\n) {\r\n return () =>\r\n translatingDataService.retrieveTranslatedData().then(() => {\r\n sharingDataService.minimumPaymtCalSharedData.TranslatedData = translatingDataService.getTranlateddata();\r\n });\r\n}\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n DesiredCreditLimitComponent,\r\n CardInfoComponent,\r\n RecommendationComponent,\r\n CardRecommendationComponent,\r\n ],\r\n imports: [\r\n BrowserModule,\r\n AppRoutingModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n HttpClientModule,\r\n ],\r\n providers: [\r\n HttpService,\r\n {\r\n provide: APP_INITIALIZER,\r\n useFactory: init,\r\n deps: [TranslatingDataService, SharingDataService],\r\n multi: true,\r\n },\r\n ],\r\n bootstrap: [AppComponent],\r\n})\r\nexport class AppModule {}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { SharingDataService } from '../../../shared/services/sharingData/sharing-data.service';\r\nimport { IMinimumPaymtCalSharedData } from '../../models/minimumPaymtCalSharedData.model';\r\nimport { ConfigData } from '../../models/configData.model';\r\nimport { CardService } from '../../../shared/services/card/card.service';\r\nimport { IAprInputData } from '../../models/aprInputData.model';\r\nimport { IRequestG } from '../../models/dtos/requestG.model';\r\nimport { CalculatorService } from '../../../shared/services/calculator/calculator.service';\r\nimport { Router } from '@angular/router';\r\nimport { JsonDetails } from 'src/app/models/jsonDetails.model';\r\nimport { DatePipe } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'app-card-info',\r\n templateUrl: './card-info.component.html',\r\n styleUrls: ['./card-info.component.css'],\r\n providers: [DatePipe]\r\n})\r\nexport class CardInfoComponent implements OnInit {\r\n creditLimit: string;\r\n selectedCard: string;\r\n minPayment: string;\r\n balancePayOff: string;\r\n aprValue: string;\r\n tawarruqFee: string;\r\n annualFee: string;\r\n calculatedAnnualFee: string;\r\n cardImgUrl: string;\r\n isSuccess: boolean;\r\n errorMessage: string;\r\n configurations: ConfigData;\r\n minimumPaymtCalSharedData: IMinimumPaymtCalSharedData;\r\n translatedData :JsonDetails;\r\n CalculationDate: string;\r\n CalculationDateInfo: string;\r\n CalculationDateInfoAr: string=\"***تم احتساب معدل الفائدة السنوية المذكور اعلاه باعتبار تاريخ الموافقة على البطاقة \";\r\n CalculationDateInfoEn: string=\"***The APR computation is assuming as the Card allotment/approval date.\";\r\n language: string;\r\n\r\n\r\n constructor(public sharingDataService: SharingDataService, private cardService: CardService, private calculatorService: CalculatorService, private router: Router, private datePipe: DatePipe) {\r\n }\r\n\r\n ngOnInit(): void {\r\n const date = new Date();\r\n this.CalculationDate = this.datePipe.transform(date, 'dd-MMM-yyyy');\r\n this.getLanguage();\r\n this.getConfigDetails();\r\n this.getMinimumPaymtCalSharedData();\r\n this.getAPR(); \r\n }\r\n\r\n getLanguage() {\r\n this.language = this.cardService.getLanguage();\r\n if(this.language.toLowerCase().trim() == 'en') {\r\n this.CalculationDateInfo = this.CalculationDateInfoEn.replace(\"\",this.CalculationDate); \r\n } else {\r\n this.CalculationDateInfo = this.CalculationDateInfoAr.replace(\"\",this.CalculationDate); \r\n }\r\n }\r\n\r\n getConfigDetails() {\r\n this.translatedData = this.sharingDataService.minimumPaymtCalSharedData.TranslatedData;\r\n this.configurations = this.cardService.getConfigInfo();\r\n }\r\n\r\n getMinimumPaymtCalSharedData(): void {\r\n this.minimumPaymtCalSharedData = this.sharingDataService.minimumPaymtCalSharedData;\r\n }\r\n\r\n getAPR() { \r\n if (this.configurations && this.minimumPaymtCalSharedData.SelectedCard) { \r\n\r\n let aprInputData: IAprInputData = {\r\n MinPayment: this.configurations.MinPayment,\r\n MurabahaRate: this.configurations.MurabahaRate,\r\n UserEnteredAmount: this.minimumPaymtCalSharedData.DesiredCreditLimit,\r\n CalculatedAnnualFee : this.minimumPaymtCalSharedData.SelectedCard.CalculatedAnnualFee\r\n };\r\n\r\n let url = \"api/CreditCardPaymentCalc/getAPR\";\r\n let calDataGetReq: IRequestG = { Body: aprInputData };\r\n this.calculateAPR(url, calDataGetReq);\r\n }\r\n else {\r\n this.isSuccess = false;\r\n this.errorMessage = this.translatedData.ErrorList.find(e => e.Id==\"GenericError\").Text;\r\n }\r\n }\r\n\r\n calculateAPR(url: string, calDataGetReq: IRequestG) {\r\n this.calculatorService.getDataCalculatorPage(url, calDataGetReq).subscribe(\r\n (data) => {\r\n if (data != null) {\r\n if (data.Error.ErrorCode == '000') {\r\n// this.balancePayOff = data.Body.NumberOfMonths.toString() + ' Months'; \r\n this.balancePayOff = data.Body.NumberOfMonths.toString() + \" \" + $localize`:@@months:months`;; \r\n this.aprValue = data.Body.AprValue.toString() + '%'; \r\n this.selectedCard = this.minimumPaymtCalSharedData.SelectedCard.Name;\r\n this.minPayment = this.configurations.MinPaymentPer + '%';\r\n this.tawarruqFee = this.configurations.MurabahaRate + '%';\r\n this.cardImgUrl = this.minimumPaymtCalSharedData.SelectedCard.SelectionImage;\r\n\r\n this.creditLimit = this.minimumPaymtCalSharedData.SelectedCard.CardCurrency.toString() +' '+ this.minimumPaymtCalSharedData.DesiredCreditLimit.toString();\r\n this.annualFee = this.minimumPaymtCalSharedData.SelectedCard.CardCurrency.toString() +' '+ this.minimumPaymtCalSharedData.SelectedCard.AnnualFee.toString();\r\n this.isSuccess = true; \r\n }\r\n else {\r\n this.isSuccess = false;\r\n this.errorMessage = this.translatedData.ErrorList.find(e => e.Id==\"CardInfoCalculationError\").Text;\r\n }\r\n this.calculatedAnnualFee = this.minimumPaymtCalSharedData.SelectedCard.CardCurrency.toString() +' '+ this.minimumPaymtCalSharedData.SelectedCard.CalculatedAnnualFee.toString();\r\n }\r\n else {\r\n this.isSuccess = false;\r\n this.errorMessage = this.translatedData.ErrorList.find(e => e.Id==\"CardInfoCalculationError\").Text;\r\n }\r\n },\r\n (err) => {\r\n this.isSuccess = false;\r\n this.errorMessage = this.translatedData.ErrorList.find(e => e.Id==\"GenericError\").Text;\r\n }\r\n );\r\n\r\n }\r\n backToHome() {\r\n this.sharingDataService.minimumPaymtCalSharedData.DesiredCreditLimit = 0;\r\n this.sharingDataService.minimumPaymtCalSharedData.Nationality = true;\r\n this.sharingDataService.minimumPaymtCalSharedData.MonthlyIncome = 0;\r\n this.sharingDataService.minimumPaymtCalSharedData.SelectedCard = null,\r\n this.sharingDataService.minimumPaymtCalSharedData.DesiredCreditLimit = 0;\r\n this.sharingDataService.minimumPaymtCalSharedData.TranslatedData = null;\r\n this.router.navigate(['/recommendation']);\r\n }\r\n\r\n}\r\n","\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \"Platinum\r\n
\r\n
\r\n
\r\n

{{selectedCard}}

\r\n
\r\n
\r\n
\r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n CardInfoLabelCreditLimit\r\n
\r\n
{{ creditLimit }}
\r\n
\r\n \r\n \r\n
\r\n
CardInfoLabelSelectedCard
\r\n
\r\n {{ selectedCard }}\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n CardInfoLabelTimeRequiredToRepay\r\n
\r\n
{{ balancePayOff }}
\r\n
\r\n \r\n \r\n
\r\n
\r\n CardInfoLabelAPR\r\n
\r\n
{{ aprValue }}
\r\n
\r\n \r\n \r\n
\r\n
\r\n CardInfoLabelMonthlyFee\r\n
\r\n
{{ tawarruqFee }}
\r\n
\r\n \r\n \r\n
\r\n
CardInfoLabelAnnualFee
\r\n
{{ calculatedAnnualFee }}
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

\r\n CardInfoTNC1\r\n

\r\n\r\n

\r\n CardInfoTNC3\r\n

\r\n\r\n

\r\n {{CalculationDateInfo}}\r\n

\r\n\r\n

\r\n CardInfoTNC4\r\n

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

{{errorMessage}}

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { SharingDataService } from 'src/shared/services/sharingData/sharing-data.service';\r\nimport { CardService } from 'src/shared/services/card/card.service';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { Card } from '../../models/card.model';\r\nimport { TranslatingDataService } from '../../../shared/services/translation/translating-data.service';\r\n\r\n@Component({\r\n selector: 'app-card-recommendation',\r\n templateUrl: './card-recommendation.component.html',\r\n styleUrls: ['./card-recommendation.component.css'],\r\n})\r\nexport class CardRecommendationComponent implements OnInit {\r\n constructor(\r\n public sharingDataService: SharingDataService,\r\n private cardService: CardService,\r\n private router: Router\r\n ) {}\r\n recommendedCards: Card[] = [];\r\n isSuccess: boolean = false;\r\n errorMessage: string;\r\n ngOnInit(): void {\r\n let nationality = this.sharingDataService.minimumPaymtCalSharedData.Nationality;\r\n let monthlyIncome = this.sharingDataService.minimumPaymtCalSharedData.MonthlyIncome;\r\n let translatedData = this.sharingDataService.minimumPaymtCalSharedData.TranslatedData;\r\n\r\n let incomeUSD =0;\r\n const numericValue = parseFloat(monthlyIncome.toString().replace(/,/g, '')); \r\n if (!isNaN(numericValue)) {\r\n incomeUSD = Math.round((numericValue / 3.75)*100)/100;\r\n } else {\r\n this.errorMessage = translatedData.ErrorList.find(e => e.Id==\"GenericError\").Text;\r\n }\r\n\r\n if (translatedData) {\r\n this.recommendedCards = this.cardService.getRecommendedCardList(\r\n nationality,\r\n monthlyIncome,\r\n incomeUSD,\r\n translatedData.CardList\r\n );\r\n this.isSuccess = true;\r\n } else {\r\n //TODO: Handle this.\r\n this.isSuccess = false;\r\n this.errorMessage = translatedData.ErrorList.find(e => e.Id==\"GenericError\").Text;\r\n console.log('Error:CardList data is null.');\r\n }\r\n //this.recommendedCards=this.cardService.getRecommendedCardList(false,45000);\r\n //console.log(this.recommendedCards);\r\n }\r\n selectClickHandler(card: Card) {\r\n this.sharingDataService.minimumPaymtCalSharedData.SelectedCard = card;\r\n if(this.sharingDataService.minimumPaymtCalSharedData.SelectedCard.CardCurrency=='USD') {\r\n const numericValue = parseFloat(this.sharingDataService.minimumPaymtCalSharedData.MonthlyIncome.toString().replace(/,/g, '')); \r\n if (!isNaN(numericValue)) {\r\n this.sharingDataService.minimumPaymtCalSharedData.MonthlyIncome = Math.round((numericValue / 3.75)*100)/100;\r\n } else {\r\n this.errorMessage = this.sharingDataService.minimumPaymtCalSharedData.TranslatedData.ErrorList.find(e => e.Id==\"GenericError\").Text;\r\n }\r\n }\r\n }\r\n proceedClickHandler() {\r\n this.router.navigate(['/desiredCreditLimit']);\r\n }\r\n}\r\n","\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n\r\n
\r\n\r\n \r\n\r\n

Based on your initial input, below Card(s) are suitable for you.

\r\n
\r\n
0\">\r\n\r\n \r\n
\r\n
\r\n
\"{{card.Name}}\"
\r\n
\r\n
{{card.Name}}
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n\r\n
\r\n\r\n
\r\n
\r\n

No card is avaliable for you.

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

{{errorMessage}}

\r\n
\r\n
\r\n\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n ","import { Component, OnInit } from '@angular/core';\r\nimport { SharingDataService } from 'src/shared/services/sharingData/sharing-data.service';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { Card } from 'src/app/models/card.model';\r\nimport { ValidationService } from 'src/shared/services/validation/validation.service';\r\nimport { FormattingService } from 'src/shared/services/formatting/formatting.service';\r\nimport { Router } from '@angular/router';\r\n\r\n\r\n@Component({\r\n selector: 'app-desired-credit-limit',\r\n templateUrl: './desired-credit-limit.component.html',\r\n styleUrls: ['./desired-credit-limit.component.css']\r\n})\r\nexport class DesiredCreditLimitComponent implements OnInit {\r\n\r\n constructor(private sharingDataService: SharingDataService,\r\n private formBuilder: FormBuilder,\r\n private validationService: ValidationService,\r\n private formattingService: FormattingService,\r\n private router: Router\r\n ) { }\r\n\r\n desiredCreditLimitFormGroup: FormGroup;\r\n selcetedCard: Card;\r\n submitted: boolean = false;\r\n\r\n ngOnInit(): void {\r\n this.selcetedCard = this.sharingDataService.minimumPaymtCalSharedData.SelectedCard;\r\n this.buildingForm(this.selcetedCard);\r\n }\r\n\r\n buildingForm(selcetedCard: Card) {\r\n this.desiredCreditLimitFormGroup = this.formBuilder.group({\r\n DesiredCreditLimitTxBx: ['', [Validators.required, this.validationService.DesiredCreditLimitValidation(selcetedCard.MinCreditLimit, selcetedCard.MaxCreditLimit,true)]]\r\n });\r\n this.desiredCreditLimitFormGroup.controls.DesiredCreditLimitTxBx.valueChanges.subscribe((change) => {\r\n let incomeVal = this.desiredCreditLimitFormGroup.controls.DesiredCreditLimitTxBx.value;\r\n let unwantedContentRemovedValue = incomeVal.replace(/[^0-9,.]/g, '');\r\n if (change != unwantedContentRemovedValue) {\r\n this.desiredCreditLimitFormGroup.controls.DesiredCreditLimitTxBx.setValue(unwantedContentRemovedValue);\r\n }\r\n });\r\n }\r\n calcuateBtnClick() {\r\n this.submitted = true;\r\n // stop here, if FormGroup is invalid\r\n if (this.desiredCreditLimitFormGroup.invalid) {\r\n return;\r\n }\r\n let desiredCreditLimit = this.desiredCreditLimitFormGroup.controls.DesiredCreditLimitTxBx.value\r\n this.sharingDataService.minimumPaymtCalSharedData.DesiredCreditLimit = desiredCreditLimit;\r\n this.router.navigate(['/cardinfo']);\r\n }\r\n desiredCreditLimitTxBx_Blur(event: any) {\r\n let value = event.target.value;\r\n let removeFormattedValue = this.formattingService.removeFormattedCurrency(value);\r\n let formattedValue = this.formattingService.formatCurrency(removeFormattedValue);\r\n this.desiredCreditLimitFormGroup.get('DesiredCreditLimitTxBx').setValue(formattedValue);\r\n }\r\n\r\n}\r\n","\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\"Platinum
\r\n
\r\n
\r\n

{{selcetedCard?.Name}}

\r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
PleaseEnterCreditLimitError
\r\n
CreditLimitShouldNotGreater
\r\n
CreditLimitContainsNonNumerics
\r\n
\r\n
\r\n
\r\n USD\r\n
\r\n
\r\n SAR\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n
DesiredCreditLimitTermsAndConditions
\r\n
\r\n
\r\n
\r\n\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { SharingDataService } from '../../../shared/services/sharingData/sharing-data.service';\r\nimport { ValidationService } from 'src/shared/services/validation/validation.service';\r\nimport { ConfigData } from '../../models/configData.model';\r\nimport { CardService } from '../../../shared/services/card/card.service';\r\nimport { FormattingService } from 'src/shared/services/formatting/formatting.service';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { JsonResolved } from '../../models/jsonResolved.model';\r\n\r\n@Component({\r\n selector: 'app-recommendation',\r\n templateUrl: './recommendation.component.html',\r\n styleUrls: ['./recommendation.component.css'],\r\n})\r\nexport class RecommendationComponent implements OnInit {\r\n constructor(\r\n public sharingDataService: SharingDataService,\r\n private formBuilder: FormBuilder,\r\n private validationService: ValidationService,\r\n private router: Router,\r\n private cardService: CardService,\r\n private formattingService: FormattingService,\r\n private route: ActivatedRoute\r\n ) {}\r\n\r\n nationality: string;\r\n configurations: ConfigData;\r\n recommendationsFormGroup: FormGroup;\r\n submitted: boolean = false;\r\n\r\n getConfigDetails() {\r\n this.configurations = this.cardService.getConfigInfo();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.getConfigDetails();\r\n this.buildingForm();\r\n console.log(this.sharingDataService.minimumPaymtCalSharedData.Nationality);\r\n console.log(\r\n this.sharingDataService.minimumPaymtCalSharedData.TranslatedData\r\n );\r\n }\r\n\r\n buildingForm() {\r\n this.recommendationsFormGroup = this.formBuilder.group({\r\n NetIncomeTxBx: [\r\n '',\r\n [\r\n Validators.required,\r\n this.validationService.DesiredCreditLimitValidation(\r\n this.configurations.NetSalaryBoundaries.min,\r\n this.configurations.NetSalaryBoundaries.max\r\n ),\r\n ],\r\n ],\r\n });\r\n this.recommendationsFormGroup.controls.NetIncomeTxBx.valueChanges.subscribe(\r\n (change) => {\r\n let incomeVal = this.recommendationsFormGroup.controls.NetIncomeTxBx\r\n .value;\r\n let unwantedContentRemovedValue = incomeVal.replace(/[^0-9,.]/g, '');\r\n if (change != unwantedContentRemovedValue) {\r\n this.recommendationsFormGroup.controls.NetIncomeTxBx.setValue(\r\n unwantedContentRemovedValue\r\n );\r\n }\r\n }\r\n );\r\n }\r\n\r\n setSaudi() {\r\n this.sharingDataService.minimumPaymtCalSharedData.Nationality = true;\r\n }\r\n\r\n setNonSaudi() {\r\n this.sharingDataService.minimumPaymtCalSharedData.Nationality = false;\r\n }\r\n\r\n NetIncomeTxBx_Blur(event: any) {\r\n let value = event.target.value;\r\n let removeFormattedValue = this.formattingService.removeFormattedCurrency(\r\n value\r\n );\r\n let formattedValue = this.formattingService.formatCurrency(\r\n removeFormattedValue\r\n );\r\n this.recommendationsFormGroup.get('NetIncomeTxBx').setValue(formattedValue);\r\n }\r\n\r\n proceed() {\r\n this.submitted = true;\r\n this.sharingDataService.minimumPaymtCalSharedData.MonthlyIncome = this.recommendationsFormGroup.get(\r\n 'NetIncomeTxBx'\r\n ).value;\r\n this.router.navigate(['/cardrecommendation']);\r\n }\r\n}\r\n","\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n

TellUsAboutYourself

\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n PleaseEnterMonthlyIncome\r\n
\r\n
\r\n ShouldNotLessIncome\r\n
\r\n
\r\n ShouldNotMoreIncome\r\n
\r\n
\r\n IncomeContainsNonNumerics\r\n
\r\n
\r\n
\r\n
\r\n SAR\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n
\r\n RecommendationTermsAndConditions\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n","export const configurations = {\r\n MurabahaRate: 2.75,\r\n MinPayment: 100, \r\n MinPaymentPer: 5,\r\n\r\n NetSalaryBoundaries:{\r\n min:100,\r\n max:1000000,\r\n }\r\n};\r\n","// This file can be replaced during build by using the `fileReplacements` array.\r\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\r\n// The list of file replacements can be found in `angular.json`.\r\n\r\nexport const environment = {\r\n production: true,\r\n baseURI:\"http://localhost:14214/\"\r\n};\r\n\r\n/*\r\n * For easier debugging in development mode, you can import the following file\r\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\r\n *\r\n * This import should be commented out in production mode because it will have a negative impact\r\n * on performance if an error is thrown.\r\n */\r\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\r\n","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule)\r\n .catch(err => console.error(err));\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpService } from '../http.service';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\nimport { IRequestG } from '../../../app/models/dtos/requestG.model';\r\nimport { IAprOutputData } from '../../../app/models/aprOutputData.model';\r\nimport { IResponseG } from '../../../app/models/dtos/responseG.model';\r\nimport { IAprInputData } from '../../../app/models/aprInputData.model';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CalculatorService {\r\n\r\n constructor(private http: HttpService) { }\r\n\r\n public getDataCalculatorPage(url: string, calDataGetReq: IRequestG): Observable> {\r\n return this.http.post, IRequestG>(url, calDataGetReq).pipe(\r\n catchError(this.handleError)\r\n );\r\n }\r\n private handleError(error: HttpErrorResponse): Observable {\r\n console.error(error);\r\n return Observable.throw(error.message || 'Server error');\r\n }\r\n\r\n}\r\n","import { Injectable, LOCALE_ID, Inject } from '@angular/core';\r\nimport { Card } from '../../../app/models/card.model';\r\nimport { configurations } from '../../../configurations/configurations';\r\nimport { ConfigData } from '../../../app/models/configData.model';\r\nimport { SharingDataService } from '../sharingData/sharing-data.service';\r\nimport { JsonDetails } from '../../../app/models/jsonDetails.model';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class CardService {\r\n\r\n constructor(@Inject(LOCALE_ID) private language: string) {}\r\n\r\n getRecommendedCardList(nationality: boolean, income: number,incomeUSD: number, cardDetails: Card[]): Card[] {\r\n let list: Card[] = [];\r\n\r\n if(nationality)\r\n {\r\n list = cardDetails.filter(\r\n (card) =>\r\n (card.MinIncomeSaudi <= income)\r\n );\r\n }\r\n else\r\n {\r\n list = cardDetails.filter(\r\n (card) =>\r\n (card.MinIncomeExpat <= income)\r\n ); \r\n }\r\n return list;\r\n }\r\n\r\n getConfigInfo(): ConfigData {\r\n return configurations;\r\n }\r\n\r\n public getLanguage(): string {\r\n return this.language;\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class FormattingService {\r\n\r\n constructor() { }\r\n\r\n formatCurrency(value: number) {\r\n if (value != null) {\r\n let strVal = String(value);\r\n let commaRemoved = strVal.replace(',', '');\r\n let numbVal = Number(commaRemoved);\r\n let formattedStr = numbVal.toFixed(2).replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,');\r\n return formattedStr;\r\n }\r\n else {\r\n return \"0.00\";\r\n }\r\n }\r\n removeFormattedCurrency(value: string) {\r\n let commaRemoved = value.replace(',', '');\r\n let num = Number(commaRemoved);\r\n return num;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpErrorResponse, HttpHeaders } from '@angular/common/http';\r\nimport { environment } from '../../environments/environment';\r\nimport { Observable, throwError } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\n\r\n@Injectable()\r\n\r\nexport class HttpService {\r\n private baseUri = environment.baseURI;\r\n //options: any;\r\n constructor(private http: HttpClient) {\r\n //this.options = new HttpHeaders().set('Content-Type', 'application/json');\r\n }\r\n\r\n public get(uri: string): Observable {\r\n return this.http.get(`${this.baseUri}${uri}`).pipe(\r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n public post(uri: string, body: E): Observable {\r\n return this.http.post(`${this.baseUri}${uri}`, body).pipe(\r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n private handleError(error: HttpErrorResponse) {\r\n if (error.error instanceof ErrorEvent) {\r\n // A client-side or network error occurred. Handle it accordingly.\r\n console.error('An error occurred:', error.error.message);\r\n } else {\r\n // The backend returned an unsuccessful response code.\r\n // The response body may contain clues as to what went wrong,\r\n console.error(\r\n `Backend returned code ${error.status}, ` +\r\n `body was: ${error.error}`);\r\n }\r\n // return an observable with a user-facing error message\r\n return throwError(error);\r\n };\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { IMinimumPaymtCalSharedData } from 'src/app/models/minimumPaymtCalSharedData.model';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class SharingDataService {\r\n minimumPaymtCalSharedData: IMinimumPaymtCalSharedData;\r\n constructor() {\r\n this.minimumPaymtCalSharedData = {\r\n Nationality: true,\r\n MonthlyIncome: 0,\r\n SelectedCard: null,\r\n DesiredCreditLimit: 0,\r\n TranslatedData: null,\r\n };\r\n }\r\n}\r\n","import { Injectable, LOCALE_ID, Inject } from '@angular/core';\r\nimport { HttpErrorResponse, HttpClient } from '@angular/common/http';\r\nimport { Observable, throwError } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { JsonDetails } from '../../../app/models/jsonDetails.model';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class TranslatingDataService {\r\n constructor(\r\n private http: HttpClient,\r\n @Inject(LOCALE_ID) private language: string\r\n ) {\r\n //this.translatedData = this.retrieveTranslatedData();\r\n }\r\n // private translatedData: Observable = null;\r\n\r\n private translatedData: JsonDetails;\r\n private loaded: boolean;\r\n public getTranlateddata(): JsonDetails {\r\n return this.translatedData;\r\n }\r\n\r\n public retrieveTranslatedData() {\r\n let rt: Promise;\r\n if (!this.loaded) {\r\n let language = this.getLanguage();\r\n const jsonData = this.http\r\n .get('assets/jsons/' + 'list-' + language + '.json')\r\n .toPromise();\r\n jsonData\r\n .then((data) => {\r\n this.translatedData = data;\r\n this.loaded = true;\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n this.handleError(error);\r\n });\r\n rt = jsonData;\r\n }\r\n return rt;\r\n }\r\n\r\n private getLanguage(): string {\r\n //return window.location.pathname.includes('/ar/') ? 'ar' : 'en';\r\n return this.language;\r\n }\r\n /*\r\n public getTranlateddata(): Observable {\r\n return this.translatedData;\r\n }\r\n\r\n private retrieveTranslatedData(): Observable {\r\n let language = this.getLanguage();\r\n\r\n return this.http\r\n .get>('assets/jsons/' + 'list-' + language + '.json')\r\n .pipe(catchError(this.handleError));\r\n }*/\r\n\r\n private handleError(error: HttpErrorResponse) {\r\n if (error.error instanceof ErrorEvent) {\r\n // A client-side or network error occurred. Handle it accordingly.\r\n console.error('An error occurred:', error.error.message);\r\n } else {\r\n // The backend returned an unsuccessful response code.\r\n // The response body may contain clues as to what went wrong,\r\n console.error(\r\n `JSON file not loaded ${error.status}, ` + `body was: ${error.error}`\r\n );\r\n }\r\n // return an observable with a user-facing error message\r\n return throwError(error);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { AbstractControl } from '@angular/forms';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ValidationService {\r\n\r\n constructor() { }\r\n DesiredCreditLimitValidation(minValue: number, maxValue: number, isDesiredCreditLimit=false) {\r\n\r\n return (control: AbstractControl): { [key: string]: any } | null => {\r\n if (control.value == null || control.value == \"\") {\r\n return null;\r\n }\r\n let enteredValue = control.value;\r\n let enteredValueNum = Number(enteredValue.replace(',', ''));\r\n if (control.value.match(/^(\\d?\\d?\\d(,\\d\\d\\d)*|\\d+)(\\.\\d\\d)?$/)) {\r\n if (enteredValueNum >= minValue) {\r\n if (enteredValueNum <= maxValue) {\r\n return null;\r\n }\r\n else {\r\n return { 'moreThanMax': true };\r\n }\r\n\r\n }\r\n else {\r\n if(!isDesiredCreditLimit) {\r\n return { 'lessThanMin': true };\r\n } \r\n }\r\n\r\n } else {\r\n return { 'invalidcurrency': true };\r\n }\r\n\r\n };\r\n\r\n }\r\n\r\n NetIncomeValidator(minValue:number, maxValue:number){\r\n return (control: AbstractControl): { [key: string]: any } | null => {\r\n if (control.value == null || control.value == \"\") {\r\n return null;\r\n }\r\n let enteredValue = control.value;\r\n let enteredValueNum = Number(enteredValue.replace(',', ''));\r\n if (control.value.match(/^(\\d?\\d?\\d(,\\d\\d\\d)*|\\d+)(\\.\\d\\d)?$/)) {\r\n if (enteredValueNum >= minValue) {\r\n if (enteredValueNum <= maxValue) {\r\n return null;\r\n }\r\n else {\r\n return { 'moreThanMax': true };\r\n }\r\n\r\n }\r\n else {\r\n return { 'lessThanMin': true };\r\n }\r\n\r\n } else {\r\n return { 'invalidcurrency': true };\r\n }\r\n\r\n };\r\n }\r\n\r\n}\r\n"],"sourceRoot":"webpack:///"}