Exemple #1
0
        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);
                }
            }
        }
Exemple #2
0
        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);
            }
        }