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