Files
EnvelopeGenerator/EnvelopeGenerator.ServiceHost/Jobs/TempFiles.cs
TekH 79d2636c14 Refactor TempFiles to use ILogger and DI for logging
Removed BaseClass inheritance and legacy logging dependencies. Updated TempFiles to use ILogger<TempFiles> via dependency injection, replaced Logger.Error and Logger.LogDebug with structured logging calls. Cleaned up unused usings and improved log message formatting.
2026-02-25 17:15:51 +01:00

74 lines
1.6 KiB
C#

using EnvelopeGenerator.ServiceHost.Extensions;
namespace EnvelopeGenerator.ServiceHost.Jobs;
public class TempFiles
{
public string TempPath { get; }
private readonly ILogger<TempFiles> _logger;
public TempFiles(ILogger<TempFiles> 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;
}
}
}