Предоставить пользователю
- Встраиваемую библиотеку для использования в своих проектах;
- Настраиваемый процесс сортировки;
- Простое приложения для сортировки файлов с настройкой через json файл.
Главный класс библиотеки. Находтися в пространсве именн имен FileSorting.Core
Имеет 2 конструктор
FilesSorting(ISortingConfig config, ILogger log)
config - класс конфигурации реалезующий интерфейсISortingConfig,
log - класс для вывода информации хода работы реалезующий интерфейсILoggerFilesSorting(ISortingConfig config)
config - класс конфигурации реалезующий интерфейсISortingConfig,
void StartMovingFile()
Начитанает сортировку файлов
Нужен для создания различный реалезаций своих конфигурации. Находтися в пространсве имен FileSorting.Core.Configs
string SortingPath
Содержит в себе путь к папке в которой нужно отсортироватьChangeNameState ChangeStateСожержит в себе состояние которое будет реалезоваться при файлы в папку с занятым именем
Реалезация интерфейса ISortingConfig, имеет настройку свойств с помощью атрибута JsonPropertyName и конструктор которые принимают все пораметры для заполнения свойств ISortingConfig. Находтися в пространсве имен FileSorting.Core.Configs
Перечисления состояний перемещения файлы. Отчет свойсв начинается с 1. Находтися в пространсве имен FileSorting.Core.Configs
ExceptionChangeIgnoring
Нужен для создания различный реалезаций отоброжения хода работы. Находтися в пространсве имен FileSorting.Logging
-
void InfoLog(string message)
message - строка которая будет выведена в вашей реалезацииILogger -
void ErrorLog(string message)
message - строка которая будет выведена в вашей реалезацииILogger
Реалезация интерфейса ILogger, выводит полученные сообщения с помощью статического класса Debug. Находтися в пространсве имен FileSorting.Logging.SpecificLogger
Класс ошибки вызываемой при ChangeNameState.Exception и уже имеющемся файле с таким именем в папке. Находтися в пространсве имен FileSorting.Core.Exceptions
NameTakenException(FileInfo file, string? message)
file - файл в котором была вызвана ошибка
message - текст ошибкиNameTakenException(FileInfo file)
file - файл в котором была вызвана ошибка
FileInfo File
Содержит в себе файл в котором произошла ошибка
Явяется классом реалезующий интерфейс ILogger из библиотеки, нужен для предаставления вывода информации хода приложения в консоль. Находтися в пространсве именн имен FileSortingConsole
Класс позволяющий распарсить json по указанному пути. T обощение ограниченое по интерфейсу ISortingConfig
ConfigParser(string configPath)
configPath - строка к пути нахождения json файлаConfigParser()
Пустой конструктор задающий строку как "config.json"
ISortingConfig Parse()
Метод читающий файл по заданому пути и переводит его в обьектTреалезующий интерфейсISortingConfigstatic ISortingConfig Parse<TConfig>(string configPath)
Метод читающий файл по заданому пути и переводит его в обьектTConfigреалезующий интерфейсISortingConfig
configPath - путь к json файлу
Класс вызываемый если при парсенге конфигурации вернулся null