void AddNewFaseCommand_Executed(object prm) { var fcm = new FaseCyclusModel(); var newname = "01"; foreach (var fcvm in Fasen) { if (Regex.IsMatch(fcvm.Naam, @"[0-9]+")) { var m = Regex.Match(fcvm.Naam, @"[0-9]+"); var next = m.Value; if (int.TryParse(next, out int inewname)) { IsElementIdentifierUniqueRequest message; do { inewname++; newname = (inewname < 10 ? "0" : "") + inewname; message = new IsElementIdentifierUniqueRequest(newname, ElementIdentifierType.Naam); Messenger.Default.Send(message); }while (!message.IsUnique); } } break; } fcm.Naam = newname; fcm.Type = Settings.Utilities.FaseCyclusUtilities.GetFaseTypeFromNaam(fcm.Naam); DefaultsProvider.Default.SetDefaultsOnModel(fcm, fcm.Type.ToString()); var fcvm1 = new FaseCyclusViewModel(fcm); Fasen.Add(fcvm1); }
void AddNewPeriodeCommand_Executed(object prm) { PeriodeModel mm = new PeriodeModel(); mm.Type = PeriodeTypeEnum.Overig; mm.DagCode = PeriodeDagCodeEnum.AlleDagen; var inewname = Periodes.Count; IsElementIdentifierUniqueRequest message; do { inewname++; mm.Naam = "periode" + (inewname < 10 ? "0" : "") + inewname; message = new IsElementIdentifierUniqueRequest(mm.Naam, ElementIdentifierType.Naam); Messenger.Default.Send(message); }while (!message.IsUnique); PeriodeViewModel mvm = new PeriodeViewModel(mm); if (Periodes.Any(x => x.Type != PeriodeTypeEnum.Groentijden)) { int index = Periodes.Count(x => x.Type != PeriodeTypeEnum.Groentijden); Periodes.Insert(index, mvm); } else { Periodes.Insert(0, mvm); } Periodes.RebuildList(); Messenger.Default.Send(new PeriodenChangedMessage()); }
private void AddPTPKoppelingCommand_Executed(object obj) { var inewname = 1; var ptp = new PTPKoppelingModel(); IsElementIdentifierUniqueRequest message; do { inewname++; ptp.TeKoppelenKruispunt = "ptpkruising" + (inewname < 10 ? "0" : "") + inewname; message = new IsElementIdentifierUniqueRequest(ptp.TeKoppelenKruispunt, ElementIdentifierType.Naam); Messenger.Default.Send(message); }while (!message.IsUnique); PTPKoppelingen.Add(new PTPKoppelingViewModel(ptp)); MessengerInstance.Send(new PTPKoppelingenChangedMessage()); }
private void OnIsElementIdentifierUniqueRequestReceived(IsElementIdentifierUniqueRequest request) { if (request.Handled == false) { switch (request.Type) { case ElementIdentifierType.Naam: request.IsUnique = TLCGenIntegrityChecker.IsElementNaamUnique(_Controller, request.Identifier); request.Handled = true; break; case ElementIdentifierType.VissimNaam: request.IsUnique = TLCGenIntegrityChecker.IsElementVissimNaamUnique(_Controller, request.Identifier); request.Handled = true; break; } } }
void AddDetectorCommand_Executed(object prm) { DetectorModel dm = new DetectorModel(); string newname = "001"; int inewname = 1; foreach (DetectorViewModel dvm in Detectoren) { if (Regex.IsMatch(dvm.Naam, @"[0-9]+")) { Match m = Regex.Match(dvm.Naam, @"[0-9]+"); string next = m.Value; if (Int32.TryParse(next, out inewname)) { IsElementIdentifierUniqueRequest message; do { newname = inewname.ToString("000"); message = new IsElementIdentifierUniqueRequest(newname, ElementIdentifierType.Naam); Messenger.Default.Send(message); if (!message.IsUnique) { inewname++; } }while (!message.IsUnique); } } } dm.Naam = newname; DefaultsProvider.Default.SetDefaultsOnModel(dm, dm.Type.ToString()); dm.AanvraagDirect = false; // Not possible / allowed on loose detector DetectorViewModel dvm1 = new DetectorViewModel(dm); Detectoren.Add(dvm1); Messenger.Default.Send(new DetectorenChangedMessage()); }