Esempio n. 1
0
 public void Publish(string id, IValue value)
 {
     if (VariableMap.ContainsKey(id))
     {
         var variable = VariableMap[id];
         if (!Equals(variable.Value, value))
         {
             variable.Value = value ?? VariableFallback[id];
             variable.OnPropertyChanged();
             OnMultiDataChanged?.Invoke(Enumerable.Repeat(variable, 1));
         }
     }
 }
Esempio n. 2
0
        public void Publish(IEnumerable <Variable> variables)
        {
            IEnumerable <Variable> UpdatedVariables(IEnumerable <Variable> _variables)
            {
                foreach (var incomingVariable in _variables)
                {
                    var currentVariable = VariableMap[incomingVariable.Id];
                    if (!Equals(currentVariable.Value, incomingVariable.Value))
                    {
                        currentVariable.Value = incomingVariable.Value ?? VariableFallback[incomingVariable.Id];
                        currentVariable.OnPropertyChanged();
                        yield return(currentVariable);
                    }
                }
            }

            OnMultiDataChanged?.Invoke(UpdatedVariables(variables).ToList());
        }