Esempio n. 1
0
        public async Task <AccountHistoryClientResponse> GetAccountHistory(string clientId, AccountHistoryFiltersClientRequest request)
        {
            var isLive = !string.IsNullOrEmpty(request.AccountId)
                ? IsLiveAccount(request.AccountId)
                : request.IsLive;

            var marginTradingEnabled = await _marginTradingSettingsCacheService.IsMarginTradingEnabled(clientId, isLive);

            if (!marginTradingEnabled)
            {
                return(new AccountHistoryClientResponse
                {
                    Account = Array.Empty <AccountHistoryClientContract>(),
                    OpenPositions = Array.Empty <OrderHistoryClientContract>(),
                    PositionsHistory = Array.Empty <OrderHistoryClientContract>(),
                });
            }

            var accountHistoryBackendResponse = await _dataReaderClients.Get(isLive).AccountHistory.ByTypes(
                new AccountHistoryRequest
            {
                AccountId = request.AccountId,
                ClientId  = clientId,
                From      = request.From,
                To        = request.To
            });

            return(ToClientContract(accountHistoryBackendResponse));
        }
 public LegalEntityService(IMtDataReaderClientsPair mtDataReaderClientsPair, PaymentSettings paymentSettings)
 {
     _mtDataReaderClient = mtDataReaderClientsPair.Get(true);
     _legalEntity        = paymentSettings.LegalEntity;
 }