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