private string SolveExpressionPrevValues() { string exp = _expression; foreach (Function func in _functions) { switch (func.Type) { case Function.FunctionType.SequentialIntFunction: SequentialIntFunction sif = (SequentialIntFunction)func; exp = exp.Replace(sif.Name, sif.PrevVal().ToString().PadLeft(sif.Padding, '0')); break; case Function.FunctionType.SequentialCharFunction: SequentialCharFunction scf = (SequentialCharFunction)func; exp = exp.Replace(scf.Name, scf.PrevVal().ToString()); break; case Function.FunctionType.ConstantTextFunction: ConstantTextFunction ctf = (ConstantTextFunction)func; exp = exp.Replace(ctf.Name, ctf.Constant); break; case Function.FunctionType.ConstantFileFunction: ConstantFileFunction cff = (ConstantFileFunction)func; exp = exp.Replace(cff.Name, cff.NextVal()); break; case Function.FunctionType.ConstantFileFunctionEx: ConstantFileFunctionEx cffe = (ConstantFileFunctionEx)func; exp = exp.Replace(cffe.Name, cffe.NextVal()); break; case Function.FunctionType.ConstantFileExtFunction: ConstantFileExtFunction cfef = (ConstantFileExtFunction)func; exp = exp.Replace(cfef.Name, cfef.NextVal()); break; } } return(exp); }
public string SolveExpressionFromBeginning(int iteration) { string exp = _expression; foreach (Function func in _functions) { switch (func.Type) { case Function.FunctionType.SequentialIntFunction: SequentialIntFunction sif = (SequentialIntFunction)func; exp = exp.Replace(sif.Name, sif.AllVals(iteration).Last <int>().ToString().PadLeft(sif.Padding, '0')); break; case Function.FunctionType.SequentialCharFunction: SequentialCharFunction scf = (SequentialCharFunction)func; exp = exp.Replace(scf.Name, scf.AllVals(iteration).Last <char>().ToString()); break; case Function.FunctionType.ConstantTextFunction: ConstantTextFunction ctf = (ConstantTextFunction)func; exp = exp.Replace(ctf.Name, ctf.Constant); break; case Function.FunctionType.ConstantFileFunction: ConstantFileFunction cff = (ConstantFileFunction)func; exp = exp.Replace(cff.Name, cff.NextVal()); break; case Function.FunctionType.ConstantFileFunctionEx: ConstantFileFunctionEx cffe = (ConstantFileFunctionEx)func; exp = exp.Replace(cffe.Name, cffe.NextVal()); break; case Function.FunctionType.ConstantFileExtFunction: ConstantFileExtFunction cfef = (ConstantFileExtFunction)func; exp = exp.Replace(cfef.Name, cfef.NextVal()); break; } } return(exp); }