/// <summary> /// Specifies the field name used to sort results. /// </summary> /// <param name="query">The query.</param> /// <param name="field">The field.</param> public static MaximoResourceSet OrderBy(this MaximoResourceSet query, string field) { query.OrderBy = field; query.OrderByDescending = false; return(query); }
/// <summary> /// Specifies a value IN list condition. /// </summary> /// <param name="query"></param> /// <param name="attribute"></param> /// <param name="values"></param> /// <returns></returns> public static MaximoResourceSet WhereIn(this MaximoResourceSet query, string attribute, params string[] values) { if (query.WhereIn.ContainsKey(attribute)) { query.WhereIn[attribute] = values.ToList(); } else { query.WhereIn.Add(attribute, values.ToList()); } return(query); }
/// <summary> /// Performs a GET using the query. /// </summary> /// <typeparam name="T">Specifies the type of the return object.</typeparam> /// <param name="query">The query.</param> /// <param name="cancellationToken">The optional token to monitor for cancellation requests.</param> /// <param name="pageSize">The maximum number of items to return.</param> /// <param name="page">The page number to retrieve.</param> /// <returns>An <see cref="IList{TResult}"/> containing a collection of items from the API.</returns> public static async Task <IList <T> > GetListAsync <T>(this MaximoResourceSet query, CancellationToken cancellationToken, int?pageSize = null, int?page = null) { query.PageSize = pageSize; query.PageNumber = page; var uri = query.ToUri(); var response = await query.Client.SendAndGetStringResponseAsync(HttpMethod.Get, uri, null, query.Headers, query.ImpersonateIdentity, cancellationToken); var jObj = JObject.Parse(response); if (jObj["member"] == null) { throw new KeyNotFoundException(@"The ""member"" attribute was not found."); } return(jObj["member"].ToObject <List <T> >()); }
/// <summary> /// Specifies a query condition. /// </summary> /// <param name="query">The query.</param> /// <param name="attribute">The name of the attribute.</param> /// <param name="condition">The relationship type.</param> /// <param name="value">The query value.</param> public static MaximoResourceSet Where(this MaximoResourceSet query, string attribute, ConditionComparison condition, int value) { query.Where.Add(new IntegerCondition(attribute, value, condition)); return(query); }
/// <summary> /// Specifies a query condition. /// </summary> /// <param name="query">The query.</param> /// <param name="condition">The condition.</param> public static MaximoResourceSet Where(this MaximoResourceSet query, Condition condition) { query.Where.Add(condition); return(query); }
/// <summary> /// Selects the saved query. /// </summary> /// <param name="query">The query.</param> /// <param name="queryName">Name of the saved query.</param> public static MaximoResourceSet SavedQuery(this MaximoResourceSet query, string queryName) { query.SavedQuery = queryName; return(query); }
/// <summary> /// Uses Or when performing a query with multiple conditions. /// </summary> /// <param name="query">The query.</param> public static MaximoResourceSet UseOrForConditions(this MaximoResourceSet query) { query.UseOr = true; return(query); }