ComplianceServer/oldcode/Core.Model/ConStringHelper.cs

263 lines
10 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using MySql.Data.MySqlClient;
using System;
using System.Configuration;
using System.Data.Common;
using System.Data.SqlClient;
using WX.CRM.Common;
using WX.Interface.Security;
namespace CRM.Core.Model
{
/**********************************************************************************
*
* 功能说明:管理连接字符串
* 作者:
* 版本: 2014-08-05 1.0
*
* *******************************************************************************/
public class ConStringHelper
{
//public static readonly bool ConStringEncrypt = ConfigurationManager.AppSettings["ConStringEncrypt"] != null ? Convert.ToBoolean(ConfigurationManager.AppSettings["ConStringEncrypt"]) : false;
//public static readonly string AYCRMConn = GetDecryptConnectingString(ConfigurationManager.ConnectionStrings["crmContext"] != null ? ConfigurationManager.ConnectionStrings["crmContext"].ToString() : "");
//public static readonly string OLAPConn = GetDecryptConnectingString(ConfigurationManager.ConnectionStrings["olapContext"] != null ? ConfigurationManager.ConnectionStrings["olapContext"].ToString() : "");
//public static readonly string MNOLAPConn = GetDecryptConnectingString(ConfigurationManager.ConnectionStrings["MnOlapContext"] != null ? ConfigurationManager.ConnectionStrings["MnOlapContext"].ToString() : "");
//public static readonly string GGDEVConn = GetDecryptConnectingString(ConfigurationManager.ConnectionStrings["GGDevContext"] != null ? ConfigurationManager.ConnectionStrings["GGDevContext"].ToString() : "");
//public static readonly string IMCRMCon = GetDecryptConnectingString(ConfigurationManager.ConnectionStrings["IMCRM"] != null ? ConfigurationManager.ConnectionStrings["IMCRM"].ToString() : "");
//public static readonly string WSKUSERCon = GetDecryptConnectingString(ConfigurationManager.ConnectionStrings["Entities"] != null ? ConfigurationManager.ConnectionStrings["Entities"].ToString() : "");
private static bool _conStringEncrypt;
private static int _isEncrypt;
private static string _ZxdCRMConn;
private static string _WskuserCon;
private static string _CRMRESMYSQLConn;
private static string _databaseTypeStr;
private static DatabaseTypeNum _databaseType;
private static string _fbConn;
public static DatabaseTypeNum DatabaseType
{
get
{
//默认是Oracle
if (string.IsNullOrEmpty(_databaseTypeStr))
{
_databaseTypeStr = ConfigurationManager.AppSettings["DatabaseType"] != null ? ConfigurationManager.AppSettings["DatabaseType"].ToString() : "ORACLE";
switch (_databaseTypeStr)
{
case "ORACLE": _databaseType = DatabaseTypeNum.ORACLE; break;
case "SQLSERVER": _databaseType = DatabaseTypeNum.SQLSERVER; break;
case "MYSQL": _databaseType = DatabaseTypeNum.MYSQL; break;
default: _databaseType = DatabaseTypeNum.MYSQL; break;
}
}
return ConStringHelper._databaseType;
}
}
public static string CRMRESMYSQLConn
{
get
{
if (string.IsNullOrEmpty(_CRMRESMYSQLConn))
_CRMRESMYSQLConn = GetDecryptConnectingString(ConfigurationManager.ConnectionStrings["CRMRESMYSQLConn"] != null ? ConfigurationManager.ConnectionStrings["CRMRESMYSQLConn"].ToString() : "");
return ConStringHelper._CRMRESMYSQLConn;
}
set { ConStringHelper._CRMRESMYSQLConn = value; }
}
/// <summary>
/// 是否加密取至配置ConStringEncrypt
/// </summary>
private static bool ConStringEncrypt
{
get
{
if (_isEncrypt == 0)
{
_conStringEncrypt = ConfigurationManager.AppSettings["ConStringEncrypt"] != null ? Convert.ToBoolean(ConfigurationManager.AppSettings["ConStringEncrypt"]) : false;
_isEncrypt = 1;
}
return ConStringHelper._conStringEncrypt;
}
set
{
ConStringHelper._conStringEncrypt = value;
}
}
/// <summary>
/// 主库连接 取至crmContext
/// </summary>
public static string ZxdCRMConn
{
get
{
if (string.IsNullOrEmpty(_ZxdCRMConn))
_ZxdCRMConn = GetDecryptConnectingString(ConfigurationManager.ConnectionStrings["zxdContext"] != null ? ConfigurationManager.ConnectionStrings["zxdContext"].ToString() : "");
return ConStringHelper._ZxdCRMConn;
}
}
public static string FbConn
{
get
{
if (string.IsNullOrEmpty(_fbConn))
_fbConn = GetDecryptConnectingString(ConfigurationManager.ConnectionStrings["fbContext"] != null ? ConfigurationManager.ConnectionStrings["fbContext"].ToString() : "");
return _fbConn;
}
}
public static string SoftConn
{
get
{
return ConfigurationManager.ConnectionStrings["softContent"].ToString();
}
}
public static string StockConn
{
get
{
return ConfigurationManager.ConnectionStrings["stockContent"].ToString();
}
}
public static string UserCenterConn
{
get
{
return ConfigurationManager.ConnectionStrings["usercenterContent"].ToString();
}
}
public static string AuditConn
{
get
{
return ConfigurationManager.ConnectionStrings["auditContext"].ToString();
}
}
public static string GetFbConn(CompanyCode companyCode)
{
if (companyCode == CompanyCode.QBJZ)
{
return ConfigurationManager.ConnectionStrings["bjContext"].ToString();
}
else if (companyCode == CompanyCode.QBJY)
{
return ConfigurationManager.ConnectionStrings["bj2Context"].ToString();
}
else if (companyCode == CompanyCode.QBJX)
{
return ConfigurationManager.ConnectionStrings["bj3Context"].ToString();
}
else if (companyCode == CompanyCode.DNZZ)
{
return ConfigurationManager.ConnectionStrings["gzContext"].ToString();
}
else if (companyCode == CompanyCode.DNCK)
{
return ConfigurationManager.ConnectionStrings["dnckContext"].ToString();
}
else if (companyCode == CompanyCode.SHZZ)
{
return ConfigurationManager.ConnectionStrings["dnckContext"].ToString();
}
return null;
}
/// <summary>
/// 数据同步数据库 取至Entities
/// </summary>
public static string WskuserCon
{
get
{
if (string.IsNullOrEmpty(_WskuserCon))
_WskuserCon = GetDecryptConnectingString(ConfigurationManager.ConnectionStrings["Entities"] != null ? ConfigurationManager.ConnectionStrings["Entities"].ToString() : "");
return ConStringHelper._WskuserCon;
}
set { ConStringHelper._WskuserCon = value; }
}
public static string GetDecryptConnectingString(string conn)
{
if (ConStringEncrypt)
{
try
{
string clientId = Utility.GetSettingByKey("CRMClientKey");
ClientKey client = ClientKey.GetClientKey(clientId);
EncDecUtil util = new EncDecUtil();
string connectingStr = util.decyptData(conn, client.AccessKey);//解密字符串
//LogHelper.Error("访问了解密:" + connectingStr);
return connectingStr;
}
catch (Exception ex)
{
LogHelper.Error("连接字符串解密出错:" + ex.ToString());
return conn;
}
}
return conn;
}
/// <summary>
/// 从配置中判断是oracle 还是sqlserver
/// </summary>
/// <param name="connecting"></param>
/// <returns></returns>
public static DbConnection GetDbConnection(string connecting)
{
DbConnection jb = null;
switch (ConStringHelper.DatabaseType)
{
case DatabaseTypeNum.SQLSERVER: jb = new SqlConnection(connecting); break;//sqlserver连接
//case DatabaseTypeNum.ORACLE: jb = new OracleConnection(connecting); break;//Oracle连接
case DatabaseTypeNum.MYSQL: jb = new MySqlConnection(connecting); break;//Oracle连接
default: jb = new MySqlConnection(connecting); break;//默认是Oracle连接
}
return jb;
}
/// <summary>
/// 自定义传递数据库类型
/// </summary>
/// <param name="connecting"></param>
/// <param name="typenum"></param>
/// <returns></returns>
public static DbConnection GetDbConnection(string connecting, DatabaseTypeNum typenum)
{
DbConnection jb = null;
//LogHelper.Info("连接字符串:" + connecting);
switch (typenum)
{
case DatabaseTypeNum.SQLSERVER: jb = new SqlConnection(connecting); break;//sqlserver连接
//case DatabaseTypeNum.ORACLE: jb = new OracleConnection(connecting); break;//Oracle连接
case DatabaseTypeNum.MYSQL: jb = new MySqlConnection(connecting); break;//Oracle连接
default: jb = new MySqlConnection(connecting); break;//默认是Oracle连接
}
return jb;
}
public enum DatabaseTypeNum
{
SQLSERVER,
ORACLE,
MYSQL
}
public enum CompanyCode
{
QBJZ,//北京一部
QBJY,//北京二部
QBJX,//北京三部
DNZZ,//广州分公司
SOFT,
SHZZ,//首华
DNCK,//Check
DNG8
}
}
}