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