public async Task <IWalletCredentials> ScanAndFind(Func <IWalletCredentials, bool> callBack) { var partitionKey = WalletCredentialsEntity.ByClientId.GeneratePartitionKey(); return(await _tableStorage.FirstOrNullViaScanAsync(partitionKey, chunk => { return chunk.FirstOrDefault(item => callBack(item)); })); }
public async Task <IPersonalData> ScanAndFindAsync(Func <IPersonalData, bool> func) { var partitionKey = PersonalDataEntity.GeneratePartitionKey(); return (await _tableStorage.FirstOrNullViaScanAsync(partitionKey, dataToSearch => dataToSearch.FirstOrDefault(pa => func(pa)))); }
public static async Task <IEnumerable <T> > ScanAndGetList <T>(this INoSQLTableStorage <T> tableStorage, string partitionKey, Func <T, bool> condition) where T : class, ITableEntity, new() { var result = new List <T>(); await tableStorage.FirstOrNullViaScanAsync(partitionKey, items => { result.AddRange(items.Where(condition)); return(null); }); return(result); }
public async Task ScanDataAsync() { var data11 = new TestEntity(11, "hello", "p1", "r1"); var data12 = new TestEntity(12, "hello", "p1", "r2"); var data13 = new TestEntity(13, "hello", "p1", "r3"); var data21 = new TestEntity(21, "hello", "p2", "r1"); await Storage.InsertAsync(data11); await Storage.InsertAsync(data12); await Storage.InsertAsync(data13); await Storage.InsertAsync(data21); var result = await Storage.FirstOrNullViaScanAsync("p1", items => items.FirstOrDefault(x => x.PropertyAsEncrypted == "hello")); Assert.AreEqual("hello", result.PropertyAsEncrypted); }
public async Task <T> FirstOrNullViaScanAsync(string partitionKey, Func <IEnumerable <T>, T> dataToSearch) { return(Decrypt(await _storage.FirstOrNullViaScanAsync(partitionKey, Map(dataToSearch)))); }
public Task <TEntity> FirstOrNullViaScanAsync(string partitionKey, Func <IEnumerable <TEntity>, TEntity> dataToSearch) { return(_impl.FirstOrNullViaScanAsync(partitionKey, dataToSearch)); }
public Task <TEntity> FirstOrNullViaScanAsync(string partitionKey, Func <IEnumerable <TEntity>, TEntity> dataToSearch) => WrapAsync(() => _impl.FirstOrNullViaScanAsync(partitionKey, dataToSearch), nameof(FirstOrNullViaScanAsync), new { partitionKey });