using System;
using System.Collections.Generic;
using System.Text;
using FirebirdSql.Data.FirebirdClient;
using System.Data;
using System.Collections;


namespace IControls_FireManager
{

    /*******************************************************************************************
     * TB_BOARD(����) ���� ���� Dac
     *******************************************************************************************/
    public class DacBoardConfig: DacBase
    {
        public DacBoardConfig()
        {
          //try {
          //  base.Connect();
          //}
          //catch (Exception ex) {
          //  Util.UErrorMessage(ex, 0, 0);
          //}
        }


        ~DacBoardConfig()
        {
          //try {
          //  base.DisConnect();
          //}
          //catch (Exception ex) {
          //  Util.UErrorMessage(ex, 0, 0);
          //}
        }

        // RECEIVER_ID              INTEGER NOT NULL,     /* RECEIVER ID (1 - 32)  */
        //COMM_ID                  INTEGER NOT NULL,     /* COMM ID (1 - 4)       */
        //BOARD_ID                 INTEGER NOT NULL,     /* BOARD ID (1 - 16)     */
        //BOARD_NAME               VARCHAR(40),          /* BOARD NAME            */
        //USE_FLAG                 VARCHAR(1),           /* USE FLAG (Y/N)        */
        //UPDATE_USER_ID           VARCHAR(10),          /* UPDATE USER ID        */
        //UPDATE_TIME              TIMESTAMP,            /* UPDATE TIME           */


        //// cyim 2016.09.21 : TB_BOARD �� ���� 0~3 ���� �ϵ��� �Ѵ�
        //public DataTable SelectBoard_BigReceiver(int RECEIVER_ID)
        //{
        //    DataTable dt = null;
        //    try
        //    {
        //        String SQL = "";
        //        SQL += "SELECT BOARD_ID,BOARD_NAME,LOOP0_USE_FLAG,LOOP1_USE_FLAG,LOOP2_USE_FLAG,LOOP3_USE_FLAG,USE_FLAG";
        //        SQL += " ,MAIN_VERSION,SUB_VERSION,BAUD_RATE,LOOP0_BAUD_RATE,LOOP1_BAUD_RATE,LOOP2_BAUD_RATE,LOOP3_BAUD_RATE";
        //        SQL += " ,LOOP0_CUT_FLAG,LOOP1_CUT_FLAG,LOOP2_CUT_FLAG,LOOP3_CUT_FLAG ,COMM_ID";
        //        SQL += " FROM TB_BOARD WHERE RECEIVER_ID = {0}  ";
        //        SQL += " ORDER BY BOARD_ID";
        //        SQL = String.Format(SQL, RECEIVER_ID);

        //        DataSet dao = Select(SQL);
        //        dt = dao.Tables[0];
        //    }
        //    catch (Exception ex)
        //    {
        //        Util.UErrorMessage(ex, 0, 0);
        //        throw ex;
        //    }
        //    return dt;
        //}

        //public DataTable Board_Select(int RECEIVER_ID, int BOARD_ID, String UseFlag)
        //{
        //    DataTable dt = null;

        //    try
        //    {
        //        String SQL = "";

        //        if (BOARD_ID == 0)
        //        {
        //            SQL += "SELECT BOARD_ID,BOARD_NAME,LOOP0_USE_FLAG,LOOP1_USE_FLAG,USE_FLAG";
        //            SQL += " ,MAIN_VERSION,SUB_VERSION,BAUD_RATE,LOOP0_BAUD_RATE,LOOP1_BAUD_RATE";
        //            SQL += " ,LOOP0_CUT_FLAG,LOOP1_CUT_FLAG ";
        //            SQL += " FROM TB_BOARD WHERE RECEIVER_ID = {0} AND COMM_ID = 1 ";
        //            if (UseFlag != null) SQL += " AND USE_FLAG = '" + UseFlag + "'";
        //            SQL += " ORDER BY BOARD_ID";
        //            SQL = String.Format(SQL, RECEIVER_ID);
        //        }
        //        else
        //        {
        //            SQL += "SELECT BOARD_ID,BOARD_NAME,LOOP0_USE_FLAG,LOOP1_USE_FLAG,USE_FLAG";
        //            SQL += " ,MAIN_VERSION,SUB_VERSION,BAUD_RATE,LOOP0_BAUD_RATE,LOOP1_BAUD_RATE";
        //            SQL += " ,LOOP0_CUT_FLAG,LOOP1_CUT_FLAG ";
        //            SQL += " FROM TB_BOARD  WHERE RECEIVER_ID = {0} AND COMM_ID = 1 AND  BOARD_ID = {1}";
        //            if (UseFlag != null) SQL += " AND USE_FLAG = '" + UseFlag + "'";

        //            SQL = String.Format(SQL, RECEIVER_ID, BOARD_ID);
        //        }


        //        DataSet dao = Select(SQL);

        //        dt = dao.Tables[0];


        //    }
        //    catch (Exception ex)
        //    {
        //      Util.UErrorMessage(ex,0,0);
        //        throw ex;
        //    }


        //    return dt;

        //}
		
        // cyim 2016.09.21 : TB_BOARD �� ���� 0~3 ���� �ϵ��� �Ѵ� // cyim 2016.12.05 : ���ű� �𵨺� ���� ���� ����
        public DataTable Board_Select_BigReceiver(int RECEIVER_ID, int BOARD_ID, String UseFlag)
        {
            DataTable dt = null;

            try
            {
                String SQL = "";

                if (BOARD_ID == 0)
                {
                    SQL += "SELECT BOARD_ID,BOARD_NAME,LOOP0_USE_FLAG,LOOP1_USE_FLAG,LOOP2_USE_FLAG,LOOP3_USE_FLAG,USE_FLAG";
                    SQL += " ,MAIN_VERSION,SUB_VERSION,BAUD_RATE,LOOP0_BAUD_RATE,LOOP1_BAUD_RATE,LOOP2_BAUD_RATE,LOOP3_BAUD_RATE";
                    SQL += " ,LOOP0_CUT_FLAG,LOOP1_CUT_FLAG,LOOP2_CUT_FLAG,LOOP3_CUT_FLAG ";
                    SQL += " FROM TB_BOARD WHERE RECEIVER_ID = {0} AND COMM_ID = 1 ";
                    if (UseFlag != null) SQL += " AND USE_FLAG = '" + UseFlag + "'";
                    SQL += " ORDER BY BOARD_ID";
                    SQL = String.Format(SQL, RECEIVER_ID);
                }
                else
                {
                    SQL += "SELECT BOARD_ID,BOARD_NAME,LOOP0_USE_FLAG,LOOP1_USE_FLAG,LOOP2_USE_FLAG,LOOP3_USE_FLAG,USE_FLAG";
                    SQL += " ,MAIN_VERSION,SUB_VERSION,BAUD_RATE,LOOP0_BAUD_RATE,LOOP1_BAUD_RATE,LOOP2_BAUD_RATE,LOOP3_BAUD_RATE";
                    SQL += " ,LOOP0_CUT_FLAG,LOOP1_CUT_FLAG,LOOP2_CUT_FLAG,LOOP3_CUT_FLAG ";
                    SQL += " FROM TB_BOARD  WHERE RECEIVER_ID = {0} AND COMM_ID = 1 AND  BOARD_ID = {1}";
                    if (UseFlag != null) SQL += " AND USE_FLAG = '" + UseFlag + "'";

                    SQL = String.Format(SQL, RECEIVER_ID, BOARD_ID);
                }


                DataSet dao = Select(SQL);

                dt = dao.Tables[0];


            }
            catch (Exception ex)
            {
              Util.UErrorMessage(ex,0,0);
                throw ex;
            }


            return dt;

        }

        //��ź��� ID �ְ��� ����
        //public int BoardID_Max(int RECEIVER_ID)
        //{
        //    int BoardId = 0;
        //    try
        //    {
        //        String SQL = String.Format("SELECT MAX(BOARD_ID) FROM TB_BOARD WHERE RECEIVER_ID = {0} AND COMM_ID = 1", RECEIVER_ID);
        //        DataSet dao = Select(SQL);
        //        DataTable dt = dao.Tables[0];

        //        if (dt.Rows.Count > 0)
        //        {

        //            foreach (DataRow dr in dt.Rows)
        //            {
        //                if (!dr[0].ToString().Equals(""))
        //                    BoardId = int.Parse(dr[0].ToString());
        //            }
        //        }

        //    }
        //    catch (Exception ex)
        //    {
        //      Util.UErrorMessage(ex,0,0);
        //        throw ex;
        //    }


        //    return ++BoardId;

        //}

        //// cyim 2016.09.21 : TB_BOARD �� ���� 0~3 ���� �ϵ��� �Ѵ�
        //public void Board_Cut_Update_BigReceiver(int RECEIVER_ID, int BOARD_ID, String LOOP0_CUT_FLAG, String LOOP1_CUT_FLAG, String LOOP2_CUT_FLAG, String LOOP3_CUT_FLAG)
        //{
        //    try
        //    {
        //        DataTable dt = null;
        //        // cyim 2016.12.05 : ���ű� �𵨺� ���� ���� ����
        //        if (((_RECEIVER)_Data.HASH_RECEIVER[RECEIVER_ID]).MODEL == "IFC3300")
        //        {
        //            dt = Board_Select_BigReceiver(RECEIVER_ID, BOARD_ID, null);
        //        }
        //        else 
        //        { 
                
        //        }
                

        //        String SQL = "";

        //        if (dt.Rows.Count > 0)
        //        {
        //            SQL = "UPDATE TB_BOARD SET  LOOP0_CUT_FLAG = '{0}'";
        //            SQL += ", LOOP1_CUT_FLAG = '{1}'";
        //            SQL += ", LOOP2_CUT_FLAG = '{2}'";
        //            SQL += ", LOOP3_CUT_FLAG = '{3}'";
        //            SQL += ", UPDATE_USER_ID = 'FPER', UPDATE_TIME = current_timestamp";
        //            SQL += " WHERE RECEIVER_ID = {4} AND COMM_ID = 1 AND BOARD_ID = {5}";

        //            SQL = String.Format(SQL, LOOP0_CUT_FLAG, LOOP1_CUT_FLAG, LOOP2_CUT_FLAG, LOOP3_CUT_FLAG, RECEIVER_ID, BOARD_ID);
        //            ExecuteNonQuery(SQL);

        //        }
        //        else
        //        {
        //            throw new Exception("�ش� �ڷḦ ã���� �����ϴ�.");
        //        }

        //    }
        //    catch (Exception ex)
        //    {
        //      Util.UErrorMessage(ex,0,0);
        //        throw ex;
        //    }

        //}


        //// cyim 2016.09.21 : TB_BOARD �� ���� 0~3 ���� �ϵ��� �Ѵ�
        //public void Board_Update_BigReceiver(QUERYMode cmd, int RECEIVER_ID, int BOARD_ID, String BOARD_NAME, String USE_FLAG
        //    , String LOOP0_USE_FLAG, String LOOP1_USE_FLAG, String LOOP2_USE_FLAG, String LOOP3_USE_FLAG, int BAUD_RATE
        //    , int LOOP0_BAUD_RATE, int LOOP1_BAUD_RATE, int LOOP2_BAUD_RATE, int LOOP3_BAUD_RATE
        //   ,  int MAIN_VERSION, int SUB_VERSION)
        //{

        //    try
        //    {
        //        DataTable dt = null;

        //        // cyim 2016.12.05 : ���ű� �𵨺� ���� ���� ����
        //        if (((_RECEIVER)_Data.HASH_RECEIVER[RECEIVER_ID]).MODEL == "IFC3300")
        //        {
        //            dt = Board_Select_BigReceiver(RECEIVER_ID, BOARD_ID, null);
        //        }
        //        else
        //        { 
                
        //        }

        //        if (cmd == QUERYMode.insert || cmd == QUERYMode.update || cmd == QUERYMode.InsertAndUpdate)
        //        {
        //            String SQL = "";

        //            if (dt.Rows.Count > 0)
        //            {
        //                SQL = "UPDATE TB_BOARD SET  BOARD_NAME = '{0}'";
        //                SQL += ", USE_FLAG = '{1}'";
        //                SQL += ", LOOP0_USE_FLAG = '{2}', LOOP1_USE_FLAG = '{3}'";
        //                SQL += ", LOOP2_USE_FLAG = '{4}', LOOP3_USE_FLAG = '{5}'";
        //                SQL += ", BAUD_RATE = {6}, LOOP0_BAUD_RATE = {7}";
        //                SQL += ", LOOP1_BAUD_RATE = {8}";
        //                SQL += ", LOOP1_BAUD_RATE = {9}";
        //                SQL += ", LOOP1_BAUD_RATE = {10}";
        //                SQL += ", MAIN_VERSION = {11}, SUB_VERSION = {12}";
        //                SQL += ", UPDATE_USER_ID = 'FPER', UPDATE_TIME = current_timestamp";
        //                SQL += " WHERE RECEIVER_ID = {13} AND COMM_ID = 1 AND BOARD_ID = {14}";

        //                SQL = String.Format(SQL, BOARD_NAME, USE_FLAG, LOOP0_USE_FLAG, LOOP1_USE_FLAG, LOOP2_USE_FLAG, LOOP3_USE_FLAG
        //                    , BAUD_RATE, LOOP0_BAUD_RATE, LOOP1_BAUD_RATE, LOOP2_BAUD_RATE, LOOP3_BAUD_RATE,  MAIN_VERSION, SUB_VERSION
        //                    , RECEIVER_ID, BOARD_ID);

        //            }
        //            else
        //            {
        //                SQL = "INSERT INTO TB_BOARD ( ";
        //                SQL += " RECEIVER_ID,COMM_ID,BOARD_ID,BOARD_NAME,LOOP0_USE_FLAG,LOOP1_USE_FLAG,LOOP2_USE_FLAG,LOOP3_USE_FLAG";
        //                SQL += ",BAUD_RATE,LOOP0_BAUD_RATE,LOOP1_BAUD_RATE,LOOP2_BAUD_RATE,LOOP3_BAUD_RATE,MAIN_VERSION,SUB_VERSION";
        //                SQL += ",USE_FLAG,UPDATE_USER_ID,UPDATE_TIME";
        //                SQL += ") VALUES ({0},1,{1},'{2}','{3}','{4}','{5}','{6}',{7},{8},{9},{10},{11},{12},{13},'{14}','FPER',current_timestamp)";

        //                SQL = String.Format(SQL, RECEIVER_ID, BOARD_ID, BOARD_NAME, LOOP0_USE_FLAG, LOOP1_USE_FLAG, LOOP2_USE_FLAG, LOOP3_USE_FLAG
        //                    , BAUD_RATE, LOOP0_BAUD_RATE, LOOP1_BAUD_RATE, LOOP2_BAUD_RATE, LOOP3_BAUD_RATE, MAIN_VERSION, SUB_VERSION
        //                    , USE_FLAG);
        //            }

        //            ExecuteNonQuery(SQL);

        //        }
        //        else if (cmd == QUERYMode.delete)
        //        {

        //            if (dt.Rows.Count < 1)
        //            {
        //                throw new Exception("�ش� �ڷḦ ã���� �����ϴ�.");
        //            }

        //            String SQL = "UPDATE  TB_BOARD SET USE_FLAG = 'N' ";
        //            SQL += ", UPDATE_USER_ID = 'FPER', UPDATE_TIME = current_timestamp";
        //            SQL += " WHERE RECEIVER_ID = {0} AND COMM_ID = 1 AND BOARD_ID = {1}";
        //            SQL = String.Format(SQL, RECEIVER_ID, BOARD_ID);

        //            ExecuteNonQuery(SQL);

        //        }


        //    }
        //    catch (Exception ex)
        //    {
        //      Util.UErrorMessage(ex,0,0);
        //        throw ex;
        //    }

        //}

        //����
        //public ArrayList Board_List_BigReceiver(int RECEIVER_ID)
        //{
        //    ArrayList ary = null;

        //    try
        //    {
        //        DataTable dt = null;

        //        // cyim 2016.12.05 : ���ű� �𵨺� ���� ���� ����
        //        if (((_RECEIVER)_Data.HASH_RECEIVER[RECEIVER_ID]).MODEL == "IFC3300")
        //        {
        //            dt = Board_Select_BigReceiver(RECEIVER_ID, 0, "Y");
        //        }
        //        else 
        //        { 
                
        //        }
                
        //        if (dt.Rows.Count > 0)
        //        {

        //            ary = new ArrayList();
        //            foreach (DataRow dr in dt.Rows)
        //            {
        //                String BOARD_ID = Convert.ToString(dr["BOARD_ID"]);
        //                String BOARD_NAME = Convert.ToString(dr["BOARD_NAME"]);
                 
        //            }

        //        }


        //    }
        //    catch (Exception ex)
        //    {
        //      Util.UErrorMessage(ex,0,0);
        //        throw ex;
        //    }


        //    return ary;

        //}


    }
  


}