using SA_LTT.UserInfo; using System; using System.Windows.Forms; namespace SA_LTT_UI.Viewer { public partial class ModifyUserViewer : Form { MainFrame _mainFrame; public User user = new User(); User modifyUser; public ModifyUserViewer(MainFrame mainFrame, User modifyUser) { InitializeComponent(); _mainFrame = mainFrame; this.modifyUser = modifyUser; Initialize(); } private void Initialize() { tb_Name.Text = modifyUser.Name; tb_OldPassword.Text = modifyUser.Password; tb_OldLevel.Text = modifyUser.Level.ToString(); // 수정하려는 User가 현재 User와 다르면 Password 변경 못하도록 설정. if (_mainFrame.equipment.User.Name != modifyUser.Name) { tb_Password.Text = modifyUser.Password; tb_Password.Enabled = false; tb_OldPassword.Enabled = false; } // 현재 User의 레벨보다 높은 Level로 설정하지 못하도록 설정. foreach (UserLevel level in Enum.GetValues(typeof(UserLevel))) { if (level > _mainFrame.equipment.User.Level) break; cbb_Level.Items.Add(level.ToString()); } cbb_Level.SelectedIndex = 0; // DIT, Operaotr의 Level은 수정하지 못하도록 설정. if (modifyUser.Name == "DIT" || modifyUser.Name == "Operator") { cbb_Level.Text = modifyUser.Level.ToString(); cbb_Level.Enabled = false; } } private void tb_OldPassword_MouseDown(object sender, MouseEventArgs e) { tb_OldPassword.PasswordChar = '\0'; } private void tb_OldPassword_MouseUp(object sender, MouseEventArgs e) { tb_OldPassword.PasswordChar = '*'; } private void tb_Password_MouseDown(object sender, MouseEventArgs e) { tb_Password.PasswordChar = '\0'; } private void tb_Password_MouseUp(object sender, MouseEventArgs e) { tb_Password.PasswordChar = '*'; } private void btn_Ok_Click(object sender, EventArgs e) { if (tb_Name.Text == string.Empty || tb_Password.Text == string.Empty || tb_Name.Text.Contains(" ") || tb_Password.Text.Contains(" ")) { MessageBox.Show("공백은 입력할 수 없습니다."); return; } //현재 유저 레벨보다 높으면 기존값 설정. if(modifyUser.Level <= _mainFrame.equipment.User.Level) { UserLevel _level; Enum.TryParse(cbb_Level.Text, out _level); user.Name = tb_Name.Text; user.Password = tb_Password.Text; user.Level = _level; if(user.Name == "DIT") { user.Level = UserLevel.Master; } this.DialogResult = DialogResult.OK; this.Close(); } else { user = modifyUser.Clone(); this.DialogResult = DialogResult.OK; this.Close(); } } private void btn_Cancel_Click(object sender, EventArgs e) { this.DialogResult = DialogResult.Cancel; this.Close(); } } }