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)); }));
        }
예제 #2
0
        public async Task <IPersonalData> ScanAndFindAsync(Func <IPersonalData, bool> func)
        {
            var partitionKey = PersonalDataEntity.GeneratePartitionKey();

            return
                (await
                 _tableStorage.FirstOrNullViaScanAsync(partitionKey,
                                                       dataToSearch => dataToSearch.FirstOrDefault(pa => func(pa))));
        }
예제 #3
0
        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);
        }
예제 #4
0
        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));
 }
예제 #7
0
 public Task <TEntity> FirstOrNullViaScanAsync(string partitionKey, Func <IEnumerable <TEntity>, TEntity> dataToSearch)
 => WrapAsync(() => _impl.FirstOrNullViaScanAsync(partitionKey, dataToSearch), nameof(FirstOrNullViaScanAsync), new { partitionKey });