From a3b876a276748a1268dcab164bdc4467fc4121c1 Mon Sep 17 00:00:00 2001 From: Thomas <4159106+dtslvr@users.noreply.github.com> Date: Sat, 3 Sep 2022 21:22:27 +0200 Subject: [PATCH] Improve chart calculation --- .../src/app/portfolio/portfolio-calculator.ts | 25 +++++++------- .../src/app/pages/account/account-page.html | 5 ++- apps/client/src/locales/messages.de.xlf | 34 ++++++++++++------- apps/client/src/locales/messages.xlf | 33 +++++++++++------- 4 files changed, 57 insertions(+), 40 deletions(-) diff --git a/apps/api/src/app/portfolio/portfolio-calculator.ts b/apps/api/src/app/portfolio/portfolio-calculator.ts index d3e036129..e623d3ad1 100644 --- a/apps/api/src/app/portfolio/portfolio-calculator.ts +++ b/apps/api/src/app/portfolio/portfolio-calculator.ts @@ -172,15 +172,12 @@ export class PortfolioCalculator { start: Date, end = new Date(Date.now()) ): Promise { - const transactionPointsInRange = + const transactionPointsUntilEndDate = this.transactionPoints?.filter((transactionPoint) => { - return isWithinInterval(parseDate(transactionPoint.date), { - start, - end - }); + return isBefore(parseDate(transactionPoint.date), end); }) ?? []; - if (!transactionPointsInRange.length) { + if (!transactionPointsUntilEndDate.length) { return { currentValue: new Big(0), grossPerformance: new Big(0), @@ -194,32 +191,34 @@ export class PortfolioCalculator { } const lastTransactionPoint = - transactionPointsInRange[transactionPointsInRange.length - 1]; + transactionPointsUntilEndDate[transactionPointsUntilEndDate.length - 1]; let firstTransactionPoint: TransactionPoint = null; - let firstIndex = transactionPointsInRange.length; + let firstIndex = transactionPointsUntilEndDate.length; const dates = []; const dataGatheringItems: IDataGatheringItem[] = []; const currencies: { [symbol: string]: string } = {}; dates.push(resetHours(start)); - for (const item of transactionPointsInRange[firstIndex - 1].items) { + for (const item of transactionPointsUntilEndDate[firstIndex - 1].items) { dataGatheringItems.push({ dataSource: item.dataSource, symbol: item.symbol }); currencies[item.symbol] = item.currency; } - for (let i = 0; i < transactionPointsInRange.length; i++) { + for (let i = 0; i < transactionPointsUntilEndDate.length; i++) { if ( - !isBefore(parseDate(transactionPointsInRange[i].date), start) && + !isBefore(parseDate(transactionPointsUntilEndDate[i].date), start) && firstTransactionPoint === null ) { - firstTransactionPoint = transactionPointsInRange[i]; + firstTransactionPoint = transactionPointsUntilEndDate[i]; firstIndex = i; } if (firstTransactionPoint !== null) { - dates.push(resetHours(parseDate(transactionPointsInRange[i].date))); + dates.push( + resetHours(parseDate(transactionPointsUntilEndDate[i].date)) + ); } } diff --git a/apps/client/src/app/pages/account/account-page.html b/apps/client/src/app/pages/account/account-page.html index 350761855..c0efac59a 100644 --- a/apps/client/src/app/pages/account/account-page.html +++ b/apps/client/src/app/pages/account/account-page.html @@ -188,7 +188,10 @@ > -
+
Experimental Features
diff --git a/apps/client/src/locales/messages.de.xlf b/apps/client/src/locales/messages.de.xlf index 1bdce8dfe..017afc27f 100644 --- a/apps/client/src/locales/messages.de.xlf +++ b/apps/client/src/locales/messages.de.xlf @@ -642,7 +642,7 @@ Aktuelle Marktstimmung apps/client/src/app/components/fear-and-greed-index/fear-and-greed-index.component.html - 11 + 12 @@ -1058,7 +1058,7 @@ Bitte gib den Betrag deines Notfallfonds ein: apps/client/src/app/components/portfolio-summary/portfolio-summary.component.ts - 48 + 52 @@ -1262,7 +1262,7 @@ Bitte gebe deinen Gutscheincode ein: apps/client/src/app/pages/account/account-page.component.ts - 230 + 248 @@ -1270,7 +1270,7 @@ Gutscheincode konnte nicht eingelöst werden apps/client/src/app/pages/account/account-page.component.ts - 240 + 258 @@ -1278,7 +1278,7 @@ Gutscheincode wurde eingelöst apps/client/src/app/pages/account/account-page.component.ts - 252 + 270 @@ -1286,7 +1286,7 @@ Neu laden apps/client/src/app/pages/account/account-page.component.ts - 253 + 271 @@ -1294,7 +1294,7 @@ Möchtest du diese Anmeldemethode wirklich löschen? apps/client/src/app/pages/account/account-page.component.ts - 299 + 317 @@ -1382,7 +1382,7 @@ Locale apps/client/src/app/pages/account/account-page.html - 134 + 135 @@ -1390,7 +1390,7 @@ Datums- und Zahlenformat apps/client/src/app/pages/account/account-page.html - 136 + 137 @@ -1398,7 +1398,7 @@ Ansicht apps/client/src/app/pages/account/account-page.html - 159 + 160 @@ -1406,7 +1406,7 @@ Einloggen mit Fingerabdruck apps/client/src/app/pages/account/account-page.html - 180 + 181 @@ -1414,7 +1414,7 @@ Benutzer ID apps/client/src/app/pages/account/account-page.html - 191 + 208 @@ -1422,7 +1422,7 @@ Zugangsberechtigung apps/client/src/app/pages/account/account-page.html - 200 + 217 @@ -2641,6 +2641,14 @@ 4,7 + + Experimental Features + Experimentelle Funktionen + + apps/client/src/app/pages/account/account-page.html + 196 + + diff --git a/apps/client/src/locales/messages.xlf b/apps/client/src/locales/messages.xlf index 90471608c..83376a958 100644 --- a/apps/client/src/locales/messages.xlf +++ b/apps/client/src/locales/messages.xlf @@ -583,7 +583,7 @@ Current Market Mood apps/client/src/app/components/fear-and-greed-index/fear-and-greed-index.component.html - 11 + 12 @@ -957,7 +957,7 @@ Please enter the amount of your emergency fund: apps/client/src/app/components/portfolio-summary/portfolio-summary.component.ts - 48 + 52 @@ -1137,35 +1137,35 @@ Please enter your coupon code: apps/client/src/app/pages/account/account-page.component.ts - 230 + 248 Could not redeem coupon code apps/client/src/app/pages/account/account-page.component.ts - 240 + 258 Coupon code has been redeemed apps/client/src/app/pages/account/account-page.component.ts - 252 + 270 Reload apps/client/src/app/pages/account/account-page.component.ts - 253 + 271 Do you really want to remove this sign in method? apps/client/src/app/pages/account/account-page.component.ts - 299 + 317 @@ -1243,42 +1243,42 @@ Locale apps/client/src/app/pages/account/account-page.html - 134 + 135 Date and number format apps/client/src/app/pages/account/account-page.html - 136 + 137 View Mode apps/client/src/app/pages/account/account-page.html - 159 + 160 Sign in with fingerprint apps/client/src/app/pages/account/account-page.html - 180 + 181 User ID apps/client/src/app/pages/account/account-page.html - 191 + 208 Granted Access apps/client/src/app/pages/account/account-page.html - 200 + 217 @@ -2359,6 +2359,13 @@ 6 + + Experimental Features + + apps/client/src/app/pages/account/account-page.html + 196 + + \ No newline at end of file