Browse Source

Merge 6f6510ac2c into c5fffed795

pull/4035/merge
Mohan 8 months ago
committed by GitHub
parent
commit
64bb05a29d
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 86
      apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.component.ts

86
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.component.ts

@ -157,10 +157,31 @@ export class CreateOrUpdateActivityDialog implements OnDestroy {
takeUntil(this.unsubscribeSubject) takeUntil(this.unsubscribeSubject)
) )
.subscribe(async () => { .subscribe(async () => {
let exchangeRateOfUnitPrice = 1; try {
if (this.mode === 'create') {
const activity = this.getActivity() as CreateOrderDto;
this.activityForm.get('feeInCustomCurrency').setErrors(null); await validateObjectForForm({
this.activityForm.get('unitPriceInCustomCurrency').setErrors(null); classDto: CreateOrderDto,
form: this.activityForm,
ignoreFields: ['dataSource', 'date'],
object: activity
});
} else {
const activity = this.getActivity() as UpdateOrderDto;
await validateObjectForForm({
classDto: UpdateOrderDto,
form: this.activityForm,
ignoreFields: ['dataSource', 'date'],
object: activity
});
}
} catch (error) {
console.error(error);
}
let exchangeRateOfUnitPrice = 1;
const currency = this.activityForm.get('currency').value; const currency = this.activityForm.get('currency').value;
const currencyOfUnitPrice = this.activityForm.get( const currencyOfUnitPrice = this.activityForm.get(
@ -464,31 +485,13 @@ export class CreateOrUpdateActivityDialog implements OnDestroy {
} }
public async onSubmit() { public async onSubmit() {
const activity: CreateOrderDto | UpdateOrderDto = {
accountId: this.activityForm.get('accountId').value,
assetClass: this.activityForm.get('assetClass').value,
assetSubClass: this.activityForm.get('assetSubClass').value,
comment: this.activityForm.get('comment').value || null,
currency: this.activityForm.get('currency').value,
customCurrency: this.activityForm.get('currencyOfUnitPrice').value,
date: this.activityForm.get('date').value,
dataSource: this.activityForm.get('dataSource').value,
fee: this.activityForm.get('fee').value,
quantity: this.activityForm.get('quantity').value,
symbol:
this.activityForm.get('searchSymbol').value?.symbol === undefined ||
isUUID(this.activityForm.get('searchSymbol').value?.symbol)
? this.activityForm.get('name').value
: this.activityForm.get('searchSymbol').value.symbol,
tags: this.activityForm.get('tags').value,
type: this.activityForm.get('type').value,
unitPrice: this.activityForm.get('unitPrice').value
};
try { try {
if (this.mode === 'create') { if (this.mode === 'create') {
(activity as CreateOrderDto).updateAccountBalance = const activity = this.getActivity() as CreateOrderDto;
this.activityForm.get('updateAccountBalance').value;
activity.updateAccountBalance = this.activityForm.get(
'updateAccountBalance'
).value;
await validateObjectForForm({ await validateObjectForForm({
classDto: CreateOrderDto, classDto: CreateOrderDto,
@ -499,16 +502,18 @@ export class CreateOrUpdateActivityDialog implements OnDestroy {
this.dialogRef.close(activity as CreateOrderDto); this.dialogRef.close(activity as CreateOrderDto);
} else { } else {
(activity as UpdateOrderDto).id = this.data.activity.id; const activity = this.getActivity() as UpdateOrderDto;
activity.id = this.data.activity.id;
await validateObjectForForm({ await validateObjectForForm({
classDto: UpdateOrderDto, classDto: UpdateOrderDto,
form: this.activityForm, form: this.activityForm,
ignoreFields: ['dataSource', 'date'], ignoreFields: ['dataSource', 'date'],
object: activity as UpdateOrderDto object: activity
}); });
this.dialogRef.close(activity as UpdateOrderDto); this.dialogRef.close(activity);
} }
} catch (error) { } catch (error) {
console.error(error); console.error(error);
@ -530,6 +535,29 @@ export class CreateOrUpdateActivityDialog implements OnDestroy {
}); });
} }
private getActivity(): CreateOrderDto | UpdateOrderDto {
return {
accountId: this.activityForm.get('accountId').value,
assetClass: this.activityForm.get('assetClass').value,
assetSubClass: this.activityForm.get('assetSubClass').value,
comment: this.activityForm.get('comment').value || null,
currency: this.activityForm.get('currency').value,
customCurrency: this.activityForm.get('currencyOfUnitPrice').value,
date: this.activityForm.get('date').value,
dataSource: this.activityForm.get('dataSource').value,
fee: this.activityForm.get('fee').value,
quantity: this.activityForm.get('quantity').value,
symbol:
this.activityForm.get('searchSymbol').value?.symbol === undefined ||
isUUID(this.activityForm.get('searchSymbol').value?.symbol)
? this.activityForm.get('name').value
: this.activityForm.get('searchSymbol').value.symbol,
tags: this.activityForm.get('tags').value,
type: this.activityForm.get('type').value,
unitPrice: this.activityForm.get('unitPrice').value
};
}
private updateSymbol() { private updateSymbol() {
this.isLoading = true; this.isLoading = true;
this.changeDetectorRef.markForCheck(); this.changeDetectorRef.markForCheck();

Loading…
Cancel
Save