using Microsoft.Win32;
|
using System;
|
using System.Collections.Generic;
|
using System.IO;
|
|
namespace SHARP_CLAS_UI
|
{
|
public class Parameter_System_Manager
|
{
|
#region Define
|
string str_mode = "mode.xml";
|
string str_setting = "setting.xml";
|
#endregion
|
|
#region Property
|
private static readonly Lazy<Parameter_System_Manager> _instatnce = new Lazy<Parameter_System_Manager>(() => new Parameter_System_Manager());
|
|
public static Parameter_System_Manager Instance
|
{
|
get
|
{
|
return _instatnce.Value;
|
}
|
}
|
#endregion
|
|
#region Field
|
private Xml_Manager<Parameter_Mode> mode_xml_manager = new Xml_Manager<Parameter_Mode>();
|
private Xml_Manager<Parameter_Setting> setting_xml_manager = new Xml_Manager<Parameter_Setting>();
|
|
Parameter_Mode mode;
|
Parameter_Setting setting;
|
private string file_path;
|
#endregion
|
|
#region Construct
|
public Parameter_System_Manager()
|
{
|
Get_File_Path();
|
mode = new Parameter_Mode();
|
setting = new Parameter_Setting();
|
Get_System_Mode();
|
Get_System_Setting();
|
}
|
#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\SETTING\");
|
file_path = @"C:\SHARP_CLAS\Config\SETTING\";
|
}
|
else
|
{
|
object value = rkk.GetValue("SYSTEM_PARAMETER");
|
if (value == null)
|
{
|
rkk.SetValue("SYSTEM_PARAMETER", @"C:\SHARP_CLAS\Config\SETTING\");
|
file_path = @"C:\SHARP_CLAS\Config\SETTING\";
|
}
|
else
|
{
|
file_path = value.ToString();
|
}
|
}
|
}
|
finally
|
{
|
rkk.Close();
|
}
|
}
|
|
private void Get_System_Mode()
|
{
|
Get_File_Path();
|
|
if (Directory.Exists(file_path))
|
{
|
Parameter_Mode mode = mode_xml_manager.Read_File(file_path + str_mode);
|
|
if(mode != null)
|
{
|
this.mode = mode;
|
}
|
}
|
else
|
{
|
Directory.CreateDirectory(file_path);
|
}
|
}
|
|
private void Get_System_Setting()
|
{
|
Get_File_Path();
|
|
if (Directory.Exists(file_path))
|
{
|
Parameter_Setting setting = setting_xml_manager.Read_File(file_path + str_setting);
|
|
if(setting != null)
|
{
|
this.setting = setting;
|
}
|
}
|
else
|
{
|
Directory.CreateDirectory(file_path);
|
}
|
}
|
|
public bool Save_System_Mode(Parameter_Mode mode)
|
{
|
this.mode = mode.Clone();
|
return mode_xml_manager.Try_Save_File(file_path + str_mode, mode);
|
}
|
|
public bool Save_System_Setting(Parameter_Setting setting)
|
{
|
this.setting = setting.Clone();
|
return setting_xml_manager.Try_Save_File(file_path + str_setting, setting);
|
}
|
|
public Parameter_Mode Get_Mode()
|
{
|
return mode.Clone();
|
}
|
|
public Parameter_Setting Get_Setting()
|
{
|
return setting.Clone();
|
}
|
#endregion
|
}
|
}
|