Esempio n. 1
0
        public SignalEntity AddObserv(SignalDefenition defenition)
        {
            var entity = new SignalEntity(defenition);

            _routes.Add(defenition.Name, entity);
            return(entity);
        }
Esempio n. 2
0
 public SignalEntity GetRoutes(SignalDefenition defenition)
 {
     if (_routes.ContainsKey(defenition.Name))
     {
         return(_routes[defenition.Name]);
     }
     return(null);
 }
Esempio n. 3
0
 public bool RedirectAllSources(SignalDefenition from, SignalDefenition to)
 {
     if (_routes.ContainsKey(to.Name) && _routes.ContainsKey(from.Name))
     {
         var sources = _routes[from.Name].Signals.Where(x => x.IsSource.Value).ToList();
         _routes[from.Name].Signals.RemoveAll(x => sources.Contains(x));
         sources.ForEach(asignal => asignal.Replace(AssignmentSignal(asignal.SignalsParentSection, to, asignal.Enumeration?.CloneEnumeration())));
         return(true);
     }
     return(false);
 }
Esempio n. 4
0
        public SignalDefenition InserSignalDefenition(string name, string valueType, EnumerationBase enumeration = null)
        {
            SignalDefenition signal = new SignalDefenition(Document.Entity)
            {
                Name        = name,
                ValueType   = valueType,
                Enumeration = enumeration
            };

            AddObserv(signal);
            return(signal);
        }
Esempio n. 5
0
        public AssignmentSignal AssignmentSignal(ISignalsParentSection parent, SignalDefenition defenition, EnumerationBase enumeration = null)
        {
            if (!_routes.ContainsKey(defenition.Name))
            {
                return(null);
            }
            enumeration = enumeration ?? defenition.Enumeration?.CloneEnumeration();
            var result = new AssignmentSignal(defenition, parent)
            {
                Name = defenition.Name, Enumeration = enumeration
            };

            _routes[defenition.Name].AddSignal(result);
            return(result);
        }
Esempio n. 6
0
 public bool Replace(SignalDefenition replaced, SignalDefenition signal, EnumerationBase enumeration = null)
 {
     if (_routes.ContainsKey(replaced.Name) && _routes.ContainsKey(signal.Name))
     {
         enumeration = enumeration ?? signal.Enumeration;
         var enumerationBits = enumeration?.Bits ?? 1;
         if (replaced.Bits == enumerationBits)
         {
             _routes[replaced.Name].Signals.ForEach(s => s.Replace(AssignmentSignal(s.SignalsParentSection, signal, enumeration)));
             _routes[replaced.Name].Signals.Clear();
             return(true);
         }
     }
     return(false);
 }
Esempio n. 7
0
 public SignalEntity(SignalDefenition defenition)
 {
     Signals    = new List <AssignmentSignal>();
     Defenition = defenition;
 }
Esempio n. 8
0
 public SignalDefenition InserSignalDefenition(SignalDefenition signal)
 {
     AddObserv(signal);
     return(signal);
 }