Пример #1
0
        /// <summary>
        /// Creates new query.
        /// </summary>
        /// <returns>The query.</returns>
        /// <param name="query"><see cref="Query"/></param>
        /// <exception cref="CloudApiException">CloudApiException</exception>
        /// <example>
        /// <code>
        /// try
        /// {
        ///     var query = new Query
        ///     {
        ///         Name = "newQuery",
        ///     };
        ///     query.Filter.Add("state", "bootstrapped");
        ///     var newQuery = api.AddQuery(query);
        ///     return newQuery;
        /// }
        /// catch (CloudApiExeption)
        /// {
        ///     throw;
        /// }
        /// </code>
        /// </example>
        public Query AddQuery(Query query)
        {
            var deviceQueryPostPutRequest = new device_directory.Model.DeviceQueryPostPutRequest(query.Name, query.Filter.FilterString);

            try
            {
                var response = Api.DeviceQueryCreate(deviceQueryPostPutRequest);
                return(Query.Map(response));
            }
            catch (device_directory.Client.ApiException ex)
            {
                throw new CloudApiException(ex.ErrorCode, ex.Message, ex.ErrorContent);
            }
        }
Пример #2
0
        /// <summary>
        /// Update existing query in device query service.
        /// </summary>
        /// <param name="queryId">Id</param>
        /// <param name="queryToUpdate"><see cref="Query"/> to update</param>
        /// <returns><see cref="Query"/></returns>
        /// <exception cref="CloudApiException">CloudApiException</exception>
        /// <example>
        /// <code>
        /// try
        /// {
        ///     var query = deviceApi.GetQuery("015c45eb321700000000000100100155");
        ///     var fieldsToUpdate = new Query
        ///     {
        ///         Name = "updatedQuery",
        ///     };
        ///     var updatedQuery = deviceApi.UpdateQuery(query.Id, fieldsToUpdate);
        ///     return updatedQuery;
        /// }
        /// catch (CloudApiExeption)
        /// {
        ///     throw;
        /// }
        /// </code>
        /// </example>
        public Query UpdateQuery(string queryId, Query queryToUpdate)
        {
            var originalQuery             = GetQuery(queryId);
            var query                     = originalQuery.MapToUpdate(queryToUpdate) as Query;
            var deviceQueryPostPutRequest = new device_directory.Model.DeviceQueryPostPutRequest(query.Name, query.Filter.FilterString);

            try
            {
                var response = Api.DeviceQueryUpdate(queryId, deviceQueryPostPutRequest);
                return(Query.Map(response));
            }
            catch (device_directory.Client.ApiException ex)
            {
                throw new CloudApiException(ex.ErrorCode, ex.Message, ex.ErrorContent);
            }
        }