private async Task <T> GetOfferV2Async <T>( string targetRID, bool failIfNotConfigured, CancellationToken cancellationToken) { if (string.IsNullOrWhiteSpace(targetRID)) { throw new ArgumentNullException(targetRID); } QueryDefinition queryDefinition = new QueryDefinition("select * from root r where r.offerResourceId= @targetRID"); queryDefinition.WithParameter("@targetRID", targetRID); using FeedIterator <T> databaseStreamIterator = this.GetOfferQueryIterator <T>( queryDefinition: queryDefinition, continuationToken: null, requestOptions: null, cancellationToken: cancellationToken); T offerV2 = await this.SingleOrDefaultAsync <T>(databaseStreamIterator); if (offerV2 == null && failIfNotConfigured) { throw (CosmosException)CosmosExceptionFactory.CreateNotFoundException( $"Throughput is not configured for {targetRID}"); } return(offerV2); }
private async Task <OfferV2> GetOfferV2Async( string targetRID, bool failIfNotConfigured = true, CancellationToken cancellationToken = default(CancellationToken)) { if (string.IsNullOrWhiteSpace(targetRID)) { throw new ArgumentNullException(targetRID); } QueryDefinition queryDefinition = new QueryDefinition("select * from root r where r.offerResourceId= @targetRID"); queryDefinition.WithParameter("@targetRID", targetRID); FeedIterator <OfferV2> databaseStreamIterator = this.GetOfferQueryIterator <OfferV2>( queryDefinition); OfferV2 offerV2 = await this.SingleOrDefaultAsync <OfferV2>(databaseStreamIterator); if (offerV2 == null && failIfNotConfigured) { throw new CosmosException(HttpStatusCode.NotFound, "Throughput is not configured"); } return(offerV2); }
internal static QueryDefinition CreateFromQuerySpec(SqlQuerySpec sqlQuery) { if (sqlQuery == null) { throw new ArgumentNullException(nameof(sqlQuery)); } QueryDefinition queryDefinition = new QueryDefinition(sqlQuery.QueryText); foreach (SqlParameter sqlParameter in sqlQuery.Parameters) { queryDefinition = queryDefinition.WithParameter(sqlParameter.Name, sqlParameter.Value); } return(queryDefinition); }
internal static QueryDefinition CreateFromQuerySpec(SqlQuerySpec sqlQuery) { if (sqlQuery == null) { // It is to support scenarios where all the data needs to be read return(null); } QueryDefinition queryDefinition = new QueryDefinition(sqlQuery.QueryText); foreach (SqlParameter sqlParameter in sqlQuery.Parameters) { queryDefinition = queryDefinition.WithParameter(sqlParameter.Name, sqlParameter.Value); } return(queryDefinition); }