// DLG_C_KF_Modify.cpp : implementation file // #include "stdafx.h" #include "smsmanager.h" #include "DLG_C_KF_Modify.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // DLG_C_KF_Modify dialog #include "C_KF.h" DLG_C_KF_Modify::DLG_C_KF_Modify(CWnd* pParent /*=NULL*/) : CDialog(DLG_C_KF_Modify::IDD, pParent) { //{{AFX_DATA_INIT(DLG_C_KF_Modify) m_tBirthday = COleDateTime::GetCurrentTime(); m_strBZ = _T(""); m_strFax = _T(""); m_strEmail = _T(""); m_strJob = _T(""); m_strMobile = _T(""); m_strName = _T(""); m_strNickName = _T(""); m_strTel = _T(""); m_lSex = -1; m_strBranch = _T(""); m_strPasswd = _T(""); m_strLoginName = _T(""); m_bNoLTD = FALSE; //}}AFX_DATA_INIT m_pKFDlg = (CC_KF *)pParent; memset( &m_KFData , 0 , sizeof(m_KFData)); m_bAdd = false; m_Pos = 0; memset( m_szPasswd , 0 , sizeof(m_szPasswd) ); } void DLG_C_KF_Modify::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(DLG_C_KF_Modify) DDX_Control(pDX, IDC_YWY_MODIFY_PASSWD, m_E_Passwd); DDX_DateTimeCtrl(pDX, IDC_YWY_MODIFY_BIRTHDAY, m_tBirthday); DDX_Text(pDX, IDC_YWY_MODIFY_BZ, m_strBZ); DDV_MaxChars(pDX, m_strBZ, 120); DDX_Text(pDX, IDC_YWY_MODIFY_FAX, m_strFax); DDV_MaxChars(pDX, m_strFax, 30); DDX_Text(pDX, IDC_YWY_MODIFY_EMAIL, m_strEmail); DDV_MaxChars(pDX, m_strEmail, 62); DDX_Text(pDX, IDC_YWY_MODIFY_JOB, m_strJob); DDV_MaxChars(pDX, m_strJob, 30); DDX_Text(pDX, IDC_YWY_MODIFY_MOBILE, m_strMobile); DDV_MaxChars(pDX, m_strMobile, 30); DDX_Text(pDX, IDC_YWY_MODIFY_NAME, m_strName); DDV_MaxChars(pDX, m_strName, 22); DDX_Text(pDX, IDC_YWY_MODIFY_NAME2, m_strNickName); DDV_MaxChars(pDX, m_strNickName, 20); DDX_Text(pDX, IDC_YWY_MODIFY_TEL, m_strTel); DDV_MaxChars(pDX, m_strTel, 30); DDX_CBIndex(pDX, IDC_YWY_MODIFY_SEX, m_lSex); DDX_Text(pDX, IDC_YWY_MODIFY_BRANCH, m_strBranch); DDV_MaxChars(pDX, m_strBranch, 30); DDX_Text(pDX, IDC_YWY_MODIFY_PASSWD, m_strPasswd); DDV_MaxChars(pDX, m_strPasswd, 15); DDX_Text(pDX, IDC_YWY_MODIFY_LOGINNAME, m_strLoginName); DDV_MaxChars(pDX, m_strLoginName, 15); DDX_Check(pDX, IDC_YWY_MODIFY_NOLTD, m_bNoLTD); //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(DLG_C_KF_Modify, CDialog) //{{AFX_MSG_MAP(DLG_C_KF_Modify) ON_BN_CLICKED(IDC_YWY_MODIFY_REPASSWD, OnYwyModifyRepasswd) //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // DLG_C_KF_Modify message handlers BOOL DLG_C_KF_Modify::OnInitDialog() { CDialog::OnInitDialog(); m_strName = m_KFData.szName; m_strNickName = m_KFData.szNickName; long lSex = 0; if ( CString(m_KFData.szSex)==_T("男") ) lSex = 1; if ( CString(m_KFData.szSex)==_T("女") ) lSex = 2; m_lSex = lSex; COleDateTime tTemp(m_KFData.tBirthday); if ( tTemp.GetStatus() != 0 ) //无效时间 { m_tBirthday.SetStatus( COleDateTime::null ); } else { m_tBirthday = tTemp; } m_strBranch = m_KFData.szBranch; m_strJob = m_KFData.szJob; m_strTel = m_KFData.szTel; m_strFax = m_KFData.szFax; m_strMobile = m_KFData.szMobile; m_strEmail = m_KFData.szEmail; m_strBZ = m_KFData.szBZ; m_bNoLTD = m_KFData.bNoLTD; m_strLoginName = m_KFData.szLoginName; if ( _tcslen(m_szPasswd) <= 0 ) OnYwyModifyRepasswd(); UpdateData(false); return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE } void DLG_C_KF_Modify::OnOK() { if ( !UpdateData(true) ) return ; if (m_strName.GetLength() <= 0 ) { GetDlgItem(IDC_YWY_MODIFY_NAME)->SetFocus(); MessageBox( _T("客服姓名不能为空,请重新输入!") , _T("错误") , MB_ICONWARNING ); return ; } if (m_strLoginName.GetLength() <= 0 ) { GetDlgItem(IDC_YWY_MODIFY_LOGINNAME)->SetFocus(); MessageBox( _T("客服登录名不能为空,请重新输入!") , _T("错误") , MB_ICONWARNING ); return ; } _tcscpy( m_KFData.szName , m_strName ); _tcscpy( m_KFData.szNickName , m_strNickName ); if ( m_lSex == 0 ) _tcscpy( m_KFData.szSex , _T("") ); else if ( m_lSex == 1 ) _tcscpy( m_KFData.szSex , _T("男") ); else _tcscpy( m_KFData.szSex , _T("女") ); _tcscpy( m_KFData.szBranch , m_strBranch ); _tcscpy( m_KFData.szJob , m_strJob ); _tcscpy( m_KFData.szTel , m_strTel ); _tcscpy( m_KFData.szFax , m_strFax ); _tcscpy( m_KFData.szMobile , m_strMobile ); _tcscpy( m_KFData.szEmail , m_strEmail ); _tcscpy( m_KFData.szBZ , m_strBZ ); _tcscpy( m_KFData.szLoginName , m_strLoginName ); m_KFData.bNoLTD = m_bNoLTD; if ( m_tBirthday.GetStatus() == 0 ) m_tBirthday.GetAsSystemTime( m_KFData.tBirthday ); else memset(&m_KFData.tBirthday,0,sizeof(m_KFData.tBirthday)); if ( m_pKFDlg && m_pKFDlg->FindKFName( m_KFData.szName,m_Pos ) ) { GetDlgItem(IDC_YWY_MODIFY_NAME)->SetFocus(); MessageBox( _T("客服姓名已在使用,请更换另外姓名!") , _T("错误") , MB_ICONWARNING ); return ; } if ( m_pKFDlg && m_pKFDlg->FindKFLoginName( m_KFData.szLoginName,m_Pos ) ) { GetDlgItem(IDC_YWY_MODIFY_LOGINNAME)->SetFocus(); MessageBox( _T("客服登录名已在使用,请更换另外姓名!") , _T("错误") , MB_ICONWARNING ); return ; } if ( m_strPasswd.GetLength() > 0 ) _tcscpy( m_szPasswd , m_strPasswd ); char szUser[32]={0}; char szPasswd[64]={0}; char szPasswd2[64]={0}; #ifdef _UNICODE strcpy(szUser , CW2A(m_KFData.szLoginName) ); strcpy(szPasswd , CW2A(m_szPasswd)); #else strcpy(szUser , m_KFData.szLoginName ); strcpy(szPasswd , m_szPasswd); #endif CDes des; long lOut=sizeof(szPasswd2); des.Encrypt( szPasswd , strlen(szPasswd) , szPasswd2 , lOut , szUser , 8 ); #ifdef _UNICODE _tcscpy(m_KFData.szPasswd , CA2W(szPasswd2)); #else strcpy(m_KFData.szPasswd , szPasswd2); #endif CDialog::OnOK(); } void DLG_C_KF_Modify::SetParam(ANS_GetKFData data, POSITION pos, BOOL bAdd) { m_KFData = data; m_bAdd = bAdd; m_Pos = pos; char szUser[32]={0}; char szPasswd[64]={0}; char szPasswd2[64]={0}; #ifdef _UNICODE strcpy(szUser , CW2A(data.szLoginName) ); strcpy(szPasswd , CW2A(data.szPasswd)); #else strcpy(szUser , data.szLoginName ); strcpy(szPasswd ,data.szPasswd); #endif CDes des; long lOut=sizeof(szPasswd2); des.Decrypt( szPasswd , strlen(szPasswd) , szPasswd2 , lOut , szUser , 8 ); #ifdef _UNICODE _tcscpy(m_szPasswd , CA2W(szPasswd2)); #else strcpy(m_szPasswd , szPasswd2); #endif } ANS_GetKFData DLG_C_KF_Modify::GetParam() { return m_KFData; } void DLG_C_KF_Modify::OnYwyModifyRepasswd() { // m_bSetPasswd = true; srand(::GetTickCount()); CString strTemp; strTemp.Format( _T("%03d%03d") , rand(),rand()); strTemp.SetAt( 6 , 0 ); //strTemp = _T("123456"); m_strPasswd = strTemp; m_E_Passwd.SetWindowText(strTemp); }