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 } }