public void Execute(CommandCall commandCall, global::Concordion.Api.IEvaluator evaluator, global::Concordion.Api.IResultRecorder resultRecorder)
        {
            CommandCallList childCommands = commandCall.Children;

            childCommands.SetUp(evaluator, resultRecorder);
            evaluator.Evaluate(commandCall.Expression);
            childCommands.Execute(evaluator, resultRecorder);
            childCommands.Verify(evaluator, resultRecorder);
        }
示例#2
0
        public void Execute(CommandCall commandCall, global::Concordion.Api.IEvaluator evaluator, global::Concordion.Api.IResultRecorder resultRecorder)
        {
            TableSupport tableSupport = new TableSupport(commandCall);
            IList <Row>  detailRows   = tableSupport.GetDetailRows();

            foreach (Row detailRow in detailRows)
            {
                if (detailRow.GetCells().Count != tableSupport.ColumnCount)
                {
                    throw new Exception("The <table> 'execute' command only supports rows with an equal number of columns.");
                }

                commandCall.Element = detailRow.RowElement;
                tableSupport.CopyCommandCallsTo(detailRow);
                commandCall.Execute(evaluator, resultRecorder);
            }
        }