| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311 | using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using System.Collections;namespace FPER{    public partial class frmModalDeviceList : Form    {        // cyim 2016.12.07 : 수신기 모델별 내부 로직 변경        public MDIParent mdi = null;        public frmModalDeviceList(MDIParent pMDI)        {            InitializeComponent();            mdi = pMDI;        }        //입력값을 받고, 넘기기위한 VO        private InputIDVo inputVo;        public InputIDVo InputVo { get { return this.inputVo; } set { this.inputVo = value; } }        //코드선택값 넘기는 VO        private SearchCodeVo searchCode;        public SearchCodeVo SearchCode { get { return this.searchCode; } set { this.searchCode = value; } }        private int CommID = 1;        private void frmModalDeviceList_Load(object sender, EventArgs e)        {            try            {                txtReceiverId.Text = String.Format("{0:00}", inputVo.ReceiverID);                //cboBoardId 에 item넣기-통신보드ID                DacBoardConfig dacBoardConfig = new DacBoardConfig(inputVo.ReceiverID); // cyim 2015.7.30 데이타베이스 접속 루틴 변경                ArrayList ary = dacBoardConfig.Board_ListALL(inputVo.ReceiverID);                Util.ComboSetting(cboBoardId, ary, null);                //cboIOBoardID에 item넣기-IO보드                DacIOBoardConfig dacIOBoardConfig = new DacIOBoardConfig(inputVo.ReceiverID);// cyim 2015.7.30 데이타베이스 접속 루틴 변경                ArrayList ary1 = dacIOBoardConfig.Board_ListALL(mdi);                Util.ComboSetting(cboIOBoardID, ary1, null);                this.CommID = inputVo.CommID;                if (this.CommID != 1 && this.CommID != 3) this.CommID = 1;                if (this.CommID == 1) tabControl1.SelectedIndex = 0;                else if (this.CommID == 3) tabControl1.SelectedIndex = 1;                dataGridView1.Rows.Clear();                if (searchCode.CodeName != null)                {                    if (searchCode.CodeName.Length < 1) searchCode.CodeName = null;                }                txtSearchKey.Text = searchCode.CodeName;                get_Data(null);            }            catch (Exception ex)            {                Util.UErrorMessage(ex, 0, 0);            }        }        private void btnOK_Click(object sender, EventArgs e)        {            try            {                String searchKey = txtSearchKey.Text;                //if (searchKey.Length < 1)                //{                //    MessageBox.Show("먼저 검색할 단어를 입력하세요.", Application.ProductName);                //    return;                //}                if (tabControl1.SelectedIndex == 0) this.CommID = 1; else this.CommID = 3;                if (searchKey.Equals("")) searchKey = null;                get_Data(searchKey);            }            catch (Exception ex)            {                Util.UErrorMessage(ex, 0, 0);            }        }        private void get_Data(String SearchKey)        {            dataGridView1.Rows.Clear();            try            {                if (searchCode != null)                {                    //통신보드                    if (this.CommID == 1)                    {                        String selectedValue1 = cboBoardId.SelectedValue.ToString();                        String selectedValue2 = cboLoopNo.SelectedValue.ToString();                        String selectedValue3 = cboRepeaterId.SelectedValue.ToString();                        int BoardId = Util.StrToInt(selectedValue1, -1);                        int LoopNo = Util.StrToInt(selectedValue2, -1);                        int RepeaterId = Util.StrToInt(selectedValue3, -1);                        DacDeviceConfig dacDeviceConfig = new DacDeviceConfig(this.inputVo.ReceiverID);// cyim 2015.7.30 데이타베이스 접속 루틴 변경                        DataTable dtable = dacDeviceConfig.Device_Modal_Select(this.inputVo.ReceiverID, BoardId, LoopNo, RepeaterId, -1                            , this.inputVo.InoutType, SearchKey);                        if (dtable.Rows.Count > 0)                        {                            foreach (DataRow dr in dtable.Rows)                            {                                //MI-##-#-###-#  :M(구분 M-중계기,I-입력그룹)I,O(회로구분)-##(보드ID)-##(회로ID)                                //String dev_id = dr["DEVICE_ID"].ToString();                                MskDeviceIDString dev_s = new MskDeviceIDString(int.Parse(dr["COMM_ID"].ToString())                                    , int.Parse(dr["BOARD_ID"].ToString())                                    , int.Parse(dr["LOOP_NO"].ToString())                                    , int.Parse(dr["REPEATER_ID"].ToString())                                    , int.Parse(dr["DEVICE_ID"].ToString())                                    , dr["INOUT_TYPE"].ToString());                                dataGridView1.Rows.Add(dev_s.MskId                                    , string.Format("{0}-{1}", dr["DEVICE_TYPE"].ToString(), dr["DEVICE_TYPE_NAME"].ToString())                                    , string.Format("{0}-{1}", dr["POSITION_CODE"].ToString(), dr["POSITION_NAME"].ToString())                                    , dr["DEVICE_NAME"].ToString());                            }                        }                    }                    //IO보드                    else                    {                        //cboIOBoardID                        String selectedValue1 = cboIOBoardID.SelectedValue.ToString();                        int BoardId = Util.StrToInt(selectedValue1, -1);                        DacIODeviceConfig dacIODeviceConfig = new DacIODeviceConfig(this.inputVo.ReceiverID);// cyim 2015.7.30 데이타베이스 접속 루틴 변경                        DataTable dtable = dacIODeviceConfig.Device_Modal_Select(this.inputVo.ReceiverID, BoardId, -1                            , this.inputVo.InoutType, SearchKey);                        if (dtable.Rows.Count > 0)                        {                            foreach (DataRow dr in dtable.Rows)                            {                                //MI-##-#-###-#  :M(구분 M-중계기,I-입력그룹)I,O(회로구분)-##(보드ID)-##(회로ID)                                int board_id = int.Parse(dr["BOARD_ID"].ToString());                                // cyim 2016.10.24 : 통신보드 15번 -> 0번카드로 대체                                //15번 보드는 기본보드로 선택불가                                // cyim 2016.12.07 : 수신기 모델별 내부 로직 변경                                int i;                                if (mdi.ReceiverModel == "IFC3300")                                    i = 0;                                else                                    i = 15;                                if (board_id != i)                                {                                    MskDeviceIDString dev_s = new MskDeviceIDString(int.Parse(dr["COMM_ID"].ToString())                                        , int.Parse(dr["BOARD_ID"].ToString())                                        , int.Parse(dr["LOOP_NO"].ToString())                                        , int.Parse(dr["REPEATER_ID"].ToString())                                        , int.Parse(dr["DEVICE_ID"].ToString())                                        , dr["INOUT_TYPE"].ToString());                                    dataGridView1.Rows.Add(dev_s.MskId                                        , string.Format("{0}-{1}", dr["DEVICE_TYPE"].ToString(), dr["DEVICE_TYPE_NAME"].ToString())                                        , string.Format("{0}-{1}", dr["POSITION_CODE"].ToString(), dr["POSITION_NAME"].ToString())                                        , dr["DEVICE_NAME"].ToString());                                }                            }                        }                    }                }            }            catch (Exception ex)            {                Util.UErrorMessage(ex, 0, 0);                //MessageBox.Show(ex.Message, Application.ProductName);                //MessageBox.Show(string.Format("[{0}]\r\n{1}", ex.Message, ex.StackTrace), Application.ProductName);            }        }        private void btnCancel_Click(object sender, EventArgs e)        {            try            {                this.Close();            }            catch (Exception ex)            {                Util.UErrorMessage(ex, 0, 0);            }        }        private void tabControl1_SelectedIndexChanged(object sender, EventArgs e)        {            try            {                int sCommID = 1;                if (tabControl1.SelectedIndex == 0) sCommID = 1; else sCommID = 3;                if (sCommID != this.CommID) btnOK_Click(btnOK, EventArgs.Empty);            }            catch (Exception ex)            {                Util.UErrorMessage(ex, 0, 0);            }        }        private void btnSaveOK_Click(object sender, EventArgs e)        {            try            {                if (dataGridView1.SelectedRows.Count > 0)                {                    InputIDVo[] selectVo = new InputIDVo[dataGridView1.SelectedRows.Count];                    int rowindx = 0;                    foreach (DataGridViewRow row in dataGridView1.SelectedRows)                    {                        //DataGridViewRow row = dataGridView1.SelectedRows[0];                        selectVo[rowindx] = new InputIDVo();                        string dev_id_str = row.Cells[0].Value.ToString();                        MskDeviceIDString dev_s = new MskDeviceIDString(dev_id_str);                        selectVo[rowindx].ReceiverID = Util.StrToInt(txtReceiverId.Text, 0);                        selectVo[rowindx].CommID = dev_s.Comm_id;                        selectVo[rowindx].BoardID = dev_s.Board_id;                        selectVo[rowindx].LoopNo = dev_s.Loop_no;                        selectVo[rowindx].RepeaterID = dev_s.Repeater_id;                        selectVo[rowindx].DeviceID = dev_s.Device_id;                        selectVo[rowindx].InoutType = dev_s.Inout_type;                        rowindx++;                    }                    this.searchCode.SelectObject = selectVo;                    this.searchCode.SearchOK = true;                    this.Close();                }                else                {                    MessageBox.Show("선택된 코드가 없습니다.", Application.ProductName);                    return;                }            }            catch (Exception ex)            {                Util.UErrorMessage(ex, 0, 0);            }        }        private void cboBoardId_SelectedIndexChanged(object sender, EventArgs e)        {            try            {                String selectedValue = cboBoardId.SelectedValue.ToString();                int BoardId = Util.StrToInt(selectedValue, -1);                //cboBoardId 에 item넣기-LoopNo                DacBoardConfig dacBoardConfig = new DacBoardConfig(this.inputVo.ReceiverID);// cyim 2015.7.30 데이타베이스 접속 루틴 변경                ArrayList ary = dacBoardConfig.Loop_ListALL(this.inputVo.ReceiverID, BoardId);                Util.ComboSetting(cboLoopNo, ary, null);            }            catch (Exception ex)            {                Util.UErrorMessage(ex, 0, 0);            }        }        private void cboLoopNo_SelectedIndexChanged(object sender, EventArgs e)        {            try            {                String selectedValue1 = cboBoardId.SelectedValue.ToString();                String selectedValue2 = cboLoopNo.SelectedValue.ToString();                int BoardId = Util.StrToInt(selectedValue1, -1);                int LoopNo = Util.StrToInt(selectedValue2, -1);                //cboBoardId 에 item넣기-LoopNo                DacRepeaterConfig dacRepeaterConfig = new DacRepeaterConfig(this.inputVo.ReceiverID);// cyim 2015.7.30 데이타베이스 접속 루틴 변경                ArrayList ary = dacRepeaterConfig.Repeater_ListALL(this.inputVo.ReceiverID, BoardId, LoopNo);                Util.ComboSetting(cboRepeaterId, ary, null);            }            catch (Exception ex)            {                Util.UErrorMessage(ex, 0, 0);            }        }    }}
 |