public async Task Initialize() { if (status == BootupStatus.Initializing || status == BootupStatus.Initialized) { return; } status = BootupStatus.Initializing; var client = new ApiHttpClient(); var dict = await client.Public.GetTicker(); foreach (var item in dict) { var val = item.Value; var tick = new Tick { CurrencyPair = item.Key, Last = val.Last, LowestAsk = val.LowestAsk, HighestBid = val.HighestBid, PercentChange = val.PercentChange, BaseVolume = val.BaseVolume, QuoteVolume = val.Quotevolume, IsFrozen = val.IsFrozen, }; map[tick.CurrencyPair] = tick; } status = BootupStatus.Initialized; }
static async void StartInitialization() { status = BootupStatus.Initializing; currencyPairs = await MarketsHelper.GetMarkets(); status = BootupStatus.Initialized; initializationTask.TrySetResult(0); }
public static Task Initialize() { if (status == BootupStatus.None) { status = BootupStatus.Initializing; StartInitialization(); } return(initializationTask.Task); /*async void init() * { * initializationTask = new TaskCompletionSource<int>(); * status = BootupStatus.Initializing; * currencyPairs = await MarketsHelper.GetMarkets(); * status = BootupStatus.Initialized; * initializationTask.TrySetResult(0); * }*/ }
public static async Task Initialize() { if (status == BootupStatus.Initializing || status == BootupStatus.Initialized) { return; } status = BootupStatus.Initializing; // boot up the Poloniex websocket client var client = new PoloniexWebSocketClient(); await client.Connect(); await client.SubscribeToTicker(); // boot up the user list users = await LoadUsers(); Ticker.Current.Subscribe("BTC_ETH", ProcessTick); status = BootupStatus.Initialized; }