26 lines
916 B
C#
26 lines
916 B
C#
using Tinkoff.InvestApi;
|
|
using Tinkoff.InvestApi.V1;
|
|
|
|
namespace KLHZ.Trader.Core.Exchange.Extentions
|
|
{
|
|
internal static class InvestApiClientExtentions
|
|
{
|
|
public static async Task<string[]> GetAccounts(this InvestApiClient client, params string[] managedAccountNamePatterns)
|
|
{
|
|
var accounts = await client.Users.GetAccountsAsync();
|
|
var accsIds = new HashSet<string>();
|
|
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();
|
|
}
|
|
}
|
|
}
|