INT-LKD/INT_LKD/Controls/User/ControlMenuUserUserEditor.cs

1691 lines
75 KiB
C#

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 System.Threading;
using INT_LKD.Forms;
using INT_LKD.DialogForms;
using INT_LKD.Part11_UserManager;
using INT_LKD.DataStore;
namespace INT_LKD.Controls
{
public partial class ControlMenuUserUserEditor : UserControl
{
#region Field
private FormMenu m_ParentForm;
private UserItem SelectedUserItem;
private bool IsNew;
private bool PasswordChar;
private string BeforeID;
private string BeforePassword;
#endregion
#region Constructor
public ControlMenuUserUserEditor(FormMenu parent)
{
InitializeComponent();
this.ParentForm = parent;
this.Initialize();
this.DefaultSetting();
this.InitializeDesign();
}
#endregion
#region Property
public FormMenu ParentForm
{
get { return this.m_ParentForm; }
private set { this.m_ParentForm = value; }
}
#endregion
#region Method
private void Initialize()
{
}
private void DefaultSetting()
{
this.IsNew = false;
this.PasswordChar = false;
this.BeforeID = "";
this.BeforePassword = "";
this.smartKeyboard.KeyboardType = SmartX.SmartKeyboard.KEYBOARDTYPES.NORMAL;
this.smartKeyboard.Show();
}
public void InitializeDesign()
{
switch (this.ParentForm.ParentForm.SystemConfig.LANGUAGE)
{
case Define.E_LanguageID.Chinese:
this.smartGroupBox1.Text = "用户设置 > 用户设置";
this.labelTitleID.Text = "用户名";
this.labelTitlePassword.Text = "密码";
this.labelTitleExpiryDateOfAccount.Text = "到期日(用户名)";
this.labelTitleExpiryDateOfPassword.Text = "到期日(密码)";
this.labelTitleAccessRight.Text = "访问权";
this.buttonIDEdit.ButtonText = "编辑";
this.buttonPasswordReset.ButtonText = "重置";
this.labelTitleMain.Text = "主屏幕";
this.labelTitleMenu.Text = "菜单";
this.labelTitleContents.Text = "<适用于所有用户的项目>";
this.labelTitleAutomaticLogoutTime.Text = "自动注销";
this.labelTitleNumberOfLoginFailures.Text = "失败次数";
this.buttonRegister.ButtonText = "新的";
this.buttonDelete.ButtonText = "消除";
this.buttonSave.ButtonText = "节省";
this.buttonLevel1.ButtonText = "级别 1";
this.buttonLevel2.ButtonText = "级别 2";
this.buttonLevel3.ButtonText = "级别 3";
this.labelTitleAccountInfo.Text = "天(最大:180)";
this.labelTitlePassInfo.Text = "天(最大:90)";
this.labelTitleAutoInfo.Text = "分钟(最大:90)";
this.checkBoxMainProductChange.Text = "产品变化";
this.checkBoxMainClear.Text = "消除";
this.checkBoxMainSubMenu.Text = "子菜单";
this.checkBoxMenuRecipe.Text = "配方设置";
this.checkBoxMenuUserSetting.Text = "用户编辑";
this.checkBoxMenuIOTest.Text = "I/O 测试";
this.checkBoxMenuHistoryLog.Text = "日志_历史记录";
this.checkBoxMenuInspectionLog.Text = "日志_检查";
this.checkBoxMenuAlarmLog.Text = "日志_报警";
this.checkBoxMenuInformation.Text = "信息";
this.checkBoxMenuEthernet.Text = "以太网";
break;
case Define.E_LanguageID.English:
this.smartGroupBox1.Text = "User > UserEditor";
this.labelTitleID.Text = "ID";
this.labelTitlePassword.Text = "Password";
this.labelTitleExpiryDateOfAccount.Text = "Expiry date(Account)";
this.labelTitleExpiryDateOfPassword.Text = "Expiry date(Password)";
this.labelTitleAccessRight.Text = "Access right";
this.buttonIDEdit.ButtonText = "Edit";
this.buttonPasswordReset.ButtonText = "Reset";
this.labelTitleMain.Text = "Main";
this.labelTitleMenu.Text = "Menu";
this.labelTitleContents.Text = "<Items applicable to all users>";
this.labelTitleAutomaticLogoutTime.Text = "Auto logout time";
this.labelTitleNumberOfLoginFailures.Text = "Number of Failure";
this.buttonRegister.ButtonText = "New";
this.buttonDelete.ButtonText = "Delete";
this.buttonSave.ButtonText = "Save";
this.buttonLevel1.ButtonText = "Level 1";
this.buttonLevel2.ButtonText = "Level 2";
this.buttonLevel3.ButtonText = "Level 3";
this.labelTitleAccountInfo.Text = "day(Max:180)";
this.labelTitlePassInfo.Text = "day(Max:90)";
this.labelTitleAutoInfo.Text = "min(Max:90)";
this.checkBoxMainProductChange.Text = "Product change";
this.checkBoxMainClear.Text = "Clear data";
this.checkBoxMainSubMenu.Text = "Submenu";
this.checkBoxMenuRecipe.Text = "Recipe setting";
this.checkBoxMenuUserSetting.Text = "User editing";
this.checkBoxMenuIOTest.Text = "I/O Test";
this.checkBoxMenuHistoryLog.Text = "Log_History";
this.checkBoxMenuInspectionLog.Text = "Log_Inspection";
this.checkBoxMenuAlarmLog.Text = "Log_Alarm";
this.checkBoxMenuInformation.Text = "Information";
this.checkBoxMenuEthernet.Text = "Ethernet";
break;
case Define.E_LanguageID.Korean:
this.smartGroupBox1.Text = "User > UserEditor";
this.labelTitleID.Text = "ID";
this.labelTitlePassword.Text = "비밀번호";
this.labelTitleExpiryDateOfAccount.Text = "만료일(ID)";
this.labelTitleExpiryDateOfPassword.Text = "만료일(비밀번호)";
this.labelTitleAccessRight.Text = "권한";
this.buttonIDEdit.ButtonText = "Edit";
this.buttonPasswordReset.ButtonText = "Reset";
this.labelTitleMain.Text = "Main";
this.labelTitleMenu.Text = "Menu";
this.labelTitleContents.Text = "<전체 사용자 공통 적용 항목>";
this.labelTitleAutomaticLogoutTime.Text = "자동 로그아웃 시간";
this.labelTitleNumberOfLoginFailures.Text = "로그인 실패 횟수";
this.buttonRegister.ButtonText = "신규";
this.buttonDelete.ButtonText = "삭제";
this.buttonSave.ButtonText = "저장";
this.buttonLevel1.ButtonText = "Level 1";
this.buttonLevel2.ButtonText = "Level 2";
this.buttonLevel3.ButtonText = "Level 3";
this.labelTitleAccountInfo.Text = "day(Max:180)";
this.labelTitlePassInfo.Text = "day(Max:90)";
this.labelTitleAutoInfo.Text = "min(Max:90)";
this.checkBoxMainProductChange.Text = "Product change";
this.checkBoxMainClear.Text = "Clear data";
this.checkBoxMainSubMenu.Text = "Submenu";
this.checkBoxMenuRecipe.Text = "Recipe setting";
this.checkBoxMenuUserSetting.Text = "User editing";
this.checkBoxMenuIOTest.Text = "I/O Test";
this.checkBoxMenuHistoryLog.Text = "Log_History";
this.checkBoxMenuInspectionLog.Text = "Log_Inspection";
this.checkBoxMenuAlarmLog.Text = "Log_Alarm";
this.checkBoxMenuInformation.Text = "Information";
this.checkBoxMenuEthernet.Text = "Ethernet";
break;
default:
this.smartGroupBox1.Text = "User > UserEditor";
this.labelTitleID.Text = "ID";
this.labelTitlePassword.Text = "Password";
this.labelTitleExpiryDateOfAccount.Text = "Expiry date(Account)";
this.labelTitleExpiryDateOfPassword.Text = "Expiry date(Password)";
this.labelTitleAccessRight.Text = "Access right";
this.labelTitleMain.Text = "Main";
this.labelTitleMenu.Text = "Menu";
this.labelTitleContents.Text = "<Items applicable to all users>";
this.labelTitleAutomaticLogoutTime.Text = "Auto logout time";
this.labelTitleNumberOfLoginFailures.Text = "Number of Failure";
this.buttonRegister.ButtonText = "New";
this.buttonDelete.ButtonText = "Delete";
this.buttonSave.ButtonText = "Save";
this.buttonLevel1.ButtonText = "Level 1";
this.buttonLevel2.ButtonText = "Level 2";
this.buttonLevel3.ButtonText = "Level 3";
this.labelTitleAccountInfo.Text = "day(Max:180)";
this.labelTitlePassInfo.Text = "day(Max:90)";
this.labelTitleAutoInfo.Text = "min(Max:90)";
this.checkBoxMainProductChange.Text = "Product change";
this.checkBoxMainClear.Text = "Clear data";
this.checkBoxMainSubMenu.Text = "Submenu";
this.checkBoxMenuRecipe.Text = "Recipe setting";
this.checkBoxMenuUserSetting.Text = "User editing";
this.checkBoxMenuIOTest.Text = "I/O Test";
this.checkBoxMenuHistoryLog.Text = "Log_History";
this.checkBoxMenuInspectionLog.Text = "Log_Inspection";
this.checkBoxMenuAlarmLog.Text = "Log_Alarm";
this.checkBoxMenuInformation.Text = "Information";
this.checkBoxMenuEthernet.Text = "Ethernet";
break;
}
}
private bool UI_Invoke(ThreadStart invoker)
{
try
{
if (this.InvokeRequired)
{
if (this.IsDisposed)
return true;
this.Invoke(invoker);
}
else
{
invoker();
}
return true;
}
catch (Exception e)
{
return false;
}
}
private void KeyboardClose()
{
this.smartKeyboard.Hide();
this.SetEnableControl(true);
}
private void SetEnableID(bool value)
{
this.textBoxID.Enabled = value;
this.buttonIDEdit.Enabled = value;
if (value == true)
{
this.textBoxID.BackColor = Color.White;
this.labelIDBackGround.BackGroundColor = Color.White;
}
else
{
this.textBoxID.BackColor = Color.Silver;
this.labelIDBackGround.BackGroundColor = Color.Silver;
}
}
private void SetEnablePasswordTextBox(bool value)
{
this.textBoxPassword.Enabled = value;
if (value == true)
{
this.textBoxPassword.BackColor = Color.White;
this.labelPasswordBackGround.BackGroundColor = Color.White;
}
else
{
this.textBoxPassword.BackColor = Color.Silver;
this.labelPasswordBackGround.BackGroundColor = Color.Silver;
}
}
private void SetEnableLevelButton(bool value)
{
this.buttonLevel1.Enabled = value;
this.buttonLevel2.Enabled = value;
this.buttonLevel3.Enabled = value;
}
private void SetEnableExpireDate(bool value)
{
this.labelExpiryDateOfAccount.Enabled = value;
this.labelExpiryDateOfPassword.Enabled = value;
if (value == true)
{
this.labelExpiryDateOfAccount.BackColor = Color.White;
this.labelExpiryDateOfPassword.BackColor = Color.White;
}
else
{
this.labelExpiryDateOfAccount.BackColor = Color.Silver;
this.labelExpiryDateOfPassword.BackColor = Color.Silver;
}
}
private void SetEnableControl(bool value)
{
this.listBoxUserList.Enabled = value;
this.buttonRegister.Enabled = value;
this.buttonDelete.Enabled = value;
this.buttonSave.Enabled = value;
}
private void SetTextBoxPasswordChar(bool bValue)
{
if (bValue == false)
{
if (this.textBoxPassword.Text == this.SelectedUserItem.ResetPW)
this.textBoxPassword.PasswordChar = default(char);
else
this.textBoxPassword.PasswordChar = '*';
}
else
this.textBoxPassword.PasswordChar = default(char);
}
private void UserNew()
{
this.listBoxUserList.SelectedIndexChanged -= new EventHandler(this.listBoxUserList_SelectedIndexChanged);
this.listBoxUserList.SelectItemIndex = -1;
this.listBoxUserList.SelectedIndexChanged += new EventHandler(this.listBoxUserList_SelectedIndexChanged);
this.UpdateInitializeUserDisplay(this.ParentForm.ParentForm.SystemConfig);
this.buttonDelete.Enabled = false;
this.buttonSave.Visible = false;
this.labelExpiryDateOfAccount.Enabled = true;
this.labelExpiryDateOfPassword.Enabled = true;
}
private void SaveUserDll()
{
string detail = "";
string code = "", message1 = "", message2 = "";
bool isNewReg = false;
#region listbox 미선택 시 신규 유저 등록, 선택 시 기존 유저 정보 수정
if (this.listBoxUserList.SelectItemIndex == -1)
isNewReg = true;
else
isNewReg = false;
if (isNewReg == true)
{
switch (this.ParentForm.ParentForm.SystemConfig.LANGUAGE)
{
case Define.E_LanguageID.Korean:
code = "유저 설정";
message1 = "신규 사용자 추가 하시겠습니까?";
message2 = "";
break;
case Define.E_LanguageID.English:
code = "User Editor";
message1 = "Would you like to register as a user?";
message2 = "";
break;
case Define.E_LanguageID.Chinese:
code = "用户设置";
message1 = "是否要添加新用户?";
message2 = "";
break;
default:
break;
}
}
else
{
switch (this.ParentForm.ParentForm.SystemConfig.LANGUAGE)
{
case Define.E_LanguageID.Korean:
code = "유저 설정";
message1 = "선택된 사용자의 정보를 수정 하시겠습니까?";
message2 = "";
break;
case Define.E_LanguageID.English:
code = "User Editor";
message1 = "Are you sure you want to edit the";
message2 = "selected user's information?";
break;
case Define.E_LanguageID.Chinese:
code = "用户设置";
message1 = "是否要编辑所选用户的信息?";
message2 = "";
break;
default:
break;
}
}
#endregion
DialogFormYesNo dlg = new DialogFormYesNo(Define.E_MessageBoxIcon.Question, code, message1, message2);
if (dlg.ShowDialog() == DialogResult.Yes)
{
UserItem item = new UserItem();
DateTime time = DateTime.Now;
UserManager.MenuID_t menuId = new UserManager.MenuID_t();
#region ID, Password 검사
// Check ID
if (isNewReg == true)
{
if (this.textBoxID.Text.Length < 6)
{
// ID : 6~20자 입력하세요
DialogFormMessage msg = new DialogFormMessage(null, 3, this.ParentForm.ParentForm.SystemConfig.LANGUAGE);
msg.ShowDialog();
return;
}
}
// Check Password
if (this.textBoxPassword.Text.Length < 6)
{
// PASSWORD : 6~20자 입력하세요
DialogFormMessage msg = new DialogFormMessage(null, 9, this.ParentForm.ParentForm.SystemConfig.LANGUAGE);
msg.ShowDialog();
return;
}
if (this.labelAccessRight.Text == "")
{
DialogFormMessage msg = new DialogFormMessage(null, 16, this.ParentForm.ParentForm.SystemConfig.LANGUAGE);
msg.ShowDialog();
return;
}
if (this.labelExpiryDateOfAccount.Text == "000")
{
DialogFormMessage msg = new DialogFormMessage(null, 16, this.ParentForm.ParentForm.SystemConfig.LANGUAGE);
msg.ShowDialog();
return;
}
if (this.labelExpiryDateOfPassword.Text == "00")
{
DialogFormMessage msg = new DialogFormMessage(null, 16, this.ParentForm.ParentForm.SystemConfig.LANGUAGE);
msg.ShowDialog();
return;
}
#endregion
item.ID = this.textBoxID.Text;
item.Password = this.textBoxPassword.Text;
item.ExpireId = int.Parse(this.labelExpiryDateOfAccount.Text);
item.ExpirePassword = int.Parse(this.labelExpiryDateOfPassword.Text);
if (this.buttonLevel1.ButtonStatus == SmartX.SmartButton.BUTSTATUS.DOWN)
item.ActiveLevel = 1;
if (this.buttonLevel2.ButtonStatus == SmartX.SmartButton.BUTSTATUS.DOWN)
item.ActiveLevel = 2;
if (this.buttonLevel3.ButtonStatus == SmartX.SmartButton.BUTSTATUS.DOWN)
item.ActiveLevel = 3;
menuId.fMenu = new bool[UserManager.USER_MENU_ID_MAX];
for (int i = 0; i < UserManager.USER_MENU_ID_MAX; i++)
menuId.fMenu[i] = false;
if (isNewReg == true)
{
#region 신규 등록
UserManager.UserManager_UserNew(item.ID, item.Password, item.IsAdmin == false ? 0 : 1, item.ExpirePassword, item.ExpireId, item.ActiveLevel, menuId);
// Part 11
detail = string.Format("Add : {0}", item.ID);
this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingOperation.UserEditor, detail);
#endregion
}
else
{
#region 유저 수정
UserManager.UserManager_UserModify(item.ID, item.Password, item.IsAdmin == false ? 0 : 1, item.ExpirePassword, item.ExpireId, item.ActiveLevel, menuId);
// Part 11
detail = string.Format("Modify : {0}", item.ID);
this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingOperation.UserEditor, detail);
#endregion
}
this.buttonSave.Visible = false;
}
}
private void CheckBoxCheckedAsLevel(Define.E_UserGroup level)
{
switch (level)
{
case Define.E_UserGroup.Level1:
this.buttonLevel2.ButtonUp();
this.buttonLevel3.ButtonUp();
this.buttonLevel1.ButtonDown();
this.SetEnableLevelButton(true);
this.labelAccessRight.Text = this.ParentForm.ParentForm.SystemConfig.LEVEL1_NAME;
this.checkBoxMainProductChange.Checked = this.ParentForm.ParentForm.CurrentUserGroup.Level1.IsMainDisplayProductChange;
this.checkBoxMainClear.Checked = this.ParentForm.ParentForm.CurrentUserGroup.Level1.IsMainDisplayClear;
this.checkBoxMainSubMenu.Checked = this.ParentForm.ParentForm.CurrentUserGroup.Level1.IsMainDisplaySubMenu;
this.checkBoxMenuRecipe.Checked = this.ParentForm.ParentForm.CurrentUserGroup.Level1.IsMenuRecipe;
this.checkBoxMenuUserSetting.Checked = this.ParentForm.ParentForm.CurrentUserGroup.Level1.IsMenuUserSetting;
this.checkBoxMenuUserGroupEditor.Checked = this.ParentForm.ParentForm.CurrentUserGroup.Level1.IsMenuUserGroupEditor;
this.checkBoxMenuIOTest.Checked = this.ParentForm.ParentForm.CurrentUserGroup.Level1.IsMenuIOTest;
this.checkBoxMenuHistoryLog.Checked = this.ParentForm.ParentForm.CurrentUserGroup.Level1.IsMenuHistoryLog;
this.checkBoxMenuInspectionLog.Checked = this.ParentForm.ParentForm.CurrentUserGroup.Level1.IsMenuInspectionLog;
this.checkBoxMenuAlarmLog.Checked = this.ParentForm.ParentForm.CurrentUserGroup.Level1.IsMenuAlarmLog;
this.checkBoxMenuInformation.Checked = this.ParentForm.ParentForm.CurrentUserGroup.Level1.IsMenuInformation;
this.checkBoxMenuEquipment.Checked = this.ParentForm.ParentForm.CurrentUserGroup.Level1.IsMenuEquipment;
this.checkBoxMenuEthernet.Checked = this.ParentForm.ParentForm.CurrentUserGroup.Level1.IsMenuEthernet;
break;
case Define.E_UserGroup.Level2:
this.buttonLevel1.ButtonUp();
this.buttonLevel3.ButtonUp();
this.buttonLevel2.ButtonDown();
this.SetEnableLevelButton(true);
this.labelAccessRight.Text = this.ParentForm.ParentForm.SystemConfig.LEVEL2_NAME;
this.checkBoxMainProductChange.Checked = this.ParentForm.ParentForm.CurrentUserGroup.Level2.IsMainDisplayProductChange;
this.checkBoxMainClear.Checked = this.ParentForm.ParentForm.CurrentUserGroup.Level2.IsMainDisplayClear;
this.checkBoxMainSubMenu.Checked = this.ParentForm.ParentForm.CurrentUserGroup.Level2.IsMainDisplaySubMenu;
this.checkBoxMenuRecipe.Checked = this.ParentForm.ParentForm.CurrentUserGroup.Level2.IsMenuRecipe;
this.checkBoxMenuUserSetting.Checked = this.ParentForm.ParentForm.CurrentUserGroup.Level2.IsMenuUserSetting;
this.checkBoxMenuUserGroupEditor.Checked = this.ParentForm.ParentForm.CurrentUserGroup.Level2.IsMenuUserGroupEditor;
this.checkBoxMenuIOTest.Checked = this.ParentForm.ParentForm.CurrentUserGroup.Level2.IsMenuIOTest;
this.checkBoxMenuHistoryLog.Checked = this.ParentForm.ParentForm.CurrentUserGroup.Level2.IsMenuHistoryLog;
this.checkBoxMenuInspectionLog.Checked = this.ParentForm.ParentForm.CurrentUserGroup.Level2.IsMenuInspectionLog;
this.checkBoxMenuAlarmLog.Checked = this.ParentForm.ParentForm.CurrentUserGroup.Level2.IsMenuAlarmLog;
this.checkBoxMenuInformation.Checked = this.ParentForm.ParentForm.CurrentUserGroup.Level2.IsMenuInformation;
this.checkBoxMenuEquipment.Checked = this.ParentForm.ParentForm.CurrentUserGroup.Level2.IsMenuEquipment;
this.checkBoxMenuEthernet.Checked = this.ParentForm.ParentForm.CurrentUserGroup.Level2.IsMenuEthernet;
break;
case Define.E_UserGroup.Level3:
this.buttonLevel1.ButtonUp();
this.buttonLevel2.ButtonUp();
this.buttonLevel3.ButtonDown();
this.SetEnableLevelButton(true);
this.labelAccessRight.Text = this.ParentForm.ParentForm.SystemConfig.LEVEL3_NAME;
this.checkBoxMainProductChange.Checked = this.ParentForm.ParentForm.CurrentUserGroup.Level3.IsMainDisplayProductChange;
this.checkBoxMainClear.Checked = this.ParentForm.ParentForm.CurrentUserGroup.Level3.IsMainDisplayClear;
this.checkBoxMainSubMenu.Checked = this.ParentForm.ParentForm.CurrentUserGroup.Level3.IsMainDisplaySubMenu;
this.checkBoxMenuRecipe.Checked = this.ParentForm.ParentForm.CurrentUserGroup.Level3.IsMenuRecipe;
this.checkBoxMenuUserSetting.Checked = this.ParentForm.ParentForm.CurrentUserGroup.Level3.IsMenuUserSetting;
this.checkBoxMenuUserGroupEditor.Checked = this.ParentForm.ParentForm.CurrentUserGroup.Level3.IsMenuUserGroupEditor;
this.checkBoxMenuIOTest.Checked = this.ParentForm.ParentForm.CurrentUserGroup.Level3.IsMenuIOTest;
this.checkBoxMenuHistoryLog.Checked = this.ParentForm.ParentForm.CurrentUserGroup.Level3.IsMenuHistoryLog;
this.checkBoxMenuInspectionLog.Checked = this.ParentForm.ParentForm.CurrentUserGroup.Level3.IsMenuInspectionLog;
this.checkBoxMenuAlarmLog.Checked = this.ParentForm.ParentForm.CurrentUserGroup.Level3.IsMenuAlarmLog;
this.checkBoxMenuInformation.Checked = this.ParentForm.ParentForm.CurrentUserGroup.Level3.IsMenuInformation;
this.checkBoxMenuEquipment.Checked = this.ParentForm.ParentForm.CurrentUserGroup.Level3.IsMenuEquipment;
this.checkBoxMenuEthernet.Checked = this.ParentForm.ParentForm.CurrentUserGroup.Level3.IsMenuEthernet;
break;
case Define.E_UserGroup.Admin:
this.buttonLevel1.ButtonUp();
this.buttonLevel2.ButtonUp();
this.buttonLevel3.ButtonUp();
this.SetEnableLevelButton(false);
this.labelAccessRight.Text = "Admin";
//this.checkBoxMainProductChange.Checked = this.ParentForm.ParentForm.CurrentUserGroup.Admin.IsMainDisplayProductChange;
//this.checkBoxMainClear.Checked = this.ParentForm.ParentForm.CurrentUserGroup.Admin.IsMainDisplayClear;
//this.checkBoxMainSubMenu.Checked = this.ParentForm.ParentForm.CurrentUserGroup.Admin.IsMainDisplaySubMenu;
//this.checkBoxMenuRecipe.Checked = this.ParentForm.ParentForm.CurrentUserGroup.Admin.IsMenuRecipe;
//this.checkBoxMenuUserEditor.Checked = this.ParentForm.ParentForm.CurrentUserGroup.Admin.IsMenuUserSetting;
//this.checkBoxMenuUserGroupEditor.Checked = this.ParentForm.ParentForm.CurrentUserGroup.Admin.IsMenuUserGroupEditor;
//this.checkBoxMenuIOTest.Checked = this.ParentForm.ParentForm.CurrentUserGroup.Admin.IsMenuIOTest;
//this.checkBoxMenuHistoryLog.Checked = this.ParentForm.ParentForm.CurrentUserGroup.Admin.IsMenuHistoryLog;
//this.checkBoxMenuCheckLog.Checked = this.ParentForm.ParentForm.CurrentUserGroup.Admin.IsMenuInspectionLog;
//this.checkBoxMenuAlarmList.Checked = this.ParentForm.ParentForm.CurrentUserGroup.Admin.IsMenuAlarmLog;
//this.checkBoxMenuInformation.Checked = this.ParentForm.ParentForm.CurrentUserGroup.Admin.IsMenuInformation;
//this.checkBoxMenuEquipment.Checked = this.ParentForm.ParentForm.CurrentUserGroup.Admin.IsMenuEquipment;
//this.checkBoxMenuEthernet.Checked = this.ParentForm.ParentForm.CurrentUserGroup.Admin.IsMenuEthernet;
this.checkBoxMainProductChange.Checked = true;
this.checkBoxMainClear.Checked = true;
this.checkBoxMainSubMenu.Checked = true;
this.checkBoxMenuRecipe.Checked = true;
this.checkBoxMenuUserSetting.Checked = true;
this.checkBoxMenuUserGroupEditor.Checked = true;
this.checkBoxMenuIOTest.Checked = true;
this.checkBoxMenuHistoryLog.Checked = true;
this.checkBoxMenuInspectionLog.Checked = true;
this.checkBoxMenuAlarmLog.Checked = true;
this.checkBoxMenuInformation.Checked = true;
this.checkBoxMenuEquipment.Checked = true;
this.checkBoxMenuEthernet.Checked = true;
break;
default:
this.buttonLevel1.ButtonUp();
this.buttonLevel2.ButtonUp();
this.buttonLevel3.ButtonUp();
this.SetEnableLevelButton(true);
this.labelAccessRight.Text = "";
this.checkBoxMainProductChange.Checked = false;
this.checkBoxMainClear.Checked = false;
this.checkBoxMainSubMenu.Checked = false;
this.checkBoxMenuRecipe.Checked = false;
this.checkBoxMenuUserSetting.Checked = false;
this.checkBoxMenuUserGroupEditor.Checked = false;
this.checkBoxMenuIOTest.Checked = false;
this.checkBoxMenuHistoryLog.Checked = false;
this.checkBoxMenuInspectionLog.Checked = false;
this.checkBoxMenuAlarmLog.Checked = false;
this.checkBoxMenuInformation.Checked = false;
this.checkBoxMenuEquipment.Checked = false;
this.checkBoxMenuEthernet.Checked = false;
break;
}
}
private void UpdateInitializeUserDisplay(SystemConfiguration system)
{
this.SelectedUserItem = new UserItem();
this.textBoxID.Text = "";
this.textBoxPassword.Text = this.SelectedUserItem.ResetPW;
this.SetTextBoxPasswordChar(true);
this.labelExpiryDateOfAccount.Text = "180";
this.labelExpiryDateOfPassword.Text = "90";
this.labelExpiryDateOfAccount2.Text = "-";
this.labelExpiryDateOfPassword2.Text = "-";
this.labelExpiryDateOfAccount2.TextColor = Color.White;
this.labelExpiryDateOfPassword2.TextColor = Color.White;
this.labelAccessRight.Text = "";
this.buttonLevel1.ButtonText = system.LEVEL1_NAME;
this.buttonLevel2.ButtonText = system.LEVEL2_NAME;
this.buttonLevel3.ButtonText = system.LEVEL3_NAME;
this.checkBoxMainProductChange.Checked = false;
this.checkBoxMainClear.Checked = false;
this.checkBoxMainSubMenu.Checked = false;
this.checkBoxMenuRecipe.Checked = false;
this.checkBoxMenuUserSetting.Checked = false;
this.checkBoxMenuUserGroupEditor.Checked = false;
this.checkBoxMenuIOTest.Checked = false;
this.checkBoxMenuHistoryLog.Checked = false;
this.checkBoxMenuInspectionLog.Checked = false;
this.checkBoxMenuAlarmLog.Checked = false;
this.checkBoxMenuInformation.Checked = false;
this.checkBoxMenuEquipment.Checked = false;
this.checkBoxMenuEthernet.Checked = false;
this.buttonLevel1.ButtonUp();
this.buttonLevel2.ButtonUp();
this.buttonLevel3.ButtonUp();
this.KeyboardClose();
this.SetEnableID(true);
this.SetEnablePasswordTextBox(false);
this.SetEnableLevelButton(true);
this.buttonDelete.Visible = false;
this.buttonSave.Visible = false;
switch (this.ParentForm.ParentForm.SystemConfig.LANGUAGE)
{
case Define.E_LanguageID.Chinese:
if (this.buttonPasswordReset.ButtonText != "重置")
this.buttonPasswordReset.ButtonText = "重置";
break;
default:
if (this.buttonPasswordReset.ButtonText != "Reset")
this.buttonPasswordReset.ButtonText = "Reset";
break;
}
this.listBoxUserList.SelectedIndexChanged -= new EventHandler(this.listBoxUserList_SelectedIndexChanged);
this.listBoxUserList.SelectItemIndex = -1;
this.listBoxUserList.SelectedIndexChanged += new EventHandler(this.listBoxUserList_SelectedIndexChanged);
}
public void UpdateLevelNameDisplay(SystemConfiguration system)
{
this.buttonLevel1.ButtonText = system.LEVEL1_NAME;
this.buttonLevel2.ButtonText = system.LEVEL2_NAME;
this.buttonLevel3.ButtonText = system.LEVEL3_NAME;
}
private void UpdateCurrentUserItem(UserManager.UserMgr_user_list_t item)
{
try
{
// CurrentUserItem SET
this.SelectedUserItem.ID = item.user_id;
this.SelectedUserItem.Password = item.user_pw;
this.SelectedUserItem.ExpireId = item.id_expire_period;
this.SelectedUserItem.ExpirePassword = item.password_expire_period;
//if (this.ParentForm.ParentForm.SystemConfig.IsPart11 == true)
this.SelectedUserItem.IsAdmin = item.fadmin == 0 ? false : true;
//else
// this.SelectedUserItem.IsAdmin = true;
this.SelectedUserItem.ActiveLevel = item.active_level;
if (this.SelectedUserItem.ActiveLevel == 1)
this.SelectedUserItem.Group = Define.E_UserGroup.Level1;
else if (this.SelectedUserItem.ActiveLevel == 2)
this.SelectedUserItem.Group = Define.E_UserGroup.Level2;
else if (this.SelectedUserItem.ActiveLevel == 3)
this.SelectedUserItem.Group = Define.E_UserGroup.Level3;
else if (this.SelectedUserItem.ActiveLevel == 9)
this.SelectedUserItem.Group = Define.E_UserGroup.Admin;
else if (this.SelectedUserItem.ActiveLevel == 10)
this.SelectedUserItem.Group = Define.E_UserGroup.Developer;
else
this.SelectedUserItem.Group = Define.E_UserGroup.None;
if (this.SelectedUserItem.Group == Define.E_UserGroup.Admin
|| this.SelectedUserItem.Group == Define.E_UserGroup.Developer)
{
this.SelectedUserItem.DatePasswordRegister = DateTime.Now;
this.SelectedUserItem.DateIdLogin = DateTime.Now;
this.SelectedUserItem.DatePasswordExpire = DateTime.Now;
this.SelectedUserItem.DateIdExpire = DateTime.Now;
}
else
{
DateTime time = DateTime.ParseExact(item.password_register_date.GetDateTime(), "yyyyMMddHHmmss", null);
this.SelectedUserItem.DatePasswordRegister = time;
time = DateTime.ParseExact(item.id_login_date.GetDateTime(), "yyyyMMddHHmmss", null);
this.SelectedUserItem.DateIdLogin = time;
time = DateTime.ParseExact(item.id_expire_date.GetDateTime(), "yyyyMMddHHmmss", null);
this.SelectedUserItem.DateIdExpire = time;
time = DateTime.ParseExact(item.password_expire_date.GetDateTime(), "yyyyMMddHHmmss", null);
this.SelectedUserItem.DatePasswordExpire = time;
}
this.SelectedUserItem.IsLockAccount = item.id_flock_status == 0 ? false : true;
this.SelectedUserItem.IsLockPassword = item.flock_status_password == 0 ? false : true;
this.SelectedUserItem.IsFirstPassword = item.fFirstPW;
}
catch (Exception ex)
{
FormMain.Exception(ex);
}
}
private void UpdateCurrentUserItem(UserManager.UserMgr_user_info_t item)
{
// CurrentUserItem SET
this.SelectedUserItem.ID = item.user_id;
this.SelectedUserItem.Password = item.user_pw;
this.SelectedUserItem.ExpireId = item.id_expire_period;
this.SelectedUserItem.ExpirePassword = item.password_expire_period;
if (this.SelectedUserItem.Group == Define.E_UserGroup.Admin
|| this.SelectedUserItem.Group == Define.E_UserGroup.Developer)
{
this.SelectedUserItem.DatePasswordRegister = DateTime.Now;
this.SelectedUserItem.DateIdLogin = DateTime.Now;
this.SelectedUserItem.DatePasswordExpire = DateTime.Now;
this.SelectedUserItem.DateIdExpire = DateTime.Now;
}
else
{
DateTime time = DateTime.ParseExact(item.password_register_date.GetDateTime(), "yyyyMMddHHmmss", null);
this.SelectedUserItem.DatePasswordRegister = time;
time = DateTime.ParseExact(item.id_login_date.GetDateTime(), "yyyyMMddHHmmss", null);
this.SelectedUserItem.DateIdLogin = time;
time = DateTime.ParseExact(item.id_expire_date.GetDateTime(), "yyyyMMddHHmmss", null);
this.SelectedUserItem.DateIdExpire = time;
time = DateTime.ParseExact(item.password_expire_date.GetDateTime(), "yyyyMMddHHmmss", null);
this.SelectedUserItem.DatePasswordExpire = time;
}
this.SelectedUserItem.IsLockAccount = item.id_flock_status == 0 ? false : true;
this.SelectedUserItem.IsLockPassword = item.password_flock_status == 0 ? false : true;
//if (this.ParentForm.ParentForm.SystemConfig.IsPart11 == true)
this.SelectedUserItem.IsAdmin = item.fadmin == 0 ? false : true;
//else
// this.SelectedUserItem.IsAdmin = true;
this.SelectedUserItem.ActiveLevel = item.active_level;
if (item.active_level == 1)
this.SelectedUserItem.Group = Define.E_UserGroup.Level1;
else if (item.active_level == 2)
this.SelectedUserItem.Group = Define.E_UserGroup.Level2;
else if (item.active_level == 3)
this.SelectedUserItem.Group = Define.E_UserGroup.Level3;
else if (item.active_level == 9)
this.SelectedUserItem.Group = Define.E_UserGroup.Admin;
else if (item.active_level == 10)
this.SelectedUserItem.Group = Define.E_UserGroup.Developer;
this.SelectedUserItem.IsFirstPassword = item.fFirstPW;
}
private void UpdateSelectUserDisplay(UserItem item)
{
this.SetEnableID(false);
this.SetEnableControl(true);
this.textBoxID.Text = item.ID;
this.textBoxPassword.Text = item.Password;
if (this.listBoxUserList.SelectItemIndex == 0)
{
this.labelExpiryDateOfAccount.Text = "0";
this.labelExpiryDateOfPassword.Text = "0";
this.labelExpiryDateOfAccount2.Text = "-";
this.labelExpiryDateOfPassword2.Text = "-";
this.labelExpiryDateOfAccount2.TextColor = Color.White;
this.labelExpiryDateOfPassword2.TextColor = Color.White;
this.SetEnableLevelButton(false);
this.buttonDelete.Visible = false;
if (this.ParentForm.ParentForm.CurrentSystemStatus.CurrentUser.Group == Define.E_UserGroup.Admin
|| this.ParentForm.ParentForm.CurrentSystemStatus.CurrentUser.Group == Define.E_UserGroup.Developer)
{
this.SetEnablePasswordTextBox(true);
this.buttonPasswordReset.Enabled = true;
}
else
{
this.SetEnablePasswordTextBox(false);
this.buttonPasswordReset.Enabled = false;
}
}
else
{
#region 만료일
this.labelExpiryDateOfAccount.Text = item.ExpireId.ToString();
this.labelExpiryDateOfPassword.Text = item.ExpirePassword.ToString();
if (item.IsLockAccount == true)
{
this.labelExpiryDateOfAccount2.TextColor = Color.Red;
switch (this.ParentForm.ParentForm.SystemConfig.LANGUAGE)
{
case Define.E_LanguageID.Korean:
this.labelExpiryDateOfAccount2.Text = "계정 만료";
break;
case Define.E_LanguageID.English:
this.labelExpiryDateOfAccount2.Text = "Account expiration";
break;
case Define.E_LanguageID.Chinese:
this.labelExpiryDateOfAccount2.Text = "帐户已过期";
break;
default:
break;
}
}
else
{
this.labelExpiryDateOfAccount2.TextColor = Color.White;
this.labelExpiryDateOfAccount2.Text = string.Format("{0:yy/MM/dd} ~ {1:yy/MM/dd}", item.DateIdLogin, item.DateIdExpire);
}
if (item.IsLockPassword == true)
{
this.labelExpiryDateOfPassword2.TextColor = Color.Red;
switch (this.ParentForm.ParentForm.SystemConfig.LANGUAGE)
{
case Define.E_LanguageID.Korean:
this.labelExpiryDateOfPassword2.Text = "비밀번호 만료";
break;
case Define.E_LanguageID.English:
this.labelExpiryDateOfPassword2.Text = "Password expiration";
break;
case Define.E_LanguageID.Chinese:
this.labelExpiryDateOfPassword2.Text = "密码已过期";
break;
default:
break;
}
}
else
{
this.labelExpiryDateOfPassword2.TextColor = Color.White;
this.labelExpiryDateOfPassword2.Text = string.Format("{0:yy/MM/dd} ~ {1:yy/MM/dd}", item.DatePasswordRegister, item.DatePasswordExpire);
}
#endregion
this.CheckBoxCheckedAsLevel(item.Group);
if (this.ParentForm.ParentForm.CurrentSystemStatus.CurrentUser.ActiveLevel < item.ActiveLevel)
{
this.buttonDelete.Visible = false;
this.SetEnableLevelButton(false);
this.SetEnableExpireDate(false);
this.SetEnablePasswordTextBox(false);
this.buttonPasswordReset.Enabled = false;
}
else
{
this.SetEnableLevelButton(true);
this.SetEnableExpireDate(true);
this.buttonPasswordReset.Enabled = true;
}
}
if (this.textBoxPassword.Text == this.SelectedUserItem.ResetPW)
this.SetTextBoxPasswordChar(true);
else
this.SetTextBoxPasswordChar(false);
//this.cbAdministrator.Visible = true;
//this.cbAdministrator.Checked = item.IsAdmin;
}
private void UpdateUserListBoxDisplay(List<string> items)
{
this.listBoxUserList.ClearAll();
for (int i = 1; i < items.Count; i++)
this.listBoxUserList.AddItem(items[i]);
}
public void CallBackGetUserData(UserManager.UserMgr_user_list_t user)
{
this.UpdateCurrentUserItem(user);
this.UI_Invoke(delegate
{
this.UpdateSelectUserDisplay(this.SelectedUserItem);
});
}
public void CallBackUserListNewData(UserManager.UserMgr_user_info_t user)
{
string code = "", message1 = "", message2 = "";
switch (this.ParentForm.ParentForm.SystemConfig.LANGUAGE)
{
case Define.E_LanguageID.Korean:
code = "유저설정";
message1 = "사용자 추가 완료!";
message2 = "";
break;
case Define.E_LanguageID.English:
code = "user settings";
message1 = "User addition complete!";
message2 = "";
break;
case Define.E_LanguageID.Chinese:
code = "用户设置";
message1 = "用户已添加!";
message2 = "";
break;
default:
break;
}
if (user.status == (int)UserManager.E_user_mgr_status.USER_MGR_STATUS_OK)
{
this.UI_Invoke(delegate
{
string detail = "";
detail = string.Format("Add : {0}", user.user_id);
this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingOperation.UserEditor, detail);
this.UpdateCurrentUserItem(user);
this.UpdateSelectUserDisplay(this.SelectedUserItem);
this.ParentForm.ParentForm.ListDllUserName.Add(user.user_id);
this.UpdateUserListBoxDisplay(this.ParentForm.ParentForm.ListDllUserName);
this.listBoxUserList.SelectItemIndex = this.listBoxUserList.ItemCount - 1;
this.SetEnableID(false);
this.labelExpiryDateOfAccount.Enabled = false;
this.labelExpiryDateOfAccount.BackColor = Color.Silver;
this.labelExpiryDateOfPassword.Enabled = false;
this.labelExpiryDateOfPassword.BackColor = Color.Silver;
this.buttonDelete.Enabled = true;
this.SetEnableLevelButton(false);
DialogFormMessage dlg = new DialogFormMessage(Define.E_MessageBoxIcon.Asterisk, code, message1, message2, 0);
dlg.ShowDialog();
});
}
else
{
DialogFormMessage msg = new DialogFormMessage(null, user.status, this.ParentForm.ParentForm.SystemConfig.LANGUAGE);
msg.ShowDialog();
}
}
public void CallBackUserModifyUserData(UserManager.UserMgr_user_modify_t user)
{
string code = "", message1 = "", message2 = "";
switch (this.ParentForm.ParentForm.SystemConfig.LANGUAGE)
{
case Define.E_LanguageID.Korean:
code = "유저설정";
message1 = "사용자 정보 수정 완료!";
message2 = "";
break;
case Define.E_LanguageID.English:
code = "user settings";
message1 = "User information modified!";
message2 = "";
break;
case Define.E_LanguageID.Chinese:
code = "用户设置";
message1 = "用户信息已编辑!";
message2 = "";
break;
default:
break;
}
if (user.status == (int)UserManager.E_user_mgr_status.USER_MGR_STATUS_OK)
{
this.UI_Invoke(delegate
{
string detail = "";
detail = string.Format("Modify : {0}", user.user_id);
this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingOperation.UserEditor, detail);
// 메시지 박스 교체
UserManager.UserManager_GetUserListID(this.listBoxUserList.Items[this.listBoxUserList.SelectItemIndex]);
DialogFormMessage dlg = new DialogFormMessage(Define.E_MessageBoxIcon.Asterisk, code, message1, message2, 0);
dlg.ShowDialog();
});
}
else
{
DialogFormMessage msg = new DialogFormMessage(null, user.status, this.ParentForm.ParentForm.SystemConfig.LANGUAGE);
msg.ShowDialog();
}
}
public void CallBackUserListLockDataEvent(UserManager.UserMgr_user_lock_t user)
{
if (user.user_id == this.SelectedUserItem.ID)
{
this.SelectedUserItem.IsLockAccount = user.flock_status_account == 0 ? false : true;
this.SelectedUserItem.IsLockPassword = user.flock_status_password == 0 ? false : true;
UserManager.UserManager_GetUserListID(this.listBoxUserList.Items[this.listBoxUserList.SelectItemIndex]);
}
}
public void CallBackUserListDeleteDataEvent(UserManager.UserMgr_user_del_t user)
{
string code = "", message1 = "", message2 = "", detail = "";
switch (this.ParentForm.ParentForm.SystemConfig.LANGUAGE)
{
case Define.E_LanguageID.Korean:
code = "유저설정";
message1 = string.Format("{0} 사용자 삭제 완료!", user.user_id);
message2 = "";
break;
case Define.E_LanguageID.English:
code = "user settings";
message1 = string.Format("{0} User deletion complete!", user.user_id);
message2 = "";
break;
case Define.E_LanguageID.Chinese:
code = "用户设置";
message1 = string.Format("{0} 用户已删除!", user.user_id);
message2 = "";
break;
default:
break;
}
if (user.status == 0)
{
for (int i = 0; i < this.ParentForm.ParentForm.ListDllUserName.Count; i++)
{
if (this.ParentForm.ParentForm.ListDllUserName[i] == user.user_id)
{
this.ParentForm.ParentForm.ListDllUserName.RemoveAt(i);
break;
}
}
this.UI_Invoke(delegate
{
this.UpdateUserListBoxDisplay(this.ParentForm.ParentForm.ListDllUserName);
this.UserNew();
DialogFormMessage dlg = new DialogFormMessage(Define.E_MessageBoxIcon.Asterisk, code, message1, message2, 0);
dlg.ShowDialog();
});
//// Part 11
//if (this.ParentForm.ParentForm.SystemConfig.IsPart11 == true)
//{
detail = string.Format("Delete : {0}", user.user_id);
this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingOperation.UserEditor, detail);
//}
}
else
{
DialogFormMessage msg = new DialogFormMessage(null, user.status, this.ParentForm.ParentForm.SystemConfig.LANGUAGE);
msg.ShowDialog();
}
}
public void CallBackUserListModifyInfoDataEvent(UserManager.UserMgr_user_info_t user)
{
try
{
if (user.status == 0)
{
string detail = "", code = "", message1 = "", message2 = "";
this.textBoxPassword.Text = user.user_pw;
this.ParentForm.ParentForm.CurrentSystemStatus.CurrentUser.Password = user.user_pw;
detail = string.Format("Modify Password : {0}", user.user_id);
this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingOperation.UserEditor, detail);
switch (this.ParentForm.ParentForm.SystemConfig.LANGUAGE)
{
case Define.E_LanguageID.Korean:
code = "비밀번호 변경";
message1 = "비밀번호가 변경되었습니다.";
message2 = "";
break;
case Define.E_LanguageID.English:
code = "Change Password";
message1 = "Password has been changed.";
message2 = "";
break;
case Define.E_LanguageID.Chinese:
code = "更改密码";
message1 = "您的密码已更改。";
message2 = "";
break;
default:
break;
}
// 비밀번호가 변경되었습니다.
DialogFormMessage dlg = new DialogFormMessage(Define.E_MessageBoxIcon.Asterisk, code, message1, message2, 0);
dlg.ShowDialog();
}
else
{
DialogFormMessage myMsg = new DialogFormMessage(null, user.status, this.ParentForm.ParentForm.SystemConfig.LANGUAGE);
myMsg.ShowDialog();
}
}
catch (Exception ex)
{
FormMain.Exception(ex);
}
}
public void DisplayRefresh()
{
this.ParentForm.ParentForm.CurrentSystemStatus.CurrentDisplayMode = Define.E_DisplayModeStore.UserEditor;
this.ParentForm.ParentForm.SetDisplayMode(Define.E_EquipmentMode.Menu);
this.PasswordChar = false;
this.labelAutomaticLogoutTime.Text = this.ParentForm.ParentForm.SystemConfig.AUTOMATIC_LOGOUT.ToString();
this.labelNumberOfLoginFailures.Text = this.ParentForm.ParentForm.SystemConfig.NUMBER_OF_LOGIN_FAILURE.ToString();
this.UpdateUserListBoxDisplay(this.ParentForm.ParentForm.ListDllUserName);
this.UpdateInitializeUserDisplay(this.ParentForm.ParentForm.SystemConfig);
}
#endregion
#region Event Handler
private void listBoxUserList_SelectedIndexChanged(object sender, EventArgs e)
{
int index = this.listBoxUserList.SelectItemIndex;
this.IsNew = false;
this.SetEnablePasswordTextBox(false);
this.buttonPasswordReset.Enabled = false;
//this.labelAutomaticLogoutTime.Enabled = true;
this.buttonSave.Visible = false;
switch (this.ParentForm.ParentForm.SystemConfig.LANGUAGE)
{
case Define.E_LanguageID.Chinese:
if (this.buttonPasswordReset.ButtonText != "重置")
this.buttonPasswordReset.ButtonText = "重置";
break;
default:
if (this.buttonPasswordReset.ButtonText != "Reset")
this.buttonPasswordReset.ButtonText = "Reset";
break;
}
if (index == 0)
{
UserManager.UserManager_GetUserListID(this.listBoxUserList.Items[index].ToString());
this.SetEnablePasswordTextBox(true);
switch (this.ParentForm.ParentForm.SystemConfig.LANGUAGE)
{
case Define.E_LanguageID.Chinese:
this.buttonPasswordReset.ButtonText = "编辑";
break;
default:
this.buttonPasswordReset.ButtonText = "Edit";
break;
}
}
else if (index < 0)
{
this.UpdateInitializeUserDisplay(this.ParentForm.ParentForm.SystemConfig);
}
else if (index > 0)
{
if (this.ParentForm.ParentForm.CurrentSystemStatus.CurrentUser.ID == this.listBoxUserList.Items[index].ToString())
this.buttonDelete.Visible = false;
else
this.buttonDelete.Visible = true;
this.SetEnableID(false);
this.SetEnableControl(true);
UserManager.UserManager_GetUserListID(this.listBoxUserList.Items[index].ToString());
}
}
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 textBoxID_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == '\r')
{
e.Handled = true;
this.ParentForm.Enabled = true;
this.KeyboardClose();
if (this.buttonSave.Visible == false)
this.buttonSave.Visible = true;
}
else if (e.KeyChar == 27)
{
e.Handled = true;
this.ParentForm.Enabled = true;
this.textBoxID.Text = this.BeforeID;
this.KeyboardClose();
}
else if (e.KeyChar == '<' || e.KeyChar == '>' || e.KeyChar == '|' || e.KeyChar == '"' || e.KeyChar == '?'
|| e.KeyChar == '*' || e.KeyChar == ':' || e.KeyChar == '/' || e.KeyChar == '\\')
{
e.Handled = true;
}
}
private void textBoxPassword_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == '\r')
{
e.Handled = true;
if (this.PasswordChar == false)
this.SetTextBoxPasswordChar(this.PasswordChar);
this.KeyboardClose();
if (this.IsNew == true)
this.SetEnableID(true);
if (this.buttonSave.Visible == false)
this.buttonSave.Visible = true;
}
else if (e.KeyChar == 27)
{
e.Handled = true;
if (this.PasswordChar == false)
this.SetTextBoxPasswordChar(this.PasswordChar);
if (this.IsNew == true)
this.SetEnableID(true);
this.textBoxPassword.Text = this.BeforePassword;
this.KeyboardClose();
}
else if (e.KeyChar == '<' || e.KeyChar == '>' || e.KeyChar == '|' || e.KeyChar == '"' || e.KeyChar == '?'
|| e.KeyChar == '*' || e.KeyChar == ':' || e.KeyChar == '/' || e.KeyChar == '\\')
{
e.Handled = true;
}
}
private void smartKeyboard_OnXKeyClick(object sender, EventArgs e)
{
if (this.smartKeyboard.TargetInputObject == this.textBoxPassword)
{
this.textBoxPassword.Text = this.BeforePassword;
if (this.PasswordChar == false)
this.SetTextBoxPasswordChar(this.PasswordChar);
this.textBoxPassword.Select(this.textBoxPassword.Text.Length, 0);
}
else if (this.smartKeyboard.TargetInputObject == this.textBoxID)
{
this.textBoxID.Text = this.BeforeID;
this.textBoxID.Select(this.textBoxID.Text.Length, 0);
}
this.KeyboardClose();
if (this.IsNew == true)
this.SetEnableID(true);
}
private void buttonRegister_Click(object sender, EventArgs e)
{
this.UserNew();
}
private void buttonSave_Click(object sender, EventArgs e)
{
this.SaveUserDll();
}
private void buttonDelete_Click(object sender, EventArgs e)
{
if (this.listBoxUserList.SelectItemIndex == -1)
return;
// 사용자를 삭제 하시겠습니까?
DialogFormYesNo dlg = new DialogFormYesNo(this.ParentForm.ParentForm.SystemConfig.LANGUAGE, 14);
if (dlg.ShowDialog() == DialogResult.Yes)
{
if (this.listBoxUserList.Items.Count <= 1)
return;
if (this.listBoxUserList.SelectItemIndex <= 0)
return;
string id = this.listBoxUserList.Items[this.listBoxUserList.SelectItemIndex].ToString();
UserManager.UserManager_UserDel(id);
this.buttonDelete.Visible = false;
}
}
private void buttonLevel_Click(object sender, EventArgs e)
{
SmartX.SmartButton button = sender as SmartX.SmartButton;
if (button == this.buttonLevel1)
{
this.CheckBoxCheckedAsLevel(Define.E_UserGroup.Level1);
}
else if (button == this.buttonLevel2)
{
this.CheckBoxCheckedAsLevel(Define.E_UserGroup.Level2);
}
else if (button == this.buttonLevel3)
{
this.CheckBoxCheckedAsLevel(Define.E_UserGroup.Level3);
}
if (this.buttonSave.Visible == false)
this.buttonSave.Visible = true;
}
private void buttonIDEdit_Click(object sender, EventArgs e)
{
this.smartKeyboard.KeyboardType = SmartX.SmartKeyboard.KEYBOARDTYPES.NORMAL;
this.smartKeyboard.Location = new Point(5, 125);
this.smartKeyboard.Size = new Size(897, 352);
this.smartKeyboard.Hide();
this.BeforeID = this.textBoxID.Text;
this.smartKeyboard.TargetInputObject = this.textBoxID;
this.smartKeyboard.Show();
this.textBoxID.Select(this.textBoxID.Text.Length, 0);
this.listBoxUserList.Enabled = false;
this.SetEnableControl(false);
}
private void buttonPasswordReset_Click(object sender, EventArgs e)
{
if (this.buttonPasswordReset.ButtonText == "Edit" || this.buttonPasswordReset.ButtonText == "编辑")
{
if (this.listBoxUserList.SelectItemIndex == 0
&& this.ParentForm.ParentForm.CurrentSystemStatus.CurrentUser.ActiveLevel < 9)
return;
this.smartKeyboard.KeyboardType = SmartX.SmartKeyboard.KEYBOARDTYPES.NORMAL;
this.smartKeyboard.Location = new Point(5, 125);
this.smartKeyboard.Size = new Size(897, 352);
this.smartKeyboard.Hide();
this.BeforePassword = this.textBoxPassword.Text;
this.smartKeyboard.TargetInputObject = this.textBoxPassword;
this.smartKeyboard.Show();
this.SetTextBoxPasswordChar(true);
this.textBoxPassword.Select(this.textBoxPassword.Text.Length, 0);
this.listBoxUserList.Enabled = false;
this.SetEnableControl(false);
this.SetEnableID(false);
}
else
{
int ret = 0;
string id = "", pw = "";
if (this.listBoxUserList.Items.Count <= 1)
return;
if (this.listBoxUserList.SelectItemIndex <= 0)
return;
// 메시지
// 비밀번호를 초기화 하시겠습니까?
DialogFormYesNo dlg = new DialogFormYesNo(this.ParentForm.ParentForm.SystemConfig.LANGUAGE, 18);
if (dlg.ShowDialog() == DialogResult.Yes)
{
id = this.SelectedUserItem.ID;
pw = this.SelectedUserItem.ResetPW;
ret = UserManager.UserManager_UserResetPWDirect(id, pw);
if (ret == 0)
{
this.SetTextBoxPasswordChar(true);
this.textBoxPassword.Text = pw;
}
}
}
}
private void labelExpiryDateOfAccount_Click(object sender, EventArgs e)
{
DialogFormNumKeyPad myKeyPad = new DialogFormNumKeyPad(this.labelExpiryDateOfAccount.Text, 3, 0, false, this.ParentForm.ParentForm.SystemConfig.LANGUAGE);
if (myKeyPad.ShowDialog() == DialogResult.OK)
{
if (myKeyPad.IntValue <= 0)
{
// 입력범위를 확인하세요
DialogFormMessage myMsg = new DialogFormMessage(1, this.ParentForm.ParentForm.SystemConfig.LANGUAGE);
myMsg.ShowDialog();
}
else if (myKeyPad.IntValue > 180)
{
this.labelExpiryDateOfAccount.Text = "180";
if (this.buttonSave.Visible == false)
this.buttonSave.Visible = true;
}
else
{
this.labelExpiryDateOfAccount.Text = myKeyPad.StringValue;
if (this.buttonSave.Visible == false)
this.buttonSave.Visible = true;
}
}
}
private void labelExpiryDateOfPassword_Click(object sender, EventArgs e)
{
DialogFormNumKeyPad myKeyPad = new DialogFormNumKeyPad(this.labelExpiryDateOfPassword.Text, 3, 0, false, this.ParentForm.ParentForm.SystemConfig.LANGUAGE);
if (myKeyPad.ShowDialog() == DialogResult.OK)
{
if (myKeyPad.IntValue <= 0)
{
// 입력범위를 확인하세요
DialogFormMessage myMsg = new DialogFormMessage(1, this.ParentForm.ParentForm.SystemConfig.LANGUAGE);
myMsg.ShowDialog();
}
else if (myKeyPad.IntValue > 90)
{
this.labelExpiryDateOfPassword.Text = "90";
if (this.buttonSave.Visible == false)
this.buttonSave.Visible = true;
}
else
{
this.labelExpiryDateOfPassword.Text = myKeyPad.StringValue;
if (this.buttonSave.Visible == false)
this.buttonSave.Visible = true;
}
}
}
private void labelAutomaticLogoutTime_Click(object sender, EventArgs e)
{
DialogFormNumKeyPad myKeyPad = new DialogFormNumKeyPad(this.labelAutomaticLogoutTime.Text, 2, 0, false, this.ParentForm.ParentForm.SystemConfig.LANGUAGE);
if (myKeyPad.ShowDialog() == DialogResult.OK)
{
if (myKeyPad.IntValue < 0)
{
// 입력범위를 확인하세요
DialogFormMessage myMsg = new DialogFormMessage(1, this.ParentForm.ParentForm.SystemConfig.LANGUAGE);
myMsg.ShowDialog();
}
else if (myKeyPad.IntValue > 90)
{
this.labelAutomaticLogoutTime.Text = "90";
}
else
{
this.labelAutomaticLogoutTime.Text = myKeyPad.StringValue;
}
this.ParentForm.ParentForm.SystemConfig.AUTOMATIC_LOGOUT = int.Parse(this.labelAutomaticLogoutTime.Text);
if (this.ParentForm.ParentForm.SystemConfig.AUTOMATIC_LOGOUT == 1)
this.ParentForm.ParentForm.FlagAutomaticLogoutWarningTime = 30;
else
this.ParentForm.ParentForm.FlagAutomaticLogoutWarningTime = 60;
this.ParentForm.ParentForm.SaveSystemConfigurationFile(this.ParentForm.ParentForm.SystemConfig);
UserManager.UserManager_AutoLogoutSetTimeout(this.ParentForm.ParentForm.SystemConfig.AUTOMATIC_LOGOUT, this.ParentForm.ParentForm.FlagAutomaticLogoutWarningTime);
}
}
private void labelNumberOfLoginFailures_Click(object sender, EventArgs e)
{
DialogFormNumKeyPad myKeyPad = new DialogFormNumKeyPad(this.labelNumberOfLoginFailures.Text, 2, 0, false, this.ParentForm.ParentForm.SystemConfig.LANGUAGE);
if (myKeyPad.ShowDialog() == DialogResult.OK)
{
if (myKeyPad.IntValue <= 0)
{
// 입력범위를 확인하세요
DialogFormMessage myMsg = new DialogFormMessage(1, this.ParentForm.ParentForm.SystemConfig.LANGUAGE);
myMsg.ShowDialog();
}
else
{
this.labelNumberOfLoginFailures.Text = myKeyPad.StringValue;
this.ParentForm.ParentForm.SystemConfig.NUMBER_OF_LOGIN_FAILURE = myKeyPad.IntValue;
this.ParentForm.ParentForm.SaveSystemConfigurationFile(this.ParentForm.ParentForm.SystemConfig);
}
}
}
private void labelExpiryDateOfAccount2_Click(object sender, EventArgs e)
{
string code = "", message1 = "", message2 = "";
string detail = "";
if (this.labelExpiryDateOfAccount2.TextColor == Color.White)
{
if (this.ParentForm.ParentForm.CurrentSystemStatus.CurrentUser.ActiveLevel < (int)Define.E_UserGroup.Level3)
return;
UserManager.UserManager_UserLockRelease(this.SelectedUserItem.ID, true, false);
// Part 11
detail = string.Format("Extend EXP date(ID) : {0}", this.SelectedUserItem.ID);
this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingOperation.UserEditor, detail);
}
else
{
switch (this.ParentForm.ParentForm.SystemConfig.LANGUAGE)
{
case Define.E_LanguageID.Korean:
code = "유저설정";
message1 = "사용자 잠금 해제 하시겠습니까?";
message2 = "";
break;
case Define.E_LanguageID.English:
code = "User settings";
message1 = "Do you want to unlock user?";
message2 = "";
break;
case Define.E_LanguageID.Chinese:
code = "用户设置";
message1 = "是否要解锁用户?";
message2 = "";
break;
default:
break;
}
DialogFormYesNo dlg = new DialogFormYesNo(Define.E_MessageBoxIcon.Question, code, message1, message2);
if (dlg.ShowDialog() == DialogResult.Yes)
{
UserManager.UserManager_UserLockRelease(this.SelectedUserItem.ID, true, false);
// Part 11
detail = string.Format("Release ID : {0}", this.SelectedUserItem.ID);
this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingOperation.UserEditor, detail);
}
}
}
private void labelExpiryDateOfPassword2_Click(object sender, EventArgs e)
{
string code = "", message1 = "", message2 = "";
string detail = "";
if (this.labelExpiryDateOfPassword2.TextColor == Color.White)
{
if (this.ParentForm.ParentForm.CurrentSystemStatus.CurrentUser.ActiveLevel < (int)Define.E_UserGroup.Level3)
return;
UserManager.UserManager_UserLockRelease(this.SelectedUserItem.ID, false, true);
// Part 11
detail = string.Format("Extend EXP date(PW) : {0}", this.SelectedUserItem.ID);
this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingOperation.UserEditor, detail);
}
else
{
switch (this.ParentForm.ParentForm.SystemConfig.LANGUAGE)
{
case Define.E_LanguageID.Korean:
code = "유저설정";
message1 = "비밀번호 잠금 해제 하시겠습니까?";
message2 = "";
break;
case Define.E_LanguageID.English:
code = "User settings";
message1 = "Do you want to unlock password?";
message2 = "";
break;
case Define.E_LanguageID.Chinese:
code = "用户设置";
message1 = "是否要解锁密码?";
message2 = "";
break;
default:
break;
}
DialogFormYesNo dlg = new DialogFormYesNo(Define.E_MessageBoxIcon.Question, code, message1, message2);
if (dlg.ShowDialog() == DialogResult.Yes)
{
UserManager.UserManager_UserLockRelease(this.SelectedUserItem.ID, false, true);
// Part 11
detail = string.Format("Release PW: {0}", this.SelectedUserItem.ID);
this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingOperation.UserEditor, detail);
}
}
}
#endregion
}
}