public void Load() { string json = null; try { if (string.IsNullOrEmpty(FileName)) { return; } if (!File.Exists(FileName)) { return; } json = File.ReadAllText(FileName); CoinbaseSettings coinbaseSettings = JsonSerializer.Deserialize <CoinbaseSettings>(json); if (coinbaseSettings == null) { return; } coinbaseSettings.Accounts = Accounts; coinbaseSettings.CurrentPrices = CurrentPrices; coinbaseSettings.Tickers = Tickers; } catch (Exception e) { ProcessLogBroadcast?.Invoke(ApplicationName, MessageType.Error, $"Method: Load\r\nException Stack Trace: {e.StackTrace}\r\nJSON: {json}"); } }
private void Save() { string json = null; try { lock (_ioLock) { if (string.IsNullOrEmpty(FileName)) { string directoryName = Path.GetDirectoryName(Assembly.GetEntryAssembly()?.Location); string env = TestMode ? "test" : "live"; FileName = Path.Combine(directoryName, $"data\\coinbase_{env}.json"); if (!File.Exists(FileName)) { File.Create(FileName).Close(); } } CoinbaseSettings coinbaseSettings = new CoinbaseSettings(); coinbaseSettings.Accounts = Accounts; coinbaseSettings.CurrentPrices = CurrentPrices; coinbaseSettings.Tickers = Tickers; json = JsonSerializer.Serialize(coinbaseSettings, new JsonSerializerOptions { WriteIndented = true }); File.WriteAllText(FileName, json); } } catch (Exception e) { ProcessLogBroadcast?.Invoke(ApplicationName, MessageType.Error, $"Method: Save\r\nException Stack Trace: {e.StackTrace}\r\nJSON: {json}"); } }