using File_Folder_Helper.Models;
using Microsoft.Extensions.Logging;

namespace File_Folder_Helper.Helpers;

internal static class HelperDay
{

    internal static void Select(AppSettings appSettings, ILogger<Worker> logger, List<string> args)
    {
        if (args[1] == "Day-Helper-2023-09-06")
            Day.Helper20230906.SaveJson(logger, args[0]);
        else if (args[1] == "Day-Helper-2023-10-10")
            Day.Helper20231010.HgCV(logger, args[0]);
        else if (args[1] == "Day-Helper-2023-10-16")
            Day.Helper20231016.MoveDirectory(logger, args[0]);
        else if (args[1] == "Day-Helper-2023-10-24")
            Day.Helper20231024.NetUse(logger, args[0]);
        else if (args[1] == "Day-Helper-2023-11-02")
            Day.Helper20231102.NuSpec(logger, args[0]);
        else if (args[1] == "Day-Helper-2023-11-08")
            Day.Helper20231108.MasterImage(logger, args);
        else if (args[1] == "Day-Helper-2023-11-22")
            Day.Helper20231122.ProcessDataStandardFormat(logger, args);
        else if (args[1] == "Day-Helper-2023-11-28")
            logger.LogError("{arg} - has been migrated to File-Watcher", args[1]);
        else if (args[1] == "Day-Helper-2023-11-30")
            Day.Helper20231130.RenameReactorProcessDataStandardFormatFiles(logger, args);
        else if (args[1] == "Day-Helper-2023-12-05")
            Day.Helper20231205.SplitMarkdownFile(logger, args);
        else if (args[1] == "Day-Helper-2023-12-12")
            Day.Helper20231212.SplitJsonFile(logger, args);
        else if (args[1] == "Day-Helper-2023-12-22")
            Day.Helper20231222.ConvertId(logger, args);
        else if (args[1] == "Day-Helper-2024-01-05")
            Day.Helper20240105.ConvertKeePassExport(logger, args);
        else if (args[1] == "Day-Helper-2024-01-06")
            Day.Helper20240106.TextToJson(logger, args);
        else if (args[1] == "Day-Helper-2024-01-07")
            Day.Helper20240107.DirectoryToISO(logger, args);
        else if (args[1] == "Day-Helper-2024-01-08")
            Day.Helper20240108.SortCodeMethods(logger, args);
        else
            throw new Exception(appSettings.Company);
    }

}