using System; using System.Data; using System.Diagnostics; using System.Reflection; using System.Security.Principal; namespace IndianHealthService.BMXNet { public class BMXNetConnection : System.Data.Common.DbConnection, IDbConnection { private ConnectionState m_state; private string m_sConnString; private BMXNetLib m_rpx; private RPMSDb m_RPMSDb; private int m_nTimeout; private string m_sDatabase; private string m_sAccess; private string m_sVerify; private int m_nPort; private string m_sAddress; private string m_sAppContext; private bool m_bUseWinIdent; // default constructor. public BMXNetConnection() { // Initialize the connection object into the closed state. m_state = ConnectionState.Closed; this.m_rpx = new BMXNetLib(); } public BMXNetConnection(string sConnString) { // Initialize the connection object into a closed state. m_state = ConnectionState.Closed; this.ConnectionString = sConnString; this.m_rpx = new BMXNetLib(); } public BMXNetConnection(BMXNetLib bmxLib) { if (bmxLib.Connected == true) { m_state = ConnectionState.Open; m_rpx = bmxLib; m_RPMSDb = new RPMSDb(m_rpx); } else { m_state = ConnectionState.Closed; } } /**** * IMPLEMENT THE REQUIRED PROPERTIES. ****/ override public string ConnectionString { get { return m_sConnString; } set { m_nTimeout = 0; try { // Parse values from connect string m_sConnString = value; string sSemi = ";"; string sEq = "="; string sU = "^"; char[] cSemi = sSemi.ToCharArray(); char[] cEq = sEq.ToCharArray(); char[] cU = sU.ToCharArray(); string [] saSplit = m_sConnString.Split(cSemi); string [] saProp; string [] saTemp; string sPropName; string sPropVal; for (int j = 0; j