1691 lines
		
	
	
		
			75 KiB
		
	
	
	
		
			C#
		
	
			
		
		
	
	
			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
 | |
|     }
 | |
| }
 |