Пример #1
0
        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());
            }
        }
Пример #2
0
        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());
            }
        }
Пример #3
0
        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);
        }