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