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 = ""; 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 = ""; 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 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 } }