using CSFrameworkV5.Core.Common;
|
using System;
|
using System.Collections.Generic;
|
using System.Data;
|
using System.Linq;
|
using System.Text;
|
using System.Threading.Tasks;
|
|
namespace CSFrameworkV5.Core.DataSetLib
|
{
|
/// <summary>
|
///帐套缓存数据,数据源:CSFramework_System.tb_DataSet表
|
/// </summary>
|
public class DataSetData : IDataSetData
|
{
|
private DataTable _SystemDataSets;
|
private List<DataSetConfigItem> _list;
|
|
public DataSetData(DataTable dtDataSets)
|
{
|
_list = new List<DataSetConfigItem>();
|
_SystemDataSets = dtDataSets;
|
|
string pwd;
|
|
//密码
|
foreach (DataRow R in _SystemDataSets.Rows)
|
{
|
pwd = ConvertEx.ToString(R[tb_DataSet.DBUserPassword]);
|
R[tb_DataSet.DBUserPassword] = KeyProvider.Default.Decrypt(pwd);
|
|
_list.Add(Row2Object(R));
|
}
|
|
_SystemDataSets.AcceptChanges();
|
}
|
|
public List<DataSetConfigItem> DataSets => _list;
|
|
/// <summary>
|
/// DataRow数据转换为Object实体对象
|
/// </summary>
|
/// <param name="drDataSet"></param>
|
/// <returns></returns>
|
private DataSetConfigItem Row2Object(DataRow drDataSet)
|
{
|
var param = new DataSetConfigItem();
|
param.DataSetID = drDataSet[tb_DataSet.DataSetID].ToStringEx();
|
param.DataSetName = drDataSet[tb_DataSet.DataSetName].ToStringEx();
|
param.DatabaseType =
|
drDataSet[tb_DataSet.DatabaseType].ToStringEx();
|
param.RemoteServerIP =
|
drDataSet[tb_DataSet.RemoteServerIP].ToStringEx();
|
param.RemoteServerPort =
|
int.Parse(drDataSet[tb_DataSet.RemoteServerPort].ToStringEx());
|
param.LocalServerIP =
|
drDataSet[tb_DataSet.LocalServerIP].ToStringEx();
|
param.LocalServerPort =
|
int.Parse(drDataSet[tb_DataSet.LocalServerPort].ToStringEx());
|
param.DBName = drDataSet[tb_DataSet.DBName].ToStringEx();
|
param.DBUserName = drDataSet[tb_DataSet.DBUserName].ToStringEx();
|
param.DBUserPassword =
|
drDataSet[tb_DataSet.DBUserPassword].ToStringEx();
|
return param;
|
}
|
|
public DataSetConfigItem GetConfig(string datasetID)
|
{
|
var rows =
|
_SystemDataSets.Select(tb_DataSet.DataSetID + "='" + datasetID +
|
"'");
|
if (rows.Length > 0)
|
return Row2Object(rows[0]);
|
else
|
return null;
|
}
|
}
|
}
|