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); } }
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); }