Esempio n. 1
0
        public ActionResult <StateValueKey> Post([FromBody] StateValue stateValue)
        {
            var stateValueKey =
                _stateManager.GetStateValueKey(stateValue.SentinelName, stateValue.PackageName, stateValue.Name);

            if (!_stateManager.Exist(_stateManager.GetStateValueKey(stateValue.SentinelName, stateValue.PackageName, stateValue.Name)))
            {
                _stateManager.AddStateValue(stateValue);
                _logger.LogInformation($"State value {stateValueKey} with value {stateValue.Value}, last update : {stateValue.LastUpdate}, was added to store");
            }
            else
            {
                _stateManager.UpdateStateValue(stateValue);
                _logger.LogInformation($"State value {stateValueKey} with value {stateValue.Value}, last update : {stateValue.LastUpdate}, was updated to store");
            }

            _stateValueHubContext.Clients.All.AddStateValue(stateValueKey, stateValue);
            return(stateValueKey);
        }
Esempio n. 2
0
        private async Task SendStateValueIfExistAfterSubscribiption(Subscription subscription)
        {
            var stateValueKey = new StateValueKey(subscription.StateValueSentinelName,
                                                  subscription.StateValuePackageName, subscription.StateValueName);

            if (_stateValueManager.Exist(stateValueKey))
            {
                var stateValue = _stateValueManager.GetStateValueByKey(stateValueKey);
                await _subscriptionManager.SendStateValueToSubscribers(stateValueKey, stateValue);
            }
        }
Esempio n. 3
0
        private void SubscribeOnValueChangedEventIfStateValueExist(StateValueKey stateValueKey)
        {
            if (_stateValueManager.Exist(stateValueKey))
            {
                var stateValue =
                    _stateValueManager.GetStateValueByKey(stateValueKey);

                if (!_stateValueChangedSubscribe.Contains(stateValueKey))
                {
                    stateValue.ValueChanged += StateValueChanged;
                    _stateValueChangedSubscribe.Add(stateValueKey);
                }
            }
        }