Example #1
0
        /// <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);
        }
Example #2
0
        /// <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> >());
        }
Example #4
0
        /// <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);
        }
Example #5
0
        /// <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);
        }
Example #6
0
        /// <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);
        }
Example #7
0
        /// <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);
        }