public GetMarketsResponse GetAllMarkets() { GetMarketsResponse toRet = new GetMarketsResponse(); try { var response = Client.Search <Market>(s => s .Index("mgmt,property") .Size(0) .Aggregations(a => a.MultiTerms("Markets", m => m.Terms(t1 => t1.Field(f1 => f1.market.Suffix("keyword")), t2 => t2.Field(f2 => f2.state.Suffix("keyword"))))) ); var markets = response.Aggregations.MultiTerms("Markets"); foreach (var item in markets.Buckets) { var aggMarket = item.Key.ElementAt(0); var aggState = item.Key.ElementAt(1); Market m = new Market { market = aggMarket, state = aggState }; toRet.Markets.Add(m); } toRet.Markets = toRet.Markets.OrderBy(x => x.ToString()).ToList(); toRet.Success = true; } catch (Exception ex) { toRet.Success = false; toRet.ErrorMessage = ex.Message; //TODO: something more meaningful for user //TODO: log error message } return(toRet); }
public static async Task UpdateHistData() { Console.WriteLine(); //Start ProcessQueue thread: var SQLthread = new Thread(() => ProcessDataQueue()); SQLthread.IsBackground = true; SQLthread.Name = "Saving-Market-Histories"; SQLthread.Start(); //Call list of available markets from Btrex: GetMarketsResponse markets = await BtrexREST.GetMarkets(); if (markets.success != true) { Console.WriteLine(" !!!!ERR GET-MARKETS>>> " + markets.message); return; } //Create string list of BTC market deltas only: List <string> BTCmarketDeltas = new List <string>(); foreach (GetMarketsResult market in markets.result) { if (market.MarketName.Split('-')[0] == "BTC") { BTCmarketDeltas.Add(market.MarketName); } } totalCount = BTCmarketDeltas.Count; //Download all histories, enqueue responses: var downloadHists = BTCmarketDeltas.Select(EnqueueData).ToArray(); await Task.WhenAll(downloadHists); //Wait for Save-Data thread to complete: while (!savedComplete) { Thread.Sleep(100); } SQLthread.Abort(); Console.WriteLine(); //Update CSV files: Console.Write("Updating .CSVs - Just a moment..."); UpdateOrCreateCSVs(); //Garbage Collection to clean up SQLiteConnection GC.Collect(); GC.WaitForPendingFinalizers(); Console.WriteLine("\rUpdating .CSVs - [COMPLETE] "); }
public GetMarketsResponse GetMarkets(GetMarketsRequest request, IAuthContext authContext) { GetMarketsResponse response = new GetMarketsResponse(); response.Items = Market.MarketEnumList.Select(x => new MarketItem { Value = x.Value, Text = x.Text, FlagSrc = x.FlagSrc }).ToList(); return(response); }
public static async Task <GetMarketsResponse> GetMarkets() { GetMarketsResponse marketsResponse = null; HttpResponseMessage response = await client.GetAsync("public/getmarkets"); if (response.IsSuccessStatusCode) { marketsResponse = await response.Content.ReadAsAsync <GetMarketsResponse>(); } return(marketsResponse); }
public ActionResult <GetMarketsResponse> GetMarkets([FromQuery] GetMarketsRequest request) { GetMarketsResponse response = _accountDataService.GetMarkets(request, _authContext); return(Ok(response)); }