using Navigation; using System; using System.Windows.Forms; namespace SHARP_CLAS_UI.Screen { public partial class Form_Maintenance_User_Info : Form { #region Field Form_Frame _Parent; User_Info user_info; Equipment_Info equip_info; #endregion #region Construct public Form_Maintenance_User_Info(Form_Frame _Parent) { InitializeComponent(); this._Parent = _Parent; equip_info = _Parent._equip.equipment_info.Clone(); User_Info_Refresh(); Equipment_Info_Refresh(); cb_Create_User_Level.SelectedIndex = 0; } #endregion #region Form Function private void btn_Refresh_Click(object sender, EventArgs e) { User_Info_Refresh(); } private void btn_Create_Click(object sender, EventArgs e) { User_Info info = new User_Info(); info.ID = tb_Create_User_ID.Text; info.Password = tb_Create_User_Password.Text; info.Name = tb_Create_User_Name.Text; info.Level = (En_User_Level)cb_Create_User_Level.SelectedIndex; User_Info_Manager.Instance.Create_User_Info(info); User_Info_Refresh(); } private void btn_Delete_Click(object sender, EventArgs e) { if (user_info == null) return; if (user_info.ID == "DIT" || user_info.ID == "OP") { MessageBox.Show("Can't delete user."); return; } if (user_info.ID == _Parent._equip.User.ID) { MessageBox.Show("Can't delete login user."); return; } if (User_Info_Manager.Instance.Delete_User_Info(user_info.ID)) { User_Info_Refresh(); Set_User_Info(null); MessageBox.Show("User delete."); } } private void lv_UserInfo_SelectedIndexChanged(object sender, EventArgs e) { try { ListView lv = (ListView)sender; if (lv.SelectedItems.Count == 0) return; string id = lv.SelectedItems[0].SubItems[2].Text; if (User_Info_Manager.Instance.Exist_User_Info(id)) { User_Info info = User_Info_Manager.Instance.Get_User_Info(id); Set_User_Info(info); } } catch (Exception) { } } private void btn_Equipment_Info_Reset_Click(object sender, EventArgs e) { equip_info = _Parent._equip.equipment_info.Clone(); Equipment_Info_Refresh(); } private void tb_Equipment_Info_TextChanged(object sender, EventArgs e) { TextBox tb = (TextBox)sender; Equipment_Info info = _Parent._equip.equipment_info.Clone(); switch (tb.Name) { case "tb_Program_Name": { equip_info.Program_Name = tb.Text; tb.BackColor = info.Program_Name == equip_info.Program_Name ? System.Drawing.Color.White : System.Drawing.Color.Red; break; } case "tb_Program_Version": { equip_info.Program_Version = tb.Text; tb.BackColor = info.Program_Version == equip_info.Program_Version ? System.Drawing.Color.White : System.Drawing.Color.Red; break; } case "tb_Line_Name": { equip_info.Line_Name = tb.Text; tb.BackColor = info.Line_Name == equip_info.Line_Name ? System.Drawing.Color.White : System.Drawing.Color.Red; break; } case "tb_Device_Id": { equip_info.Device_ID = tb.Text; tb.BackColor = info.Device_ID == equip_info.Device_ID ? System.Drawing.Color.White : System.Drawing.Color.Red; break; } case "tb_Prototype_Name": { equip_info.Prototype_Name = tb.Text; tb.BackColor = info.Prototype_Name == equip_info.Prototype_Name ? System.Drawing.Color.White : System.Drawing.Color.Red; break; } case "tb_Purpose_Code": { equip_info.Purpose_Code = tb.Text; tb.BackColor = info.Purpose_Code == equip_info.Purpose_Code ? System.Drawing.Color.White : System.Drawing.Color.Red; break; } case "tb_Mass_Product_Code": { equip_info.Mass_Production_Code = tb.Text; tb.BackColor = info.Mass_Production_Code == equip_info.Mass_Production_Code ? System.Drawing.Color.White : System.Drawing.Color.Red; break; } case "tb_Module_Model_Id": { equip_info.Module_Model_ID = tb.Text; tb.BackColor = info.Module_Model_ID == equip_info.Module_Model_ID ? System.Drawing.Color.White : System.Drawing.Color.Red; break; } case "tb_Person_in_Charge_Code": { equip_info.Person_In_Charge_Code = tb.Text; tb.BackColor = info.Person_In_Charge_Code == equip_info.Person_In_Charge_Code ? System.Drawing.Color.White : System.Drawing.Color.Red; break; } case "tb_Process_Number": { equip_info.Process_Number = tb.Text; tb.BackColor = info.Process_Number == equip_info.Process_Number ? System.Drawing.Color.White : System.Drawing.Color.Red; break; } } } private void btn_Equipment_Info_Save_Click(object sender, EventArgs e) { Equipment_Info_Manager.Instance.Save_Equipment_Info(equip_info); Equipment_Info_Refresh(); if (_Parent._equip.cim_mode == En_Cim_Mode.Online) { _Parent._equip.cim_client.Send_Equipment_Status("E1234567"); } } private void nud_Team_ValueChanged(object sender, EventArgs e) { Equipment_Info info = _Parent._equip.equipment_info.Clone(); equip_info.Team = (int)nud_Team.Value; nud_Team.BackColor = info.Team == equip_info.Team ? System.Drawing.Color.White : System.Drawing.Color.Red; } #endregion #region Function public void Set_Language() { try { if (lv_UserInfo != null && lv_UserInfo.Columns.Count == 4) { lv_UserInfo.Columns[0].Text = resLanguage.No; lv_UserInfo.Columns[1].Text = resLanguage.Level; lv_UserInfo.Columns[2].Text = resLanguage.User_ID; lv_UserInfo.Columns[3].Text = resLanguage.Name; } btn_Refresh.Text = resLanguage.Refresh; lb_User_info.Text = resLanguage.USER_INFO; lb_ID.Text = resLanguage.ID; lb_Name.Text = resLanguage.Name; lb_Level.Text = resLanguage.Level; btn_Delete.Text = resLanguage.Delete; lb_Create_User_Info.Text = resLanguage.Create_User_Info; lb_ID_1.Text = resLanguage.ID; lb_Password.Text = resLanguage.PASSWORD; lb_Name_1.Text = resLanguage.Name; lb_Level_1.Text = resLanguage.Level; btn_Create.Text = resLanguage.CREATE; lb_Equipment_Info.Text = resLanguage.Equipment_Info; lb_Program_Name.Text = resLanguage.Program_Name; lb_Program_version.Text = resLanguage.Program_Version; lb_Line_name.Text = resLanguage.Program_Name; lb_Device_ID.Text = resLanguage.Device_ID; lb_Prototype_Name.Text = resLanguage.Prototype_Name; lb_Purpose_Code.Text = resLanguage.Prupose_Code; lb_Mass_product_Code.Text = resLanguage.Mass_Product_Code; lb_Module_Model_Id.Text = resLanguage.Module_Model_ID; lb_Person_in_charge_code.Text = resLanguage.Person_in_Charge_Code; lb_Process_Number.Text = resLanguage.Process_Number; lb_Team.Text = resLanguage.Team; btn_Equipment_Info_Reset.Text = resLanguage.RESET; btn_Equipment_Info_Save.Text = resLanguage.Save; } catch(Exception ex) { } } private void User_Info_Refresh() { lv_UserInfo.Items.Clear(); User_Info_Manager.Instance.Refresh_User_Info(); User_Info[] infos = User_Info_Manager.Instance.Get_User_Infos(); int i = 1; foreach (User_Info info in infos) { ListViewItem lvi = new ListViewItem($"{i}"); lvi.SubItems.Add(info.Level.ToString()); lvi.SubItems.Add(info.ID); lvi.SubItems.Add(info.Name); lv_UserInfo.Items.Add(lvi); i++; } } private void Set_User_Info(User_Info info) { if (info != null) { user_info = info.Clone(); tb_User_ID.Text = user_info.ID; tb_User_Name.Text = user_info.Name; tb_User_Level.Text = user_info.Level.ToString(); } else { user_info = null; tb_User_ID.Text = ""; tb_User_Name.Text = ""; tb_User_Level.Text = ""; } } private void Equipment_Info_Refresh() { tb_Program_Name.Text = equip_info.Program_Name; tb_Program_Version.Text = equip_info.Program_Version; tb_Line_Name.Text = equip_info.Line_Name; tb_Device_Id.Text = equip_info.Device_ID; tb_Prototype_Name.Text = equip_info.Prototype_Name; tb_Purpose_Code.Text = equip_info.Purpose_Code; tb_Mass_Product_Code.Text = equip_info.Mass_Production_Code; tb_Module_Model_Id.Text = equip_info.Module_Model_ID; tb_Person_in_Charge_Code.Text = equip_info.Person_In_Charge_Code; tb_Process_Number.Text = equip_info.Process_Number; nud_Team.Value = equip_info.Team; tb_Program_Name.BackColor = System.Drawing.Color.White; tb_Program_Version.BackColor = System.Drawing.Color.White; tb_Line_Name.BackColor = System.Drawing.Color.White; tb_Device_Id.BackColor = System.Drawing.Color.White; tb_Prototype_Name.BackColor = System.Drawing.Color.White; tb_Purpose_Code.BackColor = System.Drawing.Color.White; tb_Mass_Product_Code.BackColor = System.Drawing.Color.White; tb_Module_Model_Id.BackColor = System.Drawing.Color.White; tb_Person_in_Charge_Code.BackColor = System.Drawing.Color.White; tb_Process_Number.BackColor = System.Drawing.Color.White; nud_Team.BackColor = System.Drawing.Color.White; } public void Set_User_Level(Navigator.User_Level level) { if (_Parent._equip.User.Level <= En_User_Level.Engineer) { pnl_User_Info.Enabled = false; } else { pnl_User_Info.Enabled = true; } } public void SetUIData(int count) { lb_CleaningCount.Text = $"{count}"; } private void btn_TrayCleaningCountReset_Click(object sender, EventArgs e) { _Parent._equip.panel_count_info.CleaningCount = 0; Panel_Count_Info_Manager.Instance.Save_Panel_Count_Info(_Parent._equip.panel_count_info); } #endregion } }