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); }
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 }); } }