using File_Watcher.Models;

namespace File_Watcher.Helpers;

internal static partial class HelperEAFLog
{

    internal static bool DeleteFiles(AppSettings appSettings, ILogger<Worker> logger)
    {
        string[] files = Directory.GetFiles(appSettings.WatchDirectory, appSettings.EAFLogConfiguration.SearchPattern, SearchOption.AllDirectories);
        logger.LogInformation("After {MillisecondsDelay} with search pattern '{SearchPattern}' found {files}", appSettings.MillisecondsDelay, appSettings.EAFLogConfiguration.SearchPattern, files.Length);
        foreach (string file in files)
        {
            if (file.EndsWith(".dll"))
                continue;
            if (file.EndsWith(".pdb"))
                continue;
            if (file.EndsWith(".xml"))
                continue;
            try
            { File.Delete(file); }
            catch (Exception ex)
            { logger.LogInformation(ex, "Inner loop error!"); }
        }
        return true;
    }

}