using System; using System.Linq; using System.Collections.Generic; using System.ComponentModel; using System.Drawing; using System.Data; using System.Text; using System.Windows.Forms; using ITC81DB_0H.Forms; using ITC81DB_0H.Controls; using ITC81DB_0H.DialogForms; using ITC81DB_0H_ImageDll; namespace ITC81DB_0H.Controls { public partial class ControlCenterEquipUser : UserControl { #region Field private FormMenu m_ParentForm; private ControlUserGroupEditor UserControlUserGroupEditor; private object LockObject = new object(); private UserItem m_SelectedUser; #endregion #region Constructor public ControlCenterEquipUser(FormMenu parent) { InitializeComponent(); this.ParentForm = parent; this.InitializeDesign(); this.DefaultSetting(); } #endregion #region Property public FormMenu ParentForm { get { return this.m_ParentForm; } private set { this.m_ParentForm = value; } } public UserItem SelectedUser { get { return this.m_SelectedUser; } private set { this.m_SelectedUser = value; } } #endregion #region Method public void InitializeDesign() { Class1 images = new Class1(); if (this.ParentForm.ParentForm.SystemConfig1.Language == DataStore.LanguageID.English) { this.smartGroupBox1.Image = new Bitmap(images.GetImage(Class1.ButtonImages.korBackgroundUser)); this.labelTitleID.Text = "ID"; this.labelTitlePassword.Text = "Password"; } else if (this.ParentForm.ParentForm.SystemConfig1.Language == DataStore.LanguageID.Chinese) { this.smartGroupBox1.Image = new Bitmap(images.GetImage(Class1.ButtonImages.chnBackgroundUser)); this.labelTitleID.Text = "用户名"; this.labelTitlePassword.Text = "密码"; } else if (this.ParentForm.ParentForm.SystemConfig1.Language == DataStore.LanguageID.Czech) { } else if (this.ParentForm.ParentForm.SystemConfig1.Language == DataStore.LanguageID.Russian) { this.smartGroupBox1.Image = new Bitmap(images.GetImage(Class1.ButtonImages.rusBackgroundUser)); this.labelTitleID.Text = "ID"; this.labelTitlePassword.Text = "Пароль"; } else if (this.ParentForm.ParentForm.SystemConfig1.Language == DataStore.LanguageID.German) { this.smartGroupBox1.Image = new Bitmap(images.GetImage(Class1.ButtonImages.gerBackgroundUser)); this.labelTitleID.Text = "ID"; this.labelTitlePassword.Text = "Passwort"; } else { this.smartGroupBox1.Image = new Bitmap(images.GetImage(Class1.ButtonImages.korBackgroundUser)); this.labelTitleID.Text = "ID"; this.labelTitlePassword.Text = "Password"; } } private void DefaultSetting() { //this.comboBoxGroup.SelectedIndexChanged -= new EventHandler(this.comboBoxGroup_SelectedIndexChanged); //this.comboBoxGroup.Items.Add("None"); //this.comboBoxGroup.Items.Add("Level1"); //this.comboBoxGroup.Items.Add("Level2"); //this.comboBoxGroup.Items.Add("Level3"); //this.comboBoxGroup.SelectedIndexChanged += new EventHandler(this.comboBoxGroup_SelectedIndexChanged); this.UserControlUserGroupEditor = new ControlUserGroupEditor(this.ParentForm); this.Controls.Add(this.UserControlUserGroupEditor); this.UserControlUserGroupEditor.Location = new Point(0, 0); this.UserControlUserGroupEditor.BringToFront(); this.UserControlUserGroupEditor.Visible = false; this.smartKeyboard.KeyboardType = SmartX.SmartKeyboard.KEYBOARDTYPES.NORMAL; this.smartKeyboard.Show(); this.SelectedUser = new UserItem(); } private void UpdateUserListDisplay(User user) { this.listBoxLevel1.Items.Clear(); this.listBoxLevel1.Items.Add(user.Level1Users[0].ID); this.listBoxLevel1.Items.Add(user.Level1Users[1].ID); this.listBoxLevel1.Items.Add(user.Level1Users[2].ID); this.listBoxLevel1.Items.Add(user.Level1Users[3].ID); this.listBoxLevel1.Items.Add(user.Level1Users[4].ID); this.listBoxLevel2.Items.Clear(); this.listBoxLevel2.Items.Add(user.Level2Users[0].ID); this.listBoxLevel2.Items.Add(user.Level2Users[1].ID); this.listBoxLevel2.Items.Add(user.Level2Users[2].ID); this.listBoxLevel2.Items.Add(user.Level2Users[3].ID); this.listBoxLevel2.Items.Add(user.Level2Users[4].ID); this.listBoxLevel3.Items.Clear(); this.listBoxLevel3.Items.Add(user.Level3Users[0].ID); this.listBoxLevel3.Items.Add(user.Level3Users[1].ID); this.listBoxLevel3.Items.Add(user.Level3Users[2].ID); this.listBoxLevel3.Items.Add(user.Level3Users[3].ID); this.listBoxLevel3.Items.Add(user.Level3Users[4].ID); //this.listBoxLevel3.Items.Clear(); //this.listBoxLevel3.Items.Add(user.Level3Users[0].ID); //this.listBoxLevel3.Items.Add(user.Level3Users[1].ID); //this.listBoxLevel3.Items.Add(user.Level3Users[2].ID); //this.listBoxLevel3.Items.Add(user.Level3Users[3].ID); //this.listBoxLevel3.Items.Add(user.Level3Users[4].ID); } private void UpdateSelectUserDisplay(UserItem item) { this.textBoxID.Text = item.ID; this.textBoxPassword.Text = item.Password; this.SelectedUser.ID = item.ID; this.SelectedUser.Password = item.Password; this.SelectedUser.Group = item.Group; } public void DisplayRefresh(SystemStatus status) { this.ParentForm.ParentForm.CurrentSystemStatus.CurrentDisplay = DataStore.DisplayStore.EquipUser; this.ParentForm.ParentForm.SetDisplayMode(DataStore.DisplayMode.Menu); this.ParentForm.DisplayTitleRoot(this.ParentForm.ParentForm.CurrentSystemStatus); this.UpdateUserListDisplay(this.ParentForm.ParentForm.CurrentUser); this.listBoxLevel1.SelectItemIndex = -1; this.listBoxLevel2.SelectItemIndex = -1; this.listBoxLevel3.SelectItemIndex = -1; this.textBoxID.Text = this.textBoxPassword.Text = ""; } #endregion #region Event Handler private void listBoxLevel1_SelectedIndexChanged(object sender, EventArgs e) { if (this.listBoxLevel1.SelectItemIndex != -1) { lock (this.LockObject) { this.UpdateSelectUserDisplay(this.ParentForm.ParentForm.CurrentUser.Level1Users[this.listBoxLevel1.SelectItemIndex]); this.listBoxLevel2.SelectedIndexChanged -= new EventHandler(this.listBoxLevel2_SelectedIndexChanged); this.listBoxLevel3.SelectedIndexChanged -= new EventHandler(this.listBoxLevel3_SelectedIndexChanged); //this.listBoxLevel3.SelectedIndexChanged -= new EventHandler(this.listBoxLevel3_SelectedIndexChanged); this.listBoxLevel2.SelectItemIndex = -1; this.listBoxLevel3.SelectItemIndex = -1; //this.listBoxLevel3.SelectItemIndex = -1; this.listBoxLevel2.SelectedIndexChanged += new EventHandler(this.listBoxLevel2_SelectedIndexChanged); this.listBoxLevel3.SelectedIndexChanged += new EventHandler(this.listBoxLevel3_SelectedIndexChanged); //this.listBoxLevel3.SelectedIndexChanged += new EventHandler(this.listBoxLevel3_SelectedIndexChanged); this.buttonDelete.Enabled = true; } } } private void listBoxLevel2_SelectedIndexChanged(object sender, EventArgs e) { if (this.listBoxLevel2.SelectItemIndex != -1) { lock (this.LockObject) { this.UpdateSelectUserDisplay(this.ParentForm.ParentForm.CurrentUser.Level2Users[this.listBoxLevel2.SelectItemIndex]); this.listBoxLevel1.SelectedIndexChanged -= new EventHandler(this.listBoxLevel1_SelectedIndexChanged); this.listBoxLevel3.SelectedIndexChanged -= new EventHandler(this.listBoxLevel3_SelectedIndexChanged); //this.listBoxLevel3.SelectedIndexChanged -= new EventHandler(this.listBoxLevel3_SelectedIndexChanged); this.listBoxLevel1.SelectItemIndex = -1; this.listBoxLevel3.SelectItemIndex = -1; //this.listBoxLevel3.SelectItemIndex = -1; this.listBoxLevel1.SelectedIndexChanged += new EventHandler(this.listBoxLevel1_SelectedIndexChanged); this.listBoxLevel3.SelectedIndexChanged += new EventHandler(this.listBoxLevel3_SelectedIndexChanged); //this.listBoxLevel3.SelectedIndexChanged += new EventHandler(this.listBoxLevel3_SelectedIndexChanged); this.buttonDelete.Enabled = true; } } } private void listBoxLevel3_SelectedIndexChanged(object sender, EventArgs e) { bool value = false; if (this.listBoxLevel3.SelectItemIndex != -1) { this.UpdateSelectUserDisplay(this.ParentForm.ParentForm.CurrentUser.Level3Users[this.listBoxLevel3.SelectItemIndex]); this.listBoxLevel1.SelectedIndexChanged -= new EventHandler(this.listBoxLevel1_SelectedIndexChanged); this.listBoxLevel2.SelectedIndexChanged -= new EventHandler(this.listBoxLevel2_SelectedIndexChanged); this.listBoxLevel1.SelectItemIndex = -1; this.listBoxLevel2.SelectItemIndex = -1; this.listBoxLevel1.SelectedIndexChanged += new EventHandler(this.listBoxLevel1_SelectedIndexChanged); this.listBoxLevel2.SelectedIndexChanged += new EventHandler(this.listBoxLevel2_SelectedIndexChanged); if (this.ParentForm.ParentForm.CurrentSystemStatus.CurrentUser.ID == this.ParentForm.ParentForm.CurrentUser.Level3Users[this.listBoxLevel3.SelectItemIndex].ID) this.buttonDelete.Enabled = false; else this.buttonDelete.Enabled = true; } } private void textBoxID_GotFocus(object sender, EventArgs e) { this.smartKeyboard.TargetInputObject = this.textBoxID; this.textBoxID.Select(this.textBoxID.Text.Length, 0); } private void textBoxPassword_GotFocus(object sender, EventArgs e) { this.smartKeyboard.TargetInputObject = this.textBoxPassword; this.textBoxPassword.Select(this.textBoxPassword.Text.Length, 0); } private void smartKeyboard_OnXKeyClick(object sender, EventArgs e) { this.smartKeyboard.Show(); } private void buttonSave_Click(object sender, EventArgs e) { bool value = false; DialogFormYesNo myDlg = new DialogFormYesNo(this.ParentForm.ParentForm.SystemConfig1.Language, 13); if (myDlg.ShowDialog() == DialogResult.Yes) { // ID 검사 if (this.textBoxID.Text == "-") { DialogFormMessage myMsg = new DialogFormMessage(32, this.ParentForm.ParentForm.SystemConfig1.Language); myMsg.ShowDialog(); return; } // 패스워드만 변경 할 경우 if (this.SelectedUser.ID != this.textBoxID.Text) { // ID 중복 검사 if ((value = this.ParentForm.ParentForm.CurrentUser.SearchID(this.textBoxID.Text)) == true) { DialogFormMessage myMsg = new DialogFormMessage(34, this.ParentForm.ParentForm.SystemConfig1.Language); myMsg.ShowDialog(); return; } // ID Space 및 자리수 검사 if (this.textBoxID.Text.Trim().Length == 0) { DialogFormMessage myMsg = new DialogFormMessage(32, this.ParentForm.ParentForm.SystemConfig1.Language); myMsg.ShowDialog(); return; } } else { } // Password 자리수 검사 (4~10자) if (this.textBoxPassword.Text.Length < 4 || this.textBoxPassword.Text.Length > 10) { DialogFormMessage myMsg = new DialogFormMessage(35, this.ParentForm.ParentForm.SystemConfig1.Language); myMsg.ShowDialog(); return; } if (this.listBoxLevel1.SelectItemIndex != -1) { this.ParentForm.ParentForm.CurrentUser.Level1Users[this.listBoxLevel1.SelectItemIndex].ID = this.textBoxID.Text; this.ParentForm.ParentForm.CurrentUser.Level1Users[this.listBoxLevel1.SelectItemIndex].Password = this.textBoxPassword.Text; this.ParentForm.ParentForm.CurrentUser.Level1Users[this.listBoxLevel1.SelectItemIndex].Group = DataStore.UserGroup.Level1Operator; this.ParentForm.ParentForm.SaveUserLevel1File(this.ParentForm.ParentForm.CurrentUser.Level1Users); this.listBoxLevel1.Items[this.listBoxLevel1.SelectItemIndex] = this.textBoxID.Text; } else if (this.listBoxLevel2.SelectItemIndex != -1) { this.ParentForm.ParentForm.CurrentUser.Level2Users[this.listBoxLevel2.SelectItemIndex].ID = this.textBoxID.Text; this.ParentForm.ParentForm.CurrentUser.Level2Users[this.listBoxLevel2.SelectItemIndex].Password = this.textBoxPassword.Text; this.ParentForm.ParentForm.CurrentUser.Level2Users[this.listBoxLevel2.SelectItemIndex].Group = DataStore.UserGroup.Level2Engineer; this.ParentForm.ParentForm.SaveUserLevel2File(this.ParentForm.ParentForm.CurrentUser.Level2Users); this.listBoxLevel2.Items[this.listBoxLevel2.SelectItemIndex] = this.textBoxID.Text; } else if (this.listBoxLevel3.SelectItemIndex != -1) { this.ParentForm.ParentForm.CurrentUser.Level3Users[this.listBoxLevel3.SelectItemIndex].ID = this.textBoxID.Text; this.ParentForm.ParentForm.CurrentUser.Level3Users[this.listBoxLevel3.SelectItemIndex].Password = this.textBoxPassword.Text; this.ParentForm.ParentForm.CurrentUser.Level3Users[this.listBoxLevel3.SelectItemIndex].Group = DataStore.UserGroup.Level3Manager; this.ParentForm.ParentForm.SaveUserLevel3File(this.ParentForm.ParentForm.CurrentUser.Level3Users); this.listBoxLevel3.Items[this.listBoxLevel3.SelectItemIndex] = this.textBoxID.Text; } this.UpdateUserListDisplay(this.ParentForm.ParentForm.CurrentUser); } } private void buttonDelete_Click(object sender, EventArgs e) { UserItem user = new UserItem(); DialogFormYesNo myDlg = new DialogFormYesNo(this.ParentForm.ParentForm.SystemConfig1.Language, 14); if (myDlg.ShowDialog() == DialogResult.Yes) { if (this.listBoxLevel1.SelectItemIndex != -1) { this.listBoxLevel1.Items[this.listBoxLevel1.SelectItemIndex] = user.ID; this.ParentForm.ParentForm.CurrentUser.Level1Users[this.listBoxLevel1.SelectItemIndex].ID = user.ID; this.ParentForm.ParentForm.CurrentUser.Level1Users[this.listBoxLevel1.SelectItemIndex].Password = user.Password; this.ParentForm.ParentForm.CurrentUser.Level1Users[this.listBoxLevel1.SelectItemIndex].Group = user.Group; this.ParentForm.ParentForm.SaveUserLevel1File(this.ParentForm.ParentForm.CurrentUser.Level1Users); this.textBoxID.Text = user.ID; this.textBoxPassword.Text = user.Password; } else if (this.listBoxLevel2.SelectItemIndex != -1) { this.listBoxLevel2.Items[this.listBoxLevel2.SelectItemIndex] = user.ID; this.ParentForm.ParentForm.CurrentUser.Level2Users[this.listBoxLevel2.SelectItemIndex].ID = user.ID; this.ParentForm.ParentForm.CurrentUser.Level2Users[this.listBoxLevel2.SelectItemIndex].Password = user.Password; this.ParentForm.ParentForm.CurrentUser.Level2Users[this.listBoxLevel2.SelectItemIndex].Group = user.Group; this.ParentForm.ParentForm.SaveUserLevel2File(this.ParentForm.ParentForm.CurrentUser.Level2Users); this.textBoxID.Text = user.ID; this.textBoxPassword.Text = user.Password; } else if (this.listBoxLevel3.SelectItemIndex != -1) { if (this.listBoxLevel3.SelectItemIndex != 0) { this.listBoxLevel3.Items[this.listBoxLevel3.SelectItemIndex] = user.ID; this.ParentForm.ParentForm.CurrentUser.Level3Users[this.listBoxLevel3.SelectItemIndex].ID = user.ID; this.ParentForm.ParentForm.CurrentUser.Level3Users[this.listBoxLevel3.SelectItemIndex].Password = user.Password; this.ParentForm.ParentForm.CurrentUser.Level3Users[this.listBoxLevel3.SelectItemIndex].Group = user.Group; this.ParentForm.ParentForm.SaveUserLevel3File(this.ParentForm.ParentForm.CurrentUser.Level3Users); this.textBoxID.Text = user.ID; this.textBoxPassword.Text = user.Password; } } this.UpdateUserListDisplay(this.ParentForm.ParentForm.CurrentUser); } } private void buttonGroupEditor_Click(object sender, EventArgs e) { this.UserControlUserGroupEditor.BringToFront(); this.UserControlUserGroupEditor.DisplayRefresh(this.ParentForm.ParentForm.CurrentSystemStatus); this.UserControlUserGroupEditor.Visible = true; } #endregion } }