using System; using System.Collections.Generic; using System.Text; using FirebirdSql.Data.FirebirdClient; using System.Data; using System.Collections; namespace IControls_FireManager { /******************************************************************************************* * TB_COMM(Åë½Å) ¼³Á¤ °ü·Ã Dac *******************************************************************************************/ public class DacCommConfig: DacBase { public DacCommConfig() { //try { // base.Connect(); //} //catch (Exception ex) { // Util.UErrorMessage(ex, 0, 0); //} } ~DacCommConfig() { //try { // base.DisConnect(); //} //catch (Exception ex) { // Util.UErrorMessage(ex, 0, 0); //} } public DataTable Comm_Select(int RECEIVER_ID, int COMM_ID, String UseFlag) { DataTable dt = null; try { String SQL = ""; if (COMM_ID < 1) { SQL += "SELECT COMM_ID,COMM_NAME,COMM_LOOP,COMM_TYPE"; SQL += ",COMM_PORT,BAUD_RATE,PARITY,DATA_BITS,STOP_BITS"; SQL += ",IP_ADDRESS,PORT_NO,COMM_TIMEOUT,COMM_DELAY"; SQL += ",LOG_FLAG,USE_FLAG FROM TB_COMM "; if (UseFlag != null) { SQL += " WHERE USE_FLAG = '" + UseFlag + "'"; SQL += " AND RECEIVER_ID = '{0}'"; } else { SQL += " WHERE RECEIVER_ID = '{0}'"; } SQL += " ORDER BY COMM_ID"; SQL = String.Format(SQL, RECEIVER_ID); } else { SQL += "SELECT COMM_ID,COMM_NAME,COMM_LOOP,COMM_TYPE"; SQL += ",COMM_PORT,BAUD_RATE,PARITY,DATA_BITS,STOP_BITS"; SQL += ",IP_ADDRESS,PORT_NO,COMM_TIMEOUT,COMM_DELAY"; SQL += ",LOG_FLAG,USE_FLAG FROM TB_COMM "; if (UseFlag != null) { SQL += " WHERE USE_FLAG = '" + UseFlag + "'"; SQL += " AND RECEIVER_ID = {0} AND COMM_ID = {1}"; } else { SQL += " WHERE RECEIVER_ID = {0} AND COMM_ID = {1}"; } SQL = String.Format(SQL, RECEIVER_ID, COMM_ID); } DataSet dao = Select(SQL); dt = dao.Tables[0]; } catch (Exception ex) { Util.UErrorMessage(ex,0,0); throw ex; } return dt; } public void Comm_FlagUpdate(QUERYMode cmd, int RECEIVER_ID, Enum COMM_ID, String USE_FLAG) { try { int commId = (int)Enum.Parse(typeof(COMMLOOP), COMM_ID.ToString()); DataTable dt = Comm_Select(RECEIVER_ID, commId,null); if (cmd == QUERYMode.insert || cmd == QUERYMode.update || cmd == QUERYMode.InsertAndUpdate) { String SQL = ""; if (dt.Rows.Count > 0) { SQL = "UPDATE TB_COMM SET USE_FLAG = '{0}'"; SQL += ", UPDATE_USER_ID = 'FPER', UPDATE_TIME = current_timestamp"; SQL += " WHERE RECEIVER_ID = {1} AND COMM_ID = {2}"; SQL = String.Format(SQL, USE_FLAG, RECEIVER_ID, commId); ExecuteNonQuery(SQL); } } } catch (Exception ex) { Util.UErrorMessage(ex,0,0); throw ex; } } public void Comm_FlagUpdate(QUERYMode cmd, int RECEIVER_ID, Enum COMM_ID, String USE_FLAG, String LOG_FLAG) { try { int commId = (int)Enum.Parse(typeof(COMMLOOP), COMM_ID.ToString()); DataTable dt = Comm_Select(RECEIVER_ID, commId,null); if (cmd == QUERYMode.insert || cmd == QUERYMode.update || cmd == QUERYMode.InsertAndUpdate) { String SQL = ""; if (dt.Rows.Count > 0) { SQL = "UPDATE TB_COMM SET LOG_FLAG = '{0}',USE_FLAG = '{1}'"; SQL += ", UPDATE_USER_ID = 'FPER', UPDATE_TIME = current_timestamp"; SQL += " WHERE RECEIVER_ID = {2} AND COMM_ID = {3}"; SQL = String.Format(SQL, LOG_FLAG, USE_FLAG, RECEIVER_ID, commId); ExecuteNonQuery(SQL); } } } catch (Exception ex) { Util.UErrorMessage(ex,0,0); throw ex; } } public void Comm_Clear() { try { String SQL = "DELETE FROM TB_COMM "; ExecuteNonQuery(SQL); } catch (Exception ex) { Util.UErrorMessage(ex, 0, 0); throw ex; } } public void Comm_Update(QUERYMode cmd, int RECEIVER_ID, Enum COMM_ID, String COMM_NAME, Enum COMM_LOOP , String COMM_TYPE, String COMM_PORT, int BAUD_RATE, String PARITY, String DATA_BITS, String STOP_BITS , String IP_ADDRESS, int PORT_NO, int COMM_TIMEOUT, int COMM_DELAY, /*String RUN_TYPE,*/ String LOG_FLAG, String USE_FLAG) { try { int commId = (int)Enum.Parse(typeof(COMMLOOP), COMM_ID.ToString()); int commLoop = (int)Enum.Parse(typeof(COMMLOOP), COMM_LOOP.ToString()); DataTable dt = Comm_Select(RECEIVER_ID, commId,null); if (cmd == QUERYMode.insert || cmd == QUERYMode.update || cmd == QUERYMode.InsertAndUpdate) { String SQL = ""; if (dt.Rows.Count > 0) { //RS232 if (COMM_TYPE.Equals("C") || COMM_TYPE.Equals("R")) { SQL = "UPDATE TB_COMM SET COMM_NAME = '{0}'"; SQL += ", COMM_LOOP = {1}, COMM_TYPE = '{2}'"; SQL += ", COMM_PORT = '{3}', BAUD_RATE = {4}"; SQL += ", PARITY = '{5}', DATA_BITS = '{6}'"; SQL += ", STOP_BITS = '{7}'"; SQL += ", COMM_TIMEOUT = {8}, COMM_DELAY = {9}"; SQL += ", USE_FLAG = '{10}'"; SQL += ", LOG_FLAG = '{11}'"; SQL += ", UPDATE_USER_ID = 'FPER', UPDATE_TIME = current_timestamp"; SQL += " WHERE RECEIVER_ID = {12} AND COMM_ID = {13}"; SQL = String.Format(SQL, COMM_NAME, commLoop, COMM_TYPE, COMM_PORT, BAUD_RATE , PARITY, DATA_BITS, STOP_BITS, COMM_TIMEOUT, COMM_DELAY,USE_FLAG, LOG_FLAG, RECEIVER_ID, commId); } //LEN else { SQL = "UPDATE TB_COMM SET COMM_NAME = '{0}'"; SQL += ", COMM_LOOP = {1}, COMM_TYPE = '{2}'"; SQL += ", IP_ADDRESS = '{3}', PORT_NO = {4}"; SQL += ", COMM_TIMEOUT = {5}, COMM_DELAY = {6}"; SQL += ", USE_FLAG = '{7}'"; SQL += ", LOG_FLAG = '{8}'"; SQL += ", UPDATE_USER_ID = 'FPER', UPDATE_TIME = current_timestamp"; SQL += " WHERE RECEIVER_ID = {9} AND COMM_ID = {10}"; SQL = String.Format(SQL, COMM_NAME, commLoop, COMM_TYPE, IP_ADDRESS, PORT_NO , COMM_TIMEOUT, COMM_DELAY, USE_FLAG, LOG_FLAG, RECEIVER_ID, commId); } } else { if (COMM_TYPE.Equals("C") || COMM_TYPE.Equals("R")) { SQL = "INSERT INTO TB_COMM ( "; SQL += " RECEIVER_ID,COMM_ID,COMM_NAME,COMM_LOOP,COMM_TYPE,COMM_PORT"; SQL += ",BAUD_RATE,PARITY,DATA_BITS,STOP_BITS"; SQL += ",COMM_TIMEOUT,COMM_DELAY,USE_FLAG,LOG_FLAG,UPDATE_USER_ID,UPDATE_TIME"; SQL += ") VALUES ({0},{1},'{2}',{3},'{4}','{5}',{6},'{7}','{8}','{9}',{10},{11},'{12}','{13}','FPER',current_timestamp)"; SQL = String.Format(SQL, RECEIVER_ID, commId, COMM_NAME, commLoop, COMM_TYPE, COMM_PORT , BAUD_RATE, PARITY, DATA_BITS, STOP_BITS , COMM_TIMEOUT, COMM_DELAY, USE_FLAG, LOG_FLAG); } else { SQL = "INSERT INTO TB_COMM ( "; SQL += " RECEIVER_ID,COMM_ID,COMM_NAME,COMM_LOOP,COMM_TYPE"; SQL += ",IP_ADDRESS,PORT_NO"; SQL += ",COMM_TIMEOUT,COMM_DELAY,USE_FLAG,LOG_FLAG,UPDATE_USER_ID,UPDATE_TIME"; SQL += ") VALUES ({0},'{1}','{2}',{3},{4},'{5}','{6}','FPER',current_timestamp)"; SQL = String.Format(SQL, RECEIVER_ID, commId, COMM_NAME, commLoop, COMM_TYPE , IP_ADDRESS, PORT_NO , COMM_TIMEOUT, COMM_DELAY, USE_FLAG, LOG_FLAG, USE_FLAG); } } ExecuteNonQuery(SQL); } else if (cmd == QUERYMode.delete) { if (dt.Rows.Count < 1) { throw new Exception("ÇØ´ç ÀڷḦ ãÀ»¼ö ¾ø½À´Ï´Ù."); } String SQL = "UPDATE TB_COMM SET USE_FLAG = 'N' "; SQL += ", UPDATE_USER_ID = 'FPER', UPDATE_TIME = current_timestamp"; SQL += " WHERE RECEIVER_ID = {0} AND COMM_ID = {1}"; //String SQL = "DELETE FROM TB_COMM WHERE RECEIVER_ID = {0} AND COMM_ID = {1}"; SQL = String.Format(SQL, RECEIVER_ID, commId); ExecuteNonQuery(SQL); } } catch (Exception ex) { Util.UErrorMessage(ex,0,0); throw ex; } } } /*******************************************************************************************/ }