using CSFrameworkV5.Core;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
namespace CSFrameworkV5.Core
{
///
/// 系统参数,保存在数据库,对应系统库的sys_SystemSettings表
///
public class SystemSettings
{
#region Instance
private static SystemSettings _Current = null;
///
/// 当前用户个性设置(单件模式)
///
public static SystemSettings Current
{
get
{
if (_Current == null) _Current = new SystemSettings();
return _Current;
}
}
#endregion
#region 属性
///
/// 启用数据库日志
///
public bool AllowDBLog { get; set; }
///
/// 启用本地文件日志
///
public bool AllowLocalLog { get; set; }
///
/// 系统登录类型
///
public LoginAuthType LoginAuthType { get; set; }
///
/// 模块加载类型
///
public ModuleLoadType ModuleLoadType { get; set; }
///
/// 运行程序时检查新版本
///
public bool CheckVersion { get; set; }
///
/// 禁止运行未更新版本的程序
///
public bool ExitAppIfOldVersion { get; set; }
///
/// 双击表格记录进入编辑状态
///
public bool DoubleClickEditMode { get; set; }
///
/// 允许允许多个实例
///
public bool MultiInstance { get; set; }
///
/// DevExpress皮肤名称
///
public string SkinName { get; set; }
///
/// 是否Demo版本
///
public bool IsDemoVersion { get; set; }
///
/// 数据权限匹配类型,制单人匹配;部门架构匹配;全部匹配
///
public string DataPermission { get; set; }
#endregion
#region Methods
///
/// 从系统库:sys_SystemSettings表加载数据
///
public void Load(DataTable sys_SystemSettings)
{
LoginAuthType = (LoginAuthType)Enum.Parse(typeof(LoginAuthType),
GetString(sys_SystemSettings, "LoginAuthType"));
AllowDBLog = GetString(sys_SystemSettings, "AllowDBLog") == "Y";
AllowLocalLog =
GetString(sys_SystemSettings, "AllowLocalLog") == "Y";
ModuleLoadType =
(ModuleLoadType)int.Parse(GetString(sys_SystemSettings,
"ModuleLoadType"));
if (ModuleLoadType == ModuleLoadType.Unknow)
ModuleLoadType = ModuleLoadType.SearchAppDir;
CheckVersion = GetString(sys_SystemSettings, "CheckVersion") == "Y";
ExitAppIfOldVersion =
GetString(sys_SystemSettings, "ExitAppIfOldVersion") == "Y";
DoubleClickEditMode =
GetString(sys_SystemSettings, "DoubleClickEditMode") == "Y";
MultiInstance =
GetString(sys_SystemSettings, "MultiInstance") == "Y";
SkinName = GetString(sys_SystemSettings, "SkinName");
IsDemoVersion =
GetString(sys_SystemSettings, "IsDemoVersion") == "Y";
DataPermission = GetString(sys_SystemSettings, "DataPermission");
}
///
/// 定位DataRow,取值
///
///
///
///
private string GetString(DataTable dtSettings, string key)
{
var rs = dtSettings.Select("ParamCode='" + key + "'");
return rs.Length > 0 ? rs[0]["ParamValue"].ToStringEx() : "";
}
///
/// 获取系统参数设置的DataRow
///
/// 系统参数配置表
/// 参数类型
///
public static DataRow GetRow(DataTable dtSettings, string paramCode)
{
var rs = dtSettings.Select("ParamCode='" + paramCode + "'");
if (rs.Length > 0)
return rs[0];
else
throw new Exception("未找到匹配ParamCode的记录!");
}
#endregion
}
}