Exemple #1
0
        /// <summary>
        /// Evaluates the node asynchronously, using the variables provided in
        /// the <paramref name="Variables"/> collection.
        /// </summary>
        /// <param name="Variables">Variables collection.</param>
        /// <returns>Result.</returns>
        public async Task <IElement> EvaluateAsync(Variables Variables)
        {
            IDataSource Source = this.source.GetSource(Variables);
            string      Name   = InsertValues.GetName(this.name, Variables);

            if (!await Source.DropIndex(Name))
            {
                throw new ScriptRuntimeException("Index not found.", this);
            }

            return(new StringValue(Name));
        }
        /// <summary>
        /// Evaluates the node asynchronously, using the variables provided in
        /// the <paramref name="Variables"/> collection.
        /// </summary>
        /// <param name="Variables">Variables collection.</param>
        /// <returns>Result.</returns>
        public async Task <IElement> EvaluateAsync(Variables Variables)
        {
            IDataSource Source = this.source.GetSource(Variables);
            string      Name   = InsertValues.GetName(this.name, Variables);

            string[] Fields = new string[this.nrColumns];
            int      i;

            for (i = 0; i < this.nrColumns; i++)
            {
                string s = InsertValues.GetName(this.columns[i], Variables);
                Fields[i] = this.ascending[i] ? s : "-" + s;
            }

            await Source.CreateIndex(Name, Fields);

            return(new StringValue(Name));
        }