private void BuildGroentijdenMatrix() { if (GroentijdenSets == null || GroentijdenSets.Count == 0) { SetNames.Clear(); FasenNames.Clear(); GroentijdenMatrix = new GroentijdViewModel[0, 0]; RaisePropertyChanged(nameof(SetNames)); RaisePropertyChanged(nameof(FasenNames)); RaisePropertyChanged(nameof(GroentijdenMatrix)); } foreach (var mgsvm in GroentijdenSets) { mgsvm.Groentijden.BubbleSort(); mgsvm.GroentijdenSet.Groentijden.BubbleSort(); } SetNames.Clear(); FasenNames.Clear(); var fccount = _Controller.Fasen.Count; if (fccount == 0 || GroentijdenSets == null || GroentijdenSets.Count == 0) { return; } GroentijdenMatrix = new GroentijdViewModel[GroentijdenSets.Count, fccount]; int i = 0, j = 0; foreach (var mgsvm in GroentijdenSets) { SetNames.Add(mgsvm.GroentijdenSet.Naam); j = 0; foreach (var mgvm in mgsvm.Groentijden) { // Build fasen list for row headers from first set if (i == 0) { FasenNames.Add(mgvm.FaseCyclus); } // set data in bound matrix if (j < fccount) { GroentijdenMatrix[i, j] = mgvm; } else { throw new IndexOutOfRangeException(); } j++; } i++; } RaisePropertyChanged(nameof(SetNames)); RaisePropertyChanged(nameof(FasenNames)); RaisePropertyChanged(nameof(GroentijdenMatrix)); }
public void BuildGroentijdenMatrix() { if (GroentijdenSets == null || GroentijdenSets.Count == 0) { return; } foreach (GroentijdenSetViewModel mgsvm in GroentijdenSets) { #warning CHECK > why is this needed? It's double, only the first one should be necessary. mgsvm.GroentijdenSetList.BubbleSort(); if (!mgsvm.GroentijdenSet.Groentijden.IsSorted()) { mgsvm.GroentijdenSet.Groentijden.BubbleSort(); } } SetNames.Clear(); FasenNames.Clear(); int fccount = _Controller.Fasen.Count; if (fccount == 0 || GroentijdenSets == null || GroentijdenSets.Count == 0) { return; } GroentijdenMatrix = new GroentijdViewModel[GroentijdenSets.Count, fccount]; int i = 0, j = 0; foreach (GroentijdenSetViewModel mgsvm in GroentijdenSets) { SetNames.Add(mgsvm.GroentijdenSet.Naam); j = 0; foreach (GroentijdViewModel mgvm in mgsvm.GroentijdenSetList) { // Build fasen list for row headers from first set if (i == 0) { FasenNames.Add(mgvm.FaseCyclus.Replace(SettingsProvider.Instance.GetFaseCyclusDefinePrefix(), "")); } // set data in bound matrix if (j < fccount) { GroentijdenMatrix[i, j] = mgvm; } else { throw new NotImplementedException(); } j++; } i++; } OnPropertyChanged("SetNames"); OnPropertyChanged("FasenNames"); OnPropertyChanged("GroentijdenMatrix"); }
public GroentijdenSetViewModel(GroentijdenSetModel mgsm) { _GroentijdenSet = mgsm; foreach (GroentijdModel mgm in mgsm.Groentijden) { GroentijdViewModel mgvm = new GroentijdViewModel(mgm); GroentijdenSetList.Add(mgvm); } GroentijdenSetList.CollectionChanged += GroentijdenSetList_CollectionChanged; }
public void RemoveFase(string fasedefine) { GroentijdViewModel _mgvm = null; foreach (GroentijdViewModel mgvm in GroentijdenSetList) { if (mgvm.FaseCyclus == fasedefine) { _mgvm = mgvm; } } if (_mgvm != null) { GroentijdenSetList.Remove(_mgvm); } }
public int CompareTo(object obj) { GroentijdViewModel mgvm = obj as GroentijdViewModel; if (mgvm == null) { throw new NotImplementedException(); } else { string myFase = FaseCyclus.Replace(SettingsProvider.Instance.GetFaseCyclusDefinePrefix(), ""); string hisFase = mgvm.FaseCyclus.Replace(SettingsProvider.Instance.GetFaseCyclusDefinePrefix(), ""); if (myFase.Length < hisFase.Length) { myFase = myFase.PadLeft(hisFase.Length, '0'); } else if (hisFase.Length < myFase.Length) { hisFase = hisFase.PadLeft(myFase.Length, '0'); } int i = myFase.CompareTo(hisFase); return(i); } }