/// <summary> /// Configures an async Scan operation against DynamoDB, finding items that match the specified conditions. /// </summary> /// <param name="take">The number of items to take.</param> /// <param name="skip">The number of items to skip.</param> /// <returns>The async task.</returns> public async Task <List <T> > ScanAsync <ST>(int take = 100, SkipCount <ST> skip = null) { if (skip != null) { List <ScanCondition> queryFilterInternal = new List <ScanCondition>(); queryFilterInternal.Add(skip.GetSkipQuery()); return(await ScanAsyncEx(queryFilterInternal, CancellationToken.None, take)); } else { return(await ScanAsyncEx(new List <ScanCondition>(), CancellationToken.None, take)); } }
/// <summary> /// Configures an async Scan operation against DynamoDB, finding items that match the specified conditions. /// </summary> /// <param name="conditions">The scan conditions.</param> /// <param name="cancellationToken">The cancellation token.</param> /// <param name="take">The number of items to take.</param> /// <param name="skip">The number of items to skip.</param> /// <returns>The async task.</returns> public async Task <List <T> > ScanAsync <ST>(List <ScanCondition> conditions, CancellationToken cancellationToken, int take = 100, SkipCount <ST> skip = null) { if (skip != null) { List <ScanCondition> queryFilterInternal = new List <ScanCondition>(); queryFilterInternal.Add(skip.GetSkipQuery()); if (conditions != null) { queryFilterInternal.AddRange(conditions); } return(await ScanAsyncEx(queryFilterInternal, cancellationToken, take)); } else { return(await ScanAsyncEx(conditions, cancellationToken, take)); } }
/// <summary> /// Configures an async Query operation against DynamoDB, finding items that match the specified hash primary key. /// </summary> /// <param name="hashKeyValue">Hash key of the items to query.</param> /// <param name="cancellationToken">The cancellation token.</param> /// <param name="queryFilter">Query filter for the Query operation operation.</param> /// <param name="take">The number of items to take.</param> /// <param name="skip">The number of items to skip.</param> /// <returns>The async task.</returns> public async Task <List <T> > QueryAsync <ST>(object hashKeyValue, CancellationToken cancellationToken, List <ScanCondition> queryFilter, int take = 100, SkipCount <ST> skip = null) { if (skip != null) { List <ScanCondition> queryFilterInternal = new List <ScanCondition>(); queryFilterInternal.Add(skip.GetSkipQuery()); if (queryFilter != null) { // Add the rest of the queries. queryFilterInternal.AddRange(queryFilter); } return(await QueryAsyncEx(hashKeyValue, cancellationToken, take, queryFilterInternal)); } else { return(await QueryAsyncEx(hashKeyValue, cancellationToken, take, queryFilter)); } }
/// <summary> /// Configures an async Query operation against DynamoDB, finding items that match the specified hash primary key. /// </summary> /// <param name="hashKeyValue">Hash key of the items to query.</param> /// <param name="cancellationToken">The cancellation token.</param> /// <param name="take">The number of items to take.</param> /// <param name="skip">The number of items to skip.</param> /// <returns>The async task.</returns> public async Task <List <T> > QueryAsync <ST>(object hashKeyValue, CancellationToken cancellationToken, int take = 100, SkipCount <ST> skip = null) { if (skip != null) { List <ScanCondition> queryFilter = new List <ScanCondition>(); queryFilter.Add(skip.GetSkipQuery()); return(await QueryAsyncEx(hashKeyValue, cancellationToken, take, queryFilter)); } else { return(await QueryAsyncEx(hashKeyValue, cancellationToken, take)); } }