using System; using System.Collections.Generic; using System.Data; using System.Data.Entity; using System.Linq; using System.Text; using System.Threading.Tasks; using CnasSynchronousCommon; using CnasSynchronusIDAL; using CnasSynchrousModel; namespace CnasSynchronusDAL { public class MySqlDBService : IMySqlDBService { public bool TestConnect(string strHost, string strName, string strUser, string strPwd, string strPort) { MySQLDAL mySQLBase = new MySQLDAL(); mySQLBase.CreateConnectString(strHost, strPort, strName, strUser, strPwd); return mySQLBase.LinkCnasTest(); } public Dictionary GetInstrumentData(MySQLOpenParams t) { MySQLDAL mySQL = new MySQLDAL(); mySQL.CreateConnectString(t.StrHost, t.StrPort, t.StrServer, t.StrUser, t.StrPwd); return mySQL.GetAllTableNameAndStructure(t.StrServer); } public DataTable GetInstrumentDataByDate(MySQLOpenParams t, ConditionParams u) { MySQLDAL mySQL = new MySQLDAL(); mySQL.CreateConnectString(t.StrHost, t.StrPort, t.StrServer, t.StrUser, t.StrPwd); return mySQL.GetDataByDateColumn( t.StrServer, t.autoSql.MySqlViewName, t.autoSql.MySqlViewSql, u.TableName, u.DateColumn, u.DateValue); } public DataTable GetInstrumentDataStruct(MySQLOpenParams t, ConditionParams u) { MySQLDAL mySQLBase = new MySQLDAL(); mySQLBase.CreateConnectString(t.StrHost, t.StrPort, t.StrServer, t.StrUser, t.StrPwd); return mySQLBase.GetTableStruct( u.TableName, t.autoSql.MySqlViewName, t.autoSql.MySqlViewSql ); } public DataTable GetAllCNASTablesName(DataBaseInfo dataBase) { MySQLDAL mySQLBase = new MySQLDAL(); mySQLBase.CreateConnectString(dataBase.DBHost, dataBase.DBPort, dataBase.DBName, dataBase.DBUser, dataBase.DBPwd); return mySQLBase.GetTableNames(dataBase.DBName); } public DataTable GetCNASTablesStruct(string strTableName, DataBaseInfo dataBase) { MySQLDAL mySQLBase = new MySQLDAL(); mySQLBase.CreateConnectString(dataBase.DBHost, dataBase.DBPort, dataBase.DBName, dataBase.DBUser, dataBase.DBPwd); return mySQLBase.GetTableStruct(strTableName,"",""); } public int InsertDataToCNASTable(DataTable dt, DataBaseInfo dataBase, List syncParamasInfos, string strInstrumentColumn,List lstFixedValue = null) { MySQLDAL mySQLBase = new MySQLDAL(); mySQLBase.CreateConnectString(dataBase.DBHost, dataBase.DBPort, dataBase.DBName, dataBase.DBUser, dataBase.DBPwd); return mySQLBase.InsertCnasData(dt, syncParamasInfos, lstFixedValue, strInstrumentColumn); } public DataTable GetCNASTableTypeLenth(string strTableName, DataBaseInfo dataBase) { MySQLDAL mySQLBase = new MySQLDAL(); mySQLBase.CreateConnectString(dataBase.DBHost, dataBase.DBPort, dataBase.DBName, dataBase.DBUser, dataBase.DBPwd); return mySQLBase.GetTableTypeAndLenth(strTableName); } public DataTable GetLoginNameByPwd(DataBaseInfo dataBase, string strUserName, string strPwd) { MySQLDAL mySQLBase = new MySQLDAL(); mySQLBase.CreateConnectString(dataBase.DBHost, dataBase.DBPort, dataBase.DBName, dataBase.DBUser, dataBase.DBPwd); strPwd = EncryptionOperation.GetMD5Hash(strPwd); AppLog.Info(strPwd); return mySQLBase.GetLoginNameByPwd(strUserName, strPwd); } public bool CheckMacMessage(DataBaseInfo dataBase, string strMac) { MySQLDAL mySQLBase = new MySQLDAL(); mySQLBase.CreateConnectString(dataBase.DBHost, dataBase.DBPort, dataBase.DBName, dataBase.DBUser, dataBase.DBPwd); return mySQLBase.CheckMacMessage(strMac); } public bool CheckMacMessage(string strConnectionString, string strMac) { MySQLDAL mySQLBase = new MySQLDAL(); mySQLBase.CreateConnectString(strConnectionString); return mySQLBase.CheckMacMessage(strMac); } public string GetMaxTimeByTableName(DataBaseInfo dataBase, string strTableName, string strDateColumn, string strInstrumentColumn, string strInstrumentValue) { MySQLDAL mySQLBase = new MySQLDAL(); mySQLBase.CreateConnectString(dataBase.DBHost, dataBase.DBPort, dataBase.DBName, dataBase.DBUser, dataBase.DBPwd); return mySQLBase.GetMaxTimeByTableName(strTableName, strDateColumn, strInstrumentColumn, strInstrumentValue); } /// /// 获取某个表的数据 /// /// /// /// public DataTable GetTableData(DataBaseInfo dataBase, string strSql) { MySQLDAL mySQLBase = new MySQLDAL(); mySQLBase.CreateConnectString(dataBase.DBHost, dataBase.DBPort, dataBase.DBName, dataBase.DBUser, dataBase.DBPwd); return mySQLBase.GetTableData(strSql); } /// /// 插入某个表的数据 /// /// /// /// public bool InsertTableData(DataBaseInfo dataBase, string strSql) { MySQLDAL mySQLBase = new MySQLDAL(); mySQLBase.CreateConnectString(dataBase.DBHost, dataBase.DBPort, dataBase.DBName, dataBase.DBUser, dataBase.DBPwd); return mySQLBase.InsertTableData(strSql); } } }