#region using System; using System.Collections.Generic; using System.Data; using CSFrameworkV5.Common; using CSFrameworkV5.Core; using CSFrameworkV5.Interfaces.InterfaceModels; using CSFrameworkV5.Models; #endregion namespace CSFrameworkV5.Business { /// *************************************************************************/ /// * /// * 文件名 :CommonData.cs /// /// * 程序说明 : 系统公共数据 /// /// * 原创作者 :www.csframework.com /// * Copyright 2006-2021 C/S框架网 www.csframework.com /// * /// **************************************************************************/ /// /// 系统公共数据 /// public static class CommonData { private static TCompanyInfo _CompanyInfo; /// /// 公司资料 /// public static TCompanyInfo CompanyInfo => _CompanyInfo; /// /// 服务器日期 /// public static DateTime ServerDay { get { var dt = ServerTime; return new DateTime(dt.Year, dt.Month, dt.Day); } } /// /// 服务器时间 /// public static DateTime ServerTime { get { var bridge = BridgeFactory.CreateCommonDataBridge(); return bridge.GetServerTime(); } } /// /// 获取系统业务表 /// /// public static DataTable GetBusinessTables() { var bridge = BridgeFactory.CreateCommonDataBridge(); return bridge.GetBusinessTables(); } /// /// 获取系统所需公共信息 /// public static void GetCommonInfos() { var bll = new bllCompanyInfo(); bll.GetSummaryData(false); //获取公司资料 var dt = bll.SummaryTable; if (dt.Rows.Count > 0) _CompanyInfo = (TCompanyInfo)DataConverter.DataRowToObject(dt.Rows[0], typeof(TCompanyInfo)); else _CompanyInfo = new TCompanyInfo(); } /// /// 获取当前帐套的数据字典。若要获取其它库的资料需要指定数据库名,请使用重载的GetDataDict方法 /// /// 表名 /// public static DataTable GetDataDict(string tableName) { var bridge = BridgeFactory.CreateDataDictBridge(tableName, Loginer.CurrentUser.DBID); return bridge.GetSummaryData(); } /// /// 取指定数据库的资料表 /// /// 数据库名 /// 表名 /// public static DataTable GetDataDict(string DBID, string tableName) { var bridge = BridgeFactory.CreateDataDictBridge(tableName, DBID); return bridge.GetSummaryData(); } /// /// 获取数据字典数据的流水号 /// /// 字头 /// 若数据库没有字头定义,自动添加 /// public static string GetDataSN(string dataCode, bool asHeader) { var bridge = BridgeFactory.CreateCommonDataBridge(); return bridge.GetDataSN(dataCode, asHeader); } public static List GetDbTableFields(string DBName, string TableName) { var bridge = BridgeFactory.CreateCommonDataBridge(); return bridge.GetDbTableFields(DBName, TableName); } public static List GetDbTables() { var bridge = BridgeFactory.CreateCommonDataBridge(); return bridge.GetDbTables(); } public static string GetDocNo(string DocNoName) { var bridge = BridgeFactory.CreateCommonDataBridge(); return bridge.GetDocNo(DocNoName); } /// /// 取表结构 /// /// /// /// public static DataTable GetEmptyTable(string DBID, string tableName) { var bridge = BridgeFactory.CreateCommonDataBridge(); return bridge.GetEmptyTable(DBID, tableName); } /// /// 取字典表的Lookup数据,通常只返回编号+名称 /// /// /// public static DataTable GetLookupData(string tableName) { var bridge = BridgeFactory.CreateDataDictBridge(tableName, Loginer.CurrentUser.DBID); return bridge.GetLookupData(); } /// /// 获取系统模块 /// /// public static DataTable GetModules() { var bridge = BridgeFactory.CreateCommonDataBridge(); return bridge.GetModules(); } /// /// 获取帐套 /// /// public static DataTable GetSystemDataSet() { var bridge = BridgeFactory.CreateCommonDataBridge(); return bridge.GetSystemDataSet(); } /// /// 获取指定用户的帐套 /// /// /// /// public static DataTable GetSystemDataSet(string user, string password) { var bridge = BridgeFactory.CreateCommonDataBridge(); return bridge.GetSystemDataSet(user, password); } /// /// 获取我的系统参数及系统预设参数,(用于加载SystemSettings类) /// /// /// public static DataTable GetSystemSettings4Program(string DataSetID, string UserID) { var bridge = BridgeFactory.CreateCommonDataBridge(); return bridge.GetSystemSettings4Program(DataSetID, UserID); } /// /// 获取我的自定义参数,查询方法 /// /// /// public static DataTable GetSystemSettingsByUser(string DataSetID, string UserID) { var bridge = BridgeFactory.CreateCommonDataBridge(); return bridge.GetSystemSettingsByUser(DataSetID, UserID); } /// /// 系统参数,搜索功能 /// /// /// public static DataTable GetSystemSettingsEx(string ParamName, string ParamType) { var bridge = BridgeFactory.CreateCommonDataBridge(); return bridge.GetSystemSettingsEx(ParamName, ParamType); } /// /// 获取表的所有字段 /// /// 表名 public static DataTable GetTableFieldsDef(string tableName, bool onlyDisplayField) { var bridge = BridgeFactory.CreateCommonDataBridge(); return bridge.GetTableFieldsDef(tableName, onlyDisplayField); } public static void PostSystemSettings(SystemSettings settings) { var dtOld = GetDataDict(Globals.DEF_SYSTEM_DBID, sys_SystemSettings.__TableName); SystemSettings.GetRow(dtOld, "AllowDBLog")[ sys_SystemSettings.ParamValue] = settings.AllowDBLog ? "Y" : "N"; SystemSettings.GetRow(dtOld, "AllowLocalLog")[ sys_SystemSettings.ParamValue] = settings.AllowLocalLog ? "Y" : "N"; SystemSettings.GetRow(dtOld, "LoginAuthType")[ sys_SystemSettings.ParamValue] = (int)settings.LoginAuthType; SystemSettings.GetRow(dtOld, "ModuleLoadType")[ sys_SystemSettings.ParamValue] = (int)settings.ModuleLoadType; var ds = new DataSet(); ds.Tables.Add(dtOld.Copy()); var B = BridgeFactory.CreateDataDictBridge( typeof(sys_SystemSettings), Globals.DEF_SYSTEM_DBID); B.Update(ds); } public static void PostUserSettings(Loginer currentUser, string paramKey, string paramValue) { var bridge = BridgeFactory.CreateCommonDataBridge(); bridge.PostUserSettings(currentUser, paramKey, paramValue); } public static DataTable SearchOutstanding(string invoiceNo, string customer, DateTime dateFrom, DateTime dateTo, DateTime dateEnd, string outstandingType) { var bridge = BridgeFactory.CreateCommonDataBridge(); return bridge.SearchOutstanding(invoiceNo, customer, dateFrom, dateTo, dateEnd, outstandingType); } public static DataSet SearchOutstanding_ByPage(string invoiceNo, string customer, DateTime dateFrom, DateTime dateTo, DateTime dateEnd, string outstandingType, int pageNo, int pageSize) { var bridge = BridgeFactory.CreateCommonDataBridge(); return bridge.SearchOutstandingByPage(invoiceNo, customer, dateFrom, dateTo, dateEnd, outstandingType, pageNo, pageSize); } /// /// 测试登出操作 /// /// /// public static int TestLogout(int count) { var user = BridgeFactory.CreateUserBridge(); //循环测试 for (var i = 1; i <= count; i++) user.Logout(new LoginUser(Loginer.CurrentUser)); return count; } } }