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