private static void RefreshMapperDataSource(cPos.Model.LoggingManager loggingManager) { if (loggingManager == null) { //SessionManager sm = new SessionManager(); //if (sm.loggingSessionInfo != null && sm.loggingSessionInfo.CurrentLoggingManager != null) //{ // if (sm.loggingSessionInfo.CurrentLoggingManager.Customer_Id != null) // { // if (sm.loggingSessionInfo.CurrentLoggingManager.Customer_Id != CustomerID) // { // CustomerID = sm.loggingSessionInfo.CurrentLoggingManager.Customer_Id; // string customer_connection_str = sm.loggingSessionInfo.CurrentLoggingManager.Connection_String.ToString(); // _mapper.DataSource.ConnectionString = customer_connection_str; // } // } //} } else { //if (loggingManager.Customer_Id != CustomerID) //{ // CustomerID = loggingManager.Customer_Id; // string customer_connection_str = loggingManager.Connection_String; // _Mapper.DataSource.ConnectionString = customer_connection_str; //} _Mapper.DataSource.ConnectionString = loggingManager.Connection_String; } }
public static ISqlMapper Instance(cPos.Model.LoggingManager loggingManager) { if (_Mapper == null) { lock (typeof(SqlMapper)) { if (_Mapper == null) // double-check { InitMapper(); } } } else { lock (typeof(SqlMapper)) { if (string.IsNullOrEmpty(loggingManager.Connection_String)) { InitMapper(); } else { RefreshMapperDataSource(loggingManager); } } } return(_Mapper); }
/// <summary> /// 根据Customer_Id获取登录Model /// </summary> /// <param name="Customer_Id"></param> /// <returns></returns> public cPos.Model.LoggingSessionInfo GetLoggingSessionInfoByCustomerId(string Customer_Id) { var loggingSessionInfo = new cPos.Model.LoggingSessionInfo(); //取连接 var service = new CustomerService(); var cConnect = service.GetCustomerConnectByID(Customer_Id); if (cConnect == null) { return(null); //this.log(LogLevel.ERROR, FunctionName.WS_GET_LOGIN_USER_INFO, "CustomerConnect", "未找到"); //this.log(LogLevel.INFO, FunctionName.WS_GET_LOGIN_USER_INFO, MessageType.RESULT, ""); //return ""; } //生成XML //var user = new cPos.Model.LoggingSessionInfo(); //user.CurrentLoggingManager.Customer_Id = Customer_Id; //user.CustomerCode = cConnect.Customer.Code; //user.CustomerName = cConnect.Customer.Name; //user.ConnectionString = cConnect.DBConnectionString; //string s = XMLGenerator.Serialize(user); //LoggingManager loggingManagerInfo = new LoggingManager(); //获取数据库连接字符串 //cPos.WebServices.AuthManagerWebServices.AuthService AuthWebService = new cPos.WebServices.AuthManagerWebServices.AuthService(); //AuthWebService.Url = System.Configuration.ConfigurationManager.AppSettings["sso_url"] + "/authservice.asmx"; //this.Log(LogLevel.DEBUG, "BS", "", "", "url", AuthWebService.Url); //this.Log(LogLevel.DEBUG, "BS", "", "", "customer_id", Customer_Id); //string str = AuthWebService.GetCustomerDBConnectionString(Customer_Id);//"0b3b4d8b8caa4c71a7c201f53699afcc" //loggingManagerInfo = (LoggingManager)cXMLService.Deserialize(s, typeof(cPos.Model.LoggingManager)); var user = new cPos.Model.LoggingManager(); user.Customer_Id = Customer_Id; user.Customer_Code = cConnect.Customer.Code; user.Customer_Name = cConnect.Customer.Name; user.Connection_String = cConnect.DBConnectionString; loggingSessionInfo.CurrentLoggingManager = user; //loggingManagerInfo.Customer_Id = Customer_Id; //loggingSessionInfo.CurrentLoggingManager.Connection_String = cConnect.DBConnectionString; return(loggingSessionInfo); }