void AddNewGroentijdenSetCommand_Executed(object prm)
        {
            // Build model
            GroentijdenSetModel mgsm = new GroentijdenSetModel();

            switch (_Controller.Data.Instellingen.TypeGroentijden)
            {
            case GroentijdenTypeEnum.VerlengGroentijden:
                mgsm.Naam = "VG" + (GroentijdenSets.Count + 1).ToString();
                break;

            default:
                mgsm.Naam = "MG" + (GroentijdenSets.Count + 1).ToString();
                break;
            }
            foreach (FaseCyclusModel fcvm in _Controller.Fasen)
            {
                GroentijdModel mgm = new GroentijdModel();
                mgm.FaseCyclus = fcvm.Define;
                mgm.Waarde     = Settings.Utilities.FaseCyclusUtilities.GetFaseDefaultGroenTijd(fcvm.Type);
                mgsm.Groentijden.Add(mgm);
            }

            // Create ViewModel around the model, add to list
            GroentijdenSetViewModel mgsvm = new GroentijdenSetViewModel(mgsm);

            GroentijdenSets.Add(mgsvm);

            // Rebuild matrix
            BuildGroentijdenMatrix();
        }
        public void AddFase(string fasedefine, string fasename)
        {
            GroentijdModel mgm = new GroentijdModel();

            mgm.FaseCyclus = fasedefine;
            mgm.Waarde     = Settings.Utilities.FaseCyclusUtilities.GetFaseDefaultGroenTijd(fasedefine);
            GroentijdenSetList.Add(new GroentijdViewModel(mgm));
        }
示例#3
0
        public void OnFasenChanged(FasenChangedMessage message)
        {
            if (message.AddedFasen != null)
            {
                foreach (var fcm in message.AddedFasen)
                {
                    foreach (var set in Controller.GroentijdenSets)
                    {
                        var mgm = new GroentijdModel {
                            FaseCyclus = fcm.Naam
                        };
                        DefaultsProvider.Default.SetDefaultsOnModel(mgm, fcm.Type.ToString());
                        set.Groentijden.Add(mgm);
                    }
                }
            }
            if (message.RemovedFasen != null)
            {
                foreach (var fcm in message.RemovedFasen)
                {
                    foreach (var set in Controller.GroentijdenSets)
                    {
                        GroentijdModel mgm = null;
                        foreach (var mgvm in set.Groentijden)
                        {
                            if (mgvm.FaseCyclus == fcm.Naam)
                            {
                                mgm = mgvm;
                            }
                        }
                        if (mgm != null)
                        {
                            set.Groentijden.Remove(mgm);
                        }
                    }
                }
            }

            foreach (var set in GroentijdenSets)
            {
                set.Groentijden.Rebuild();
            }
            BuildGroentijdenMatrix();
        }
示例#4
0
        void AddNewGroentijdenSetCommand_Executed(object prm)
        {
            // Build model
            var mgsm = new GroentijdenSetModel();

            switch (_Controller.Data.TypeGroentijden)
            {
            case GroentijdenTypeEnum.VerlengGroentijden:
                mgsm.Naam = "VG" + (GroentijdenSets.Count + 1).ToString();
                break;

            default:
                mgsm.Naam = "MG" + (GroentijdenSets.Count + 1).ToString();
                break;
            }
            foreach (var fcvm in _Controller.Fasen)
            {
                var mgm = new GroentijdModel();
                mgm.FaseCyclus = fcvm.Naam;
                mgm.Waarde     = Settings.Utilities.FaseCyclusUtilities.GetFaseDefaultGroenTijd(fcvm.Type);
                mgsm.Groentijden.Add(mgm);
            }

            // Create ViewModel around the model, add to list
            var mgsvm = new GroentijdenSetViewModel(mgsm);

            GroentijdenSets.Add(mgsvm);

            if (string.IsNullOrWhiteSpace(_Controller.PeriodenData.DefaultPeriodeGroentijdenSet))
            {
                _Controller.PeriodenData.DefaultPeriodeGroentijdenSet = mgsm.Naam;
            }

            // Rebuild matrix
            BuildGroentijdenMatrix();
            CheckGroentijdenSetsWithDefaultPeriode();
        }
        public void OnFasenChanging(FasenChangingMessage message)
        {
            if (message.AddedFasen != null)
            {
                foreach (var fcm in message.AddedFasen)
                {
                    // PT Conflict prms
                    if (Controller.OVData.OVIngreepType != Models.Enumerations.OVIngreepTypeEnum.Geen)
                    {
                        var prms = new OVIngreepSignaalGroepParametersModel();
                        _setDefaultsAction?.Invoke(prms, null);
                        prms.FaseCyclus = fcm.Naam;
                        Controller.OVData.OVIngreepSignaalGroepParameters.Add(prms);
                    }

                    // Module settings
                    var fcmlm = new FaseCyclusModuleDataModel()
                    {
                        FaseCyclus = fcm.Naam
                    };
                    _setDefaultsAction?.Invoke(fcmlm, null);
                    Controller.ModuleMolen.FasenModuleData.Add(fcmlm);

                    // Green times
                    foreach (var set in Controller.GroentijdenSets)
                    {
                        var mgm = new GroentijdModel {
                            FaseCyclus = fcm.Naam
                        };
                        _setDefaultsAction(mgm, fcm.Type.ToString());
                        set.Groentijden.Add(mgm);
                    }
                }
            }
            if (message.RemovedFasen != null)
            {
                foreach (var fcm in message.RemovedFasen)
                {
                    // PT Conflict prms
                    if (Controller.OVData.OVIngreepType != Models.Enumerations.OVIngreepTypeEnum.Geen)
                    {
                        OVIngreepSignaalGroepParametersModel _prms = null;
                        foreach (var prms in Controller.OVData.OVIngreepSignaalGroepParameters)
                        {
                            if (prms.FaseCyclus == fcm.Naam)
                            {
                                _prms = prms;
                            }
                        }
                        if (_prms != null)
                        {
                            Controller.OVData.OVIngreepSignaalGroepParameters.Remove(_prms);
                        }
                    }

                    // Module settings
                    FaseCyclusModuleDataModel fcvm = null;
                    foreach (var f in Controller.ModuleMolen.FasenModuleData)
                    {
                        if (fcm.Naam == f.FaseCyclus)
                        {
                            fcvm = f;
                        }
                    }
                    if (fcvm != null)
                    {
                        Controller.ModuleMolen.FasenModuleData.Remove(fcvm);
                    }

                    // Green times
                    foreach (var set in Controller.GroentijdenSets)
                    {
                        GroentijdModel mgm = null;
                        foreach (var mgvm in set.Groentijden)
                        {
                            if (mgvm.FaseCyclus == fcm.Naam)
                            {
                                mgm = mgvm;
                            }
                        }
                        if (mgm != null)
                        {
                            set.Groentijden.Remove(mgm);
                        }
                    }
                }
            }

            // Sorting
            Controller.OVData.OVIngreepSignaalGroepParameters.BubbleSort();
            foreach (var set in Controller.GroentijdenSets)
            {
                set.Groentijden.BubbleSort();
            }
            Controller.ModuleMolen.FasenModuleData.BubbleSort();

            // Messaging
            MessengerInstance.Send(new FasenChangedMessage(message.AddedFasen, message.RemovedFasen));
        }
 public GroentijdViewModel(GroentijdModel mgm)
 {
     _Groentijd = mgm;
 }