|  |  | @ -73,6 +73,7 @@ export class OrderService { | 
			
		
	
		
			
				
					|  |  |  |       dataSource?: DataSource; | 
			
		
	
		
			
				
					|  |  |  |       symbol?: string; | 
			
		
	
		
			
				
					|  |  |  |       tags?: Tag[]; | 
			
		
	
		
			
				
					|  |  |  |       updateAccountBalance?: boolean; | 
			
		
	
		
			
				
					|  |  |  |       userId: string; | 
			
		
	
		
			
				
					|  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  |   ): Promise<Order> { | 
			
		
	
	
		
			
				
					|  |  | @ -89,12 +90,16 @@ export class OrderService { | 
			
		
	
		
			
				
					|  |  |  |       }; | 
			
		
	
		
			
				
					|  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |     const accountId = data.accountId; | 
			
		
	
		
			
				
					|  |  |  |     let currency = data.currency; | 
			
		
	
		
			
				
					|  |  |  |     const tags = data.tags ?? []; | 
			
		
	
		
			
				
					|  |  |  |     const updateAccountBalance = data.updateAccountBalance ?? false; | 
			
		
	
		
			
				
					|  |  |  |     const userId = data.userId; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |     if (data.type === 'ITEM') { | 
			
		
	
		
			
				
					|  |  |  |       const assetClass = data.assetClass; | 
			
		
	
		
			
				
					|  |  |  |       const assetSubClass = data.assetSubClass; | 
			
		
	
		
			
				
					|  |  |  |       const currency = data.SymbolProfile.connectOrCreate.create.currency; | 
			
		
	
		
			
				
					|  |  |  |       currency = data.SymbolProfile.connectOrCreate.create.currency; | 
			
		
	
		
			
				
					|  |  |  |       const dataSource: DataSource = 'MANUAL'; | 
			
		
	
		
			
				
					|  |  |  |       const id = uuidv4(); | 
			
		
	
		
			
				
					|  |  |  |       const name = data.SymbolProfile.connectOrCreate.create.symbol; | 
			
		
	
	
		
			
				
					|  |  | @ -149,11 +154,12 @@ export class OrderService { | 
			
		
	
		
			
				
					|  |  |  |     delete data.dataSource; | 
			
		
	
		
			
				
					|  |  |  |     delete data.symbol; | 
			
		
	
		
			
				
					|  |  |  |     delete data.tags; | 
			
		
	
		
			
				
					|  |  |  |     delete data.updateAccountBalance; | 
			
		
	
		
			
				
					|  |  |  |     delete data.userId; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |     const orderData: Prisma.OrderCreateInput = data; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |     return this.prismaService.order.create({ | 
			
		
	
		
			
				
					|  |  |  |     const order = await this.prismaService.order.create({ | 
			
		
	
		
			
				
					|  |  |  |       data: { | 
			
		
	
		
			
				
					|  |  |  |         ...orderData, | 
			
		
	
		
			
				
					|  |  |  |         Account, | 
			
		
	
	
		
			
				
					|  |  | @ -165,6 +171,27 @@ export class OrderService { | 
			
		
	
		
			
				
					|  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |       } | 
			
		
	
		
			
				
					|  |  |  |     }); | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |     if (updateAccountBalance === true) { | 
			
		
	
		
			
				
					|  |  |  |       let amount = new Big(data.unitPrice) | 
			
		
	
		
			
				
					|  |  |  |         .mul(data.quantity) | 
			
		
	
		
			
				
					|  |  |  |         .plus(data.fee) | 
			
		
	
		
			
				
					|  |  |  |         .toNumber(); | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |       if (data.type === 'BUY') { | 
			
		
	
		
			
				
					|  |  |  |         amount = new Big(amount).mul(-1).toNumber(); | 
			
		
	
		
			
				
					|  |  |  |       } | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |       await this.accountService.updateAccountBalance({ | 
			
		
	
		
			
				
					|  |  |  |         accountId, | 
			
		
	
		
			
				
					|  |  |  |         amount, | 
			
		
	
		
			
				
					|  |  |  |         currency, | 
			
		
	
		
			
				
					|  |  |  |         userId, | 
			
		
	
		
			
				
					|  |  |  |         date: data.date as Date | 
			
		
	
		
			
				
					|  |  |  |       }); | 
			
		
	
		
			
				
					|  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |     return order; | 
			
		
	
		
			
				
					|  |  |  |   } | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |   public async deleteOrder( | 
			
		
	
	
		
			
				
					|  |  | 
 |