taxtank-core 0.10.4 → 0.10.5

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.
Files changed (23) hide show
  1. package/bundles/taxtank-core.umd.js +926 -1122
  2. package/bundles/taxtank-core.umd.js.map +1 -1
  3. package/esm2015/lib/collections/collection-dictionary.js +6 -6
  4. package/esm2015/lib/models/depreciation/depreciation.js +3 -3
  5. package/esm2015/public-api.js +1 -6
  6. package/fesm2015/taxtank-core.js +675 -843
  7. package/fesm2015/taxtank-core.js.map +1 -1
  8. package/lib/collections/collection-dictionary.d.ts +1 -1
  9. package/lib/models/depreciation/depreciation.d.ts +1 -1
  10. package/package.json +1 -1
  11. package/public-api.d.ts +0 -5
  12. package/esm2015/lib/collections/report/property/property-report-item-depreciation.collection.js +0 -19
  13. package/esm2015/lib/collections/report/property/property-report-item-transaction.collection.js +0 -19
  14. package/esm2015/lib/models/report/property/property-report-item-depreciation.js +0 -13
  15. package/esm2015/lib/models/report/property/property-report-item-transaction.js +0 -12
  16. package/esm2015/lib/models/report/property/property-report-item.js +0 -18
  17. package/esm2015/lib/services/report/property/property-transaction-report.service.js +0 -112
  18. package/lib/collections/report/property/property-report-item-depreciation.collection.d.ts +0 -12
  19. package/lib/collections/report/property/property-report-item-transaction.collection.d.ts +0 -12
  20. package/lib/models/report/property/property-report-item-depreciation.d.ts +0 -10
  21. package/lib/models/report/property/property-report-item-transaction.d.ts +0 -10
  22. package/lib/models/report/property/property-report-item.d.ts +0 -18
  23. package/lib/services/report/property/property-transaction-report.service.d.ts +0 -49
@@ -18,7 +18,7 @@ export declare class CollectionDictionary<Collection extends BaseCollection<obje
18
18
  * @param path Path to the property to be grouped (Examples: 'transaction', 'property.category')
19
19
  * @param prop Optional: Field to group by (Default 'id', Examples: 'id', 'amount', 'date')
20
20
  */
21
- constructor(collection: Collection, path?: string);
21
+ constructor(collection: Collection, path?: string, prop?: string);
22
22
  /**
23
23
  * List of collections keys
24
24
  */
@@ -62,6 +62,6 @@ export declare class Depreciation extends DepreciationBase implements ITank, IRe
62
62
  /**
63
63
  * Create a new transaction from current depreciation
64
64
  */
65
- toTransaction(params?: {}): Transaction;
65
+ toTransaction(): Transaction;
66
66
  get claimAmount(): number;
67
67
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "taxtank-core",
3
- "version": "0.10.4",
3
+ "version": "0.10.5",
4
4
  "private": false,
5
5
  "peerDependencies": {
6
6
  "@angular/common": "^12.2.3 || ~13.0.0",
package/public-api.d.ts CHANGED
@@ -23,8 +23,6 @@ export * from './lib/collections/message-document.collection';
23
23
  export * from './lib/collections/property/property.collection';
24
24
  export * from './lib/collections/report/depreciation/depreciation-lvp-report-item.collection';
25
25
  export * from './lib/collections/report/depreciation/depreciation-report-item.collection';
26
- export * from './lib/collections/report/property/property-report-item-transaction.collection';
27
- export * from './lib/collections/report/property/property-report-item-depreciation.collection';
28
26
  export * from './lib/collections/service-price.collection';
29
27
  export * from './lib/collections/service-subscription.collection';
30
28
  export * from './lib/collections/tax-summary/report-item.collection';
@@ -225,8 +223,6 @@ export * from './lib/models/registration-invite/registration-invite';
225
223
  export * from './lib/models/report/depreciation/depreciation-lvp-report-item';
226
224
  export * from './lib/models/report/depreciation/depreciation-report-item';
227
225
  export * from './lib/models/report/depreciation/depreciation-lvp-asset-type.enum';
228
- export * from './lib/models/report/property/property-report-item';
229
- export * from './lib/models/report/property/property-report-item-transaction';
230
226
  export * from './lib/models/service-subscription/module-url-list.const';
231
227
  export * from './lib/models/service-subscription/service-payment';
232
228
  export * from './lib/models/service-subscription/service-price';
@@ -304,7 +300,6 @@ export * from './lib/services/http/loan/loan.service';
304
300
  export * from './lib/services/http/service-notification/service-notification.service';
305
301
  export * from './lib/services/pdf/pdf.service';
306
302
  export * from './lib/services/preloader/preloader.service';
307
- export * from './lib/services/report/property/property-transaction-report.service';
308
303
  export * from './lib/services/property/corelogic/corelogic.service';
309
304
  export * from './lib/services/http/property/property.service';
310
305
  export * from './lib/services/property/property-calculation/property-calculation.service';
@@ -1,19 +0,0 @@
1
- import { Collection } from '../../collection';
2
- import { CollectionDictionary } from '../../collection-dictionary';
3
- import { PropertyReportItemDepreciation } from '../../../models/report/property/property-report-item-depreciation';
4
- /**
5
- * Collection to work with depreciation-based property report items
6
- */
7
- export class PropertyReportItemDepreciationCollection extends Collection {
8
- constructor(depreciations, property, chartAccounts) {
9
- super();
10
- this.setItems(depreciations, property, chartAccounts);
11
- }
12
- setItems(depreciations, property, chartAccounts) {
13
- const depreciationsbyType = new CollectionDictionary(depreciations, 'type');
14
- this.items = depreciationsbyType.keys.map((type) => {
15
- return new PropertyReportItemDepreciation(depreciationsbyType.get(type), property, chartAccounts.getById(depreciationsbyType.get(type).first.chartAccounts.id));
16
- });
17
- }
18
- }
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktcmVwb3J0LWl0ZW0tZGVwcmVjaWF0aW9uLmNvbGxlY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvY29sbGVjdGlvbnMvcmVwb3J0L3Byb3BlcnR5L3Byb3BlcnR5LXJlcG9ydC1pdGVtLWRlcHJlY2lhdGlvbi5jb2xsZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUs5QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxtRUFBbUUsQ0FBQztBQUVuSDs7R0FFRztBQUNILE1BQU0sT0FBTyx3Q0FBeUMsU0FBUSxVQUE4QjtJQUMxRixZQUNFLGFBQXFDLEVBQ3JDLFFBQWtCLEVBQ2xCLGFBQXdDO1FBRXhDLEtBQUssRUFBRSxDQUFDO1FBQ1IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEVBQUUsUUFBUSxFQUFFLGFBQWEsQ0FBQyxDQUFBO0lBQ3ZELENBQUM7SUFFTyxRQUFRLENBQUMsYUFBcUMsRUFBRSxRQUFrQixFQUFFLGFBQXdDO1FBQ2xILE1BQU0sbUJBQW1CLEdBQWlELElBQUksb0JBQW9CLENBQ2hHLGFBQWEsRUFDYixNQUFNLENBQ1AsQ0FBQztRQUVGLElBQUksQ0FBQyxLQUFLLEdBQUcsbUJBQW1CLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQVksRUFBRSxFQUFFO1lBQ3pELE9BQU8sSUFBSSw4QkFBOEIsQ0FDdkMsbUJBQW1CLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUM3QixRQUFRLEVBQ1IsYUFBYSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsQ0FDNUUsQ0FBQTtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29sbGVjdGlvbiB9IGZyb20gJy4uLy4uL2NvbGxlY3Rpb24nO1xuaW1wb3J0IHsgUHJvcGVydHlSZXBvcnRJdGVtIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL3JlcG9ydC9wcm9wZXJ0eS9wcm9wZXJ0eS1yZXBvcnQtaXRlbSc7XG5pbXBvcnQgeyBQcm9wZXJ0eSB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9wcm9wZXJ0eS9wcm9wZXJ0eSc7XG5pbXBvcnQgeyBDaGFydEFjY291bnRzIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2NoYXJ0LWFjY291bnRzL2NoYXJ0LWFjY291bnRzJztcbmltcG9ydCB7IERlcHJlY2lhdGlvbkNvbGxlY3Rpb24gfSBmcm9tICcuLi8uLi9kZXByZWNpYXRpb24uY29sbGVjdGlvbic7XG5pbXBvcnQgeyBDb2xsZWN0aW9uRGljdGlvbmFyeSB9IGZyb20gJy4uLy4uL2NvbGxlY3Rpb24tZGljdGlvbmFyeSc7XG5pbXBvcnQgeyBQcm9wZXJ0eVJlcG9ydEl0ZW1EZXByZWNpYXRpb24gfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvcmVwb3J0L3Byb3BlcnR5L3Byb3BlcnR5LXJlcG9ydC1pdGVtLWRlcHJlY2lhdGlvbic7XG5cbi8qKlxuICogQ29sbGVjdGlvbiB0byB3b3JrIHdpdGggZGVwcmVjaWF0aW9uLWJhc2VkIHByb3BlcnR5IHJlcG9ydCBpdGVtc1xuICovXG5leHBvcnQgY2xhc3MgUHJvcGVydHlSZXBvcnRJdGVtRGVwcmVjaWF0aW9uQ29sbGVjdGlvbiBleHRlbmRzIENvbGxlY3Rpb248UHJvcGVydHlSZXBvcnRJdGVtPiB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIGRlcHJlY2lhdGlvbnM6IERlcHJlY2lhdGlvbkNvbGxlY3Rpb24sXG4gICAgcHJvcGVydHk6IFByb3BlcnR5LFxuICAgIGNoYXJ0QWNjb3VudHM6IENvbGxlY3Rpb248Q2hhcnRBY2NvdW50cz5cbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLnNldEl0ZW1zKGRlcHJlY2lhdGlvbnMsIHByb3BlcnR5LCBjaGFydEFjY291bnRzKVxuICB9XG5cbiAgcHJpdmF0ZSBzZXRJdGVtcyhkZXByZWNpYXRpb25zOiBEZXByZWNpYXRpb25Db2xsZWN0aW9uLCBwcm9wZXJ0eTogUHJvcGVydHksIGNoYXJ0QWNjb3VudHM6IENvbGxlY3Rpb248Q2hhcnRBY2NvdW50cz4pOiB2b2lkIHtcbiAgICBjb25zdCBkZXByZWNpYXRpb25zYnlUeXBlOiBDb2xsZWN0aW9uRGljdGlvbmFyeTxEZXByZWNpYXRpb25Db2xsZWN0aW9uPiA9IG5ldyBDb2xsZWN0aW9uRGljdGlvbmFyeTxEZXByZWNpYXRpb25Db2xsZWN0aW9uPihcbiAgICAgIGRlcHJlY2lhdGlvbnMsXG4gICAgICAndHlwZSdcbiAgICApO1xuXG4gICAgdGhpcy5pdGVtcyA9IGRlcHJlY2lhdGlvbnNieVR5cGUua2V5cy5tYXAoKHR5cGU6IHN0cmluZykgPT4ge1xuICAgICAgcmV0dXJuIG5ldyBQcm9wZXJ0eVJlcG9ydEl0ZW1EZXByZWNpYXRpb24oXG4gICAgICAgIGRlcHJlY2lhdGlvbnNieVR5cGUuZ2V0KHR5cGUpLFxuICAgICAgICBwcm9wZXJ0eSxcbiAgICAgICAgY2hhcnRBY2NvdW50cy5nZXRCeUlkKGRlcHJlY2lhdGlvbnNieVR5cGUuZ2V0KHR5cGUpLmZpcnN0LmNoYXJ0QWNjb3VudHMuaWQpXG4gICAgICApXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -1,19 +0,0 @@
1
- import { Collection } from '../../collection';
2
- import { CollectionDictionary } from '../../collection-dictionary';
3
- import { PropertyReportItemTransaction } from '../../../models/report/property/property-report-item-transaction';
4
- /**
5
- * Collection to work with transaction-based property report items
6
- */
7
- export class PropertyReportItemTransactionCollection extends Collection {
8
- constructor(transactions, property, chartAccounts) {
9
- super();
10
- this.setItems(transactions, property, chartAccounts);
11
- }
12
- setItems(transactions, property, chartAccounts) {
13
- const transactionsDictionary = new CollectionDictionary(transactions, 'chartAccounts.id');
14
- this.items = transactionsDictionary.keys.map((chartAccountId) => {
15
- return new PropertyReportItemTransaction(transactionsDictionary.get(chartAccountId), property, chartAccounts.getById(+chartAccountId));
16
- });
17
- }
18
- }
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktcmVwb3J0LWl0ZW0tdHJhbnNhY3Rpb24uY29sbGVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9jb2xsZWN0aW9ucy9yZXBvcnQvcHJvcGVydHkvcHJvcGVydHktcmVwb3J0LWl0ZW0tdHJhbnNhY3Rpb24uY29sbGVjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFLOUMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDbkUsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sa0VBQWtFLENBQUM7QUFFakg7O0dBRUc7QUFDSCxNQUFNLE9BQU8sdUNBQXdDLFNBQVEsVUFBOEI7SUFDekYsWUFDRSxZQUFtQyxFQUNuQyxRQUFrQixFQUNsQixhQUF3QztRQUV4QyxLQUFLLEVBQUUsQ0FBQztRQUNSLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxFQUFFLFFBQVEsRUFBRSxhQUFhLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRU8sUUFBUSxDQUFDLFlBQW1DLEVBQUUsUUFBa0IsRUFBRSxhQUF3QztRQUNoSCxNQUFNLHNCQUFzQixHQUFnRCxJQUFJLG9CQUFvQixDQUNsRyxZQUFZLEVBQ1osa0JBQWtCLENBQ25CLENBQUM7UUFFRixJQUFJLENBQUMsS0FBSyxHQUFHLHNCQUFzQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxjQUFzQixFQUFFLEVBQUU7WUFDdEUsT0FBTyxJQUFJLDZCQUE2QixDQUN0QyxzQkFBc0IsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLEVBQzFDLFFBQVEsRUFDUixhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQ3ZDLENBQUE7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbGxlY3Rpb24gfSBmcm9tICcuLi8uLi9jb2xsZWN0aW9uJztcbmltcG9ydCB7IFByb3BlcnR5UmVwb3J0SXRlbSB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9yZXBvcnQvcHJvcGVydHkvcHJvcGVydHktcmVwb3J0LWl0ZW0nO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25Db2xsZWN0aW9uIH0gZnJvbSAnLi4vLi4vdHJhbnNhY3Rpb24uY29sbGVjdGlvbic7XG5pbXBvcnQgeyBQcm9wZXJ0eSB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9wcm9wZXJ0eS9wcm9wZXJ0eSc7XG5pbXBvcnQgeyBDaGFydEFjY291bnRzIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2NoYXJ0LWFjY291bnRzL2NoYXJ0LWFjY291bnRzJztcbmltcG9ydCB7IENvbGxlY3Rpb25EaWN0aW9uYXJ5IH0gZnJvbSAnLi4vLi4vY29sbGVjdGlvbi1kaWN0aW9uYXJ5JztcbmltcG9ydCB7IFByb3BlcnR5UmVwb3J0SXRlbVRyYW5zYWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL3JlcG9ydC9wcm9wZXJ0eS9wcm9wZXJ0eS1yZXBvcnQtaXRlbS10cmFuc2FjdGlvbic7XG5cbi8qKlxuICogQ29sbGVjdGlvbiB0byB3b3JrIHdpdGggdHJhbnNhY3Rpb24tYmFzZWQgcHJvcGVydHkgcmVwb3J0IGl0ZW1zXG4gKi9cbmV4cG9ydCBjbGFzcyBQcm9wZXJ0eVJlcG9ydEl0ZW1UcmFuc2FjdGlvbkNvbGxlY3Rpb24gZXh0ZW5kcyBDb2xsZWN0aW9uPFByb3BlcnR5UmVwb3J0SXRlbT4ge1xuICBjb25zdHJ1Y3RvcihcbiAgICB0cmFuc2FjdGlvbnM6IFRyYW5zYWN0aW9uQ29sbGVjdGlvbixcbiAgICBwcm9wZXJ0eTogUHJvcGVydHksXG4gICAgY2hhcnRBY2NvdW50czogQ29sbGVjdGlvbjxDaGFydEFjY291bnRzPlxuICApIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuc2V0SXRlbXModHJhbnNhY3Rpb25zLCBwcm9wZXJ0eSwgY2hhcnRBY2NvdW50cyk7XG4gIH1cblxuICBwcml2YXRlIHNldEl0ZW1zKHRyYW5zYWN0aW9uczogVHJhbnNhY3Rpb25Db2xsZWN0aW9uLCBwcm9wZXJ0eTogUHJvcGVydHksIGNoYXJ0QWNjb3VudHM6IENvbGxlY3Rpb248Q2hhcnRBY2NvdW50cz4pOiB2b2lkIHtcbiAgICBjb25zdCB0cmFuc2FjdGlvbnNEaWN0aW9uYXJ5OiBDb2xsZWN0aW9uRGljdGlvbmFyeTxUcmFuc2FjdGlvbkNvbGxlY3Rpb24+ID0gbmV3IENvbGxlY3Rpb25EaWN0aW9uYXJ5PFRyYW5zYWN0aW9uQ29sbGVjdGlvbj4oXG4gICAgICB0cmFuc2FjdGlvbnMsXG4gICAgICAnY2hhcnRBY2NvdW50cy5pZCdcbiAgICApO1xuXG4gICAgdGhpcy5pdGVtcyA9IHRyYW5zYWN0aW9uc0RpY3Rpb25hcnkua2V5cy5tYXAoKGNoYXJ0QWNjb3VudElkOiBzdHJpbmcpID0+IHtcbiAgICAgIHJldHVybiBuZXcgUHJvcGVydHlSZXBvcnRJdGVtVHJhbnNhY3Rpb24oXG4gICAgICAgIHRyYW5zYWN0aW9uc0RpY3Rpb25hcnkuZ2V0KGNoYXJ0QWNjb3VudElkKSxcbiAgICAgICAgcHJvcGVydHksXG4gICAgICAgIGNoYXJ0QWNjb3VudHMuZ2V0QnlJZCgrY2hhcnRBY2NvdW50SWQpXG4gICAgICApXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -1,13 +0,0 @@
1
- import { PropertyReportItem } from './property-report-item';
2
- import { DepreciationTypeEnum } from '../../../db/Enums/depreciation-type.enum';
3
- /**
4
- * Class with depreciation-based property transactions report entities
5
- */
6
- export class PropertyReportItemDepreciation extends PropertyReportItem {
7
- constructor(depreciations, property, chartAccounts) {
8
- super(property, chartAccounts);
9
- this.amount = depreciations.getCurrentYearForecastAmount();
10
- this.description = DepreciationTypeEnum[depreciations.first.type];
11
- }
12
- }
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktcmVwb3J0LWl0ZW0tZGVwcmVjaWF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL21vZGVscy9yZXBvcnQvcHJvcGVydHkvcHJvcGVydHktcmVwb3J0LWl0ZW0tZGVwcmVjaWF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBSTVELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBRWhGOztHQUVHO0FBQ0gsTUFBTSxPQUFPLDhCQUErQixTQUFRLGtCQUFrQjtJQUNwRSxZQUNFLGFBQXFDLEVBQ3JDLFFBQWtCLEVBQ2xCLGFBQTRCO1FBRTVCLEtBQUssQ0FBQyxRQUFRLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFDL0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxhQUFhLENBQUMsNEJBQTRCLEVBQUUsQ0FBQztRQUMzRCxJQUFJLENBQUMsV0FBVyxHQUFJLG9CQUFvQixDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDcEUsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUHJvcGVydHlSZXBvcnRJdGVtIH0gZnJvbSAnLi9wcm9wZXJ0eS1yZXBvcnQtaXRlbSc7XG5pbXBvcnQgeyBQcm9wZXJ0eSB9IGZyb20gJy4uLy4uL3Byb3BlcnR5L3Byb3BlcnR5JztcbmltcG9ydCB7IENoYXJ0QWNjb3VudHMgfSBmcm9tICcuLi8uLi9jaGFydC1hY2NvdW50cy9jaGFydC1hY2NvdW50cyc7XG5pbXBvcnQgeyBEZXByZWNpYXRpb25Db2xsZWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vY29sbGVjdGlvbnMvZGVwcmVjaWF0aW9uLmNvbGxlY3Rpb24nO1xuaW1wb3J0IHsgRGVwcmVjaWF0aW9uVHlwZUVudW0gfSBmcm9tICcuLi8uLi8uLi9kYi9FbnVtcy9kZXByZWNpYXRpb24tdHlwZS5lbnVtJztcblxuLyoqXG4gKiBDbGFzcyB3aXRoIGRlcHJlY2lhdGlvbi1iYXNlZCBwcm9wZXJ0eSB0cmFuc2FjdGlvbnMgcmVwb3J0IGVudGl0aWVzXG4gKi9cbmV4cG9ydCBjbGFzcyBQcm9wZXJ0eVJlcG9ydEl0ZW1EZXByZWNpYXRpb24gZXh0ZW5kcyBQcm9wZXJ0eVJlcG9ydEl0ZW0ge1xuICBjb25zdHJ1Y3RvcihcbiAgICBkZXByZWNpYXRpb25zOiBEZXByZWNpYXRpb25Db2xsZWN0aW9uLFxuICAgIHByb3BlcnR5OiBQcm9wZXJ0eSxcbiAgICBjaGFydEFjY291bnRzOiBDaGFydEFjY291bnRzXG4gICkge1xuICAgIHN1cGVyKHByb3BlcnR5LCBjaGFydEFjY291bnRzKTtcbiAgICB0aGlzLmFtb3VudCA9IGRlcHJlY2lhdGlvbnMuZ2V0Q3VycmVudFllYXJGb3JlY2FzdEFtb3VudCgpO1xuICAgIHRoaXMuZGVzY3JpcHRpb24gPSAgRGVwcmVjaWF0aW9uVHlwZUVudW1bZGVwcmVjaWF0aW9ucy5maXJzdC50eXBlXVxuICB9XG59XG4iXX0=
@@ -1,12 +0,0 @@
1
- import { PropertyReportItem } from './property-report-item';
2
- /**
3
- * Class with transaction-based property transactions report entities
4
- */
5
- export class PropertyReportItemTransaction extends PropertyReportItem {
6
- constructor(transactions, property, chartAccounts) {
7
- super(property, chartAccounts);
8
- this.amount = transactions.amount;
9
- this.description = chartAccounts.name;
10
- }
11
- }
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktcmVwb3J0LWl0ZW0tdHJhbnNhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvbW9kZWxzL3JlcG9ydC9wcm9wZXJ0eS9wcm9wZXJ0eS1yZXBvcnQtaXRlbS10cmFuc2FjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUs1RDs7R0FFRztBQUNILE1BQU0sT0FBTyw2QkFBOEIsU0FBUSxrQkFBa0I7SUFDbkUsWUFDRSxZQUFtQyxFQUNuQyxRQUFrQixFQUNsQixhQUE0QjtRQUU1QixLQUFLLENBQUMsUUFBUSxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBQy9CLElBQUksQ0FBQyxNQUFNLEdBQUcsWUFBWSxDQUFDLE1BQU0sQ0FBQztRQUNsQyxJQUFJLENBQUMsV0FBVyxHQUFHLGFBQWEsQ0FBQyxJQUFJLENBQUE7SUFDdkMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUHJvcGVydHlSZXBvcnRJdGVtIH0gZnJvbSAnLi9wcm9wZXJ0eS1yZXBvcnQtaXRlbSc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkNvbGxlY3Rpb24gfSBmcm9tICcuLi8uLi8uLi9jb2xsZWN0aW9ucy90cmFuc2FjdGlvbi5jb2xsZWN0aW9uJztcbmltcG9ydCB7IFByb3BlcnR5IH0gZnJvbSAnLi4vLi4vcHJvcGVydHkvcHJvcGVydHknO1xuaW1wb3J0IHsgQ2hhcnRBY2NvdW50cyB9IGZyb20gJy4uLy4uL2NoYXJ0LWFjY291bnRzL2NoYXJ0LWFjY291bnRzJztcblxuLyoqXG4gKiBDbGFzcyB3aXRoIHRyYW5zYWN0aW9uLWJhc2VkIHByb3BlcnR5IHRyYW5zYWN0aW9ucyByZXBvcnQgZW50aXRpZXNcbiAqL1xuZXhwb3J0IGNsYXNzIFByb3BlcnR5UmVwb3J0SXRlbVRyYW5zYWN0aW9uIGV4dGVuZHMgUHJvcGVydHlSZXBvcnRJdGVtIHtcbiAgY29uc3RydWN0b3IoXG4gICAgdHJhbnNhY3Rpb25zOiBUcmFuc2FjdGlvbkNvbGxlY3Rpb24sXG4gICAgcHJvcGVydHk6IFByb3BlcnR5LFxuICAgIGNoYXJ0QWNjb3VudHM6IENoYXJ0QWNjb3VudHNcbiAgKSB7XG4gICAgc3VwZXIocHJvcGVydHksIGNoYXJ0QWNjb3VudHMpO1xuICAgIHRoaXMuYW1vdW50ID0gdHJhbnNhY3Rpb25zLmFtb3VudDtcbiAgICB0aGlzLmRlc2NyaXB0aW9uID0gY2hhcnRBY2NvdW50cy5uYW1lXG4gIH1cbn1cbiJdfQ==
@@ -1,18 +0,0 @@
1
- /**
2
- * Class with property transactions report entities
3
- */
4
- export class PropertyReportItem {
5
- constructor(property, chartAccounts) {
6
- this.claimPercent = property.claimPercent;
7
- this.sharePercent = property.sharePercent;
8
- this.subCode = chartAccounts.taxReturnItem.subCode;
9
- this.description = chartAccounts.name;
10
- }
11
- get claimAmount() {
12
- return +(this.amount * (this.claimPercent / 100)).toFixed(2);
13
- }
14
- get shareClaimAmount() {
15
- return this.claimAmount * (this.sharePercent / 100);
16
- }
17
- }
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktcmVwb3J0LWl0ZW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvbW9kZWxzL3JlcG9ydC9wcm9wZXJ0eS9wcm9wZXJ0eS1yZXBvcnQtaXRlbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQTs7R0FFRztBQUNILE1BQU0sT0FBTyxrQkFBa0I7SUFXN0IsWUFDRSxRQUFrQixFQUNsQixhQUE0QjtRQUU1QixJQUFJLENBQUMsWUFBWSxHQUFHLFFBQVEsQ0FBQyxZQUFZLENBQUM7UUFDMUMsSUFBSSxDQUFDLFlBQVksR0FBRyxRQUFRLENBQUMsWUFBWSxDQUFDO1FBQzFDLElBQUksQ0FBQyxPQUFPLEdBQUcsYUFBYSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUM7UUFDbkQsSUFBSSxDQUFDLFdBQVcsR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFBO0lBQ3ZDLENBQUM7SUFFRCxJQUFJLFdBQVc7UUFDYixPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxDQUFDLFlBQVksR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRUQsSUFBSSxnQkFBZ0I7UUFDbEIsT0FBTyxJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsSUFBSSxDQUFDLFlBQVksR0FBRyxHQUFHLENBQUMsQ0FBQztJQUN0RCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQcm9wZXJ0eSB9IGZyb20gJy4uLy4uL3Byb3BlcnR5L3Byb3BlcnR5JztcbmltcG9ydCB7IENoYXJ0QWNjb3VudHMgfSBmcm9tICcuLi8uLi9jaGFydC1hY2NvdW50cy9jaGFydC1hY2NvdW50cyc7XG5cbi8qKlxuICogQ2xhc3Mgd2l0aCBwcm9wZXJ0eSB0cmFuc2FjdGlvbnMgcmVwb3J0IGVudGl0aWVzXG4gKi9cbmV4cG9ydCBjbGFzcyBQcm9wZXJ0eVJlcG9ydEl0ZW0ge1xuICBhbW91bnQ6IG51bWJlcjtcbiAgZGVzY3JpcHRpb246IHN0cmluZztcblxuICAvKipcbiAgICogVGF4IHJldHVybiBpdGVtIHN1Yi1jb2RlXG4gICAqL1xuICBzdWJDb2RlOiBzdHJpbmc7XG4gIHNoYXJlUGVyY2VudDogbnVtYmVyO1xuICBjbGFpbVBlcmNlbnQ6IG51bWJlcjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcm9wZXJ0eTogUHJvcGVydHksXG4gICAgY2hhcnRBY2NvdW50czogQ2hhcnRBY2NvdW50c1xuICApIHtcbiAgICB0aGlzLmNsYWltUGVyY2VudCA9IHByb3BlcnR5LmNsYWltUGVyY2VudDtcbiAgICB0aGlzLnNoYXJlUGVyY2VudCA9IHByb3BlcnR5LnNoYXJlUGVyY2VudDtcbiAgICB0aGlzLnN1YkNvZGUgPSBjaGFydEFjY291bnRzLnRheFJldHVybkl0ZW0uc3ViQ29kZTtcbiAgICB0aGlzLmRlc2NyaXB0aW9uID0gY2hhcnRBY2NvdW50cy5uYW1lXG4gIH1cblxuICBnZXQgY2xhaW1BbW91bnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKyh0aGlzLmFtb3VudCAqICh0aGlzLmNsYWltUGVyY2VudCAvIDEwMCkpLnRvRml4ZWQoMik7XG4gIH1cblxuICBnZXQgc2hhcmVDbGFpbUFtb3VudCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmNsYWltQW1vdW50ICogKHRoaXMuc2hhcmVQZXJjZW50IC8gMTAwKTtcbiAgfVxufVxuIl19
@@ -1,112 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { combineLatest } from 'rxjs';
3
- import { DepreciationCollection } from '../../../collections/depreciation.collection';
4
- import { CHART_ACCOUNTS_CATEGORIES } from '../../../models/chart-accounts/chart-accounts-categories.const';
5
- import { Collection } from '../../../collections/collection';
6
- import { CollectionDictionary } from '../../../collections/collection-dictionary';
7
- import { TransactionCollection } from '../../../collections/transaction.collection';
8
- import { map } from 'rxjs/operators';
9
- import { PropertyCollection } from '../../../collections/property/property.collection';
10
- import { PropertyReportItemTransactionCollection } from '../../../collections/report/property/property-report-item-transaction.collection';
11
- import { PropertyReportItemDepreciationCollection } from '../../../collections/report/property/property-report-item-depreciation.collection';
12
- import * as i0 from "@angular/core";
13
- import * as i1 from "../../http/property/property.service";
14
- import * as i2 from "../../http/transaction/transaction.service";
15
- import * as i3 from "../../http/depreciation/depreciation.service";
16
- import * as i4 from "../../http/chart-accounts/chart-accounts.service";
17
- /**
18
- * Service to handle Property transactions report items data (get income / expense report items, e.t.c.)
19
- */
20
- export class PropertyTransactionReportService {
21
- constructor(propertyService, transactionService, depreciationService, chartAccountsService) {
22
- this.propertyService = propertyService;
23
- this.transactionService = transactionService;
24
- this.depreciationService = depreciationService;
25
- this.chartAccountsService = chartAccountsService;
26
- }
27
- /**
28
- * Get collections dictionary of income report items, grouped by property id
29
- */
30
- getIncomes() {
31
- return combineLatest([
32
- this.getProperties(),
33
- this.getTransactions(),
34
- this.getChartAccounts(),
35
- ]).pipe(map(([properties, transactions, chartAccounts]) => {
36
- return this.initIncomeItemsData(transactions, properties, chartAccounts);
37
- }));
38
- }
39
- /**
40
- * Get collections dictionary of expense report items, grouped by property id
41
- */
42
- getExpenses() {
43
- return combineLatest([
44
- this.getProperties(),
45
- this.getTransactions(),
46
- this.getDepreciations(),
47
- this.getChartAccounts()
48
- ]).pipe(map(([properties, transactions, depreciations, chartAccounts]) => {
49
- return this.initExpenseItemsData(transactions, depreciations, properties, chartAccounts);
50
- }));
51
- }
52
- initIncomeItemsData(transactions, properties, chartAccounts) {
53
- // empty collection dictionary to be filled with income report items
54
- const incomesByProperty = new CollectionDictionary(new Collection([]), 'property.id');
55
- const incomeTransactionsByProperty = new CollectionDictionary(transactions.getIncomeTransactions(), 'property.id');
56
- incomeTransactionsByProperty.keys.forEach((propertyId) => {
57
- incomesByProperty.add(propertyId, new PropertyReportItemTransactionCollection(incomeTransactionsByProperty.get(propertyId), properties.getById(+propertyId), chartAccounts));
58
- });
59
- return incomesByProperty;
60
- }
61
- initExpenseItemsData(transactions, depreciations, properties, chartAccounts) {
62
- // empty collection dictionary to be filled with expense report items
63
- const expensesByProperty = new CollectionDictionary(new Collection([]), 'property.id');
64
- const transactionsByProperty = new CollectionDictionary(transactions.getExpenseTransactions(), 'property.id');
65
- const depreciationsByProperty = new CollectionDictionary(depreciations, 'property.id');
66
- transactionsByProperty.keys.forEach((propertyId) => {
67
- expensesByProperty.add(propertyId, new Collection([
68
- ...new PropertyReportItemTransactionCollection(transactionsByProperty.get(propertyId), properties.getById(+propertyId), chartAccounts).items,
69
- ...new PropertyReportItemDepreciationCollection(depreciationsByProperty.get(propertyId), properties.getById(+propertyId), chartAccounts).items
70
- ]));
71
- });
72
- return expensesByProperty;
73
- }
74
- /**
75
- * Get colection of property transactions
76
- */
77
- getTransactions() {
78
- return this.transactionService.get().pipe(map((transactions) => {
79
- return new TransactionCollection(transactions)
80
- .getByChartAccountsCategories(CHART_ACCOUNTS_CATEGORIES.property);
81
- }));
82
- }
83
- /**
84
- * Get list of asset & capital property depreciations
85
- */
86
- getDepreciations() {
87
- return this.depreciationService.get().pipe(map((depreciations) => {
88
- return new DepreciationCollection(depreciations)
89
- .getByChartAccountsCategories(CHART_ACCOUNTS_CATEGORIES.property)
90
- .getWithoutBorrowingExpenses();
91
- }));
92
- }
93
- getProperties() {
94
- return this.propertyService.get().pipe(map((properties) => {
95
- return new PropertyCollection(properties);
96
- }));
97
- }
98
- getChartAccounts() {
99
- return this.chartAccountsService.getChartAccounts().pipe(map((chartAccounts) => {
100
- return new Collection(chartAccounts);
101
- }));
102
- }
103
- }
104
- PropertyTransactionReportService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PropertyTransactionReportService, deps: [{ token: i1.PropertyService }, { token: i2.TransactionService }, { token: i3.DepreciationService }, { token: i4.ChartAccountsService }], target: i0.ɵɵFactoryTarget.Injectable });
105
- PropertyTransactionReportService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PropertyTransactionReportService, providedIn: 'root' });
106
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PropertyTransactionReportService, decorators: [{
107
- type: Injectable,
108
- args: [{
109
- providedIn: 'root'
110
- }]
111
- }], ctorParameters: function () { return [{ type: i1.PropertyService }, { type: i2.TransactionService }, { type: i3.DepreciationService }, { type: i4.ChartAccountsService }]; } });
112
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktdHJhbnNhY3Rpb24tcmVwb3J0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvc2VydmljZXMvcmVwb3J0L3Byb3BlcnR5L3Byb3BlcnR5LXRyYW5zYWN0aW9uLXJlcG9ydC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFLM0MsT0FBTyxFQUFFLGFBQWEsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUtqRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUN0RixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxnRUFBZ0UsQ0FBQztBQUMzRyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFN0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDbEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDcEYsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQ3ZGLE9BQU8sRUFDTCx1Q0FBdUMsRUFDeEMsTUFBTSxrRkFBa0YsQ0FBQztBQUMxRixPQUFPLEVBQ0wsd0NBQXdDLEVBQ3pDLE1BQU0sbUZBQW1GLENBQUM7Ozs7OztBQUUzRjs7R0FFRztBQUlILE1BQU0sT0FBTyxnQ0FBZ0M7SUFNM0MsWUFDVSxlQUFnQyxFQUNoQyxrQkFBc0MsRUFDdEMsbUJBQXdDLEVBQ3hDLG9CQUEwQztRQUgxQyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUN0Qyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ3hD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Q3RELEdBQUcsQ0FBQyxDQUFDLGFBQThCLEVBQUUsRUFBRTtZQUNyQyxPQUFPLElBQUksVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3ZDLENBQUMsQ0FBQyxDQUNILENBQUE7SUFDSCxDQUFDOzs4SEE1SlUsZ0NBQWdDO2tJQUFoQyxnQ0FBZ0MsY0FGL0IsTUFBTTs0RkFFUCxnQ0FBZ0M7a0JBSDVDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUHJvcGVydHlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vaHR0cC9wcm9wZXJ0eS9wcm9wZXJ0eS5zZXJ2aWNlJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL2h0dHAvdHJhbnNhY3Rpb24vdHJhbnNhY3Rpb24uc2VydmljZSc7XG5pbXBvcnQgeyBEZXByZWNpYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vaHR0cC9kZXByZWNpYXRpb24vZGVwcmVjaWF0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ2hhcnRBY2NvdW50c1NlcnZpY2UgfSBmcm9tICcuLi8uLi9odHRwL2NoYXJ0LWFjY291bnRzL2NoYXJ0LWFjY291bnRzLnNlcnZpY2UnO1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUHJvcGVydHkgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvcHJvcGVydHkvcHJvcGVydHknO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvdHJhbnNhY3Rpb24vdHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgRGVwcmVjaWF0aW9uIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2RlcHJlY2lhdGlvbi9kZXByZWNpYXRpb24nO1xuaW1wb3J0IHsgQ2hhcnRBY2NvdW50cyB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9jaGFydC1hY2NvdW50cy9jaGFydC1hY2NvdW50cyc7XG5pbXBvcnQgeyBEZXByZWNpYXRpb25Db2xsZWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vY29sbGVjdGlvbnMvZGVwcmVjaWF0aW9uLmNvbGxlY3Rpb24nO1xuaW1wb3J0IHsgQ0hBUlRfQUNDT1VOVFNfQ0FURUdPUklFUyB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9jaGFydC1hY2NvdW50cy9jaGFydC1hY2NvdW50cy1jYXRlZ29yaWVzLmNvbnN0JztcbmltcG9ydCB7IENvbGxlY3Rpb24gfSBmcm9tICcuLi8uLi8uLi9jb2xsZWN0aW9ucy9jb2xsZWN0aW9uJztcbmltcG9ydCB7IFByb3BlcnR5UmVwb3J0SXRlbSB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9yZXBvcnQvcHJvcGVydHkvcHJvcGVydHktcmVwb3J0LWl0ZW0nO1xuaW1wb3J0IHsgQ29sbGVjdGlvbkRpY3Rpb25hcnkgfSBmcm9tICcuLi8uLi8uLi9jb2xsZWN0aW9ucy9jb2xsZWN0aW9uLWRpY3Rpb25hcnknO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25Db2xsZWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vY29sbGVjdGlvbnMvdHJhbnNhY3Rpb24uY29sbGVjdGlvbic7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBQcm9wZXJ0eUNvbGxlY3Rpb24gfSBmcm9tICcuLi8uLi8uLi9jb2xsZWN0aW9ucy9wcm9wZXJ0eS9wcm9wZXJ0eS5jb2xsZWN0aW9uJztcbmltcG9ydCB7XG4gIFByb3BlcnR5UmVwb3J0SXRlbVRyYW5zYWN0aW9uQ29sbGVjdGlvblxufSBmcm9tICcuLi8uLi8uLi9jb2xsZWN0aW9ucy9yZXBvcnQvcHJvcGVydHkvcHJvcGVydHktcmVwb3J0LWl0ZW0tdHJhbnNhY3Rpb24uY29sbGVjdGlvbic7XG5pbXBvcnQge1xuICBQcm9wZXJ0eVJlcG9ydEl0ZW1EZXByZWNpYXRpb25Db2xsZWN0aW9uXG59IGZyb20gJy4uLy4uLy4uL2NvbGxlY3Rpb25zL3JlcG9ydC9wcm9wZXJ0eS9wcm9wZXJ0eS1yZXBvcnQtaXRlbS1kZXByZWNpYXRpb24uY29sbGVjdGlvbic7XG5cbi8qKlxuICogU2VydmljZSB0byBoYW5kbGUgUHJvcGVydHkgdHJhbnNhY3Rpb25zIHJlcG9ydCBpdGVtcyBkYXRhIChnZXQgaW5jb21lIC8gZXhwZW5zZSByZXBvcnQgaXRlbXMsIGUudC5jLilcbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgUHJvcGVydHlUcmFuc2FjdGlvblJlcG9ydFNlcnZpY2Uge1xuICBwcm9wZXJ0aWVzOiBQcm9wZXJ0eVtdO1xuICB0cmFuc2FjdGlvbnM6IFRyYW5zYWN0aW9uQ29sbGVjdGlvbjtcbiAgZGVwcmVjaWF0aW9uczogRGVwcmVjaWF0aW9uQ29sbGVjdGlvbjtcbiAgY2hhcnRBY2NvdW50czogQ29sbGVjdGlvbjxDaGFydEFjY291bnRzPjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHByb3BlcnR5U2VydmljZTogUHJvcGVydHlTZXJ2aWNlLFxuICAgIHByaXZhdGUgdHJhbnNhY3Rpb25TZXJ2aWNlOiBUcmFuc2FjdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSBkZXByZWNpYXRpb25TZXJ2aWNlOiBEZXByZWNpYXRpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgY2hhcnRBY2NvdW50c1NlcnZpY2U6IENoYXJ0QWNjb3VudHNTZXJ2aWNlXG4gICkge1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBjb2xsZWN0aW9ucyBkaWN0aW9uYXJ5IG9mIGluY29tZSByZXBvcnQgaXRlbXMsIGdyb3VwZWQgYnkgcHJvcGVydHkgaWRcbiAgICovXG4gIGdldEluY29tZXMoKTogT2JzZXJ2YWJsZTxDb2xsZWN0aW9uRGljdGlvbmFyeTxDb2xsZWN0aW9uPFByb3BlcnR5UmVwb3J0SXRlbT4+PiB7XG4gICAgcmV0dXJuIGNvbWJpbmVMYXRlc3QoW1xuICAgICAgdGhpcy5nZXRQcm9wZXJ0aWVzKCkgYXMgT2JzZXJ2YWJsZTxQcm9wZXJ0eUNvbGxlY3Rpb24+LFxuICAgICAgdGhpcy5nZXRUcmFuc2FjdGlvbnMoKSBhcyBPYnNlcnZhYmxlPFRyYW5zYWN0aW9uQ29sbGVjdGlvbj4sXG4gICAgICB0aGlzLmdldENoYXJ0QWNjb3VudHMoKSBhcyBPYnNlcnZhYmxlPENvbGxlY3Rpb248Q2hhcnRBY2NvdW50cz4+LFxuICAgIF0pLnBpcGUoXG4gICAgICBtYXAoKFtwcm9wZXJ0aWVzLCB0cmFuc2FjdGlvbnMsIGNoYXJ0QWNjb3VudHNdKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmluaXRJbmNvbWVJdGVtc0RhdGEodHJhbnNhY3Rpb25zLCBwcm9wZXJ0aWVzLCBjaGFydEFjY291bnRzKTtcbiAgICAgIH0pXG4gICAgKVxuICB9XG5cbiAgLyoqXG4gICAqIEdldCBjb2xsZWN0aW9ucyBkaWN0aW9uYXJ5IG9mIGV4cGVuc2UgcmVwb3J0IGl0ZW1zLCBncm91cGVkIGJ5IHByb3BlcnR5IGlkXG4gICAqL1xuICBnZXRFeHBlbnNlcygpOiBPYnNlcnZhYmxlPENvbGxlY3Rpb25EaWN0aW9uYXJ5PENvbGxlY3Rpb248UHJvcGVydHlSZXBvcnRJdGVtPj4+IHtcbiAgICByZXR1cm4gY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLmdldFByb3BlcnRpZXMoKSBhcyBPYnNlcnZhYmxlPFByb3BlcnR5Q29sbGVjdGlvbj4sXG4gICAgICB0aGlzLmdldFRyYW5zYWN0aW9ucygpIGFzIE9ic2VydmFibGU8VHJhbnNhY3Rpb25Db2xsZWN0aW9uPixcbiAgICAgIHRoaXMuZ2V0RGVwcmVjaWF0aW9ucygpIGFzIE9ic2VydmFibGU8RGVwcmVjaWF0aW9uQ29sbGVjdGlvbj4sXG4gICAgICB0aGlzLmdldENoYXJ0QWNjb3VudHMoKSBhcyBPYnNlcnZhYmxlPENvbGxlY3Rpb248Q2hhcnRBY2NvdW50cz4+XG4gICAgXSkucGlwZShcbiAgICAgIG1hcCgoW3Byb3BlcnRpZXMsIHRyYW5zYWN0aW9ucywgZGVwcmVjaWF0aW9ucywgY2hhcnRBY2NvdW50c10pID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaW5pdEV4cGVuc2VJdGVtc0RhdGEodHJhbnNhY3Rpb25zLCBkZXByZWNpYXRpb25zLCBwcm9wZXJ0aWVzLCBjaGFydEFjY291bnRzKTtcbiAgICAgIH0pXG4gICAgKVxuICB9XG5cbiAgcHJpdmF0ZSBpbml0SW5jb21lSXRlbXNEYXRhKFxuICAgIHRyYW5zYWN0aW9uczogVHJhbnNhY3Rpb25Db2xsZWN0aW9uLFxuICAgIHByb3BlcnRpZXM6IFByb3BlcnR5Q29sbGVjdGlvbixcbiAgICBjaGFydEFjY291bnRzOiBDb2xsZWN0aW9uPENoYXJ0QWNjb3VudHM+XG4gICk6IENvbGxlY3Rpb25EaWN0aW9uYXJ5PENvbGxlY3Rpb248UHJvcGVydHlSZXBvcnRJdGVtPj4ge1xuICAgIC8vIGVtcHR5IGNvbGxlY3Rpb24gZGljdGlvbmFyeSB0byBiZSBmaWxsZWQgd2l0aCBpbmNvbWUgcmVwb3J0IGl0ZW1zXG4gICAgY29uc3QgaW5jb21lc0J5UHJvcGVydHk6IENvbGxlY3Rpb25EaWN0aW9uYXJ5PENvbGxlY3Rpb248UHJvcGVydHlSZXBvcnRJdGVtPj4gPSBuZXcgQ29sbGVjdGlvbkRpY3Rpb25hcnkoXG4gICAgICBuZXcgQ29sbGVjdGlvbjxQcm9wZXJ0eVJlcG9ydEl0ZW0+KFtdKSxcbiAgICAgICdwcm9wZXJ0eS5pZCdcbiAgICApO1xuXG4gICAgY29uc3QgaW5jb21lVHJhbnNhY3Rpb25zQnlQcm9wZXJ0eTogQ29sbGVjdGlvbkRpY3Rpb25hcnk8VHJhbnNhY3Rpb25Db2xsZWN0aW9uPiA9IG5ldyBDb2xsZWN0aW9uRGljdGlvbmFyeShcbiAgICAgIHRyYW5zYWN0aW9ucy5nZXRJbmNvbWVUcmFuc2FjdGlvbnMoKSxcbiAgICAgICdwcm9wZXJ0eS5pZCdcbiAgICApO1xuXG4gICAgaW5jb21lVHJhbnNhY3Rpb25zQnlQcm9wZXJ0eS5rZXlzLmZvckVhY2goKHByb3BlcnR5SWQ6IHN0cmluZykgPT4ge1xuICAgICAgaW5jb21lc0J5UHJvcGVydHkuYWRkKFxuICAgICAgICBwcm9wZXJ0eUlkLFxuICAgICAgICBuZXcgUHJvcGVydHlSZXBvcnRJdGVtVHJhbnNhY3Rpb25Db2xsZWN0aW9uKFxuICAgICAgICAgIGluY29tZVRyYW5zYWN0aW9uc0J5UHJvcGVydHkuZ2V0KHByb3BlcnR5SWQpLFxuICAgICAgICAgIHByb3BlcnRpZXMuZ2V0QnlJZCgrcHJvcGVydHlJZCksXG4gICAgICAgICAgY2hhcnRBY2NvdW50c1xuICAgICAgICApXG4gICAgICApO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIGluY29tZXNCeVByb3BlcnR5O1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0RXhwZW5zZUl0ZW1zRGF0YShcbiAgICB0cmFuc2FjdGlvbnM6IFRyYW5zYWN0aW9uQ29sbGVjdGlvbixcbiAgICBkZXByZWNpYXRpb25zOiBEZXByZWNpYXRpb25Db2xsZWN0aW9uLFxuICAgIHByb3BlcnRpZXM6IFByb3BlcnR5Q29sbGVjdGlvbixcbiAgICBjaGFydEFjY291bnRzOiBDb2xsZWN0aW9uPENoYXJ0QWNjb3VudHM+XG4gICk6IENvbGxlY3Rpb25EaWN0aW9uYXJ5PENvbGxlY3Rpb248UHJvcGVydHlSZXBvcnRJdGVtPj4ge1xuICAgIC8vIGVtcHR5IGNvbGxlY3Rpb24gZGljdGlvbmFyeSB0byBiZSBmaWxsZWQgd2l0aCBleHBlbnNlIHJlcG9ydCBpdGVtc1xuICAgIGNvbnN0IGV4cGVuc2VzQnlQcm9wZXJ0eTogQ29sbGVjdGlvbkRpY3Rpb25hcnk8Q29sbGVjdGlvbjxQcm9wZXJ0eVJlcG9ydEl0ZW0+PiA9IG5ldyBDb2xsZWN0aW9uRGljdGlvbmFyeShcbiAgICAgIG5ldyBDb2xsZWN0aW9uPFByb3BlcnR5UmVwb3J0SXRlbT4oW10pLFxuICAgICAgJ3Byb3BlcnR5LmlkJ1xuICAgICk7XG4gICAgY29uc3QgdHJhbnNhY3Rpb25zQnlQcm9wZXJ0eTogQ29sbGVjdGlvbkRpY3Rpb25hcnk8VHJhbnNhY3Rpb25Db2xsZWN0aW9uPiA9IG5ldyBDb2xsZWN0aW9uRGljdGlvbmFyeShcbiAgICAgIHRyYW5zYWN0aW9ucy5nZXRFeHBlbnNlVHJhbnNhY3Rpb25zKCksXG4gICAgICAncHJvcGVydHkuaWQnXG4gICAgKTtcblxuICAgIGNvbnN0IGRlcHJlY2lhdGlvbnNCeVByb3BlcnR5OiBDb2xsZWN0aW9uRGljdGlvbmFyeTxEZXByZWNpYXRpb25Db2xsZWN0aW9uPiA9IG5ldyBDb2xsZWN0aW9uRGljdGlvbmFyeShcbiAgICAgIGRlcHJlY2lhdGlvbnMsXG4gICAgICAncHJvcGVydHkuaWQnXG4gICAgKTtcblxuICAgIHRyYW5zYWN0aW9uc0J5UHJvcGVydHkua2V5cy5mb3JFYWNoKChwcm9wZXJ0eUlkOiBzdHJpbmcpID0+IHtcbiAgICAgIGV4cGVuc2VzQnlQcm9wZXJ0eS5hZGQoXG4gICAgICAgIHByb3BlcnR5SWQsXG4gICAgICAgIG5ldyBDb2xsZWN0aW9uPFByb3BlcnR5UmVwb3J0SXRlbT4oW1xuICAgICAgICAgIC4uLm5ldyBQcm9wZXJ0eVJlcG9ydEl0ZW1UcmFuc2FjdGlvbkNvbGxlY3Rpb24oXG4gICAgICAgICAgICB0cmFuc2FjdGlvbnNCeVByb3BlcnR5LmdldChwcm9wZXJ0eUlkKSxcbiAgICAgICAgICAgIHByb3BlcnRpZXMuZ2V0QnlJZCgrcHJvcGVydHlJZCksXG4gICAgICAgICAgICBjaGFydEFjY291bnRzXG4gICAgICAgICAgKS5pdGVtcyxcbiAgICAgICAgICAuLi5uZXcgUHJvcGVydHlSZXBvcnRJdGVtRGVwcmVjaWF0aW9uQ29sbGVjdGlvbihcbiAgICAgICAgICAgIGRlcHJlY2lhdGlvbnNCeVByb3BlcnR5LmdldChwcm9wZXJ0eUlkKSxcbiAgICAgICAgICAgIHByb3BlcnRpZXMuZ2V0QnlJZCgrcHJvcGVydHlJZCksXG4gICAgICAgICAgICBjaGFydEFjY291bnRzXG4gICAgICAgICAgKS5pdGVtc1xuICAgICAgICBdKVxuICAgICAgKTtcbiAgICB9KTtcblxuICAgIHJldHVybiBleHBlbnNlc0J5UHJvcGVydHk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGNvbGVjdGlvbiBvZiBwcm9wZXJ0eSB0cmFuc2FjdGlvbnNcbiAgICovXG4gIHByaXZhdGUgZ2V0VHJhbnNhY3Rpb25zKCk6IE9ic2VydmFibGU8VHJhbnNhY3Rpb25Db2xsZWN0aW9uPiB7XG4gICAgcmV0dXJuIHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLmdldCgpLnBpcGUoXG4gICAgICBtYXAoKHRyYW5zYWN0aW9uczogVHJhbnNhY3Rpb25bXSkgPT4ge1xuICAgICAgICByZXR1cm4gbmV3IFRyYW5zYWN0aW9uQ29sbGVjdGlvbih0cmFuc2FjdGlvbnMpXG4gICAgICAgICAgLmdldEJ5Q2hhcnRBY2NvdW50c0NhdGVnb3JpZXMoQ0hBUlRfQUNDT1VOVFNfQ0FURUdPUklFUy5wcm9wZXJ0eSk7XG4gICAgICB9KVxuICAgIClcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgbGlzdCBvZiBhc3NldCAmIGNhcGl0YWwgcHJvcGVydHkgZGVwcmVjaWF0aW9uc1xuICAgKi9cbiAgcHJpdmF0ZSBnZXREZXByZWNpYXRpb25zKCk6IE9ic2VydmFibGU8RGVwcmVjaWF0aW9uQ29sbGVjdGlvbj4ge1xuICAgIHJldHVybiB0aGlzLmRlcHJlY2lhdGlvblNlcnZpY2UuZ2V0KCkucGlwZShcbiAgICAgIG1hcCgoZGVwcmVjaWF0aW9uczogRGVwcmVjaWF0aW9uW10pID0+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBEZXByZWNpYXRpb25Db2xsZWN0aW9uKGRlcHJlY2lhdGlvbnMpXG4gICAgICAgICAgLmdldEJ5Q2hhcnRBY2NvdW50c0NhdGVnb3JpZXMoQ0hBUlRfQUNDT1VOVFNfQ0FURUdPUklFUy5wcm9wZXJ0eSlcbiAgICAgICAgICAuZ2V0V2l0aG91dEJvcnJvd2luZ0V4cGVuc2VzKCk7XG4gICAgICB9KVxuICAgIClcbiAgfVxuXG4gIHByaXZhdGUgZ2V0UHJvcGVydGllcygpOiBPYnNlcnZhYmxlPFByb3BlcnR5Q29sbGVjdGlvbj4ge1xuICAgIHJldHVybiB0aGlzLnByb3BlcnR5U2VydmljZS5nZXQoKS5waXBlKFxuICAgICAgbWFwKChwcm9wZXJ0aWVzOiBQcm9wZXJ0eVtdKSA9PiB7XG4gICAgICAgIHJldHVybiBuZXcgUHJvcGVydHlDb2xsZWN0aW9uKHByb3BlcnRpZXMpXG4gICAgICB9KVxuICAgIClcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Q2hhcnRBY2NvdW50cygpOiBPYnNlcnZhYmxlPENvbGxlY3Rpb248Q2hhcnRBY2NvdW50cz4+IHtcbiAgICByZXR1cm4gdGhpcy5jaGFydEFjY291bnRzU2VydmljZS5nZXRDaGFydEFjY291bnRzKCkucGlwZShcbiAgICAgIG1hcCgoY2hhcnRBY2NvdW50czogQ2hhcnRBY2NvdW50c1tdKSA9PiB7XG4gICAgICAgIHJldHVybiBuZXcgQ29sbGVjdGlvbihjaGFydEFjY291bnRzKTtcbiAgICAgIH0pXG4gICAgKVxuICB9XG59XG4iXX0=
@@ -1,12 +0,0 @@
1
- import { Collection } from '../../collection';
2
- import { PropertyReportItem } from '../../../models/report/property/property-report-item';
3
- import { Property } from '../../../models/property/property';
4
- import { ChartAccounts } from '../../../models/chart-accounts/chart-accounts';
5
- import { DepreciationCollection } from '../../depreciation.collection';
6
- /**
7
- * Collection to work with depreciation-based property report items
8
- */
9
- export declare class PropertyReportItemDepreciationCollection extends Collection<PropertyReportItem> {
10
- constructor(depreciations: DepreciationCollection, property: Property, chartAccounts: Collection<ChartAccounts>);
11
- private setItems;
12
- }
@@ -1,12 +0,0 @@
1
- import { Collection } from '../../collection';
2
- import { PropertyReportItem } from '../../../models/report/property/property-report-item';
3
- import { TransactionCollection } from '../../transaction.collection';
4
- import { Property } from '../../../models/property/property';
5
- import { ChartAccounts } from '../../../models/chart-accounts/chart-accounts';
6
- /**
7
- * Collection to work with transaction-based property report items
8
- */
9
- export declare class PropertyReportItemTransactionCollection extends Collection<PropertyReportItem> {
10
- constructor(transactions: TransactionCollection, property: Property, chartAccounts: Collection<ChartAccounts>);
11
- private setItems;
12
- }
@@ -1,10 +0,0 @@
1
- import { PropertyReportItem } from './property-report-item';
2
- import { Property } from '../../property/property';
3
- import { ChartAccounts } from '../../chart-accounts/chart-accounts';
4
- import { DepreciationCollection } from '../../../collections/depreciation.collection';
5
- /**
6
- * Class with depreciation-based property transactions report entities
7
- */
8
- export declare class PropertyReportItemDepreciation extends PropertyReportItem {
9
- constructor(depreciations: DepreciationCollection, property: Property, chartAccounts: ChartAccounts);
10
- }
@@ -1,10 +0,0 @@
1
- import { PropertyReportItem } from './property-report-item';
2
- import { TransactionCollection } from '../../../collections/transaction.collection';
3
- import { Property } from '../../property/property';
4
- import { ChartAccounts } from '../../chart-accounts/chart-accounts';
5
- /**
6
- * Class with transaction-based property transactions report entities
7
- */
8
- export declare class PropertyReportItemTransaction extends PropertyReportItem {
9
- constructor(transactions: TransactionCollection, property: Property, chartAccounts: ChartAccounts);
10
- }
@@ -1,18 +0,0 @@
1
- import { Property } from '../../property/property';
2
- import { ChartAccounts } from '../../chart-accounts/chart-accounts';
3
- /**
4
- * Class with property transactions report entities
5
- */
6
- export declare class PropertyReportItem {
7
- amount: number;
8
- description: string;
9
- /**
10
- * Tax return item sub-code
11
- */
12
- subCode: string;
13
- sharePercent: number;
14
- claimPercent: number;
15
- constructor(property: Property, chartAccounts: ChartAccounts);
16
- get claimAmount(): number;
17
- get shareClaimAmount(): number;
18
- }
@@ -1,49 +0,0 @@
1
- import { PropertyService } from '../../http/property/property.service';
2
- import { TransactionService } from '../../http/transaction/transaction.service';
3
- import { DepreciationService } from '../../http/depreciation/depreciation.service';
4
- import { ChartAccountsService } from '../../http/chart-accounts/chart-accounts.service';
5
- import { Observable } from 'rxjs';
6
- import { Property } from '../../../models/property/property';
7
- import { ChartAccounts } from '../../../models/chart-accounts/chart-accounts';
8
- import { DepreciationCollection } from '../../../collections/depreciation.collection';
9
- import { Collection } from '../../../collections/collection';
10
- import { PropertyReportItem } from '../../../models/report/property/property-report-item';
11
- import { CollectionDictionary } from '../../../collections/collection-dictionary';
12
- import { TransactionCollection } from '../../../collections/transaction.collection';
13
- import * as i0 from "@angular/core";
14
- /**
15
- * Service to handle Property transactions report items data (get income / expense report items, e.t.c.)
16
- */
17
- export declare class PropertyTransactionReportService {
18
- private propertyService;
19
- private transactionService;
20
- private depreciationService;
21
- private chartAccountsService;
22
- properties: Property[];
23
- transactions: TransactionCollection;
24
- depreciations: DepreciationCollection;
25
- chartAccounts: Collection<ChartAccounts>;
26
- constructor(propertyService: PropertyService, transactionService: TransactionService, depreciationService: DepreciationService, chartAccountsService: ChartAccountsService);
27
- /**
28
- * Get collections dictionary of income report items, grouped by property id
29
- */
30
- getIncomes(): Observable<CollectionDictionary<Collection<PropertyReportItem>>>;
31
- /**
32
- * Get collections dictionary of expense report items, grouped by property id
33
- */
34
- getExpenses(): Observable<CollectionDictionary<Collection<PropertyReportItem>>>;
35
- private initIncomeItemsData;
36
- private initExpenseItemsData;
37
- /**
38
- * Get colection of property transactions
39
- */
40
- private getTransactions;
41
- /**
42
- * Get list of asset & capital property depreciations
43
- */
44
- private getDepreciations;
45
- private getProperties;
46
- private getChartAccounts;
47
- static ɵfac: i0.ɵɵFactoryDeclaration<PropertyTransactionReportService, never>;
48
- static ɵprov: i0.ɵɵInjectableDeclaration<PropertyTransactionReportService>;
49
- }