| 1234567891011121314151617181920212223242526272829303132333435 |
- using Quartz;
- using SecureSharing.Business.Interfaces;
-
- namespace SecureSharing.Quartz;
-
- public sealed class MessageDeletionJob : IJob
- {
- private readonly string _basePath;
- private readonly string _basePathTmp;
- private readonly IMessageService _messageService;
-
- public MessageDeletionJob(IMessageService messageService, IWebHostEnvironment webHostEnvironment)
- {
- _messageService = messageService;
- _basePath = Path.Combine(webHostEnvironment.WebRootPath.Split('/')[0], "files");
- _basePathTmp = Path.Combine(webHostEnvironment.WebRootPath.Split('/')[0], "filestmp");
- }
-
- public async Task Execute(IJobExecutionContext context)
- {
- try
- {
- var foldersToRemove = await _messageService.DeleteExpiredMessages();
-
- foreach (var path in foldersToRemove.Select(folder => Path.Combine(_basePath, folder)))
- Directory.Delete(path, true);
-
- Directory.Delete(_basePathTmp, true);
- }
- catch (Exception ex)
- {
- /*Log*/
- }
- }
- }
|