using Tinkoff.InvestApi; using Tinkoff.InvestApi.V1; namespace KLHZ.Trader.Core.Exchange.Extentions { internal static class InvestApiClientExtentions { public static async Task GetAccounts(this InvestApiClient client, params string[] managedAccountNamePatterns) { var accounts = await client.Users.GetAccountsAsync(); var accsIds = new HashSet(); foreach (var pattern in managedAccountNamePatterns) { var aids = accounts.Accounts .Where(a => a.Name.ToLower().Contains(pattern) && a.AccessLevel == AccessLevel.AccountAccessLevelFullAccess) .Select(a => a.Id); foreach (var a in aids) { accsIds.Add(a); } } return accsIds.ToArray(); } } }