/// <summary>
        /// Executes a query and applies a filter on a population related to a navigational filtering.
        /// 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">Filter variables types.</param>
        /// <param name="variableValues">Filter variables values.</param>
        /// <param name="variableDomains">Filter variables domains.</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 Filter.</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,
			Dictionary<string, Oid> linkItems,
			string displaySet,
			string orderCriteria,
			NavigationalFiltering navigationalFiltering,
			Oid lastOid,
			int blockSize)
        {
            // Create Filter Variables.
            FilterVariables lFilterVariables = new FilterVariables(variableTypes, variableValues, variableDomains);
            return ExecuteFilter(agent,className,filterName,lFilterVariables,linkItems,displaySet, orderCriteria,navigationalFiltering,lastOid,blockSize);
        }
Ejemplo n.º 2
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;
        }
        /// <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);
        }