using Microsoft.Win32; using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; namespace SHARP_CLAS_UI { public class Parameter_Power_Manager { #region Define string str_power = "power.xml"; #endregion #region Property private static readonly Lazy _instatnce = new Lazy(() => new Parameter_Power_Manager()); public static Parameter_Power_Manager Instance { get { return _instatnce.Value; } } #endregion #region Field private Xml_Manager power_xml_manager = new Xml_Manager(); Parameter_Power power; private string file_path; #endregion #region Construct public Parameter_Power_Manager() { Get_File_Path(); power = new Parameter_Power(); Get_Parameter_Power(); } #endregion #region Function private void Get_File_Path() { RegistryKey rkk = Registry.CurrentUser.OpenSubKey(Equipment.Registry_Path, true); try { if (rkk == null) { rkk = Registry.CurrentUser.CreateSubKey(Equipment.Registry_Path); rkk.SetValue("SYSTEM_PARAMETER", @"C:\SHARP_CLAS\Config\POWER\"); file_path = @"C:\SHARP_CLAS\Config\POWER\"; } else { object value = rkk.GetValue("SYSTEM_PARAMETER"); if (value == null) { rkk.SetValue("SYSTEM_PARAMETER", @"C:\SHARP_CLAS\Config\POWER\"); file_path = @"C:\SHARP_CLAS\Config\POWER\"; } else { file_path = value.ToString(); } } } finally { rkk.Close(); } } private void Get_Parameter_Power() { Get_File_Path(); if (Directory.Exists(file_path)) { Parameter_Power power = power_xml_manager.Read_File(file_path + str_power); if (power != null) { this.power = power; } } else { Directory.CreateDirectory(file_path); } } public bool Save_Parameter_Power(Parameter_Power power) { this.power = power.Clone(); return power_xml_manager.Try_Save_File(file_path + str_power, power); } public Parameter_Power Get_Power() { return power.Clone(); } #endregion } }