Kur Değerleme
Kur Değerleme Script
var _dateFC = this.recordService.formGroup.controls.EVALDATE;
let curFC = this.recordService.formGroup.controls.CURRENCYID_CURCODE;
let curRate = this.recordService.formGroup.controls.CURRENCYRATE;
let curRateType = this.recordService.formGroup.controls.CURRENCYTYPE;
let banknoteBuying;
let banknoteSelling;
let forexBuying;
let forexSelling;
const curObservable = curFC.valueChanges.pipe(rxjs.startWith(curFC.value));
const dateObservable = _dateFC.valueChanges.pipe(
rxjs.startWith(_dateFC.value.toString())
);
console.log('_dateFC.value', _dateFC.value);
window.rxjs
.combineLatest([curObservable, dateObservable])
.pipe(
rxjs.debounceTime(1000),
rxjs.takeUntil(this.isDestroy$),
rxjs.switchMap(([cur, _date]) => {
if (cur && _date) {
console.log('date', _date);
return window.angus.api.func({
Object: 'FN_EASYPMS_GET_TCMBDAILYRATES',
Parameters: {
DATE: _dateFC.value, //_date kullandığımızda formatı çok değişiyor onun için kullanmıyoruz MBASAL
CURCODE: cur,
BASECURCODE: window.angus.api.tenant.DEFAULTCURRENCY,
},
});
}
return rxjs.of([]);
})
)
.subscribe((resp) => {
if (resp?.[0]?.length) {
banknoteBuying = resp[0][0].BanknoteBuying;
banknoteSelling = resp[0][0].BanknoteSelling;
forexBuying = resp[0][0].ForexBuying;
forexSelling = resp[0][0].ForexSelling;
switch (curRateType.value) {
case 1:
curRate.setValue(forexBuying);
break;
case 2:
curRate.setValue(forexSelling);
break;
case 3:
curRate.setValue(banknoteBuying);
break;
case 4:
curRate.setValue(banknoteSelling);
break;
case null:
curRate.setValue(forexBuying);
break;
}
} else {
curRate.setValue(1);
}
});
curRateType.valueChanges
.pipe(rxjs.startWith(curRateType.value))
.subscribe((curRateTypeValue) => {
switch (curRateTypeValue) {
case 1:
curRate.setValue(forexBuying);
break;
case 2:
curRate.setValue(forexSelling);
break;
case 3:
curRate.setValue(banknoteBuying);
break;
case 4:
curRate.setValue(banknoteSelling);
break;
case null:
curRate.setValue(forexBuying);
break;
}
});
Last updated