천호석
2023-05-15 0de38c0ebeb49d545ae1d2267f2b932392bd583c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
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();
        }
    }
}