using EnvelopeGenerator.ServiceHost.Extensions; namespace EnvelopeGenerator.ServiceHost.Jobs; public class TempFiles { public string TempPath { get; } private readonly ILogger _logger; public TempFiles(ILogger logger) { _logger = logger; var tempDirectoryPath = Path.GetTempPath(); TempPath = Path.Combine(tempDirectoryPath, "EnvelopeGenerator"); } public bool Create() { try { if (!Directory.Exists(TempPath)) { Directory.CreateDirectory(TempPath); } else { CleanUpFiles(); } return true; } catch (Exception ex) { _logger.LogError(ex); return false; } } private bool CleanUpFiles() { try { foreach (var fileItem in Directory.GetFiles(TempPath)) { _logger.LogDebug("Deleting tempPath-file: {fileItem} ...", fileItem); File.Delete(fileItem); } return true; } catch (Exception ex) { _logger.LogError(ex); return false; } } public bool CleanUp() { try { _logger.LogDebug("Deleting tempPath-Data: {TempPath} ...", TempPath); Directory.Delete(TempPath, true); return true; } catch (Exception ex) { _logger.LogError(ex); return false; } } }