/// <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); }
/// <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); }