using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
using System.Windows.Forms;
using RW_Tool.XML_BIN;
using Tools.ConfigurationTool.Services;
namespace Tools.ConfigurationTool.ConfigMultiple
{
//Базовые параметры конфига
public class MConfigParams
{
public RW_Factory RW_Factory => new RW_Factory();
//Папка, в которой будут храниться конфиги
public string ConfigDirectory { set; get; }
//Флаг: испоьзовать ли в пути к файлу путь к .exe приложению
public bool UseApplicationPathPrefix { set; get; } = true;
//Формат в котором будет храниться конфиг
public EnumFormat Format { set; get; } = EnumFormat.XML;
//Пересоздавать папку при общем сохранении
public bool RecreateDirectory { set; get; } = true;
//Полный путь к конфигу
public string ConfigDirectoryPath => (UseApplicationPathPrefix
?
Path.Combine(Application.StartupPath, ConfigDirectory)
:
ConfigDirectory
);
public DirectoryInfo ConfigDirectoryInfo => new DirectoryInfo(ConfigDirectoryPath);
public string GetPathForFile(string key)
{
switch (Format)
{
case EnumFormat.XML:
return Path.Combine(ConfigDirectoryPath, key + ".xml");
case EnumFormat.Bin:
return Path.Combine(ConfigDirectoryPath, key + ".bin");
}
return Path.Combine(ConfigDirectoryPath, key + ".NoFormate");
}
public MConfigParams(string ConfigDirectory)
{
this.ConfigDirectory = ConfigDirectory;
}
}
}