Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

MessageDeletionJob.cs 1.1KB

12345678910111213141516171819202122232425262728293031323334353637
  1. using Quartz;
  2. using SecureSharing.Business.Interfaces;
  3. namespace SecureSharing.Quartz;
  4. public sealed class MessageDeletionJob : IJob
  5. {
  6. private readonly IMessageService _messageService;
  7. private readonly string _basePath;
  8. private readonly string _basePathTmp;
  9. public MessageDeletionJob(IMessageService messageService, IWebHostEnvironment webHostEnvironment)
  10. {
  11. _messageService = messageService;
  12. _basePath = Path.Combine(webHostEnvironment.WebRootPath.Split('/')[0], "files");
  13. _basePathTmp = Path.Combine(webHostEnvironment.WebRootPath.Split('/')[0], "filestmp");
  14. }
  15. public async Task Execute(IJobExecutionContext context)
  16. {
  17. try
  18. {
  19. var foldersToRemove = await _messageService.DeleteExpiredMessages();
  20. foreach (var path in foldersToRemove.Select(folder => Path.Combine(_basePath, folder)))
  21. {
  22. Directory.Delete(path, true);
  23. }
  24. Directory.Delete(_basePathTmp, true);
  25. }
  26. catch (Exception ex)
  27. {
  28. /*Log*/
  29. }
  30. }
  31. }