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"); }