Example #1
0
        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());
        }
Example #3
0
        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());
        }
Example #4
0
        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());
        }