Feature/improve exchange rate service for specific date (#1785)
* Calculate exchange rate indirectly via base currency * Update changelog
This commit is contained in:
parent
c4d9c00f92
commit
e37a34ed6c
@ -10,6 +10,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|||||||
### Changed
|
### Changed
|
||||||
|
|
||||||
- Improved the usability of the _FIRE_ calculator
|
- Improved the usability of the _FIRE_ calculator
|
||||||
|
- Improved the exchange rate service for a specific date used in activities with a manual currency
|
||||||
- Upgraded `ngx-device-detector` from version `3.0.0` to `5.0.1`
|
- Upgraded `ngx-device-detector` from version `3.0.0` to `5.0.1`
|
||||||
|
|
||||||
## 1.244.0 - 2023-03-09
|
## 1.244.0 - 2023-03-09
|
||||||
|
@ -183,8 +183,29 @@ export class ExchangeRateDataService {
|
|||||||
if (marketData?.marketPrice) {
|
if (marketData?.marketPrice) {
|
||||||
factor = marketData?.marketPrice;
|
factor = marketData?.marketPrice;
|
||||||
} else {
|
} else {
|
||||||
// TODO: Get from data provider service or calculate indirectly via base currency
|
// Calculate indirectly via base currency
|
||||||
// and market data
|
try {
|
||||||
|
const [
|
||||||
|
{ marketPrice: marketPriceBaseCurrencyFromCurrency },
|
||||||
|
{ marketPrice: marketPriceBaseCurrencyToCurrency }
|
||||||
|
] = await Promise.all([
|
||||||
|
this.marketDataService.get({
|
||||||
|
dataSource,
|
||||||
|
date: aDate,
|
||||||
|
symbol: `${this.baseCurrency}${aFromCurrency}`
|
||||||
|
}),
|
||||||
|
this.marketDataService.get({
|
||||||
|
dataSource,
|
||||||
|
date: aDate,
|
||||||
|
symbol: `${this.baseCurrency}${aToCurrency}`
|
||||||
|
})
|
||||||
|
]);
|
||||||
|
|
||||||
|
// Calculate the opposite direction
|
||||||
|
factor =
|
||||||
|
(1 / marketPriceBaseCurrencyFromCurrency) *
|
||||||
|
marketPriceBaseCurrencyToCurrency;
|
||||||
|
} catch {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user