public async Task <OrderClientContract[]> GetAccountOpenPositions(string clientId, string accountId) { var backendRequest = new AccountClientIdBackendRequest { AccountId = accountId, ClientId = clientId }; var backendResponse = await _httpRequestService.RequestWithRetriesAsync <OrderBackendContract[]>(backendRequest, "order.account.list", IsLiveAccount(backendRequest.AccountId)); return(backendResponse.Select(item => item.ToClientContract()).ToArray()); }
public OrderBackendContract[] GetAccountOpenPositions([FromBody] AccountClientIdBackendRequest request) { var account = _accountsCacheService.Get(request.ClientId, request.AccountId); var positions = _ordersCache.ActiveOrders.GetOrdersByAccountIds(account.Id).Select(item => item.ToBackendContract()).ToList(); var orders = _ordersCache.WaitingForExecutionOrders.GetOrdersByAccountIds(account.Id).Select(item => item.ToBackendContract()).ToList(); positions.AddRange(orders); var result = positions.ToArray(); return(result); }