Как слепить файл-мeнеджер?
Пока понятно, что надо полностью исключать формирование имени файла в шаблоне.
Есть параметры вызова шаблона - из них строится часть имени файла.
Функция, которая строит имя файла, пока еще находится в шаблоне - надо удалять и переносить менеджер файлов.
По параметрам... они тоже были в шаблоне - копировались туда перед вызовом - надо оформлять в дополнительный класс и иметь один зашаренный инстансе на поток.
По назначению файл-менеджеров.
Идея такая - вместо единого списка шаблонов и выяснения в процессе генерации какой файл-менеджер должен использоваться, построить изначально словарик <манагер, список шаблонов>.
Будут проблемы с распределением рабочих потоков при переходе с одной группы на другую.
В плане посторения имени файла.
Нужно что-то, что будет извлекать из Исходных данных имена папок.
При этом построение имени - не линейное, т.е. нельзя сделать (схема "1/1/1.Е"):
string filename = Path.Combine(
Params.Top.Parent.Parent.FolderName,
Params.Top.Parent.FolderName,
Params.Top.FolderName + "." + template.FileExtention)
где Params.Top - "верхний" элемент в списке параметров
Т.к. часто будет нужна достаточно сложная схема скажем ("-1/1/1/1.Е"?)
string filename = Path.Combine(
Params.Top.Parent.Parent.FolderName,
Params.Top.Parent.Parent.FolderName,
Params.Top.Parent.FolderName,
Params.Top.FolderName + "." + template.FileExtention)
еще - нужно комбинировать имя файла из нескольких элементов ("-1/1/1/3_2_1.Е"?)
string filename = Path.Combine(
Params.Top.Parent.Parent.FolderName,
Params.Top.Parent.Parent.FolderName,
Params.Top.Parent.FolderName,
Params.Top.Parent.Parent.FolderName + "_" + Params.Top.Parent.FolderName + "_" + Params.Top.FolderName + "." + template.FileExtention)
Видимо надо вводить понятие Схема Имени Файла
Пока можно оставить что-то простое - схема=построитель, где схема фиксированная лайбла а построитель - предопределен. (не нравится, но имплементируется легко и быстро)
Pause