Esempio n. 1
0
        public Task DeleteAll(IDatabaseAsync database, IDataKey key)
        {
            log.LogDebug("DeleteAll: [{0}]", key);
            var tasks = new List <Task>(mainIndexManager.Delete(database, key));

            tasks.Add(link.DeleteAll(database, key));
            return(Task.WhenAll(tasks));
        }
        public async Task DeleteAll(IDatabaseAsync database, IDataKey key)
        {
            if (database == null)
            {
                throw new ArgumentNullException(nameof(database));
            }

            if (key == null)
            {
                throw new ArgumentNullException(nameof(key));
            }

            logger.LogDebug("DeleteAll: [{0}]", key);

            var deleteKeys = mainIndexManager.Delete(database, key);
            var keys       = await GetAllKeys(database, key).ConfigureAwait(false);

            await database.KeyDeleteAsync(keys.ToArray()).ConfigureAwait(false);

            await Task.WhenAll(deleteKeys).ConfigureAwait(false);
        }