diff --git a/HedgeTech/EmsEngine/__tse_ifb/__AsyncClient.py b/HedgeTech/EmsEngine/__tse_ifb/__AsyncClient.py index 9f9b957..7251664 100644 --- a/HedgeTech/EmsEngine/__tse_ifb/__AsyncClient.py +++ b/HedgeTech/EmsEngine/__tse_ifb/__AsyncClient.py @@ -118,20 +118,24 @@ class Order: '953097ac6ced45ca8ef205b76ca6faf2' """ - if self.OrderId is None : + try : - SendOrder_Response = await self.__AuthASyncClient.httpx_Client.post(**self.__SendOrder_RequestInfo) + if self.OrderId is None : - match SendOrder_Response.status_code : + SendOrder_Response = await self.__AuthASyncClient.httpx_Client.post(**self.__SendOrder_RequestInfo) - case 200 : + match SendOrder_Response.status_code : - self.OrderId = SendOrder_Response.json()['Data']['order_uuid'] - return None - - case _ : return None - - else : return None + case 200 : + + self.OrderId = SendOrder_Response.json()['Data']['order_uuid'] + return None + + case _ : return None + + else : return None + + except : return None # +--------------------------------------------------------------------------------------+ # async def Edit( @@ -177,38 +181,42 @@ class Order: ) """ - if self.OrderId is not None: + try : + + if self.OrderId is not None: + + Edit_response = await self.__AuthASyncClient.httpx_Client.patch( + url='https://core.hedgetech.ir/ems-engine/tse-ifb/order/edit', + data={ + 'order_uuid' : self.OrderId, + 'Order_ValidityType' : Order_ValidityType, + 'ValidityDate' : ValidityDate, + 'Price' : Price, + 'Volume' : Volume + } + ) + + + match Edit_response.status_code: + + case 200: + + Edit_response = Edit_response.json() + + self.OrderId = Edit_response['Data']['order_uuid'] + self.ValidityType = Edit_response['Data']['order_validity_type'] + self.ValidityDate = ValidityDate + self.Price = Edit_response['Data']['order_price'] + self.Volume = Edit_response['Data']['order_volume'] + + return None + + case _ : return None + + else : return None + + except : return None - Edit_response = await self.__AuthASyncClient.httpx_Client.patch( - url='https://core.hedgetech.ir/ems-engine/tse-ifb/order/edit', - data={ - 'order_uuid' : self.OrderId, - 'Order_ValidityType' : Order_ValidityType, - 'ValidityDate' : ValidityDate, - 'Price' : Price, - 'Volume' : Volume - } - ) - - - match Edit_response.status_code: - - case 200: - - Edit_response = Edit_response.json() - - self.OrderId = Edit_response['Data']['order_uuid'] - self.ValidityType = Edit_response['Data']['order_validity_type'] - self.ValidityDate = ValidityDate - self.Price = Edit_response['Data']['order_price'] - self.Volume = Edit_response['Data']['order_volume'] - - return None - - case _ : return None - - else : return None - # +--------------------------------------------------------------------------------------+ # async def Status(self)-> OrderStatus | None: @@ -246,24 +254,27 @@ class Order: 'ValidityDate': 0 } """ - - if self.OrderId is not None: - - status_respnse = await self.__AuthASyncClient.httpx_Client.get( - url='https://core.hedgetech.ir/ems-engine/tse-ifb/order/status', - params={'order_uuid' : self.OrderId} - ) + try : - match status_respnse.status_code : - - case 200: - - return status_respnse.json()['Data'] - - case _ : return None - - else : return None + if self.OrderId is not None: + status_respnse = await self.__AuthASyncClient.httpx_Client.get( + url='https://core.hedgetech.ir/ems-engine/tse-ifb/order/status', + params={'order_uuid' : self.OrderId} + ) + + match status_respnse.status_code : + + case 200: + + return status_respnse.json()['Data'] + + case _ : return None + + else : return None + + except : return None + # +--------------------------------------------------------------------------------------+ # async def Delete(self)-> None: @@ -283,26 +294,30 @@ class Order: >>> print(order.is_deleted) True """ - - if self.OrderId is not None: - Delete_respnse = await self.__AuthASyncClient.httpx_Client.delete( - url= 'https://core.hedgetech.ir/ems-engine/tse-ifb/order/delete', - params={'order_uuid' : self.OrderId} - ) + try : - - match Delete_respnse.status_code : + if self.OrderId is not None: + + Delete_respnse = await self.__AuthASyncClient.httpx_Client.delete( + url= 'https://core.hedgetech.ir/ems-engine/tse-ifb/order/delete', + params={'order_uuid' : self.OrderId} + ) - case 200: - - self.is_deleted = True - return None - - case _ : return None - - else : return None + match Delete_respnse.status_code : + + case 200: + + self.is_deleted = True + return None + + case _ : return None + + else : return None + + except : return None + # ================================================================================= # class EmsEngine_TseIfb_AsyncClient: @@ -369,6 +384,7 @@ class EmsEngine_TseIfb_AsyncClient: OMS : Literal[ 'Omex | Parsian', 'Sahra | Karamad', + 'Sahra | NIBB', ] )-> ImageFile: diff --git a/HedgeTech/EmsEngine/__tse_ifb/__SyncClient.py b/HedgeTech/EmsEngine/__tse_ifb/__SyncClient.py index 8b66ca1..6dde272 100644 --- a/HedgeTech/EmsEngine/__tse_ifb/__SyncClient.py +++ b/HedgeTech/EmsEngine/__tse_ifb/__SyncClient.py @@ -122,20 +122,24 @@ class Order: '0xA23F...' """ - if self.OrderId is None : - - SendOrder_Response = self.__AuthSyncClient.httpx_Client.post(**self.__SendOrder_RequestInfo) + try : - match SendOrder_Response.status_code : + if self.OrderId is None : + + SendOrder_Response = self.__AuthSyncClient.httpx_Client.post(**self.__SendOrder_RequestInfo) - case 200 : + match SendOrder_Response.status_code : - self.OrderId = SendOrder_Response.json()['Data']['order_uuid'] - return None - - case _ : return None + case 200 : + + self.OrderId = SendOrder_Response.json()['Data']['order_uuid'] + return None + + case _ : return None + + else : return None - else : return None + except : return None # +--------------------------------------------------------------------------------------+ # @@ -189,37 +193,41 @@ class Order: ) """ - if self.OrderId is not None: + try : - Edit_response = self.__AuthSyncClient.httpx_Client.patch( - url='https://core.hedgetech.ir/ems-engine/tse-ifb/order/edit', - data={ - 'order_uuid' : self.OrderId, - 'Order_ValidityType' : Order_ValidityType, - 'ValidityDate' : ValidityDate, - 'Price' : Price, - 'Volume' : Volume - } - ) + if self.OrderId is not None: - - match Edit_response.status_code: + Edit_response = self.__AuthSyncClient.httpx_Client.patch( + url='https://core.hedgetech.ir/ems-engine/tse-ifb/order/edit', + data={ + 'order_uuid' : self.OrderId, + 'Order_ValidityType' : Order_ValidityType, + 'ValidityDate' : ValidityDate, + 'Price' : Price, + 'Volume' : Volume + } + ) - case 200: + + match Edit_response.status_code: - Edit_response = Edit_response.json() - - self.OrderId = Edit_response['Data']['order_uuid'] - self.ValidityType = Edit_response['Data']['order_validity_type'] - self.ValidityDate = ValidityDate - self.Price = Edit_response['Data']['order_price'] - self.Volume = Edit_response['Data']['order_volume'] - - return None - - case _ : return None - - else : return None + case 200: + + Edit_response = Edit_response.json() + + self.OrderId = Edit_response['Data']['order_uuid'] + self.ValidityType = Edit_response['Data']['order_validity_type'] + self.ValidityDate = ValidityDate + self.Price = Edit_response['Data']['order_price'] + self.Volume = Edit_response['Data']['order_volume'] + + return None + + case _ : return None + + else : return None + + except : return None # +--------------------------------------------------------------------------------------+ # @@ -310,22 +318,26 @@ class Order: } """ - if self.OrderId is not None: - - status_respnse = self.__AuthSyncClient.httpx_Client.get( - url='https://core.hedgetech.ir/ems-engine/tse-ifb/order/status', - params={'order_uuid' : self.OrderId} - ) + try : - match status_respnse.status_code : + if self.OrderId is not None: + + status_respnse = self.__AuthSyncClient.httpx_Client.get( + url='https://core.hedgetech.ir/ems-engine/tse-ifb/order/status', + params={'order_uuid' : self.OrderId} + ) - case 200: + match status_respnse.status_code : - return status_respnse.json()['Data'] + case 200: + + return status_respnse.json()['Data'] + + case _ : return None - case _ : return None - - else : return None + else : return None + + except : return None # +--------------------------------------------------------------------------------------+ # @@ -351,24 +363,28 @@ class Order: True """ - if self.OrderId is not None: - - Delete_respnse = self.__AuthSyncClient.httpx_Client.delete( - url= 'https://core.hedgetech.ir/ems-engine/tse-ifb/order/delete', - params={'order_uuid' : self.OrderId} - ) - - - match Delete_respnse.status_code : - - case 200: - - self.is_deleted = True - return None - - case _ : return None + try : - else : return None + if self.OrderId is not None: + + Delete_respnse = self.__AuthSyncClient.httpx_Client.delete( + url= 'https://core.hedgetech.ir/ems-engine/tse-ifb/order/delete', + params={'order_uuid' : self.OrderId} + ) + + + match Delete_respnse.status_code : + + case 200: + + self.is_deleted = True + return None + + case _ : return None + + else : return None + + except : return None # ================================================================================= # @@ -401,6 +417,7 @@ class EmsEngine_TseIfb_SyncClient: OMS : Literal[ 'Omex | Parsian', 'Sahra | Karamad', + 'Sahra | NIBB', ] )-> ImageFile: