예제 #1
0
        public static int GetKoppelSignaalCount(string koppeling, string name, KoppelSignaalRichtingEnum richting)
        {
            var koppelingKey     = koppeling + richting;
            CCOLKoppelSignaal ks = null;

            if (_koppelSignalen.ContainsKey(koppelingKey))
            {
                ks = _koppelSignalen[koppelingKey].FirstOrDefault(x => x.Name == name && x.Richting == richting);
            }
            return(ks?.Count ?? 0);
        }
예제 #2
0
        public static void AddKoppelSignaal(string koppeling, int count, string name, KoppelSignaalRichtingEnum richting)
        {
            var koppelingKey = koppeling + richting.ToString();

            if (!_koppelSignalen.ContainsKey(koppelingKey))
            {
                _koppelSignalen.Add(koppelingKey, new List <CCOLKoppelSignaal>());
            }
            else if (count != 0 && _koppelSignalen[koppelingKey].Any(x => x.Count == count))
            {
                Dependencies.Providers.TLCGenDialogProvider.Default.ShowMessageBox(
                    $"{(richting == KoppelSignaalRichtingEnum.In ? "Ingangssignaal" : "Uitgangssignaal")} " +
                    $"nummer {count} van koppeling {koppeling} wordt reeds elders gebruikt. Dit kan de juiste werking " +
                    $"van de regeling negatief beinvloeden.",
                    "Koppelsignaal dubbel gebruikt",
                    System.Windows.MessageBoxButton.OK);
            }
            if (count == 0)
            {
                // TODO msg!
            }
            else
            {
                _koppelSignalen[koppelingKey].Add(new CCOLKoppelSignaal {
                    Count = count, Name = name, Richting = richting
                });
            }
        }