/// <summary>
        /// Executes a query and applies a filter on a population related to a navigational filtering.
        /// The filter variables are ArgumentsList.
        /// </summary>
        /// <param name="agent">Agent</param>
        /// <param name="className">Class Name.</param>
        /// <param name="filterName">Filter Name.</param>
        /// <param name="filterVariables">Filter variables.</param>
        /// <param name="linkItems">Related Oids.</param>
        /// <param name="displaySet">Display Set in format "Atribute1, attribute2, ...".</param>
        /// <param name="orderCriteria">Order Criteria.</param>
        /// <param name="navigationalFiltering">Navigational Filtering.</param>
        /// <param name="lastOid">Last Oid</param>
        /// <param name="blockSize">Block Size 0 = All.</param>
        /// <returns>DataTable with rows of result Query.</returns>
        public DataTable ExecuteQueryFilter(
            Oid agent,
            string className,
            string filterName,
            ArgumentsList filterVariables,
            Dictionary <string, Oid> linkItems,
            string displaySet,
            string orderCriteria,
            NavigationalFiltering navigationalFiltering,
            Oid lastOid,
            int blockSize)
        {
            // Create Filter Variables.
            FilterVariables lFilterVariables = null;

            if (filterVariables != null)
            {
                lFilterVariables = new FilterVariables();
                foreach (ArgumentInfo lArgumentInfo in filterVariables)
                {
                    lFilterVariables.Add(lArgumentInfo.Name, lArgumentInfo.Type, lArgumentInfo.Value, lArgumentInfo.ClassName);
                }
            }
            return(ExecuteFilter(agent, className, filterName, lFilterVariables, linkItems, displaySet, orderCriteria, navigationalFiltering, lastOid, blockSize));
        }
예제 #2
0
        /// <summary>
        /// Executes a query and applies a filter on a population.
        /// The filter variables are two collections.
        /// </summary>
        /// <param name="agent">Agent.</param>
        /// <param name="className">Class Name.</param>
        /// <param name="filterName">Filter Name.</param>
        /// <param name="variableTypes">Variable types.</param>
        /// <param name="variableValues">Variable values.</param>
        /// <param name="variableDomains">Variable domains.</param>
        /// <param name="displaySet">Display Set in format "Atribute1, attribute2, ...".</param>
        /// <param name="orderCriteria">Order Criteria.</param>
        /// <param name="lastOid">Last Oid.</param>
        /// <param name="blockSize">Block Size 0 = All.</param>
        /// <returns>DataTable with rows of result Query.</returns>
        public DataTable ExecuteQueryFilter(
            Oid agent,
            string className,
            string filterName,
            Dictionary <string, ModelType> variableTypes,
            Dictionary <string, object> variableValues,
            Dictionary <string, string> variableDomains,
            string displaySet,
            string orderCriteria,
            Oid lastOid,
            int blockSize)
        {
            // Create Filter Variables.
            FilterVariables lFilterVariables = new FilterVariables(variableTypes, variableValues, variableDomains);

            return(ExecuteFilter(agent, className, filterName, lFilterVariables, (Dictionary <string, Oid>)null, displaySet, orderCriteria, lastOid, blockSize));
        }
예제 #3
0
        /// <summary>
        /// Executes Query Filter.
        /// </summary>
        /// <param name="agent">Agent.</param>
        /// <param name="className">Class Name.</param>
        /// <param name="filterName">Filter Name.</param>
        /// <param name="variables">Variables.</param>
        /// <param name="linkItems"></param>
        /// <param name="displaySet">Display Set in format "Atribute1, attribute2, ...".</param>
        /// <param name="orderCriteria">Order Criteria.</param>
        /// <param name="lastOid">Last Oid.</param>
        /// <param name="blockSize">Block Size 0 = All.</param>
        /// <returns>DataTable with rows of result Query.</returns>
        private DataTable ExecuteFilter(
            Oid agent,
            string className,
            string filterName,
            FilterVariables variables,
            Dictionary <string, Oid> linkItems,
            string displaySet,
            string orderCriteria,
            Oid lastOid,
            int blockSize)
        {
            // Create the Query Filter.
            QueryFilter lQueryFilter = new QueryFilter(filterName, variables, linkItems, lastOid, blockSize);
            DataTable   lResult      = ExecuteQuery(agent, className, displaySet, lQueryFilter, orderCriteria, null);

            // Add the name of Query Filter.
            lResult.ExtendedProperties.Add("QueryFilterName", filterName);
            return(lResult);
        }
예제 #4
0
 /// <summary>
 /// Initializes a new instance of FilterVariables.
 /// </summary>
 /// <param name="variables">Variables of the filter.</param>
 public FilterVariables(FilterVariables variables)
     : base(variables)
 {
 }