Example #1
0
         /// <summary>
         /// 更改密码按钮按下
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
        private void btnChangePassword_Click(object sender, EventArgs e)
        {
            if (ActiveUserID != 0)
            {
                switch (btnChangePassword.Text)
                {
                    case "修改密码":
                        grpUserChangePassword.Visible = true;
                        txtUserCNewPassword.Text = "";
                        txtUserNewPassword.Text = "";
                        txtUserOldPassword.Text = "";
                        btnChangePassword.Text = "保存修改";
                        btnChangePassword.BackColor = Color.Yellow;
                        break;
                    case "保存修改":
                        bool blnChangePassword = false;
                        if (txtUserCNewPassword.Text.Equals(txtUserNewPassword.Text) == false)
                        {
                            MessageBox.Show("新密码和确认输入的密码不一致!请重新输入新密码", pMsgTitle);
                            txtUserNewPassword.Text = "";
                            txtUserCNewPassword.Text = "";
                            return;
                        }
                        //保存修改用户信息
                        USER_INFO userNewInfo = new USER_INFO("无用参数");
                        DHClient.DHStringToByteArry(txtUserNewPassword.Text, ref userNewInfo.passWord);
                        USER_INFO userOldInfo = new USER_INFO("无用参数");
                        userOldInfo.name = userManageInfo.userList[ActiveUserIndex].name;
                        DHClient.DHStringToByteArry(txtUserOldPassword.Text,ref  userOldInfo.passWord);
                        blnChangePassword = DHClient.DHOperateUserInfo(pLoginID, USER_OPERATE.DH_USER_CHANGEPASSWORD, userNewInfo,userOldInfo, 3000);
                        if (blnChangePassword == false)
                        {
                            MessageBox.Show("密码修改失败!\n"+DHClient.LastOperationInfo.ToString(pErrInfoFormatStyle), pMsgTitle);
                        }
                        btnChangePassword.Text = "修改密码";
                        btnChangePassword.BackColor = Color.Transparent;
                        break;

                }
            }
            else
            {
                MessageBox.Show("请选择用户!", pMsgTitle);
            }

        }
Example #2
0
 /// <summary>
 /// 显示用户信息
 /// </summary>
 /// <param name="userInfo">用户信息</param>
 /// <param name="blnShowRights">是否显示权限信息</param>
 private void ShowUserInfo(USER_INFO userInfo,bool blnShowRights)
 {
     txtUserAddName.Text = DHClient.DHByteArrayToString(userInfo.name);
     txtUserAddName.ReadOnly = true;
     txtUserAddPassword.Text = DHClient.DHByteArrayToString(userInfo.passWord);
     txtUserAddPassword.ReadOnly = true;
     txtUserAddDemo.Text = DHClient.DHByteArrayToString(userInfo.memo);
     txtUserAddDemo.ReadOnly = true;
     chkUserReusable.Checked=(userInfo.dwReusable ==1?true:false);
     chkUserReusable.AutoCheck =  false;
     ActiveUserID = userInfo.dwID;
     ActiveGroupID = userInfo.dwGroupID;
     if (blnShowRights == true)
     {
         ShowRights(userInfo.rights, userInfo.dwRightNum);
     }
 }
Example #3
0
 /// <summary>
 /// 修改用户信息
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void btnEditUser_Click(object sender, EventArgs e)
 {
     if (ActiveUserID != 0)
     {
         switch (btnEditUser.Text)
         {
             case "修改用户":
                 grpUserChangePassword.Visible = false;//更改用户密码的控件不显示
                 chkUserReusable.AutoCheck = true;
                 txtUserAddDemo.ReadOnly = false;
                 txtUserAddName.ReadOnly = false;
                 txtUserAddPassword.ReadOnly = true;
                 btnEditUser.BackColor = Color.Yellow;
                 btnEditUser.Text = "保存修改";
                 break;
             case "保存修改":
                 bool blnEditUser = false;
                 #region << 保存修改用户信息代码 >>
                 //保存修改用户信息
                 USER_INFO usrInfo = new USER_INFO("无效参数");
                 usrInfo.dwGroupID = userManageInfo.userList[ActiveUserIndex].dwGroupID;
                 usrInfo.dwID = userManageInfo.userList[ActiveUserIndex].dwID;
                 usrInfo.dwReusable = (uint)(chkUserReusable.Checked == true ? 1 : 0);
                 usrInfo.passWord = userManageInfo.userList[ActiveUserIndex].passWord;
                 DHClient.DHStringToByteArry(txtUserAddName.Text, ref usrInfo.name);
                 DHClient.DHStringToByteArry(txtUserAddDemo.Text, ref  usrInfo.memo);
                 //usrInfo.rights = new uint[100];
                 uint rightsNum = 0;
                 for (int i = 0; i < chkRightList.Items.Count; i++)
                 {
                     if (chkRightList.GetItemChecked(i) == true)
                     {
                         usrInfo.rights[rightsNum] = rightListArray[i].keyID;
                         rightsNum += 1;
                     }
                 }
                 usrInfo.dwRightNum = rightsNum;
                 blnEditUser = DHClient.DHOperateUserInfo(pLoginID, USER_OPERATE.DH_USER_EDIT, usrInfo, userManageInfo.userList[ActiveUserIndex], 3000);
                 #endregion
                 if (blnEditUser == true)//添加用户信息成功
                 {                            
                     GetUserInfo(pLoginID, ref userManageInfo, 3000);
                 }
                 else
                 {
                     MessageBox.Show("修改用户信息失败!\n" + DHClient.LastOperationInfo.ToString(pErrInfoFormatStyle), pMsgTitle);
                 }
                 btnEditUser.BackColor = Color.Transparent;
                 txtUserAddDemo.Text = "";
                 txtUserAddName.Text = "";
                 txtUserAddPassword.Text = "";
                 chkUserReusable.Checked = false;
                 btnEditUser.Text = "修改用户";
                 ActiveUserID = 0;
                 break;
         }
     }
 }
Example #4
0
 /// <summary>
 /// 修改用户基本信息/修改用户密码
 /// </summary>
 /// <param name="iLogin">DHLogin返回值</param>
 /// <param name="userNewInfo">用户变更后信息</param>
 /// <param name="userOldInfo">用户变更前信息</param>
 /// <param name="waitTime">等待时间</param>
 /// <returns></returns>
 public static bool DHOperateUserInfo(int iLogin, USER_OPERATE operate, USER_INFO userNewInfo, USER_INFO userOldInfo, int waitTime)
 {
     bool retValue = false;
     IntPtr pBoxInfo = IntPtr.Zero;
     IntPtr pBoxInfo1 = IntPtr.Zero;
     try
     {                
         pBoxInfo = Marshal.AllocHGlobal(Marshal.SizeOf(typeof(USER_INFO)));//分配固定的指定大小的内存空间               
         pBoxInfo1 = Marshal.AllocHGlobal(Marshal.SizeOf(typeof(USER_INFO)));//分配固定的指定大小的内存空间
         if (pBoxInfo != IntPtr.Zero & pBoxInfo1!=IntPtr.Zero)
         {
             Marshal.StructureToPtr(userNewInfo, pBoxInfo, true);
             Marshal.StructureToPtr(userOldInfo, pBoxInfo1, true);
             retValue = CLIENT_OperateUserInfo(iLogin, (int)operate, pBoxInfo, pBoxInfo1, waitTime);
         }
         DHThrowLastError(retValue);                
     }
     catch (Exception e)
     {
         DHThrowLastError(e);
         retValue = false;
     }
     finally
     {
         Marshal.FreeHGlobal(pBoxInfo);//释放固定内存分配
         pBoxInfo = IntPtr.Zero;
         Marshal.FreeHGlobal(pBoxInfo1);//释放固定内存分配
         pBoxInfo1 = IntPtr.Zero;                
     }
     return retValue;
 }