klhztrader/KLHZ.Trader.Core/Exchange/Extentions/InvestApiClientExtentions.cs

25 lines
897 B
C#

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