public async Task StartSessionUpdateLoop(string userName, string password) { Credentials = new RestServerCredentials { Username = userName, Password = password, ApiBaseURL = Repo1Client.API_URL, }; if (_isTracking) { return; } _isTracking = true; Status = "FindSavedSessions ..."; var recs = await FindSavedSessions(); if (recs == null) { return; } if (recs.Count > 1) { return; } var savd = recs.SingleOrDefault(); if (savd == null) { savd = await PostNewSession(); } if (!Repo1Cfg.Found(ConfigKey)) { Repo1Cfg.WriteBlank(ConfigKey); } while (true) { await Task.Delay(1000 * 60 *SendIntervalMins); var sess = await GatherSessionInfo(savd); var newCfg = await SendAndGetNewCfg(sess); if (newCfg != sess.Repo1CfgJson) { Repo1Cfg.Rewrite(newCfg, ConfigKey); } } }
private void UpdateLocalCfgAsNeeded(Dictionary <string, object> dict) { var expctd = dict.FieldValue("field_expectedcfg"); if (expctd.IsBlank()) { return; } var actual = Repo1Cfg.Read(_cfgKey); if (actual != expctd) { Repo1Cfg.Rewrite(expctd, _cfgKey); } }