using HMI.Core.Entity;
using HMI.Core.Util;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
namespace HMI.Core.Manager
{
///
/// TODO 优化数据源,需要支持sqlite和xml
///
public class ParameterManager
{
///
/// 获取通用参数
///
///
///
public static T GetCommonParameter() where T : IList
{
string path = PathHelper.ParameterDataPath;
if (!File.Exists(path)) return default(T);
T datas = XmlHelper.DeserializeFromXml(path);
return datas;
}
///
/// 获取通用参数
///
///
///
public static ParameterData GetCommonParameterByName(string name)
{
string path = PathHelper.ParameterDataPath;
if (!File.Exists(path)) return null;
List datas = XmlHelper.DeserializeFromXml>(path);
return datas.FirstOrDefault(d => d.Name == name);
}
///
/// 保存通用参数
///
///
///
public static void SaveCommonParameter(IList datas)
{
if (datas == null)
{
throw new Exception("不能为null");
}
string path = PathHelper.ParameterDataPath;
XmlHelper.SerializeToXml(path, datas);
}
public static string GetCommonParameterValue(string path, string name)
{
if (!File.Exists(path)) return null;
List datas = XmlHelper.DeserializeFromXml>(path);
ParameterData data = datas.FirstOrDefault(d => d.Name == name);
if (data == null) return null;
return data.Value;
}
}
}