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
{
///
///帐套缓存数据,数据源:CSFramework_System.tb_DataSet表
///
public class DataSetData : IDataSetData
{
private DataTable _SystemDataSets;
private List _list;
public DataSetData(DataTable dtDataSets)
{
_list = new List();
_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 DataSets => _list;
///
/// DataRow数据转换为Object实体对象
///
///
///
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;
}
}
}