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