taxtank-core 0.31.52 → 0.31.53
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/collections/holding/holding-sale.collection.mjs +2 -2
- package/esm2020/lib/collections/report/vehicle-expense/vehicle-expense.collection.mjs +6 -6
- package/esm2020/lib/db/Models/abstract-model.mjs +5 -1
- package/esm2020/lib/models/holding/holding-sale.mjs +7 -1
- package/esm2020/lib/models/holding/holding-type.mjs +4 -1
- package/esm2020/lib/models/holding/holding.mjs +4 -1
- package/fesm2015/taxtank-core.mjs +23 -7
- package/fesm2015/taxtank-core.mjs.map +1 -1
- package/fesm2020/taxtank-core.mjs +22 -7
- package/fesm2020/taxtank-core.mjs.map +1 -1
- package/lib/collections/report/vehicle-expense/vehicle-expense.collection.d.ts +1 -2
- package/lib/db/Models/abstract-model.d.ts +1 -0
- package/lib/models/holding/holding-sale.d.ts +8 -1
- package/lib/models/holding/holding-type.d.ts +6 -1
- package/lib/models/holding/holding.d.ts +6 -1
- package/package.json +1 -1
|
@@ -32,10 +32,10 @@ export class HoldingSaleCollection extends ExportableCollection {
|
|
|
32
32
|
plainToClass(ExportCell, { value: sale.totalCapitalGain, type: ExportCellTypeEnum.CURRENCY }),
|
|
33
33
|
plainToClass(ExportCell, { value: sale.grossCapitalGain, type: ExportCellTypeEnum.CURRENCY }),
|
|
34
34
|
plainToClass(ExportCell, {
|
|
35
|
-
value: sale.
|
|
35
|
+
value: sale.concession,
|
|
36
36
|
type: ExportCellTypeEnum.STRING
|
|
37
37
|
}),
|
|
38
38
|
]);
|
|
39
39
|
}
|
|
40
40
|
}
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9sZGluZy1zYWxlLmNvbGxlY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvY29sbGVjdGlvbnMvaG9sZGluZy9ob2xkaW5nLXNhbGUuY29sbGVjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDN0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDL0UsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBR2pELE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxvQkFBaUM7SUFDMUUsZUFBZSxDQUFDLFFBQTJCLEVBQUUsU0FBUyxHQUFHLEtBQUs7UUFDNUQsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksRUFBRSxRQUFRLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxTQUFTLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQ3pGLENBQUM7SUFFRCxlQUFlO1FBQ2IsT0FBTyxDQUFDLFFBQVEsRUFBRSxZQUFZLEVBQUUsYUFBYSxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSwyQkFBMkIsRUFBRSx3QkFBd0IsRUFBRSxzQkFBc0IsQ0FBQyxDQUFDO0lBQ3RMLENBQUM7SUFFRCxlQUFlO1FBQ2IsT0FBTztZQUNMLFlBQVksQ0FBQyxVQUFVLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxrQkFBa0IsQ0FBQyxNQUFNLEVBQUUsQ0FBQztTQUN6RSxDQUFDO0lBQ0osQ0FBQztJQUVELGFBQWEsQ0FBQyxZQUFpQztRQUM3QyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBaUIsRUFBRSxFQUFFLENBQUM7WUFDM0MsWUFBWSxDQUFDLFVBQVUsRUFBRTtnQkFDdkIsS0FBSyxFQUFFLFlBQVksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTTtnQkFDcEQsSUFBSSxFQUFFLGtCQUFrQixDQUFDLE1BQU07YUFDaEMsQ0FBQztZQUNGLFlBQVksQ0FBQyxVQUFVLEVBQUU7Z0JBQ3ZCLEtBQUssRUFBRSxZQUFZLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWE7Z0JBQzNELElBQUksRUFBRSxrQkFBa0IsQ0FBQyxNQUFNO2FBQ2hDLENBQUM7WUFDRixZQUFZLENBQUMsVUFBVSxFQUFFLEVBQUUsS0FBSyxFQUFFLFlBQVksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLGtCQUFrQixDQUFDLElBQUksRUFBRSxDQUFDO1lBQzNHLFlBQVksQ0FBQyxVQUFVLEVBQUUsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsa0JBQWtCLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDN0UsWUFBWSxDQUFDLFVBQVUsRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxrQkFBa0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUMzSCxZQUFZLENBQUMsVUFBVSxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3BGLFlBQVksQ0FBQyxVQUFVLEVBQUUsRUFBRSxLQUFLLEVBQUUsWUFBWSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLGdCQUFnQixFQUFFLElBQUksRUFBRSxrQkFBa0IsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUN6SCxZQUFZLENBQUMsVUFBVSxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLEVBQUUsa0JBQWtCLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDN0YsWUFBWSxDQUFDLFVBQVUsRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxFQUFFLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQzdGLFlBQVksQ0FBQyxVQUFVLEVBQUU7Z0JBQ3ZCLEtBQUssRUFBRSxJQUFJLENBQUMsVUFBVTtnQkFDdEIsSUFBSSxFQUFFLGtCQUFrQixDQUFDLE1BQU07YUFDaEMsQ0FBQztTQUNILENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpY3Rpb25hcnksIEhvbGRpbmcsIEhvbGRpbmdTYWxlIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IEV4cG9ydGFibGVDb2xsZWN0aW9uIH0gZnJvbSAnLi4vZXhwb3J0YWJsZS5jb2xsZWN0aW9uJztcbmltcG9ydCB7IEV4cG9ydENlbGwgfSBmcm9tICcuLi8uLi9tb2RlbHMvZXhwb3J0L2V4cG9ydC1jZWxsJztcbmltcG9ydCB7IEV4cG9ydENlbGxUeXBlRW51bSB9IGZyb20gJy4uLy4uL21vZGVscy9leHBvcnQvZXhwb3J0LWNlbGwtdHlwZS5lbnVtJztcbmltcG9ydCB7IHBsYWluVG9DbGFzcyB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IEhvbGRpbmdDb2xsZWN0aW9uIH0gZnJvbSAnLi9ob2xkaW5nLmNvbGxlY3Rpb24nO1xuXG5leHBvcnQgY2xhc3MgSG9sZGluZ1NhbGVDb2xsZWN0aW9uIGV4dGVuZHMgRXhwb3J0YWJsZUNvbGxlY3Rpb248SG9sZGluZ1NhbGU+IHtcbiAgZmlsdGVyQnlUYXhGcmVlKGhvbGRpbmdzOiBIb2xkaW5nQ29sbGVjdGlvbiwgaXNUYXhGcmVlID0gZmFsc2UpOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy5maWx0ZXJCeSgnaG9sZGluZy5pZCcsIGhvbGRpbmdzLmZpbHRlckJ5KCdpc1RheEZyZWUnLCBpc1RheEZyZWUpLmdldElkcygpKTtcbiAgfVxuXG4gIGdldEV4cG9ydEhlYWRlcigpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIFsnVGlja2VyJywgJ0Fzc2V0IHR5cGUnLCAnRGF0ZSBvZiBidXknLCAnRGF0ZSBvZiBzYWxlJywgJ0Nvc3QgYmFzZScsICdOZXQgc2FsZScsICdPd25lcnNoaXAnLCAnVG90YWwgY2FwaXRhbCBHYWluLyhMb3NzKScsICdNeSBDYXBpdGFsIEdhaW4vKExvc3MpJywgJ0V4ZW1wdCBvciBDb25jZXNzaW9uJ107XG4gIH1cblxuICBnZXRFeHBvcnRGb290ZXIoKTogRXhwb3J0Q2VsbFtdIHtcbiAgICByZXR1cm4gW1xuICAgICAgcGxhaW5Ub0NsYXNzKEV4cG9ydENlbGwsIHsgdmFsdWU6ICcnLCB0eXBlOiBFeHBvcnRDZWxsVHlwZUVudW0uU1RSSU5HIH0pLFxuICAgIF07XG4gIH1cblxuICBnZXRFeHBvcnRCb2R5KGhvbGRpbmdzQnlJZDogRGljdGlvbmFyeTxIb2xkaW5nPik6IEV4cG9ydENlbGxbXVtdIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtcy5tYXAoKHNhbGU6IEhvbGRpbmdTYWxlKSA9PiBbXG4gICAgICBwbGFpblRvQ2xhc3MoRXhwb3J0Q2VsbCwge1xuICAgICAgICB2YWx1ZTogaG9sZGluZ3NCeUlkLmdldChzYWxlLmhvbGRpbmcuaWQpLnR5cGUudGlja2VyLFxuICAgICAgICB0eXBlOiBFeHBvcnRDZWxsVHlwZUVudW0uU1RSSU5HXG4gICAgICB9KSxcbiAgICAgIHBsYWluVG9DbGFzcyhFeHBvcnRDZWxsLCB7XG4gICAgICAgIHZhbHVlOiBob2xkaW5nc0J5SWQuZ2V0KHNhbGUuaG9sZGluZy5pZCkudHlwZS5jYXRlZ29yeUxhYmVsLFxuICAgICAgICB0eXBlOiBFeHBvcnRDZWxsVHlwZUVudW0uU1RSSU5HXG4gICAgICB9KSxcbiAgICAgIHBsYWluVG9DbGFzcyhFeHBvcnRDZWxsLCB7IHZhbHVlOiBob2xkaW5nc0J5SWQuZ2V0KHNhbGUuaG9sZGluZy5pZCk/LmRhdGUsIHR5cGU6IEV4cG9ydENlbGxUeXBlRW51bS5EQVRFIH0pLFxuICAgICAgcGxhaW5Ub0NsYXNzKEV4cG9ydENlbGwsIHsgdmFsdWU6IHNhbGUuZGF0ZSwgdHlwZTogRXhwb3J0Q2VsbFR5cGVFbnVtLkRBVEUgfSksXG4gICAgICBwbGFpblRvQ2xhc3MoRXhwb3J0Q2VsbCwgeyB2YWx1ZTogc2FsZS5nZXRDb3N0QmFzZShob2xkaW5nc0J5SWQuZ2V0KHNhbGUuaG9sZGluZy5pZCkpLCB0eXBlOiBFeHBvcnRDZWxsVHlwZUVudW0uQ1VSUkVOQ1kgfSksXG4gICAgICBwbGFpblRvQ2xhc3MoRXhwb3J0Q2VsbCwgeyB2YWx1ZTogc2FsZS5uZXRDb3N0LCB0eXBlOiBFeHBvcnRDZWxsVHlwZUVudW0uQ1VSUkVOQ1kgfSksXG4gICAgICBwbGFpblRvQ2xhc3MoRXhwb3J0Q2VsbCwgeyB2YWx1ZTogaG9sZGluZ3NCeUlkLmdldChzYWxlLmhvbGRpbmcuaWQpLm93bmVyc2hpcFBlcmNlbnQsIHR5cGU6IEV4cG9ydENlbGxUeXBlRW51bS5QRVJDRU5UIH0pLFxuICAgICAgcGxhaW5Ub0NsYXNzKEV4cG9ydENlbGwsIHsgdmFsdWU6IHNhbGUudG90YWxDYXBpdGFsR2FpbiwgdHlwZTogRXhwb3J0Q2VsbFR5cGVFbnVtLkNVUlJFTkNZIH0pLFxuICAgICAgcGxhaW5Ub0NsYXNzKEV4cG9ydENlbGwsIHsgdmFsdWU6IHNhbGUuZ3Jvc3NDYXBpdGFsR2FpbiwgdHlwZTogRXhwb3J0Q2VsbFR5cGVFbnVtLkNVUlJFTkNZIH0pLFxuICAgICAgcGxhaW5Ub0NsYXNzKEV4cG9ydENlbGwsIHtcbiAgICAgICAgdmFsdWU6IHNhbGUuY29uY2Vzc2lvbixcbiAgICAgICAgdHlwZTogRXhwb3J0Q2VsbFR5cGVFbnVtLlNUUklOR1xuICAgICAgfSksXG4gICAgXSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import { Collection } from '../../collection';
|
|
2
2
|
import { VehicleExpense } from '../../../models/report';
|
|
3
3
|
export class VehicleExpenseCollection extends Collection {
|
|
4
|
-
constructor(transactions, depreciations
|
|
4
|
+
constructor(transactions, depreciations) {
|
|
5
5
|
super();
|
|
6
|
-
this.setItems(transactions, depreciations
|
|
6
|
+
this.setItems(transactions, depreciations);
|
|
7
7
|
}
|
|
8
|
-
setItems(transactions, depreciations
|
|
8
|
+
setItems(transactions, depreciations) {
|
|
9
9
|
this.items = [];
|
|
10
10
|
const transactionsByChartAccounts = transactions.groupBy('chartAccounts.name');
|
|
11
|
-
const transactionExpenses = transactionsByChartAccounts.keys.map((chartAccountsName) => new VehicleExpense(transactionsByChartAccounts.get(chartAccountsName).amount,
|
|
11
|
+
const transactionExpenses = transactionsByChartAccounts.keys.map((chartAccountsName) => new VehicleExpense(transactionsByChartAccounts.get(chartAccountsName).amount, transactionsByChartAccounts.get(chartAccountsName).first.claimPercent, chartAccountsName));
|
|
12
12
|
// group all depreciations into one expense item
|
|
13
|
-
const depreciationExpense = new VehicleExpense(-depreciations.getCurrentYearForecastAmount(),
|
|
13
|
+
const depreciationExpense = new VehicleExpense(-depreciations.getCurrentYearForecastAmount(), depreciations.first?.claimPercent ?? 0, 'Depreciation');
|
|
14
14
|
this.items.push(...[depreciationExpense, ...transactionExpenses]);
|
|
15
15
|
}
|
|
16
16
|
}
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVoaWNsZS1leHBlbnNlLmNvbGxlY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvY29sbGVjdGlvbnMvcmVwb3J0L3ZlaGljbGUtZXhwZW5zZS92ZWhpY2xlLWV4cGVuc2UuY29sbGVjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDOUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBSXhELE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxVQUEwQjtJQUN0RSxZQUFZLFlBQW1DLEVBQUUsYUFBcUM7UUFDcEYsS0FBSyxFQUFFLENBQUM7UUFDUixJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksRUFBRSxhQUFhLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRU8sUUFBUSxDQUFDLFlBQW1DLEVBQUUsYUFBcUM7UUFDekYsSUFBSSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7UUFFaEIsTUFBTSwyQkFBMkIsR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFFL0UsTUFBTSxtQkFBbUIsR0FBcUIsMkJBQTJCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLGlCQUF5QixFQUFFLEVBQUUsQ0FBQyxJQUFJLGNBQWMsQ0FDbEksMkJBQTJCLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLENBQUMsTUFBTSxFQUN6RCwyQkFBMkIsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUNyRSxpQkFBaUIsQ0FDbEIsQ0FBQyxDQUFDO1FBRUgsZ0RBQWdEO1FBQ2hELE1BQU0sbUJBQW1CLEdBQW1CLElBQUksY0FBYyxDQUM1RCxDQUFDLGFBQWEsQ0FBQyw0QkFBNEIsRUFBRSxFQUM3QyxhQUFhLENBQUMsS0FBSyxFQUFFLFlBQVksSUFBSSxDQUFDLEVBQ3RDLGNBQWMsQ0FDZixDQUFDO1FBRUYsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLG1CQUFtQixFQUFFLEdBQUcsbUJBQW1CLENBQUMsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbGxlY3Rpb24gfSBmcm9tICcuLi8uLi9jb2xsZWN0aW9uJztcbmltcG9ydCB7IFZlaGljbGVFeHBlbnNlIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL3JlcG9ydCc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkNvbGxlY3Rpb24gfSBmcm9tICcuLi8uLi90cmFuc2FjdGlvbic7XG5pbXBvcnQgeyBEZXByZWNpYXRpb25Db2xsZWN0aW9uIH0gZnJvbSAnLi4vLi4vZGVwcmVjaWF0aW9uLmNvbGxlY3Rpb24nO1xuXG5leHBvcnQgY2xhc3MgVmVoaWNsZUV4cGVuc2VDb2xsZWN0aW9uIGV4dGVuZHMgQ29sbGVjdGlvbjxWZWhpY2xlRXhwZW5zZT4ge1xuICBjb25zdHJ1Y3Rvcih0cmFuc2FjdGlvbnM6IFRyYW5zYWN0aW9uQ29sbGVjdGlvbiwgZGVwcmVjaWF0aW9uczogRGVwcmVjaWF0aW9uQ29sbGVjdGlvbikge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5zZXRJdGVtcyh0cmFuc2FjdGlvbnMsIGRlcHJlY2lhdGlvbnMpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRJdGVtcyh0cmFuc2FjdGlvbnM6IFRyYW5zYWN0aW9uQ29sbGVjdGlvbiwgZGVwcmVjaWF0aW9uczogRGVwcmVjaWF0aW9uQ29sbGVjdGlvbik6IHZvaWQge1xuICAgIHRoaXMuaXRlbXMgPSBbXTtcblxuICAgIGNvbnN0IHRyYW5zYWN0aW9uc0J5Q2hhcnRBY2NvdW50cyA9IHRyYW5zYWN0aW9ucy5ncm91cEJ5KCdjaGFydEFjY291bnRzLm5hbWUnKTtcblxuICAgIGNvbnN0IHRyYW5zYWN0aW9uRXhwZW5zZXM6IFZlaGljbGVFeHBlbnNlW10gPSB0cmFuc2FjdGlvbnNCeUNoYXJ0QWNjb3VudHMua2V5cy5tYXAoKGNoYXJ0QWNjb3VudHNOYW1lOiBzdHJpbmcpID0+IG5ldyBWZWhpY2xlRXhwZW5zZShcbiAgICAgIHRyYW5zYWN0aW9uc0J5Q2hhcnRBY2NvdW50cy5nZXQoY2hhcnRBY2NvdW50c05hbWUpLmFtb3VudCxcbiAgICAgIHRyYW5zYWN0aW9uc0J5Q2hhcnRBY2NvdW50cy5nZXQoY2hhcnRBY2NvdW50c05hbWUpLmZpcnN0LmNsYWltUGVyY2VudCxcbiAgICAgIGNoYXJ0QWNjb3VudHNOYW1lXG4gICAgKSk7XG5cbiAgICAvLyBncm91cCBhbGwgZGVwcmVjaWF0aW9ucyBpbnRvIG9uZSBleHBlbnNlIGl0ZW1cbiAgICBjb25zdCBkZXByZWNpYXRpb25FeHBlbnNlOiBWZWhpY2xlRXhwZW5zZSA9IG5ldyBWZWhpY2xlRXhwZW5zZShcbiAgICAgIC1kZXByZWNpYXRpb25zLmdldEN1cnJlbnRZZWFyRm9yZWNhc3RBbW91bnQoKSxcbiAgICAgIGRlcHJlY2lhdGlvbnMuZmlyc3Q/LmNsYWltUGVyY2VudCA/PyAwLFxuICAgICAgJ0RlcHJlY2lhdGlvbidcbiAgICApO1xuXG4gICAgdGhpcy5pdGVtcy5wdXNoKC4uLltkZXByZWNpYXRpb25FeHBlbnNlLCAuLi50cmFuc2FjdGlvbkV4cGVuc2VzXSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import get from 'lodash/get';
|
|
2
|
+
import { formatDate } from '@angular/common';
|
|
2
3
|
/**
|
|
3
4
|
* @TODO move from db folder when refactored base models
|
|
4
5
|
*/
|
|
@@ -6,5 +7,8 @@ export class AbstractModel {
|
|
|
6
7
|
hasValue(value, path = 'id') {
|
|
7
8
|
return get(path) === value;
|
|
8
9
|
}
|
|
10
|
+
formatDate(date, format = 'MMM d, y') {
|
|
11
|
+
return formatDate(date, format, 'en-AU');
|
|
12
|
+
}
|
|
9
13
|
}
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtbW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvZGIvTW9kZWxzL2Fic3RyYWN0LW1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sR0FBRyxNQUFNLFlBQVksQ0FBQztBQUM3QixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFN0M7O0dBRUc7QUFDSCxNQUFNLE9BQWdCLGFBQWE7SUFHakMsUUFBUSxDQUFDLEtBQVUsRUFBRSxJQUFJLEdBQUcsSUFBSTtRQUM5QixPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxLQUFLLENBQUM7SUFDN0IsQ0FBQztJQUVELFVBQVUsQ0FBQyxJQUFVLEVBQUUsTUFBTSxHQUFHLFVBQVU7UUFDeEMsT0FBTyxVQUFVLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUMzQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZ2V0IGZyb20gJ2xvZGFzaC9nZXQnO1xuaW1wb3J0IHsgZm9ybWF0RGF0ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbi8qKlxuICogQFRPRE8gbW92ZSBmcm9tIGRiIGZvbGRlciB3aGVuIHJlZmFjdG9yZWQgYmFzZSBtb2RlbHNcbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0TW9kZWwge1xuICBpZD86IGFueTtcblxuICBoYXNWYWx1ZSh2YWx1ZTogYW55LCBwYXRoID0gJ2lkJyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBnZXQocGF0aCkgPT09IHZhbHVlO1xuICB9XG5cbiAgZm9ybWF0RGF0ZShkYXRlOiBEYXRlLCBmb3JtYXQgPSAnTU1NIGQsIHknKTogc3RyaW5nIHtcbiAgICByZXR1cm4gZm9ybWF0RGF0ZShkYXRlLCBmb3JtYXQsICdlbi1BVScpO1xuICB9XG59XG4iXX0=
|
|
@@ -9,6 +9,9 @@ export class HoldingSale extends AssetSale {
|
|
|
9
9
|
isOneYearExemptionApplicable() {
|
|
10
10
|
return this.grossCapitalGain !== this.netCapitalGain;
|
|
11
11
|
}
|
|
12
|
+
get concession() {
|
|
13
|
+
return this.isOneYearExemptionApplicable() ? '50% (1 year rule)' : 'None';
|
|
14
|
+
}
|
|
12
15
|
getCostBase(holding) {
|
|
13
16
|
return this.getPurchasePrice(holding) + holding.fee;
|
|
14
17
|
}
|
|
@@ -24,6 +27,9 @@ export class HoldingSale extends AssetSale {
|
|
|
24
27
|
get cost() {
|
|
25
28
|
return this.price * this.quantity;
|
|
26
29
|
}
|
|
30
|
+
getMpData(type) {
|
|
31
|
+
return { holding: type.name, concession: this.concession };
|
|
32
|
+
}
|
|
27
33
|
}
|
|
28
34
|
__decorate([
|
|
29
35
|
Transform(({ value }) => ({ id: value.id }), { toPlainOnly: true })
|
|
@@ -31,4 +37,4 @@ __decorate([
|
|
|
31
37
|
__decorate([
|
|
32
38
|
Type(() => AppFile)
|
|
33
39
|
], HoldingSale.prototype, "file", void 0);
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9sZGluZy1zYWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL21vZGVscy9ob2xkaW5nL2hvbGRpbmctc2FsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVwRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJMUMsTUFBTSxPQUFPLFdBQVksU0FBUSxTQUFTO0lBWXhDOztPQUVHO0lBQ0gsNEJBQTRCO1FBQzFCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixLQUFLLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDdkQsQ0FBQztJQUVELElBQUksVUFBVTtRQUNaLE9BQU8sSUFBSSxDQUFDLDRCQUE0QixFQUFFLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDNUUsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFnQjtRQUMxQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDO0lBQ3RELENBQUM7SUFFRDs7T0FFRztJQUNILGdCQUFnQixDQUFDLE9BQWdCO1FBQy9CLE9BQU8sT0FBTyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQztJQUM5QixDQUFDO0lBRUQsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDcEMsQ0FBQztJQUVELFNBQVMsQ0FBQyxJQUFpQjtRQUN6QixPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUM3RCxDQUFDO0NBQ0Y7QUF0Q0M7SUFEQyxTQUFTLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxDQUFDOzRDQUNsRDtBQUdsQjtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUM7eUNBQ04iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUcmFuc2Zvcm0sIFR5cGUgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBIb2xkaW5nIH0gZnJvbSAnLi9ob2xkaW5nJztcbmltcG9ydCB7IEFwcEZpbGUgfSBmcm9tICcuLi9maWxlJztcbmltcG9ydCB7IEFzc2V0U2FsZSB9IGZyb20gJy4uL2Fzc2V0LXNhbGUnO1xuaW1wb3J0IHsgTXBUcmFja2FibGVJbnRlcmZhY2UgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IEhvbGRpbmdUeXBlIH0gZnJvbSAnLi9ob2xkaW5nLXR5cGUnO1xuXG5leHBvcnQgY2xhc3MgSG9sZGluZ1NhbGUgZXh0ZW5kcyBBc3NldFNhbGUgaW1wbGVtZW50cyBNcFRyYWNrYWJsZUludGVyZmFjZSB7XG4gIHF1YW50aXR5OiBudW1iZXI7XG4gIHByaWNlOiBudW1iZXI7XG4gIGZlZTogbnVtYmVyO1xuICB0b3RhbDogbnVtYmVyO1xuXG4gIEBUcmFuc2Zvcm0oKHsgdmFsdWUgfSkgPT4gKHsgaWQ6IHZhbHVlLmlkIH0pLCB7IHRvUGxhaW5Pbmx5OiB0cnVlIH0pXG4gIGhvbGRpbmc/OiBIb2xkaW5nO1xuXG4gIEBUeXBlKCgpID0+IEFwcEZpbGUpXG4gIGZpbGU6IEFwcEZpbGU7XG5cbiAgLyoqXG4gICAqIG5ldENhcGl0YWxHYWluIGlzIGRpZmZlcmVudCBmcm9tIGdyb3NzQ2FwaXRhbEdhaW4gb25seSB3aGVuIDEgeWVhciBydWxlIGFwcGxpZWRcbiAgICovXG4gIGlzT25lWWVhckV4ZW1wdGlvbkFwcGxpY2FibGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZ3Jvc3NDYXBpdGFsR2FpbiAhPT0gdGhpcy5uZXRDYXBpdGFsR2FpbjtcbiAgfVxuXG4gIGdldCBjb25jZXNzaW9uKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuaXNPbmVZZWFyRXhlbXB0aW9uQXBwbGljYWJsZSgpID8gJzUwJSAoMSB5ZWFyIHJ1bGUpJyA6ICdOb25lJztcbiAgfVxuXG4gIGdldENvc3RCYXNlKGhvbGRpbmc6IEhvbGRpbmcpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmdldFB1cmNoYXNlUHJpY2UoaG9sZGluZykgKyBob2xkaW5nLmZlZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQdXJjaGFzZSBwcmljZSBvZiBzb2xkIGl0ZW1zXG4gICAqL1xuICBnZXRQdXJjaGFzZVByaWNlKGhvbGRpbmc6IEhvbGRpbmcpOiBudW1iZXIge1xuICAgIHJldHVybiBob2xkaW5nLnByaWNlICogdGhpcy5xdWFudGl0eTtcbiAgfVxuXG4gIGdldCBuZXRDb3N0KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuY29zdCAtIHRoaXMuZmVlO1xuICB9XG5cbiAgZ2V0IGNvc3QoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5wcmljZSAqIHRoaXMucXVhbnRpdHk7XG4gIH1cblxuICBnZXRNcERhdGEodHlwZTogSG9sZGluZ1R5cGUpIHtcbiAgICByZXR1cm4geyBob2xkaW5nOiB0eXBlLm5hbWUsIGNvbmNlc3Npb246IHRoaXMuY29uY2Vzc2lvbiB9O1xuICB9XG59XG4iXX0=
|
|
@@ -39,6 +39,9 @@ export class HoldingType extends AbstractModel {
|
|
|
39
39
|
isCrypto() {
|
|
40
40
|
return this.category === HoldingTypeCategoryEnum.CRYPTO;
|
|
41
41
|
}
|
|
42
|
+
getMpData() {
|
|
43
|
+
return { category: HoldingTypeCategoryEnum[this.category], name: this.name };
|
|
44
|
+
}
|
|
42
45
|
}
|
|
43
46
|
__decorate([
|
|
44
47
|
Type(() => AppFile)
|
|
@@ -55,4 +58,4 @@ __decorate([
|
|
|
55
58
|
__decorate([
|
|
56
59
|
Type(() => HoldingTypeExchange)
|
|
57
60
|
], HoldingType.prototype, "exchange", void 0);
|
|
58
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9sZGluZy10eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL21vZGVscy9ob2xkaW5nL2hvbGRpbmctdHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDL0IsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFHbEMsTUFBTSxPQUFPLFdBQVksU0FBUSxhQUFhO0lBa0M1Qzs7T0FFRztJQUNILElBQUksYUFBYTtRQUNmLFFBQVEsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNyQixLQUFLLHVCQUF1QixDQUFDLEtBQUs7Z0JBQ2hDLE9BQU8sUUFBUSxDQUFDO1lBQ2xCLEtBQUssdUJBQXVCLENBQUMsTUFBTTtnQkFDakMsT0FBTyxTQUFTLENBQUM7WUFDbkIsS0FBSyx1QkFBdUIsQ0FBQyxXQUFXO2dCQUN0QyxPQUFPLGNBQWMsQ0FBQztZQUN4QixLQUFLLHVCQUF1QixDQUFDLGNBQWM7Z0JBQ3pDLE9BQU8sZ0JBQWdCLENBQUM7WUFDMUIsS0FBSyx1QkFBdUIsQ0FBQyxhQUFhO2dCQUN4QyxPQUFPLGVBQWUsQ0FBQztZQUN6QjtnQkFDRSxPQUFPLE9BQU8sQ0FBQztTQUNsQjtJQUNILENBQUM7SUFFRCxPQUFPO1FBQ0wsT0FBTztZQUNMLHVCQUF1QixDQUFDLFdBQVc7WUFDbkMsdUJBQXVCLENBQUMsY0FBYztZQUN0Qyx1QkFBdUIsQ0FBQyxhQUFhO1lBQ3JDLHVCQUF1QixDQUFDLEtBQUs7U0FDOUIsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFRCxPQUFPO1FBQ0wsT0FBTyxJQUFJLENBQUMsUUFBUSxLQUFLLHVCQUF1QixDQUFDLEtBQUssQ0FBQztJQUN6RCxDQUFDO0lBRUQsUUFBUTtRQUNOLE9BQU8sSUFBSSxDQUFDLFFBQVEsS0FBSyx1QkFBdUIsQ0FBQyxNQUFNLENBQUM7SUFDMUQsQ0FBQztJQUVELFNBQVM7UUFDUCxPQUFPLEVBQUUsUUFBUSxFQUFFLHVCQUF1QixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQy9FLENBQUM7Q0FDRjtBQWxEQztJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUM7eUNBQ047QUFFZDtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUM7NkRBQ2U7QUFFaEM7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDOzhDQUNBO0FBRWpCO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQzt5Q0FDTDtBQUVaO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLG1CQUFtQixDQUFDOzZDQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHlwZSB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IEhvbGRpbmdUeXBlQ2F0ZWdvcnlFbnVtIH0gZnJvbSAnLi4vLi4vZGIvRW51bXMnO1xuaW1wb3J0IHsgVXNlciB9IGZyb20gJy4uL3VzZXInO1xuaW1wb3J0IHsgQWJzdHJhY3RNb2RlbCB9IGZyb20gJy4uLy4uL2RiL01vZGVscyc7XG5pbXBvcnQgeyBIb2xkaW5nVHlwZUV4Y2hhbmdlIH0gZnJvbSAnLi9ob2xkaW5nLXR5cGUtZXhjaGFuZ2UnO1xuaW1wb3J0IHsgQXBwRmlsZSB9IGZyb20gJy4uL2ZpbGUnO1xuaW1wb3J0IHsgTXBUcmFja2FibGVJbnRlcmZhY2UgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcblxuZXhwb3J0IGNsYXNzIEhvbGRpbmdUeXBlIGV4dGVuZHMgQWJzdHJhY3RNb2RlbCBpbXBsZW1lbnRzIE1wVHJhY2thYmxlSW50ZXJmYWNlIHtcbiAgY2F0ZWdvcnk/OiBIb2xkaW5nVHlwZUNhdGVnb3J5RW51bTtcbiAgbmFtZT86IHN0cmluZztcbiAgdGlja2VyPzogc3RyaW5nO1xuICBwcmljZT86IG51bWJlcjtcbiAgb3BlblByaWNlPzogbnVtYmVyO1xuICBoaWdoUHJpY2U/OiBudW1iZXI7XG4gIGxvd1ByaWNlPzogbnVtYmVyO1xuICB2b2x1bWU/OiBudW1iZXI7XG4gIGVtYTUwZD86IG51bWJlcjtcbiAgZW1hMjAwZD86IG51bWJlcjtcbiAgaGlnaFByaWNlMjUwZD86IG51bWJlcjtcbiAgbG93UHJpY2UyNTBkPzogbnVtYmVyO1xuICBhdmdWb2x1bWUxNGQ/OiBudW1iZXI7XG4gIGF2Z1ZvbHVtZTUwZD86IG51bWJlcjtcbiAgYXZnVm9sdW1lMjAwZD86IG51bWJlcjtcbiAgbWFya2V0Q2FwPzogbnVtYmVyO1xuICBiZXRhPzogbnVtYmVyO1xuICBhZGp1c3RlZFByaWNlPzogbnVtYmVyO1xuICBpc0RlbGlzdGVkPzogYm9vbGVhbjtcbiAgcGVSYXRpbz86IG51bWJlcjtcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIGRpdmlkZW5kUGVyY2VudD86IG51bWJlcjtcbiAgQFR5cGUoKCkgPT4gQXBwRmlsZSlcbiAgZmlsZTogQXBwRmlsZTtcbiAgQFR5cGUoKCkgPT4gRGF0ZSlcbiAgbGFzdFVwZGF0ZURhdGVPbkV4Y2hhbmdlPzogRGF0ZTtcbiAgQFR5cGUoKCkgPT4gRGF0ZSlcbiAgdXBkYXRlZEF0PzogRGF0ZTtcbiAgQFR5cGUoKCkgPT4gVXNlcilcbiAgdXNlcj86IFVzZXI7XG4gIEBUeXBlKCgpID0+IEhvbGRpbmdUeXBlRXhjaGFuZ2UpXG4gIGV4Y2hhbmdlPzogSG9sZGluZ1R5cGVFeGNoYW5nZTtcblxuICAvKipcbiAgICogQFRPRE8gQWxleCBtb3ZlIHRvIHRyYW5zbGF0aW9uIGZpbGVcbiAgICovXG4gIGdldCBjYXRlZ29yeUxhYmVsKCk6IHN0cmluZyB7XG4gICAgc3dpdGNoICh0aGlzLmNhdGVnb3J5KSB7XG4gICAgICBjYXNlIEhvbGRpbmdUeXBlQ2F0ZWdvcnlFbnVtLlNUT0NLOlxuICAgICAgICByZXR1cm4gJ1NoYXJlcyc7XG4gICAgICBjYXNlIEhvbGRpbmdUeXBlQ2F0ZWdvcnlFbnVtLkNSWVBUTzpcbiAgICAgICAgcmV0dXJuICdDcnlwdG9zJztcbiAgICAgIGNhc2UgSG9sZGluZ1R5cGVDYXRlZ29yeUVudW0uQ09MTEVDVElCTEU6XG4gICAgICAgIHJldHVybiAnQ29sbGVjdGlibGVzJztcbiAgICAgIGNhc2UgSG9sZGluZ1R5cGVDYXRlZ29yeUVudW0uVU5MSVNURURfU1RPQ0s6XG4gICAgICAgIHJldHVybiAnVW5saXN0ZWQgc3RvY2snO1xuICAgICAgY2FzZSBIb2xkaW5nVHlwZUNhdGVnb3J5RW51bS5VTkxJU1RFRF9VTklUOlxuICAgICAgICByZXR1cm4gJ1VubGlzdGVkIHVuaXQnO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuICdPdGhlcic7XG4gICAgfVxuICB9XG5cbiAgaXNPdGhlcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gW1xuICAgICAgSG9sZGluZ1R5cGVDYXRlZ29yeUVudW0uQ09MTEVDVElCTEUsXG4gICAgICBIb2xkaW5nVHlwZUNhdGVnb3J5RW51bS5VTkxJU1RFRF9TVE9DSyxcbiAgICAgIEhvbGRpbmdUeXBlQ2F0ZWdvcnlFbnVtLlVOTElTVEVEX1VOSVQsXG4gICAgICBIb2xkaW5nVHlwZUNhdGVnb3J5RW51bS5PVEhFUlxuICAgIF0uaW5jbHVkZXModGhpcy5jYXRlZ29yeSk7XG4gIH1cblxuICBpc1NoYXJlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNhdGVnb3J5ID09PSBIb2xkaW5nVHlwZUNhdGVnb3J5RW51bS5TVE9DSztcbiAgfVxuXG4gIGlzQ3J5cHRvKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNhdGVnb3J5ID09PSBIb2xkaW5nVHlwZUNhdGVnb3J5RW51bS5DUllQVE87XG4gIH1cblxuICBnZXRNcERhdGEoKSB7XG4gICAgcmV0dXJuIHsgY2F0ZWdvcnk6IEhvbGRpbmdUeXBlQ2F0ZWdvcnlFbnVtW3RoaXMuY2F0ZWdvcnldLCBuYW1lOiB0aGlzLm5hbWUgfTtcbiAgfVxufVxuIl19
|
|
@@ -44,6 +44,9 @@ export class Holding extends AbstractModel {
|
|
|
44
44
|
isSold() {
|
|
45
45
|
return this.currentQuantity === 0;
|
|
46
46
|
}
|
|
47
|
+
getMpData() {
|
|
48
|
+
return { type: this.type.name, date: this.formatDate(this.date) };
|
|
49
|
+
}
|
|
47
50
|
}
|
|
48
51
|
__decorate([
|
|
49
52
|
Type(() => Date)
|
|
@@ -79,4 +82,4 @@ __decorate([
|
|
|
79
82
|
}, { toClassOnly: true }),
|
|
80
83
|
Expose({ toClassOnly: true })
|
|
81
84
|
], Holding.prototype, "category", void 0);
|
|
82
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9sZGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9tb2RlbHMvaG9sZGluZy9ob2xkaW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDMUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUMvQixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNsQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHekQsTUFBTSxPQUFPLE9BQVEsU0FBUSxhQUFhO0lBQTFDOztRQUNFLGNBQVMsR0FBRyxLQUFLLENBQUM7SUFxRnBCLENBQUM7SUF6Q0M7O09BRUc7SUFDSCxJQUFJLGFBQWE7UUFDZixxRUFBcUU7UUFDckUsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2pDLE9BQU8sQ0FBQyxDQUFDO1NBQ1Y7UUFFRCxPQUFPLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUNwQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsSUFBSSxXQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3pDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxJQUFJLGlCQUFpQjtRQUNuQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxZQUFZO1FBQ1YsTUFBTSxRQUFRLEdBQVcsSUFBSSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEdBQUcsQ0FBQztRQUVuRCxPQUFPLENBQUMsSUFBSSxhQUFhLEVBQUUsQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxHQUFHLFFBQVEsQ0FBQztJQUNwRixDQUFDO0lBRUQsTUFBTTtRQUNKLE9BQU8sSUFBSSxDQUFDLGVBQWUsS0FBSyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVELFNBQVM7UUFDUCxPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO0lBQ3BFLENBQUM7Q0FDRjtBQTdFQztJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUM7cUNBQ047QUFHWDtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUM7cUNBQ047QUFHWDtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxXQUFXLENBQUM7cUNBQ047QUFHbEI7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDO3FDQUNOO0FBSWQ7SUFGQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsV0FBVyxDQUFDO0lBQ3ZCLFNBQVMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxDQUFDLElBQUksVUFBVSxDQUFjLEtBQUssQ0FBQyxDQUFDO3NDQUM5QjtBQXFCQTtJQWY5QixTQUFTLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUU7UUFDckIsTUFBTSxJQUFJLEdBQWdCLFlBQVksQ0FBQyxXQUFXLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQzdELElBQUksSUFBSSxFQUFFO1lBQ1IsT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQTtTQUM3QztRQUNELElBQUksR0FBRyxDQUFDLFFBQVEsRUFBRTtZQUNoQixPQUFPO2dCQUNMLHVCQUF1QixDQUFDLFdBQVc7Z0JBQ25DLHVCQUF1QixDQUFDLGNBQWM7Z0JBQ3RDLHVCQUF1QixDQUFDLGFBQWE7Z0JBQ3JDLHVCQUF1QixDQUFDLEtBQUs7YUFDOUIsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUM7U0FDaEQ7UUFDRCxPQUFPLHVCQUF1QixDQUFDLEtBQUssQ0FBQztJQUN2QyxDQUFDLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFDeEIsTUFBTSxDQUFDLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxDQUFDO3lDQUFtQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV4cG9zZSwgVHJhbnNmb3JtLCBUeXBlLCBwbGFpblRvQ2xhc3MgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBVc2VyIH0gZnJvbSAnLi4vdXNlcic7XG5pbXBvcnQgeyBIb2xkaW5nVHlwZSB9IGZyb20gJy4vaG9sZGluZy10eXBlJztcbmltcG9ydCB7IEFwcEZpbGUgfSBmcm9tICcuLi9maWxlJztcbmltcG9ydCB7IEhvbGRpbmdTYWxlIH0gZnJvbSAnLi9ob2xkaW5nLXNhbGUnO1xuaW1wb3J0IHsgQ29sbGVjdGlvbiB9IGZyb20gJy4uLy4uL2NvbGxlY3Rpb25zJztcbmltcG9ydCB7IEFic3RyYWN0TW9kZWwgfSBmcm9tICcuLi8uLi9kYi9Nb2RlbHMnO1xuaW1wb3J0IHsgRmluYW5jaWFsWWVhciB9IGZyb20gJy4uL2ZpbmFuY2lhbC15ZWFyJztcbmltcG9ydCB7IEhvbGRpbmdUeXBlQ2F0ZWdvcnlFbnVtIH0gZnJvbSAnLi4vLi4vZGIvRW51bXMnO1xuaW1wb3J0IHsgTXBUcmFja2FibGVJbnRlcmZhY2UgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcblxuZXhwb3J0IGNsYXNzIEhvbGRpbmcgZXh0ZW5kcyBBYnN0cmFjdE1vZGVsIGltcGxlbWVudHMgTXBUcmFja2FibGVJbnRlcmZhY2Uge1xuICBpc1RheEZyZWUgPSBmYWxzZTtcbiAgcXVhbnRpdHk6IG51bWJlcjtcbiAgY3VycmVudFF1YW50aXR5OiBudW1iZXI7XG4gIG93bmVyc2hpcFBlcmNlbnQ/OiBudW1iZXI7XG4gIHByaWNlOiBudW1iZXI7XG4gIGZlZTogbnVtYmVyO1xuXG4gIEBUeXBlKCgpID0+IERhdGUpXG4gIGRhdGU6IERhdGU7XG5cbiAgQFR5cGUoKCkgPT4gVXNlcilcbiAgdXNlcjogVXNlcjtcblxuICBAVHlwZSgoKSA9PiBIb2xkaW5nVHlwZSlcbiAgdHlwZTogSG9sZGluZ1R5cGU7XG5cbiAgQFR5cGUoKCkgPT4gQXBwRmlsZSlcbiAgZmlsZTogQXBwRmlsZTtcblxuICBAVHlwZSgoKSA9PiBIb2xkaW5nU2FsZSlcbiAgQFRyYW5zZm9ybSgoeyB2YWx1ZSB9KSA9PiBuZXcgQ29sbGVjdGlvbjxIb2xkaW5nU2FsZT4odmFsdWUpKVxuICBzYWxlczogQ29sbGVjdGlvbjxIb2xkaW5nU2FsZT47XG5cbiAgLyoqXG4gICAqIEBUT0RPIEFydGVtL0FsZXggbG9va3MgYmFkLCBjb21lIHVwIHdpdGggYSBiZXR0ZXIgc29sdXRpb25cbiAgICogZ2V0IGN1cnJlbnQgY2F0ZWdvcnksIGluIGhvbGRpbmcgd2UgYXJlIGludGVyZXN0ZWQgaW4gMyBtYWluIGNhdGVnb3JpZXM6IHN0b2NrL2NyeXB0by9vdGhlclxuICAgKi9cbiAgQFRyYW5zZm9ybSgoeyBvYmogfSkgPT4ge1xuICAgIGNvbnN0IHR5cGU6IEhvbGRpbmdUeXBlID0gcGxhaW5Ub0NsYXNzKEhvbGRpbmdUeXBlLCBvYmoudHlwZSlcbiAgICBpZiAodHlwZSkge1xuICAgICAgcmV0dXJuIHR5cGUuaXNPdGhlcigpID8gbnVsbCA6IHR5cGUuY2F0ZWdvcnlcbiAgICB9XG4gICAgaWYgKG9iai5jYXRlZ29yeSkge1xuICAgICAgcmV0dXJuIFtcbiAgICAgICAgSG9sZGluZ1R5cGVDYXRlZ29yeUVudW0uQ09MTEVDVElCTEUsXG4gICAgICAgIEhvbGRpbmdUeXBlQ2F0ZWdvcnlFbnVtLlVOTElTVEVEX1NUT0NLLFxuICAgICAgICBIb2xkaW5nVHlwZUNhdGVnb3J5RW51bS5VTkxJU1RFRF9VTklULFxuICAgICAgICBIb2xkaW5nVHlwZUNhdGVnb3J5RW51bS5PVEhFUlxuICAgICAgXS5pbmNsdWRlcyhvYmouY2F0ZWdvcnkpID8gbnVsbCA6IG9iai5jYXRlZ29yeTtcbiAgICB9XG4gICAgcmV0dXJuIEhvbGRpbmdUeXBlQ2F0ZWdvcnlFbnVtLlNUT0NLO1xuICB9LCB7IHRvQ2xhc3NPbmx5OiB0cnVlIH0pXG4gIEBFeHBvc2UoeyB0b0NsYXNzT25seTogdHJ1ZSB9KSBjYXRlZ29yeTogSG9sZGluZ1R5cGVDYXRlZ29yeUVudW07XG5cbiAgLyoqXG4gICAqIEdldCB0b3RhbCBwdXJjaGFzaW5nIHByaWNlXG4gICAqL1xuICBnZXQgcHVyY2hhc2VWYWx1ZSgpOiBudW1iZXIge1xuICAgIC8vIFByaWNlIGFuZCBlbnRpdHkgbWF5IGJlIGVtcHR5IHdoZW4gd2UgdXNlIEhvbGRpbmdGb3JtLmN1cnJlbnRWYWx1ZVxuICAgIGlmICghdGhpcy5wcmljZSB8fCAhdGhpcy5xdWFudGl0eSkge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMucHJpY2UgKiB0aGlzLnF1YW50aXR5O1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBjdXJyZW50IG1hcmtldCBwcmljZVxuICAgKiBAVE9ETyB2aWsvYWxleCBubyBuZWVkIHRvIHBhc3MgaG9sZGluZ1R5cGUsIHNob3VsZCBjb21lIGZyb20gYmFja2VuZFxuICAgKi9cbiAgZ2V0IG1hcmtldFZhbHVlKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMucXVhbnRpdHkgKiB0aGlzLnR5cGUucHJpY2U7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHBlcmNlbnQgZGlmZmVyZW5jZSBiZXR3ZWVuIGN1cnJlbnQgYW5kIGJ1eSBwcmljZVxuICAgKiBAVE9ETyB2aWsvYWxleCBubyBuZWVkIHRvIHBhc3MgaG9sZGluZ1R5cGUsIHNob3VsZCBjb21lIGZyb20gYmFja2VuZFxuICAgKi9cbiAgZ2V0IGdyb3d0aENvZWZmaWNpZW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMudHlwZS5wcmljZSAvIHRoaXMucHJpY2UgLSAxO1xuICB9XG5cbiAgaGVsZE1vcmVZZWFyKCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHllYXJUaW1lOiBudW1iZXIgPSAxMDAwICogNjAgKiA2MCAqIDI0ICogMzY1O1xuXG4gICAgcmV0dXJuIChuZXcgRmluYW5jaWFsWWVhcigpLnN0YXJ0RGF0ZS5nZXRUaW1lKCkgLSB0aGlzLmRhdGUuZ2V0VGltZSgpKSA+IHllYXJUaW1lO1xuICB9XG5cbiAgaXNTb2xkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmN1cnJlbnRRdWFudGl0eSA9PT0gMDtcbiAgfVxuXG4gIGdldE1wRGF0YSgpIHtcbiAgICByZXR1cm4geyB0eXBlOiB0aGlzLnR5cGUubmFtZSwgZGF0ZTogdGhpcy5mb3JtYXREYXRlKHRoaXMuZGF0ZSkgfTtcbiAgfVxufVxuIl19
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { Injectable, Inject, inject, EventEmitter, NgModule, Pipe } from '@angular/core';
|
|
3
3
|
import * as i1$1 from '@angular/common';
|
|
4
|
-
import { CommonModule, CurrencyPipe, DatePipe } from '@angular/common';
|
|
4
|
+
import { formatDate, CommonModule, CurrencyPipe, DatePipe } from '@angular/common';
|
|
5
5
|
import * as i1 from '@angular/common/http';
|
|
6
6
|
import { HttpParams, HttpErrorResponse, HTTP_INTERCEPTORS } from '@angular/common/http';
|
|
7
7
|
import { map, mergeMap, filter, first as first$1, catchError, skip, take, switchMap, finalize, debounceTime, distinctUntilChanged, delay } from 'rxjs/operators';
|
|
@@ -172,6 +172,9 @@ class AbstractModel {
|
|
|
172
172
|
hasValue(value, path = 'id') {
|
|
173
173
|
return get(path) === value;
|
|
174
174
|
}
|
|
175
|
+
formatDate(date, format = 'MMM d, y') {
|
|
176
|
+
return formatDate(date, format, 'en-AU');
|
|
177
|
+
}
|
|
175
178
|
}
|
|
176
179
|
|
|
177
180
|
let Country$1 = class Country extends AbstractModel {
|
|
@@ -8223,16 +8226,17 @@ class VehicleExpense extends AbstractModel {
|
|
|
8223
8226
|
}
|
|
8224
8227
|
|
|
8225
8228
|
class VehicleExpenseCollection extends Collection {
|
|
8226
|
-
constructor(transactions, depreciations
|
|
8229
|
+
constructor(transactions, depreciations) {
|
|
8227
8230
|
super();
|
|
8228
|
-
this.setItems(transactions, depreciations
|
|
8231
|
+
this.setItems(transactions, depreciations);
|
|
8229
8232
|
}
|
|
8230
|
-
setItems(transactions, depreciations
|
|
8233
|
+
setItems(transactions, depreciations) {
|
|
8234
|
+
var _a, _b;
|
|
8231
8235
|
this.items = [];
|
|
8232
8236
|
const transactionsByChartAccounts = transactions.groupBy('chartAccounts.name');
|
|
8233
|
-
const transactionExpenses = transactionsByChartAccounts.keys.map((chartAccountsName) => new VehicleExpense(transactionsByChartAccounts.get(chartAccountsName).amount,
|
|
8237
|
+
const transactionExpenses = transactionsByChartAccounts.keys.map((chartAccountsName) => new VehicleExpense(transactionsByChartAccounts.get(chartAccountsName).amount, transactionsByChartAccounts.get(chartAccountsName).first.claimPercent, chartAccountsName));
|
|
8234
8238
|
// group all depreciations into one expense item
|
|
8235
|
-
const depreciationExpense = new VehicleExpense(-depreciations.getCurrentYearForecastAmount(),
|
|
8239
|
+
const depreciationExpense = new VehicleExpense(-depreciations.getCurrentYearForecastAmount(), (_b = (_a = depreciations.first) === null || _a === void 0 ? void 0 : _a.claimPercent) !== null && _b !== void 0 ? _b : 0, 'Depreciation');
|
|
8236
8240
|
this.items.push(...[depreciationExpense, ...transactionExpenses]);
|
|
8237
8241
|
}
|
|
8238
8242
|
}
|
|
@@ -9341,7 +9345,7 @@ class HoldingSaleCollection extends ExportableCollection {
|
|
|
9341
9345
|
plainToClass(ExportCell, { value: sale.totalCapitalGain, type: ExportCellTypeEnum.CURRENCY }),
|
|
9342
9346
|
plainToClass(ExportCell, { value: sale.grossCapitalGain, type: ExportCellTypeEnum.CURRENCY }),
|
|
9343
9347
|
plainToClass(ExportCell, {
|
|
9344
|
-
value: sale.
|
|
9348
|
+
value: sale.concession,
|
|
9345
9349
|
type: ExportCellTypeEnum.STRING
|
|
9346
9350
|
}),
|
|
9347
9351
|
];
|
|
@@ -10206,6 +10210,9 @@ class HoldingType extends AbstractModel {
|
|
|
10206
10210
|
isCrypto() {
|
|
10207
10211
|
return this.category === HoldingTypeCategoryEnum.CRYPTO;
|
|
10208
10212
|
}
|
|
10213
|
+
getMpData() {
|
|
10214
|
+
return { category: HoldingTypeCategoryEnum[this.category], name: this.name };
|
|
10215
|
+
}
|
|
10209
10216
|
}
|
|
10210
10217
|
__decorate([
|
|
10211
10218
|
Type(() => AppFile)
|
|
@@ -10230,6 +10237,9 @@ class HoldingSale extends AssetSale {
|
|
|
10230
10237
|
isOneYearExemptionApplicable() {
|
|
10231
10238
|
return this.grossCapitalGain !== this.netCapitalGain;
|
|
10232
10239
|
}
|
|
10240
|
+
get concession() {
|
|
10241
|
+
return this.isOneYearExemptionApplicable() ? '50% (1 year rule)' : 'None';
|
|
10242
|
+
}
|
|
10233
10243
|
getCostBase(holding) {
|
|
10234
10244
|
return this.getPurchasePrice(holding) + holding.fee;
|
|
10235
10245
|
}
|
|
@@ -10245,6 +10255,9 @@ class HoldingSale extends AssetSale {
|
|
|
10245
10255
|
get cost() {
|
|
10246
10256
|
return this.price * this.quantity;
|
|
10247
10257
|
}
|
|
10258
|
+
getMpData(type) {
|
|
10259
|
+
return { holding: type.name, concession: this.concession };
|
|
10260
|
+
}
|
|
10248
10261
|
}
|
|
10249
10262
|
__decorate([
|
|
10250
10263
|
Transform(({ value }) => ({ id: value.id }), { toPlainOnly: true })
|
|
@@ -10289,6 +10302,9 @@ class Holding extends AbstractModel {
|
|
|
10289
10302
|
isSold() {
|
|
10290
10303
|
return this.currentQuantity === 0;
|
|
10291
10304
|
}
|
|
10305
|
+
getMpData() {
|
|
10306
|
+
return { type: this.type.name, date: this.formatDate(this.date) };
|
|
10307
|
+
}
|
|
10292
10308
|
}
|
|
10293
10309
|
__decorate([
|
|
10294
10310
|
Type(() => Date)
|