diff --git a/apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.component.ts b/apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.component.ts index d4c1c59c1..a42be5257 100644 --- a/apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.component.ts +++ b/apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.component.ts @@ -1,3 +1,4 @@ +import { CreateOrderDto } from '@ghostfolio/api/app/order/create-order.dto'; import { Activity } from '@ghostfolio/api/app/order/interfaces/activities.interface'; import { GfDialogFooterComponent } from '@ghostfolio/client/components/dialog-footer/dialog-footer.component'; import { GfDialogHeaderComponent } from '@ghostfolio/client/components/dialog-header/dialog-header.component'; @@ -557,6 +558,32 @@ export class GfHoldingDetailDialogComponent implements OnDestroy, OnInit { this.dialogRef.close(); } + public onCloseHolding() { + const today = new Date(); + + const activity: CreateOrderDto = { + accountId: null, + comment: null, + currency: this.SymbolProfile.currency, + dataSource: this.SymbolProfile.dataSource, + date: today.toISOString(), + fee: 0, + quantity: this.quantity, + symbol: this.SymbolProfile.symbol, + tags: [], + type: 'SELL', + unitPrice: this.marketPrice + }; + + this.dataService.postOrder(activity).subscribe(() => { + this.router.navigate( + internalRoutes.portfolio.subRoutes.activities.routerLink + ); + + this.dialogRef.close(); + }); + } + public onExport() { const activityIds = this.dataSource.data.map(({ id }) => { return id;