Exemple #1
0
        public async Task Run()
        {
            var clearanceThreshold     = DateTimeOffset.UtcNow.Add(_clearancePeriod);
            var outdatedFileReferences = await _repository.AsQueryable <FileReference>()
                                         .Where(x => (x.CreatedAt <= clearanceThreshold && !x.UploadConfirmed) || x.ScheduledToRemove)
                                         .ToListAsync();

            foreach (var outdatedFileReference in outdatedFileReferences)
            {
                await _fileStorageClient.Remove(outdatedFileReference.ObjectKey);

                _repository.Delete(outdatedFileReference);
            }

            await _repository.SaveAsync();
        }