public LoggedForkValueViewModel(ForkValue model, LoggedForkViewModel parent) { m_model = model; Parent = parent; //hide the area used to display children forks? HasChildrenForks = Forks.Count != 0; }
public LoggedForkValueViewModel(ForkValue model, LoggedForkViewModel parent) { m_model = model; Parent = parent; foreach (Fork fork in model.Forks) { Forks.Add(new LoggedForkViewModel(fork)); } //hide the area used to display children forks? HasChildrenForks = Forks.Count != 0; }
public LoggedForkViewModel(Fork model) { m_model = model; //Build View models from the models foreach (Fork fork in model.Forks) { LoggedForkViewModel forkVM = new LoggedForkViewModel(fork); Forks.Add(forkVM); } HasChildrenForks = Forks.Count != 0; foreach (ForkValue forkValue in model.Values) { LoggedForkValueViewModel forkValueVM = new LoggedForkValueViewModel(forkValue, this); Values.Add(forkValueVM); } HasChildrenValues = Values.Count != 0; }
/// <summary> /// Class constructor. /// </summary> /// <param name="experiment">The experiment with all the data used in the view model</param> public LoggedExperimentViewModel(Experiment experiment) { m_model = experiment; //Create the fork view models from the models foreach (Fork fork in experiment.Forks) { LoggedForkViewModel forkVM = new LoggedForkViewModel(fork); Forks.Add(forkVM); } //Create the experimental unit view models from the models foreach (ExperimentalUnit expUnit in experiment.ExperimentalUnits) { LoggedExperimentalUnitViewModel expUnitVM = new LoggedExperimentalUnitViewModel(expUnit); foreach (string variable in expUnitVM.VariablesInLog) { AddVariable(variable); } ExperimentalUnits.Add(expUnitVM); } //Associate forks and experiment units foreach (LoggedExperimentalUnitViewModel expUnit in ExperimentalUnits) { TraverseAction(false, (node) => { if (node is LoggedForkValueViewModel forkValue) { foreach (string forkName in expUnit.ForkValues.Keys) { if (forkName == forkValue.Parent.Name && expUnit.ForkValues[forkName] == forkValue.Value) { forkValue.ExpUnits.Add(expUnit); } } } }); } }