using System;
|
using System.ComponentModel;
|
using System.IO;
|
using System.Text;
|
|
namespace IStation
|
{
|
public class SettingsHelper
|
{
|
/// <summary>
|
/// json文件名称
|
/// </summary>
|
internal static string JsonFileName
|
{
|
get
|
{
|
if (string.IsNullOrEmpty(_jsonFileName))
|
{
|
_jsonFileName = System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "paras_settings.json");
|
}
|
return _jsonFileName;
|
}
|
}
|
private static string _jsonFileName = null;
|
|
/// <summary>
|
/// 查询
|
/// </summary>
|
internal static Paras Get()
|
{
|
if (_appparas == null)
|
{
|
lock (_locker)
|
{
|
if (_appparas == null)
|
{
|
if (IsDesingMode())
|
{
|
_appparas = Paras.BuildEmpty();
|
}
|
else
|
{
|
var json = File.ReadAllText(JsonFileName);
|
_appparas = JsonHelper.Json2Object<Paras>(json);
|
|
if (_appparas == null )
|
{
|
_appparas = Paras.BuildEmpty();
|
}
|
if (_appparas.DispSetting == null)
|
{
|
_appparas.DispSetting = new Paras_DispSetting();
|
}
|
}
|
|
}
|
}
|
}
|
return _appparas;
|
}
|
private static Paras _appparas = null;
|
private static readonly object _locker = new object();
|
|
/// <summary>
|
///
|
/// </summary>
|
/// <returns></returns>
|
public static bool IsDesingMode()
|
{
|
bool ReturnFlag = false;
|
if (LicenseManager.UsageMode == LicenseUsageMode.Designtime)
|
ReturnFlag = true;
|
else if (System.Diagnostics.Process.GetCurrentProcess().ProcessName == "devenv")
|
ReturnFlag = true;
|
|
return ReturnFlag;
|
}
|
/// <summary>
|
/// 保存
|
/// </summary>
|
/// <returns></returns>
|
public static bool Save()
|
{
|
if (_appparas == null)
|
return default;
|
var json = JsonHelper.Object2FormatJson(_appparas);
|
File.WriteAllText(JsonFileName, json, Encoding.UTF8);
|
return true;
|
}
|
|
}
|
}
|