Exemplo n.º 1
0
        public void Add(string strExp)
        {
            if (string.IsNullOrWhiteSpace(strExp))
                throw new ArgumentNullException("strExp");

            string[] exps = strExp.Split(new[] { ';' }, StringSplitOptions.RemoveEmptyEntries);

            while (expressions.Count + exps.Length > countOfExps)
                expressions.RemoveAt(0);

            foreach (var s in exps)
            {
                ILogicExpression exp = parser.Parse(s);
                LogicWorkspaceItem item = new LogicWorkspaceItem(s, exp);
                if (exp is Assign)
                {
                    Assign assign = exp as Assign;
                    assign.Calculate(parameters);
                    item.Answer = string.Format(Resource.AssignVariable, assign.Variable, assign.Value);
                }
                else if (exp is Undefine)
                {
                    Undefine undef = exp as Undefine;
                    undef.Calculate(parameters);
                    item.Answer = string.Format(Resource.UndefineVariable, undef.Variable);
                }
                else
                {
                    item.Answer = exp.Calculate(parameters).ToString();
                }

                expressions.Add(item);
            }
        }
 public LogicWorkspaceItemViewModel(int index, LogicWorkspaceItem item)
 {
     this.index = index;
     this.item = item;
 }
Exemplo n.º 3
0
 public void Remove(LogicWorkspaceItem item)
 {
     expressions.Remove(item);
 }