/// <summary> /// Execute a query to retrieve an instance. /// </summary> /// <param name="context">Current context.</param> /// <returns>A DataTable with the instance searched.</returns> public static DataTable ExecuteQueryInstance(IUQueryContext context) { PasajeroOid lOid = null; if (context.ExchangeInformation != null && context.ExchangeInformation.SelectedOids.Count > 0) { lOid = new PasajeroOid(context.ExchangeInformation.SelectedOids[0]); } return ExecuteQueryInstance(context.Agent, lOid, context.DisplaySetAttributes); }
/// <summary> /// Execute a query to retrieve a set of instances, without any condition. /// </summary> /// <param name="context">Current context.</param> /// <returns>A DataTable with the instances searched.</returns> public static DataTable ExecuteQueryPopulation(IUPopulationContext context) { // Last Oid PasajeroOid lLastOid = null; if (context.LastOids.Count > 0) { lLastOid = new PasajeroOid(context.LastOids.Peek()); } // Last Block bool lLastBlock = true; NavigationalFiltering navigationalFiltering = NavigationalFiltering.GetNavigationalFiltering(context); DataTable lDataTable = ExecuteQueryRelated(context.Agent, new Dictionary<string, Oid>(), context.DisplaySetAttributes, context.OrderCriteriaNameSelected, navigationalFiltering, lLastOid, context.BlockSize, ref lLastBlock); context.LastBlock = lLastBlock; return lDataTable; }
/// <summary> /// Gets a list with the arguments values. /// </summary> /// <param name="p_thisPasajeroArg">Value of the inbound argument 'p_thisPasajero'.</param> /// <returns>List of inbound arguments values.</returns> private static Dictionary<string, object> GetInputFieldValues(PasajeroOid p_thisPasajeroArg) { // Fill values dictionary. Dictionary<string, object> lValues = new Dictionary<string, object>(); lValues.Add("p_thisPasajero", p_thisPasajeroArg); return lValues; }
/// <summary> /// Execute a query related with a Pasajero /// </summary> /// <param name="agent">Application agent</param> /// <param name="relatedOid">Pasajero oid related</param> /// <param name="displaySet">List of attributes to return</param> /// <param name="orderCriteria">Order criteria name</param> /// <param name="lastOid">Oid from whitch to search (not included)</param> /// <param name="blockSize">Number of instances to return (0 for all population)</param> /// <param name="lastBlock">Returns if it is last block</param> /// <returns>Query data</returns> public static DataTable ExecuteQueryRelatedPasajero(Oid agent, PasajeroOid relatedOid, string displaySet, string orderCriteria, PasajeroAeronaveOid lastOid, int blockSize, ref bool lastBlock) { Dictionary<string, Oid> lLinkItems = new Dictionary<string, Oid>(StringComparer.CurrentCultureIgnoreCase); lLinkItems.Add("Pasajero", relatedOid); return ExecuteQueryRelated(agent, lLinkItems, displaySet, orderCriteria, lastOid, blockSize, ref lastBlock); }
/// <summary> /// Execute a query to retrieve an instance. /// </summary> /// <param name="agent">Application agent.</param> /// <param name="oid">Specific 'PasajeroOid' Oid of the instance to be searched.</param> /// <param name="displaySet">Display set that will be retrieved.</param> /// <returns>A DataTable with the instance searched.</returns> public static DataTable ExecuteQueryInstance(Oid agent, PasajeroOid oid, string displaySet) { return Logic.Adaptor.ExecuteQueryInstance(agent, "Pasajero", string.Empty, oid, displaySet); }
/// <summary> /// Execute a query related with other instance. /// </summary> /// <param name="agent">Application agent.</param> /// <param name="linkItems">List of related instance oids (path - role).</param> /// <param name="displaySet">List of attributes to return.</param> /// <param name="orderCriteria">Order criteria name.</param> /// <param name="lastOid">Oid from which to search (not included).</param> /// <param name="blockSize">Number of instances to return (0 for all population).</param> /// <param name="lastBlock">Return it is last block.</param> /// <returns>A DataTable with the instances searched.</returns> public static DataTable ExecuteQueryRelated(Oid agent, Dictionary<string, Oid> linkItems, string displaySet, string orderCriteria, PasajeroOid lastOid, int blockSize, ref bool lastBlock) { DataTable lDataTable = Logic.Adaptor.ExecuteQueryRelated(agent, "Pasajero", linkItems, displaySet, orderCriteria, lastOid, blockSize); // Last block. if (lDataTable.ExtendedProperties.Contains("LastBlock")) lastBlock = (bool) lDataTable.ExtendedProperties["LastBlock"]; else lastBlock = false; return lDataTable; }
/// <summary> /// Execute a query related with other instance. /// </summary> /// <param name="context">Current context.</param> /// <returns>A DataTable with the instances searched.</returns> public static DataTable ExecuteQueryRelated(IUQueryContext context) { try { ExchangeInfo lExchangeInfo = context.ExchangeInformation; if (lExchangeInfo.ExchangeType != ExchangeType.Navigation || lExchangeInfo.SelectedOids.Count == 0) { return null; } IUPopulationContext lIUContext = context as IUPopulationContext; int blockSize=1; if (lIUContext != null) { blockSize = lIUContext.BlockSize; } ExchangeInfoNavigation lNavInfo = lExchangeInfo as ExchangeInfoNavigation; // Specific case. No role name indicates Query by Instance. if (lNavInfo.RolePath == "") { if (lIUContext != null) { lIUContext.LastBlock = true; } PasajeroOid lOidInstance = new PasajeroOid(lNavInfo.SelectedOids[0]); return ExecuteQueryInstance(context.Agent, lOidInstance, context.DisplaySetAttributes); } // Get link items. Oid lOid = lNavInfo.SelectedOids[0]; Dictionary<string, Oid> lLinkItems = new Dictionary<string, Oid>(StringComparer.CurrentCultureIgnoreCase); lLinkItems.Add(lNavInfo.RolePath, lOid); bool lLastBlock = true; PasajeroOid lLastOid = null; string lOrderCriteria = string.Empty; // Get population members. if (lIUContext != null) { if (lIUContext.LastOid != null) { lLastOid = new PasajeroOid(lIUContext.LastOid); } lOrderCriteria = lIUContext.OrderCriteriaNameSelected; } NavigationalFiltering navigationalFiltering = NavigationalFiltering.GetNavigationalFiltering(context); DataTable lDataTable = ExecuteQueryRelated(context.Agent, lLinkItems, context.DisplaySetAttributes, lOrderCriteria, navigationalFiltering, lLastOid, blockSize, ref lLastBlock); if (lIUContext != null) { lIUContext.LastBlock = lLastBlock; } return lDataTable; } catch (Exception e) { ScenarioManager.LaunchErrorScenario(e); return null; } }
/// <summary> /// Execute a query to retrieve a set of instances, without any condition. /// </summary> /// <param name="agent">Application agent.</param> /// <param name="displaySet">List of attributes to return.</param> /// <param name="orderCriteria">Order criteria name.</param> /// <param name="lastOid">Oid from which to search (not included).</param> /// <param name="blockSize">Number of instances to return (0 for all population).</param> /// <returns>A DataTable with the instances searched.</returns> public static DataTable ExecuteQueryPopulation(Oid agent, string displaySet, string orderCriteria, PasajeroOid lastOid, int blockSize, ref bool lastBlock) { return ExecuteQueryRelated(agent, new Dictionary<string, Oid>(), displaySet, orderCriteria, lastOid, blockSize, ref lastBlock); }
/// <summary> /// Gets a list with the arguments values. /// </summary> /// <param name="p_agrAeronaveArg">Value of the inbound argument 'p_agrAeronave'.</param> /// <param name="p_agrPasajeroArg">Value of the inbound argument 'p_agrPasajero'.</param> /// <param name="p_atrid_PasajeroAeronaveArg">Value of the inbound argument 'p_atrid_PasajeroAeronave'.</param> /// <param name="p_atrNombreAeronaveArg">Value of the inbound argument 'p_atrNombreAeronave'.</param> /// <param name="p_atrNombrePasajeroArg">Value of the inbound argument 'p_atrNombrePasajero'.</param> /// <returns>List of inbound arguments values.</returns> private static Dictionary<string, object> GetInputFieldValues(AeronaveOid p_agrAeronaveArg, PasajeroOid p_agrPasajeroArg, int? p_atrid_PasajeroAeronaveArg, string p_atrNombreAeronaveArg, string p_atrNombrePasajeroArg) { // Fill values dictionary. Dictionary<string, object> lValues = new Dictionary<string, object>(); lValues.Add("p_agrAeronave", p_agrAeronaveArg); lValues.Add("p_agrPasajero", p_agrPasajeroArg); lValues.Add("p_atrid_PasajeroAeronave", p_atrid_PasajeroAeronaveArg); lValues.Add("p_atrNombreAeronave", p_atrNombreAeronaveArg); lValues.Add("p_atrNombrePasajero", p_atrNombrePasajeroArg); return lValues; }