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(); } } }