public Solvable GetSolvable(string name) { Solvable s = null; foreach (Solvable solvable in GetSolvableList()) { if (solvable.Name.Equals(name)) { s = solvable; break; } } return(s); }
public override bool Equals(object obj) { Solvable sovable = obj as Solvable; if (sovable == null) { return(false); } bool isEqual = false; if (name.Equals(sovable.Name)) { isEqual = true; } return(isEqual); }
public int CompareTo(object other) { Solvable solvable = other as Solvable; //return name.CompareTo(solvable.name); char[] name1Chars = name.ToCharArray(); char[] name2Chars = solvable.name.ToCharArray(); int name1 = 0; foreach (char c in name1Chars) { name1 += (int)c; } int name2 = 0; foreach (char c in name2Chars) { name2 += (int)c; } return(name1.CompareTo(name2)); }
private void QueueStreamsAndUnitOpsForErase(Solvable solvable) { ProcessStreamBase ps = solvable as ProcessStreamBase; if (ps != null) { if (!eraseSolvableQueue.Contains(ps)) { eraseSolvableQueue.Enqueue(ps); } QueueStreamsAndUnitOpsForErase(ps); } else { UnitOperation uo = solvable as UnitOperation; if (uo != null && !eraseSolvableQueue.Contains(uo)) { QueueStreamsAndUnitOpsForErase(uo); } } }
private void QueueStreamsAndUnitOpsForCalculate(Solvable solvable, bool specify) { Trace.WriteLine("Queue solvable " + solvable.Name); if (solvable is ProcessStreamBase) { ProcessStreamBase ps = solvable as ProcessStreamBase; if (!ps.HasSolvedAlready) { calculateStreamQueue.Enqueue(ps); } QueueStreamsAndUnitOpsforForCalculate(ps, specify); } else if (solvable is UnitOperation) { UnitOperation uo = solvable as UnitOperation; if (!calculateUnitOpQueue.Contains(uo)) { QueueStreamsAndUnitOpsForCalculate(uo, specify); } } }
public int CompareTo(object other) { Solvable solvable = other as Solvable; return(name.CompareTo(solvable.name)); }
public void OnSolvableCalculated(Solvable solvable, bool specify) { QueueStreamsAndUnitOpsForCalculate(solvable, specify); }
public void OnSolvableSpecified(Solvable solvable) { QueueStreamsAndUnitOpsForErase(solvable); }