private Statement.Statement CreateStatement(StatementData statementValues) { Statement.Statement statement; var signal = _avalibleSignals.First(x => x.Name.Equals(statementValues.Signal)); if (_avalibleSignals.Any(x => x.Name.Equals(statementValues.SignalOrValue))) { var signal2 = _avalibleSignals.First(x => x.Name.Equals(statementValues.SignalOrValue)); switch (statementValues.ExpressionValue) { case "Equals": statement = new Statement.Equals(signal, signal2); break; case "Lagrer Then": statement = new Statement.LargerThen(signal, signal2); break; case "Less Then": statement = new Statement.LessThen(signal, signal2); break; case "Rising Edge": statement = new Statement.RisingEdge(signal, signal2); break; case "Falling Edge": statement = new Statement.FallingEdge(signal, signal2); break; default: throw new Exception(); } } else { double value; if (double.TryParse(statementValues.SignalOrValue, out value)) { switch (statementValues.ExpressionValue) { case "Equals": statement = new Statement.Equals(signal, value); break; case "Larger Then": statement = new Statement.LargerThen(signal, value); break; case "Less Then": statement = new Statement.LessThen(signal, value); break; case "Rising Edge": statement = new Statement.RisingEdge(signal, value); break; case "Falling Edge": statement = new Statement.FallingEdge(signal, value); break; default: throw new Exception(); } } else { throw new Exception(); } } return statement; }
private Statement.Statement CreateStatement(StatementData statementValues) { Statement.Statement statement; var signal = _avalibleSignals.First(x => x.Name.Equals(statementValues.Signal)); if (_avalibleSignals.Any(x => x.Name.Equals(statementValues.SignalOrValue))) { var signal2 = _avalibleSignals.First(x => x.Name.Equals(statementValues.SignalOrValue)); switch (statementValues.ExpressionValue) { case "Equals": statement = new Statement.Equals(signal, signal2); break; case "Lagrer Then": statement = new Statement.LargerThen(signal, signal2); break; case "Less Then": statement = new Statement.LessThen(signal, signal2); break; case "Rising Edge": statement = new Statement.RisingEdge(signal, signal2); break; case "Falling Edge": statement = new Statement.FallingEdge(signal, signal2); break; default: throw new Exception(); } } else { double value; if (double.TryParse(statementValues.SignalOrValue, out value)) { switch (statementValues.ExpressionValue) { case "Equals": statement = new Statement.Equals(signal, value); break; case "Larger Then": statement = new Statement.LargerThen(signal, value); break; case "Less Then": statement = new Statement.LessThen(signal, value); break; case "Rising Edge": statement = new Statement.RisingEdge(signal, value); break; case "Falling Edge": statement = new Statement.FallingEdge(signal, value); break; default: throw new Exception(); } } else { throw new Exception(); } } return(statement); }