private void OnPTPKoppelingenChanged(PTPKoppelingenChangedMessage msg)
        {
            var rems = new List <string>();

            foreach (var ptpk in PTPKruisingenNames)
            {
                if (Controller.PTPData.PTPKoppelingen.All(x => x.TeKoppelenKruispunt != ptpk))
                {
                    rems.Add(ptpk);
                }
            }

            foreach (var r in rems)
            {
                PTPKruisingenNames.Remove(r);
                foreach (var k in PelotonKoppelingen)
                {
                    if (k.PTPKruising == r)
                    {
                        k.PTPKruising = "onbekend";
                    }
                }
            }

            foreach (var ptpkp in Controller.PTPData.PTPKoppelingen)
            {
                if (PTPKruisingenNames.All(x => x != ptpkp.TeKoppelenKruispunt))
                {
                    PTPKruisingenNames.Add(ptpkp.TeKoppelenKruispunt);
                }
            }
        }
 private void OnNameChanged(NameChangedMessage msg)
 {
     if (PTPKruisingenNames.Contains(msg.OldName))
     {
         PTPKruisingenNames.Add(msg.NewName);
         foreach (var k in PelotonKoppelingen)
         {
             if (k.PTPKruising == msg.OldName)
             {
                 k.PTPKruising = msg.NewName;
             }
         }
         PTPKruisingenNames.Remove(msg.OldName);
     }
 }
        private void AddPelotonKoppelingCommand_Executed(object obj)
        {
            var Peloton = new PelotonKoppelingModel();

            if (ControllerFasen.Any())
            {
                Peloton.GekoppeldeSignaalGroep = ControllerFasen.First();
            }
            if (PTPKruisingenNames.Any())
            {
                Peloton.PTPKruising  = PTPKruisingenNames.First();
                Peloton.KruisingNaam = PTPKruisingenNames.First();
            }
            else
            {
                Peloton.KruisingNaam = "KOP1";
            }
            var vm = new PelotonKoppelingViewModel(Peloton);

            PelotonKoppelingen.Add(vm);
            SelectedPelotonKoppeling = vm;
        }