Files
henlo_migration_wpf10/henlo_migration_wpf10/Common/SysConfig.cs
T

82 lines
3.1 KiB
C#

using System;
using IniParser;
using IniParser.Model;
namespace henlo_migration.Common
{
public static class SysConfig
{
private static IniData _init;
private static string ConfigPath => System.IO.Path.Combine(CommonHelper.RootPath, "config.ini");
static SysConfig()
{
var parser = new FileIniDataParser();
// 确保 config.ini 存在
if (!System.IO.File.Exists(ConfigPath))
{
System.IO.File.WriteAllText(ConfigPath, @"[oracle]
orig_ip=127.0.0.1
orig_exam=orcl
orig_user=system
orig_password=system
desc_ip=127.0.0.1
desc_exam=orcl
desc_user=system
desc_password=system
");
}
_init = parser.ReadFile(ConfigPath);
}
/// <summary>源 Oracle 连接字符串</summary>
public static string origConnStr =>
$"Data Source={_init["oracle"]["orig_ip"]}/{_init["oracle"]["orig_exam"]};User ID={_init["oracle"]["orig_user"]};Password={_init["oracle"]["orig_password"]}";
/// <summary>目标 Oracle 连接字符串</summary>
public static string destConnStr =>
$"Data Source={_init["oracle"]["desc_ip"]}/{_init["oracle"]["desc_exam"]};User ID={_init["oracle"]["desc_user"]};Password={_init["oracle"]["desc_password"]}";
/// <summary>版本号(从程序集读取)</summary>
public static string version =>
System.Reflection.Assembly.GetExecutingAssembly().GetName().Version?.ToString(3) ?? "1.0.0";
private static void Set(string section, string key, string value)
{
_init[section][key] = value;
var parser = new FileIniDataParser();
parser.WriteFile(ConfigPath, _init);
}
/// <summary>保存源库连接信息</summary>
public static void SetOrig(string ip, string exam, string user, string pwd)
{
Set("oracle", "orig_ip", ip);
Set("oracle", "orig_exam", exam);
Set("oracle", "orig_user", user);
Set("oracle", "orig_password", pwd);
}
/// <summary>保存目标库连接信息</summary>
public static void SetDest(string ip, string exam, string user, string pwd)
{
Set("oracle", "desc_ip", ip);
Set("oracle", "desc_exam", exam);
Set("oracle", "desc_user", user);
Set("oracle", "desc_password", pwd);
}
// 各字段独立读取(供 ViewModel 初始化填充界面用)
public static string GetOrigIp() => _init["oracle"]["orig_ip"];
public static string GetOrigExam() => _init["oracle"]["orig_exam"];
public static string GetOrigUser() => _init["oracle"]["orig_user"];
public static string GetOrigPwd() => _init["oracle"]["orig_password"];
public static string GetDestIp() => _init["oracle"]["desc_ip"];
public static string GetDestExam() => _init["oracle"]["desc_exam"];
public static string GetDestUser() => _init["oracle"]["desc_user"];
public static string GetDestPwd() => _init["oracle"]["desc_password"];
public static string GetVersion() => version;
}
}