using System;
|
using System.Windows.Forms;
|
using SA_LTT.UserInfo;
|
using SA_LTT_UI.Viewer;
|
using SA_LTT;
|
|
namespace SA_LTT_UI.Screen
|
{
|
public partial class ScreenSetting : UserControl
|
{
|
MainFrame _mainFrame;
|
|
public ScreenSetting(MainFrame mainFrame)
|
{
|
InitializeComponent();
|
_mainFrame = mainFrame;
|
|
_mainFrame.equipment.userManager.Changed += UserManager_Changed;
|
RefreshUserList();
|
}
|
|
private void UserManager_Changed()
|
{
|
RefreshUserList();
|
}
|
|
private void RefreshUserList()
|
{
|
_mainFrame.equipment.userManager.RefreshUsers();
|
|
lv_UserList.Items.Clear();
|
|
int i = 1;
|
foreach (User user in _mainFrame.equipment.userManager.GetUserList())
|
{
|
ListViewItem listViewItem = new ListViewItem($"{i}");
|
listViewItem.SubItems.Add(user.Name);
|
listViewItem.SubItems.Add(user.Level.ToString());
|
|
lv_UserList.Items.Add(listViewItem);
|
i++;
|
}
|
}
|
|
private void ModifyUser()
|
{
|
if (lv_UserList.SelectedItems.Count != 0)
|
{
|
string userName = lv_UserList.SelectedItems[0].SubItems[1].Text;
|
|
User user = _mainFrame.equipment.userManager.GetUser(userName);
|
|
if (user != null)
|
{
|
if (user.Level > _mainFrame.equipment.User.Level)
|
{
|
if (_mainFrame.equipment.User.Name != user.Name)
|
{
|
MessageBox.Show("현재 유저의 레벨보다 선택한 유저의 레벨이 높으면 수정할 수 없습니다.");
|
return;
|
}
|
}
|
|
ModifyUserViewer modifyUserViewer = new ModifyUserViewer(_mainFrame, user);
|
|
if (modifyUserViewer.ShowDialog() == DialogResult.OK)
|
{
|
_mainFrame.equipment.userManager.SaveOrCreate(modifyUserViewer.user);
|
|
if (_mainFrame.equipment.User.Name == userName)
|
{
|
EquipmentLogManager.Instance.WriteButtonLog($"ScreenSetting : Modify User {userName}");
|
_mainFrame.equipment.ChangeUser(userName);
|
}
|
}
|
}
|
}
|
}
|
|
private void DeleteUser()
|
{
|
if (lv_UserList.SelectedItems.Count != 0)
|
{
|
string userName = lv_UserList.SelectedItems[0].SubItems[1].Text;
|
|
User user = _mainFrame.equipment.userManager.GetUser(userName);
|
|
if (user != null)
|
{
|
if (user.Level > _mainFrame.equipment.User.Level)
|
{
|
MessageBox.Show("현재 유저의 레벨보다 선택한 유저의 레벨이 높으면 삭제 할 수 없습니다.");
|
return;
|
}
|
|
if (userName == "DIT" || userName == "Operator")
|
{
|
MessageBox.Show("DIT, Operaotr 는 삭제할 수 없습니다.");
|
return;
|
}
|
|
if(user.Equals(_mainFrame.equipment.User))
|
{
|
MessageBox.Show("현재 로그인 되어 있는 계정입니다.");
|
return;
|
}
|
|
EquipmentLogManager.Instance.WriteButtonLog($"ScreenSetting : Delete User {userName}");
|
_mainFrame.equipment.userManager.Delete(userName);
|
}
|
}
|
}
|
|
private void lb_UserList_Click(object sender, EventArgs e)
|
{
|
//RefreshUserList();
|
}
|
|
private void btn_Create_Click(object sender, EventArgs e)
|
{
|
CreateUserViewer createUserViewer = new CreateUserViewer(_mainFrame);
|
|
if (createUserViewer.ShowDialog() == DialogResult.OK)
|
{
|
EquipmentLogManager.Instance.WriteButtonLog($"ScreenSetting : Create User {createUserViewer.user}");
|
_mainFrame.equipment.userManager.SaveOrCreate(createUserViewer.user);
|
}
|
}
|
|
private void btn_Delete_Click(object sender, EventArgs e)
|
{
|
DeleteUser();
|
}
|
|
private void btn_Modify_Click(object sender, EventArgs e)
|
{
|
ModifyUser();
|
}
|
|
private void lv_UserList_DoubleClick(object sender, EventArgs e)
|
{
|
ModifyUser();
|
}
|
}
|
}
|