public void OnControllerHasOVChanged(ControllerHasOVChangedMessage message) { switch (message.Type) { case Models.Enumerations.OVIngreepTypeEnum.Geen: OVIngreepSGParameters.RemoveAll(); break; case Models.Enumerations.OVIngreepTypeEnum.Uitgebreid: foreach (var fcm in _Controller.Fasen) { if (OVIngreepSGParameters.Any(x => x.FaseCyclus == fcm.Naam)) { continue; } var prms = new OVIngreepSignaalGroepParametersModel(); DefaultsProvider.Default.SetDefaultsOnModel(prms); prms.FaseCyclus = fcm.Naam; OVIngreepSGParameters.Add(new OVIngreepSignaalGroepParametersViewModel(prms)); } OVIngreepSGParameters.BubbleSort(); OVIngreepSGParameters.RebuildList(); break; } }
public void CopyValueNoMessaging(OVIngreepSignaalGroepParametersModel sgprm) { var t = sgprm.GetType(); var props = t.GetProperties(); foreach(var prop in props) { if(prop.PropertyType.IsValueType) { prop.SetValue(this.GetItem(), prop.GetValue(sgprm)); } } RaisePropertyChanged(""); }
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 OVIngreepSignaalGroepParametersViewModel(OVIngreepSignaalGroepParametersModel prms) { _Parameters = prms; }
public OVIngreepSignaalGroepParametersChangedMessage(OVIngreepSignaalGroepParametersModel signaalgroepparameters) { SignaalGroepParameters = signaalgroepparameters; }