using HotelPms.Share.IO;
using HotelPms.Share.Util;
using System.Text;
namespace HotelPms.WinForm.Common.Util
{
public class Config : DictionarySetting
{
public enum SettingKey : int
{
HostName,
DBName,
UserID,
Password,
}
private static Config? m_Instance;
public static Config? Instance
{
get
{
if (m_Instance == null) { Initialize(); }
return m_Instance;
}
}
public string Get(SettingKey key)
{
return GetValue(key.ToString());
}
public void Set(SettingKey key, string value)
{
SetValue(key.ToString(), value);
}
///
/// アプリケーションの初期化
///
///
private static bool Initialize()
{
try
{
m_Instance = new Config();
m_Instance.FileName = Application.StartupPath + @"Config.json";
m_Instance.Load();
return true;
}
catch (Exception ex)
{
OperationLog.Instance.WriteLog($"Config.Initialize異常エラー:{ex.Message}");
return false;
}
}
public override void SetDefault()
{
if (!Data.ContainsKey(SettingKey.HostName.ToString())) { Data.Add(SettingKey.HostName.ToString(), "localhost"); }
if (!Data.ContainsKey(SettingKey.DBName.ToString())) { Data.Add(SettingKey.DBName.ToString(), "HotelPms"); }
if (!Data.ContainsKey(SettingKey.UserID.ToString())) { Data.Add(SettingKey.UserID.ToString(), "sa"); }
if (!Data.ContainsKey(SettingKey.Password.ToString())) { Data.Add(SettingKey.Password.ToString(), "oatcti"); }
}
public override string ToString()
{
StringBuilder text = new StringBuilder();
foreach (KeyValuePair item in Data)
{
text.AppendLine($"{item.Key}={item.Value}");
}
return text.ToString();
}
}
}