public bool Contains(Node n) { if (LastStep.Equals(n)) { return(true); } foreach (Node node in PreviousSteps) { if (node.Equals(n)) { return(true); } } return(false); }
/// <summary> /// Refresh the wizard steps. /// </summary> public void RefreshSteps() { if (Steps != null) { for (int i = 0; i < Steps.Count; i++) { var step = Steps[i]; if (step != null) { step.SetWizard(this); if (step.Visibility == Visibility.Visible) { step.SetIndex(i); step.Selected = OnStepSelected; } } } FirstStep?.ClearFisrtAndLast(); LastStep?.ClearFisrtAndLast(); FirstStep = Steps.FirstOrDefault(e => e.Visibility == Visibility.Visible); LastStep = Steps.LastOrDefault(e => e.Visibility == Visibility.Visible); if (Steps.Count(e => e.Visibility == Visibility.Visible) > 1) { FirstStep?.SetFirst(); LastStep?.SetLast(); } else { FirstStep?.SetOnlyStep(); } CurrentStep = FirstStep; } }
public string ToString(string format, IFormatProvider formatProvider) { return(PreviousSteps == null?LastStep.ToString() : $"{PreviousSteps.ToString(format, formatProvider)} -> {LastStep}"); //var diff = (TotalCost - PreviousSteps.TotalCost).ToString(format, formatProvider); }
public override string ToString() { return(PreviousSteps != null ? $"{PreviousSteps} ({TotalCost - PreviousSteps.TotalCost:#})→ {LastStep}" : LastStep.ToString()); }