using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace IControls_FireManager { public partial class Form_Receiver_Port : Form { _RECEIVER RECEIVER; string RECEIVER_ID; Boolean[] bCOMM_Use = new Boolean[16]; Boolean[] bCOMM_CH1Use = new Boolean[16]; Boolean[] bCOMM_CH2Use = new Boolean[16]; Boolean[] bIO_Use = new Boolean[16]; public Form_Receiver_Port(int iIndex) { InitializeComponent(); RECEIVER_ID = Convert.ToString(iIndex); RECEIVER = (_RECEIVER)_Data.HASH_RECEIVER[RECEIVER_ID]; ReceiverToObj(); } private void UiButton_Confirm_Click(object sender, EventArgs e) { try { ObjToReceiver(); ((_RECEIVER)_Data.HASH_RECEIVER[RECEIVER_ID]).Port4CommBoard = RECEIVER.Port4CommBoard; ((_RECEIVER)_Data.HASH_RECEIVER[RECEIVER_ID]).Port4IOBoard = RECEIVER.Port4IOBoard; ((_RECEIVER)_Data.HASH_RECEIVER[RECEIVER_ID]).Port4KeyPAD = RECEIVER.Port4KeyPAD; ((_RECEIVER)_Data.HASH_RECEIVER[RECEIVER_ID]).Port4EmergencyBroadcast = RECEIVER.Port4EmergencyBroadcast; // DB 에 저장 Form_Receiver_Add DbSave_For_Form_Receiver_Add = new Form_Receiver_Add(Int32.Parse(((_RECEIVER)_Data.HASH_RECEIVER[RECEIVER_ID]).ID)); DbSave_For_Form_Receiver_Add._Event_Project_Receiver_Save_Event(); // 완료 이벤트 발생 _Event.WorkViewPageName_Receiver_SendMessage_Write(RECEIVER.ID); // 저장하였습니다 _Popup.Create(Popup_Type.Confirm, Popup_Style.Normal, _Text.OK, 250, 150, _Text.SaveInform, 0); // 프로젝트 수정 _Data.ProJect_Save_Complete = false; Close(); } catch (Exception ex) { // LOG _Event.DebugView_SendMessage_Write(ex.ToString()); } } // RECEIVER 객체의 값으로 화면 오브젝트의 값을 세팅한다. private void ReceiverToObj() { // GroupBox 데이터 넣기 (통신보드, IO보드, KeyPad, 비상방송 통신 관련 사항) gb_COMM1.Text = "통신보드 : " + RECEIVER.Port4CommBoard.Get_COM_PORT(); gb_COMM2.Text = "IO보드 : " + RECEIVER.Port4IOBoard.Get_COM_PORT(); gb_COMM3.Text = "키패드 : " + RECEIVER.Port4KeyPAD.Get_COM_PORT(); gb_COMM4.Text = "비상방송 : " + RECEIVER.Port4EmergencyBroadcast.Get_COM_PORT(); cb_COMM_USE.Checked = RECEIVER.Port4CommBoard.Use_Flag; cb_IO_USE.Checked = RECEIVER.Port4IOBoard.Use_Flag; cb_KEYPAD_USE.Checked = RECEIVER.Port4KeyPAD.Use_Flag; cb_EMER_USE.Checked = RECEIVER.Port4EmergencyBroadcast.Use_Flag; // 통신 보드 cb_COMM1_PORT.SelectedIndex = RECEIVER.Port4CommBoard.PortNo - 1; cb_COMM1_BAUDRATE.Text = RECEIVER.Port4CommBoard.Get_COM_BAUDRATE(); cb_COMM1_DATABITS.Text = RECEIVER.Port4CommBoard.DataBits.ToString(); cb_COMM1_STOPBITS.Text = RECEIVER.Port4CommBoard.Get_COM_STOPBIT(); cb_COMM1_PARITY.Text = RECEIVER.Port4CommBoard.Get_COM_PARITY(); // I/O 보드 cb_COMM2_PORT.SelectedIndex = RECEIVER.Port4IOBoard.PortNo - 1; cb_COMM2_BAUDRATE.Text = RECEIVER.Port4IOBoard.Get_COM_BAUDRATE(); cb_COMM2_DATABITS.Text = RECEIVER.Port4IOBoard.DataBits.ToString(); cb_COMM2_STOPBITS.Text = RECEIVER.Port4IOBoard.Get_COM_STOPBIT(); cb_COMM2_PARITY.Text = RECEIVER.Port4IOBoard.Get_COM_PARITY(); // KeyPad cb_COMM3_PORT.SelectedIndex = RECEIVER.Port4KeyPAD.PortNo - 1; cb_COMM3_BAUDRATE.Text = RECEIVER.Port4KeyPAD.Get_COM_BAUDRATE(); cb_COMM3_DATABITS.Text = RECEIVER.Port4KeyPAD.DataBits.ToString(); cb_COMM3_STOPBITS.Text = RECEIVER.Port4KeyPAD.Get_COM_STOPBIT(); cb_COMM3_PARITY.Text = RECEIVER.Port4KeyPAD.Get_COM_PARITY(); // 비상방송 cb_COMM4_PORT.SelectedIndex = RECEIVER.Port4EmergencyBroadcast.PortNo - 1; cb_COMM4_BAUDRATE.Text = RECEIVER.Port4EmergencyBroadcast.Get_COM_BAUDRATE(); cb_COMM4_DATABITS.Text = RECEIVER.Port4EmergencyBroadcast.DataBits.ToString(); cb_COMM4_STOPBITS.Text = RECEIVER.Port4EmergencyBroadcast.Get_COM_STOPBIT(); cb_COMM4_PARITY.Text = RECEIVER.Port4EmergencyBroadcast.Get_COM_PARITY(); foreach (string COM_BOARD_ID in ((_RECEIVER)_Data.HASH_RECEIVER[RECEIVER.ID]).List_COM_BOARD_ID) { int iID; iID = ((_COM_BOARD)((_RECEIVER)_Data.HASH_RECEIVER[RECEIVER.ID]).Hash_COM_BOARD[COM_BOARD_ID]).BOARD_ID; // BOARDID if ((iID > 0) && (iID < 16)) { // ((_COM_BOARD)((_RECEIVER)_Data.HASH_RECEIVER[RECEIVER.ID]).Hash_COM_BOARD[COM_BOARD_ID]).BOARD_NAME; // BOARDID bCOMM_CH1Use[iID] = ((_COM_BOARD)((_RECEIVER)_Data.HASH_RECEIVER[RECEIVER.ID]).Hash_COM_BOARD[COM_BOARD_ID]).bCh1_Use_Flag; // LOOP0 Use Flag bCOMM_CH2Use[iID] = ((_COM_BOARD)((_RECEIVER)_Data.HASH_RECEIVER[RECEIVER.ID]).Hash_COM_BOARD[COM_BOARD_ID]).bCh2_Use_Flag; // LOOP1 Use Flag bCOMM_Use[iID] = ((_COM_BOARD)((_RECEIVER)_Data.HASH_RECEIVER[RECEIVER.ID]).Hash_COM_BOARD[COM_BOARD_ID]).bUse_Flag; // Use Flag } } foreach (string IO_BOARD_ID in ((_RECEIVER)_Data.HASH_RECEIVER[RECEIVER.ID]).List_IO_BOARD_ID) { int iID; iID = ((_IO_BOARD)((_RECEIVER)_Data.HASH_RECEIVER[RECEIVER.ID]).Hash_IO_BOARD[IO_BOARD_ID]).BOARD_ID; // BOARDID if ((iID > 0) && (iID < 16)) { // ((_COM_BOARD)((_RECEIVER)_Data.HASH_RECEIVER[RECEIVER.ID]).Hash_COM_BOARD[COM_BOARD_ID]).BOARD_NAME; // BOARDID bIO_Use[iID] = ((_IO_BOARD)((_RECEIVER)_Data.HASH_RECEIVER[RECEIVER.ID]).Hash_IO_BOARD[IO_BOARD_ID]).bUse_Flag; // Use Flag } } cb_COMM1_Use.Checked = bCOMM_Use[1]; cb_COMM2_Use.Checked = bCOMM_Use[2]; cb_COMM3_Use.Checked = bCOMM_Use[3]; cb_COMM4_Use.Checked = bCOMM_Use[4]; cb_COMM5_Use.Checked = bCOMM_Use[5]; cb_COMM6_Use.Checked = bCOMM_Use[6]; cb_COMM7_Use.Checked = bCOMM_Use[7]; cb_COMM8_Use.Checked = bCOMM_Use[8]; cb_COMM9_Use.Checked = bCOMM_Use[9]; cb_COMM10_Use.Checked = bCOMM_Use[10]; cb_COMM11_Use.Checked = bCOMM_Use[11]; cb_COMM12_Use.Checked = bCOMM_Use[12]; cb_COMM13_Use.Checked = bCOMM_Use[13]; cb_COMM14_Use.Checked = bCOMM_Use[14]; cb_COMM15_Use.Checked = bCOMM_Use[15]; cb_COMM1_CH1Use.Checked = bCOMM_CH1Use[1]; cb_COMM2_CH1Use.Checked = bCOMM_CH1Use[2]; cb_COMM3_CH1Use.Checked = bCOMM_CH1Use[3]; cb_COMM4_CH1Use.Checked = bCOMM_CH1Use[4]; cb_COMM5_CH1Use.Checked = bCOMM_CH1Use[5]; cb_COMM6_CH1Use.Checked = bCOMM_CH1Use[6]; cb_COMM7_CH1Use.Checked = bCOMM_CH1Use[7]; cb_COMM8_CH1Use.Checked = bCOMM_CH1Use[8]; cb_COMM9_CH1Use.Checked = bCOMM_CH1Use[9]; cb_COMM10_CH1Use.Checked = bCOMM_CH1Use[10]; cb_COMM11_CH1Use.Checked = bCOMM_CH1Use[11]; cb_COMM12_CH1Use.Checked = bCOMM_CH1Use[12]; cb_COMM13_CH1Use.Checked = bCOMM_CH1Use[13]; cb_COMM14_CH1Use.Checked = bCOMM_CH1Use[14]; cb_COMM15_CH1Use.Checked = bCOMM_CH1Use[15]; cb_COMM1_CH2Use.Checked = bCOMM_CH2Use[1]; cb_COMM2_CH2Use.Checked = bCOMM_CH2Use[2]; cb_COMM3_CH2Use.Checked = bCOMM_CH2Use[3]; cb_COMM4_CH2Use.Checked = bCOMM_CH2Use[4]; cb_COMM5_CH2Use.Checked = bCOMM_CH2Use[5]; cb_COMM6_CH2Use.Checked = bCOMM_CH2Use[6]; cb_COMM7_CH2Use.Checked = bCOMM_CH2Use[7]; cb_COMM8_CH2Use.Checked = bCOMM_CH2Use[8]; cb_COMM9_CH2Use.Checked = bCOMM_CH2Use[9]; cb_COMM10_CH2Use.Checked = bCOMM_CH2Use[10]; cb_COMM11_CH2Use.Checked = bCOMM_CH2Use[11]; cb_COMM12_CH2Use.Checked = bCOMM_CH2Use[12]; cb_COMM13_CH2Use.Checked = bCOMM_CH2Use[13]; cb_COMM14_CH2Use.Checked = bCOMM_CH2Use[14]; cb_COMM15_CH2Use.Checked = bCOMM_CH2Use[15]; cb_IO1_Use.Checked = bIO_Use[1]; cb_IO2_Use.Checked = bIO_Use[2]; cb_IO3_Use.Checked = bIO_Use[3]; cb_IO4_Use.Checked = bIO_Use[4]; cb_IO5_Use.Checked = bIO_Use[5]; cb_IO6_Use.Checked = bIO_Use[6]; cb_IO7_Use.Checked = bIO_Use[7]; cb_IO8_Use.Checked = bIO_Use[8]; cb_IO9_Use.Checked = bIO_Use[9]; cb_IO10_Use.Checked = bIO_Use[10]; cb_IO11_Use.Checked = bIO_Use[11]; cb_IO12_Use.Checked = bIO_Use[12]; cb_IO13_Use.Checked = bIO_Use[13]; cb_IO14_Use.Checked = bIO_Use[14]; cb_IO15_Use.Checked = bIO_Use[15]; } // 화면 오브젝트의 값을 RECEIVER 객체로 보낸다. private void ObjToReceiver() { RECEIVER.Port4CommBoard.Use_Flag = cb_COMM_USE.Checked; RECEIVER.Port4IOBoard.Use_Flag = cb_IO_USE.Checked; RECEIVER.Port4KeyPAD.Use_Flag = cb_KEYPAD_USE.Checked; RECEIVER.Port4EmergencyBroadcast.Use_Flag = cb_EMER_USE.Checked; // 통신 보드 RECEIVER.Port4CommBoard.PortNo = cb_COMM1_PORT.SelectedIndex + 1; RECEIVER.Port4CommBoard.BaudRate = Util.StrToInt(cb_COMM1_BAUDRATE.Text, 0); RECEIVER.Port4CommBoard.DataBits = Util.StrToInt(cb_COMM1_DATABITS.Text, 0); RECEIVER.Port4CommBoard.Set_StopBits(cb_COMM1_STOPBITS.Text); RECEIVER.Port4CommBoard.Set_Parity(cb_COMM1_PARITY.Text); // I/O 보드 RECEIVER.Port4IOBoard.PortNo = cb_COMM2_PORT.SelectedIndex + 1; RECEIVER.Port4IOBoard.BaudRate = Util.StrToInt(cb_COMM2_BAUDRATE.Text, 0); RECEIVER.Port4IOBoard.DataBits = Util.StrToInt(cb_COMM2_DATABITS.Text, 0); RECEIVER.Port4IOBoard.Set_StopBits(cb_COMM2_STOPBITS.Text); RECEIVER.Port4IOBoard.Set_Parity(cb_COMM2_PARITY.Text); // KeyPad RECEIVER.Port4KeyPAD.PortNo = cb_COMM3_PORT.SelectedIndex + 1; RECEIVER.Port4KeyPAD.BaudRate = Util.StrToInt(cb_COMM3_BAUDRATE.Text, 0); RECEIVER.Port4KeyPAD.DataBits = Util.StrToInt(cb_COMM3_DATABITS.Text, 0); RECEIVER.Port4KeyPAD.Set_StopBits(cb_COMM3_STOPBITS.Text); RECEIVER.Port4KeyPAD.Set_Parity(cb_COMM3_PARITY.Text); // 비상방송 RECEIVER.Port4EmergencyBroadcast.PortNo = cb_COMM4_PORT.SelectedIndex + 1; RECEIVER.Port4EmergencyBroadcast.BaudRate = Util.StrToInt(cb_COMM4_BAUDRATE.Text, 0); RECEIVER.Port4EmergencyBroadcast.DataBits = Util.StrToInt(cb_COMM4_DATABITS.Text, 0); RECEIVER.Port4EmergencyBroadcast.Set_StopBits(cb_COMM4_STOPBITS.Text); RECEIVER.Port4EmergencyBroadcast.Set_Parity(cb_COMM4_PARITY.Text); bCOMM_Use[1] = cb_COMM1_Use.Checked; bCOMM_Use[2] = cb_COMM2_Use.Checked; bCOMM_Use[3] = cb_COMM3_Use.Checked; bCOMM_Use[4] = cb_COMM4_Use.Checked; bCOMM_Use[5] = cb_COMM5_Use.Checked; bCOMM_Use[6] = cb_COMM6_Use.Checked; bCOMM_Use[7] = cb_COMM7_Use.Checked; bCOMM_Use[8] = cb_COMM8_Use.Checked; bCOMM_Use[9] = cb_COMM9_Use.Checked; bCOMM_Use[10] = cb_COMM10_Use.Checked; bCOMM_Use[11] = cb_COMM11_Use.Checked; bCOMM_Use[12] = cb_COMM12_Use.Checked; bCOMM_Use[13] = cb_COMM13_Use.Checked; bCOMM_Use[14] = cb_COMM14_Use.Checked; bCOMM_Use[15] = cb_COMM15_Use.Checked; bCOMM_CH1Use[1] = cb_COMM1_CH1Use.Checked; bCOMM_CH1Use[2] = cb_COMM2_CH1Use.Checked; bCOMM_CH1Use[3] = cb_COMM3_CH1Use.Checked; bCOMM_CH1Use[4] = cb_COMM4_CH1Use.Checked; bCOMM_CH1Use[5] = cb_COMM5_CH1Use.Checked; bCOMM_CH1Use[6] = cb_COMM6_CH1Use.Checked; bCOMM_CH1Use[7] = cb_COMM7_CH1Use.Checked; bCOMM_CH1Use[8] = cb_COMM8_CH1Use.Checked; bCOMM_CH1Use[9] = cb_COMM9_CH1Use.Checked; bCOMM_CH1Use[10] = cb_COMM10_CH1Use.Checked; bCOMM_CH1Use[11] = cb_COMM11_CH1Use.Checked; bCOMM_CH1Use[12] = cb_COMM12_CH1Use.Checked; bCOMM_CH1Use[13] = cb_COMM13_CH1Use.Checked; bCOMM_CH1Use[14] = cb_COMM14_CH1Use.Checked; bCOMM_CH1Use[15] = cb_COMM15_CH1Use.Checked; bCOMM_CH2Use[1] = cb_COMM1_CH2Use.Checked; bCOMM_CH2Use[2] = cb_COMM2_CH2Use.Checked; bCOMM_CH2Use[3] = cb_COMM3_CH2Use.Checked; bCOMM_CH2Use[4] = cb_COMM4_CH2Use.Checked; bCOMM_CH2Use[5] = cb_COMM5_CH2Use.Checked; bCOMM_CH2Use[6] = cb_COMM6_CH2Use.Checked; bCOMM_CH2Use[7] = cb_COMM7_CH2Use.Checked; bCOMM_CH2Use[8] = cb_COMM8_CH2Use.Checked; bCOMM_CH2Use[9] = cb_COMM9_CH2Use.Checked; bCOMM_CH2Use[10] = cb_COMM10_CH2Use.Checked; bCOMM_CH2Use[11] = cb_COMM11_CH2Use.Checked; bCOMM_CH2Use[12] = cb_COMM12_CH2Use.Checked; bCOMM_CH2Use[13] = cb_COMM13_CH2Use.Checked; bCOMM_CH2Use[14] = cb_COMM14_CH2Use.Checked; bCOMM_CH2Use[15] = cb_COMM15_CH2Use.Checked; foreach (string COM_BOARD_ID in ((_RECEIVER)_Data.HASH_RECEIVER[RECEIVER.ID]).List_COM_BOARD_ID) { int iID; iID = ((_COM_BOARD)((_RECEIVER)_Data.HASH_RECEIVER[RECEIVER.ID]).Hash_COM_BOARD[COM_BOARD_ID]).BOARD_ID; // BOARDID if ((iID > 0) && (iID < 16)) { //((_COM_BOARD)((_RECEIVER)_Data.HASH_RECEIVER[RECEIVER.ID]).Hash_COM_BOARD[COM_BOARD_ID]).BOARD_NAME, // BOARDID ((_COM_BOARD)((_RECEIVER)_Data.HASH_RECEIVER[RECEIVER.ID]).Hash_COM_BOARD[COM_BOARD_ID]).bCh1_Use_Flag = bCOMM_CH1Use[iID]; // LOOP0 Use Flag ((_COM_BOARD)((_RECEIVER)_Data.HASH_RECEIVER[RECEIVER.ID]).Hash_COM_BOARD[COM_BOARD_ID]).bCh2_Use_Flag = bCOMM_CH2Use[iID]; // LOOP1 Use Flag ((_COM_BOARD)((_RECEIVER)_Data.HASH_RECEIVER[RECEIVER.ID]).Hash_COM_BOARD[COM_BOARD_ID]).bUse_Flag = bCOMM_Use[iID]; ; // Use Flag } } bIO_Use[1] = cb_IO1_Use.Checked; bIO_Use[2] = cb_IO2_Use.Checked; bIO_Use[3] = cb_IO3_Use.Checked; bIO_Use[4] = cb_IO4_Use.Checked; bIO_Use[5] = cb_IO5_Use.Checked; bIO_Use[6] = cb_IO6_Use.Checked; bIO_Use[7] = cb_IO7_Use.Checked; bIO_Use[8] = cb_IO8_Use.Checked; bIO_Use[9] = cb_IO9_Use.Checked; bIO_Use[10] = cb_IO10_Use.Checked; bIO_Use[11] = cb_IO11_Use.Checked; bIO_Use[12] = cb_IO12_Use.Checked; bIO_Use[13] = cb_IO13_Use.Checked; bIO_Use[14] = cb_IO14_Use.Checked; bIO_Use[15] = cb_IO15_Use.Checked; foreach (string IO_BOARD_ID in ((_RECEIVER)_Data.HASH_RECEIVER[RECEIVER.ID]).List_IO_BOARD_ID) { int iID; iID = ((_IO_BOARD)((_RECEIVER)_Data.HASH_RECEIVER[RECEIVER.ID]).Hash_IO_BOARD[IO_BOARD_ID]).BOARD_ID; // BOARDID if ((iID > 0) && (iID < 16)) { // ((_COM_BOARD)((_RECEIVER)_Data.HASH_RECEIVER[RECEIVER.ID]).Hash_COM_BOARD[COM_BOARD_ID]).BOARD_NAME; // BOARDID ((_IO_BOARD)((_RECEIVER)_Data.HASH_RECEIVER[RECEIVER.ID]).Hash_IO_BOARD[IO_BOARD_ID]).bUse_Flag = bIO_Use[iID]; // Use Flag } } // cyim 2014.5.22 입출력수정을 해도 변동이 없는 상황 수정 // COM 이 활성화되면 보드에서 당연히 사용한다 ((_RECEIVER)_Data.HASH_RECEIVER[RECEIVER.ID]).KEYPAD.bUse_Flag = cb_KEYPAD_USE.Checked; ((_RECEIVER)_Data.HASH_RECEIVER[RECEIVER.ID]).EMERGENCY_BROADCAST.Set_Use_Flag((cb_EMER_USE.Checked == true) ? "Y" : "N"); } // 취소 버튼을 누르면, 그냥 화면을 닫는다. private void UiButton_cancel_Click(object sender, EventArgs e) { Close(); } private void checkBox_All_1_CheckedChanged(object sender, EventArgs e) { bool check = this.checkBox_All_1.Checked; for (int i = 1; i <= 14; i++) // cyim 2017.02.02 : IFC3300 에서는 통신보드, IO 보드 아이디가 0번이 존재한다 { // 사용 여부 Control[] ctrl1 = this.Controls.Find(string.Format("cb_IO{0}_Use", i), true); ((CheckBox)ctrl1[0]).Checked = check; } } private void checkBox1_CheckedChanged(object sender, EventArgs e) { bool check = this.checkBox1.Checked; for (int i = 1; i <= 14; i++) { // 사용 여부 Control[] ctrl1 = this.Controls.Find(string.Format("cb_COMM{0}_Use", i), true); ((CheckBox)ctrl1[0]).Checked = check; // 채널 체크여부 Control[] ctrl2 = this.Controls.Find(string.Format("cb_COMM{0}_CH1Use", i), true); ((CheckBox)ctrl2[0]).Checked = check; Control[] ctrl3 = this.Controls.Find(string.Format("cb_COMM{0}_CH2Use", i), true); ((CheckBox)ctrl3[0]).Checked = check; } } } }