public async Task <List <Stock> > GetStockList(string parameters = "") { StockData sData = new StockData(); List <Stock> stockList = new List <Stock>(); var message = await ServerResponse(); if (message == "OK") { try { var result = client.GetStringAsync(TickerUrl). GetAwaiter().GetResult(); StockRoot stockRoot = JsonConvert .DeserializeObject <StockRoot>(result); stockList = new List <Stock>(stockRoot.Stock); foreach (var item in stockList) { item.LastUpdated = stockRoot.LastUpdate; } } catch (Exception e) { e.Message.ToString(); stockList = await GetLocalList(); } } else { stockList = await GetLocalList(); } stockList = stockList.ToList(); Debug.WriteLine($"Refreshed: { parameters}"); if (parameters == "Volume") { return(stockList.OrderByDescending(s => s.Volume).ToList()); } else if (parameters == "Gainers") { return(stockList.OrderByDescending(s => s.PercentChange).ToList()); } else { return(stockList.OrderByDescending(s => s.TradedValue).ToList()); } }
public async Task <Stock> Stock(string symbol) { try { var url = $"{TickerUrlStock}{symbol}.json"; var result = client.GetStringAsync(url) .GetAwaiter().GetResult(); StockRoot sr = JsonConvert .DeserializeObject <StockRoot>(result); Stock s = new Stock(); s = sr.Stock.FirstOrDefault(); s.LastUpdated = sr.LastUpdate; return(s); } catch (Exception) { var sList = await GetLocalList(); var l = sList.Where(s => s.Symbol == symbol); return(l.FirstOrDefault()); } }
public async Task <List <Stock> > GetLocalList() { List <Stock> stockList = new List <Stock>(); LocalStorageService storage = new LocalStorageService(); try { var result = await storage.ReadText(); StockRoot stockRoot = JsonConvert .DeserializeObject <StockRoot>(result); stockList = new List <Stock>(stockRoot.Stock); foreach (var item in stockList) { item.LastUpdated = stockRoot.LastUpdate; } } catch (Exception e) { throw; } return(stockList); }