Example #1
0
        public async void Initialize()
        {
            MarketTimeConverter market    = new MarketTimeConverter();
            LocalStorageService storage   = new LocalStorageService();
            DateTime            LastWrite = DateTime.UtcNow.AddHours(8);
            var exists = await storage.FileExists();

            StockServices services   = new StockServices();
            string        jsonStocks = "";

            if (exists)
            {
                try
                {
                    jsonStocks = await services.GetStringJson();

                    var root             = JsonConvert.DeserializeObject <StockRoot>(jsonStocks);
                    var LastServerUpdate = root.LastUpdate;
                    LastWrite = await storage.GetLastWrite();

                    if (LastServerUpdate > LastWrite) //check if data server is updated
                    {
                        await storage.WriteText(jsonStocks);
                    }
                }
                catch (Exception)
                {
                    return;
                }
            }
            else //write the file automatically
            {
                jsonStocks = await services.GetStringJson();

                var root = JsonConvert.DeserializeObject <StockRoot>(jsonStocks);
                await storage.WriteText(jsonStocks);
            }
        }
Example #2
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);
        }