public StatementVm()
        {
            var sv1 = new StatementValues() { Signal = "A1", ExpressionValue = "=",
                SignalOrValue = "2" };

            var list = new List<StatementValues>();
            list.Add(sv1);
            Statements = new ListCollectionView(list);

            _saveStatements = new DelegateCommand<string>(
                    (s) => { ConvertToStatemetns(); }, //Execute
                    (s) => { return true; } //CanExecute
                    );

            ExpressionData = new ObservableCollection<string>();
            ExpressionData.Add("=");
            ExpressionData.Add(">");
        }
        public StatementVm()
        {
            var sv1 = new StatementValues()
            {
                Signal        = "A1", ExpressionValue = "=",
                SignalOrValue = "2"
            };

            var list = new List <StatementValues>();

            list.Add(sv1);
            Statements = new ListCollectionView(list);

            _saveStatements = new DelegateCommand <string>(
                (s) => { ConvertToStatemetns(); }, //Execute
                (s) => { return(true); }           //CanExecute
                );

            ExpressionData = new ObservableCollection <string>();
            ExpressionData.Add("=");
            ExpressionData.Add(">");
        }
Esempio n. 3
0
        private Statement.Statement CreateStatement(StatementValues 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(StatementValues 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(StatementValues statementValues)
 {
     return null;
 }
 private Statement.Statement CreateStatement(StatementValues statementValues)
 {
     return(null);
 }