CorpSms/FSmsEmail.cpp
2025-02-27 16:58:16 +08:00

1094 lines
32 KiB
C++
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// FSmsEmail.cpp : implementation file
//
#include "stdafx.h"
#include "corpsms.h"
#include "FSmsEmail.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CFSmsEmail dialog
#include "MainFrm.h"
#include "ProcessSocket.h"
#include "DLG_SmsEmail_Add.h"
#include "DLG_SmsEmailFilt_Add.h"
CFSmsEmail::CFSmsEmail(CWnd* pParent /*=NULL*/)
: CDialog(CFSmsEmail::IDD, pParent)
{
//{{AFX_DATA_INIT(CFSmsEmail)
// NOTE: the ClassWizard will add member initialization here
//}}AFX_DATA_INIT
m_bInit = false;
m_bRefresh = false;
m_bRefresh2= false;
m_lEmailID = 0;
}
void CFSmsEmail::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CFSmsEmail)
DDX_Control(pDX, IDC_SMSEMAIL_S4, m_S_S4);
DDX_Control(pDX, IDC_SMSEMAIL_S3, m_S_S3);
DDX_Control(pDX, IDC_SMSEMAIL_S2, m_S_S2);
DDX_Control(pDX, IDC_SMSEMAIL_S1, m_S_S1);
DDX_Control(pDX, IDC_SMSEMAIL_FILT, m_wndFilt);
DDX_Control(pDX, IDC_SMSEMAIL_EMAIL, m_wndEmail);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CFSmsEmail, CDialog)
//{{AFX_MSG_MAP(CFSmsEmail)
ON_WM_SIZE()
ON_NOTIFY(NM_DBLCLK, IDC_SMSEMAIL_EMAIL, OnDblclkSmsemailEmail)
ON_NOTIFY(LVN_KEYDOWN, IDC_SMSEMAIL_EMAIL, OnKeydownSmsemailEmail)
ON_NOTIFY(NM_RCLICK, IDC_SMSEMAIL_EMAIL, OnRclickSmsemailEmail)
ON_NOTIFY(NM_DBLCLK, IDC_SMSEMAIL_FILT, OnDblclkSmsemailFilt)
ON_NOTIFY(LVN_KEYDOWN, IDC_SMSEMAIL_FILT, OnKeydownSmsemailFilt)
ON_NOTIFY(NM_RCLICK, IDC_SMSEMAIL_FILT, OnRclickSmsemailFilt)
ON_NOTIFY(LVN_ITEMCHANGED, IDC_SMSEMAIL_EMAIL, OnItemchangedSmsemailEmail)
ON_NOTIFY(LVN_ITEMCHANGED, IDC_SMSEMAIL_FILT, OnItemchangedSmsemailFilt)
//}}AFX_MSG_MAP
ON_COMMAND( MENU_EMAIL_ADD , On_Email_Add )
ON_COMMAND( MENU_EMAIL_MODIFY , On_Email_Modify )
ON_COMMAND( MENU_EMAIL_DELETE , On_Email_Delete )
ON_COMMAND( MENU_EMAIL_REFRESH, On_Email_Refresh )
ON_COMMAND( MENU_FILT_ADD , On_Filt_Add )
ON_COMMAND( MENU_FILT_MODIFY , On_Filt_Modify )
ON_COMMAND( MENU_FILT_DELETE , On_Filt_Delete )
ON_COMMAND( MENU_FILT_REFRESH, On_Filt_Refresh )
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CFSmsEmail message handlers
BOOL CFSmsEmail::ReHide()
{
ShowWindow( SW_HIDE );
return true;
}
BOOL CFSmsEmail::ReShow(BOOL bRefresh)
{
ShowWindow( SW_SHOW );
if ( bRefresh || !m_bRefresh )
{
RefreshInfo();
}
return true;
}
BOOL CFSmsEmail::RefreshInfo()
{
if ( m_pMainFrame->GetUserPurview( PURVIEW_SMSEMAIL , false ) )
{
m_strMobile = m_pMainFrame->m_strMobile;
#ifndef MOBSET_CARD_VER
if ( m_strMobile.GetLength()<=0 )
{
CString strSelect;
strSelect.Format( _T("select * from Users where userid=%d"),m_pMainFrame->m_lUserID);
if ( m_AdoRS.Open(strSelect) && m_AdoRS.GetRecordCount())
{
m_AdoRS.MoveFirst();
m_AdoRS.GetCollect(_T("Mobile"),m_strMobile);
m_AdoRS.Close();
}
}
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD><EFBFBD>
CString str;
str.Format( _T("<!!ע<><D7A2>:<3A><><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:%s<><73><EFBFBD><EFBFBD><EFBFBD>˶ԣ<CBB6><D4A3><EFBFBD>Ҫ<EFBFBD>޸<EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD>Ա!!>"),m_strMobile);
m_S_S4.SetWindowText(str);
#else
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD><EFBFBD>
CString str;
str.Format( _T("<!!ע<><D7A2>:<3A><><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:%s<><73><EFBFBD><EFBFBD><EFBFBD>˶ԣ<CBB6><D4A3><EFBFBD>Ҫ<EFBFBD>޸<EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD>Ϣ!!>"),m_strMobile);
m_S_S4.SetWindowText(str);
#endif
REQ_Email_See * pSee = new REQ_Email_See;
pSee->lCorpID = m_pMainFrame->m_lCorpID;
pSee->lUserID = m_pMainFrame->m_lUserID;
m_pMainFrame->SendFrame( SMSFUNC_EMAIL_SEE , (BYTE*)pSee , sizeof( REQ_Email_See ) ); //<2F><><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD><EFBFBD>
}
return true;
}
BOOL CFSmsEmail::OnInitDialog()
{
CDialog::OnInitDialog();
//ȡ<>ù<EFBFBD><C3B9>ò<EFBFBD><C3B2><EFBFBD>
//CMainFrame * pFrame = static_cast <CMainFrame *>((CMainFrame *)AfxGetMainWnd());
this->GetParent()->GetParentFrame();
m_pMainFrame = (CMainFrame *)this->GetParent()->GetParentFrame();
m_pSocket = &m_pMainFrame->m_Socket;
m_AdoRS.SetAdoConnection( &m_pMainFrame->m_adoConnection );
//<2F><>ʼ<EFBFBD><CABC>List
m_Image.Create(16,16,ILC_COLOR32|ILC_MASK,5,5);
m_Image.Add(AfxGetApp()->LoadIcon(IDI_L_SMSEMAIL) );
m_Image.Add(AfxGetApp()->LoadIcon(IDI_L_LOCK) );
m_wndEmail.SubClassWindow2();
m_wndEmail.SetHeadings(_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,50; <20><> <20><>,180;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ,180; <20><> <20><>,120;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,70;"));
m_wndEmail.SetGridLines(true);
m_wndEmail.SetCheckboxes(true);
//m_wndEmail.SetImageList(&m_Image,LVSIL_SMALL);
//m_wndEmail.SetBkColor( RGB(237,191,175) );
//m_wndEmail.SetTextBkColor( RGB(237,191,175) );
m_wndFilt.SubClassWindow2();
m_wndFilt.SetHeadings(_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,50; <20>ʼ<EFBFBD>֪ͨ<CDA8><D6AA><EFBFBD><EFBFBD>,250;"));
m_wndFilt.SetGridLines(true);
m_wndFilt.SetCheckboxes(true);
//m_wndFilt.SetImageList(&m_Image,LVSIL_SMALL);
//m_wndFilt.SetBkColor( RGB(237,191,175) );
//m_wndFilt.SetTextBkColor( RGB(237,191,175) );
m_bInit = true;
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CFSmsEmail::OnSize(UINT nType, int cx, int cy)
{
CDialog::OnSize(nType, cx, cy);
if ( m_bInit )
{
CRect rect;
CRect rect2;
rect.left = 2;
rect.right = cx-1;
rect.top = 8;
rect.bottom = (cy-40)/2;
m_S_S1.MoveWindow(&rect);
rect2.left = rect.left +8;
rect2.right= rect.right-8;
rect2.top= rect.top+23;
rect2.bottom= rect.bottom-8;
m_wndEmail.MoveWindow(&rect2);
rect.top = (cy-40)/2+40;
rect.bottom = cy;
m_S_S2.MoveWindow(&rect);
rect2.left = rect.left +8;
rect2.right= rect.right-8;
rect2.top= rect.top+23;
rect2.bottom= rect.bottom-8;
m_wndFilt.MoveWindow(&rect2);
m_S_S3.GetWindowRect(&rect);
rect2.top = (cy-40)/2+8;
rect2.bottom=rect2.top+rect.Height();
rect2.left = (cx-rect.Width())/2;
rect2.right= rect2.left+rect.Width();
m_S_S3.MoveWindow(&rect2);
m_S_S4.GetWindowRect(&rect);
rect2.top = (cy-40)/2+25;
rect2.bottom=rect2.top+rect.Height();
rect2.left = (cx-rect.Width())/2;
rect2.right= rect2.left+rect.Width();
m_S_S4.MoveWindow(&rect2);
// m_wndList.MoveWindow( 0 , 0 , cx,cy);
}
}
BOOL CFSmsEmail::ProcessSocket(Socket_Head *pHead)
{
//<2F>޸Ĺ<DEB8><C4B9>õ<EFBFBD>ַ<EFBFBD><D6B7>
if (pHead->lFuncType == SMSFUNC_EMAIL_SEE)
{
m_bRefresh = true; //<2F><>ˢ<EFBFBD><CBA2>
m_bRefresh2 = true; //<2F><><EFBFBD><EFBFBD>ˢ<EFBFBD><CBA2>
ANS_Email_See * pSee = (ANS_Email_See *)pHead->pFrame;
ANS_Email_MailData * pMailData = (ANS_Email_MailData *)(pHead->pFrame+sizeof(ANS_Email_See));
ANS_Email_FiltData * pFiltData = (ANS_Email_FiltData *)(pHead->pFrame+sizeof(ANS_Email_See)+sizeof(ANS_Email_MailData)*pSee->lEmailCount);
m_wndEmail.ShowWindow( SW_HIDE ); //<2F>ӿ<EFBFBD><D3BF><EFBFBD>ʾ<EFBFBD>ٶ<EFBFBD>
m_wndFilt.ShowWindow( SW_HIDE ); //<2F>ӿ<EFBFBD><D3BF><EFBFBD>ʾ<EFBFBD>ٶ<EFBFBD>
m_wndEmail.DeleteAllItems();
m_wndFilt.DeleteAllItems();
CString strSelect;
strSelect.Format( _T("delete from email") );
m_AdoRS.Open( strSelect );
m_AdoRS.Close();
strSelect.Format( _T("delete from emailfilt") );
m_AdoRS.Open( strSelect );
m_AdoRS.Close();
m_AdoRS.Open( _T("email") , adCmdTable );
TCHAR szTemp[32]={0};
for ( int i=0 ; i<pSee->lEmailCount;i++ )
{
//д<><D0B4><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD>
m_AdoRS.AddNew();
m_AdoRS.PutCollect( _T("EmailID") , pMailData->lEmailID );
m_AdoRS.PutCollect( _T("CorpID") , pMailData->lCorpID );
m_AdoRS.PutCollect( _T("UserID") , pMailData->lUserID );
m_AdoRS.PutCollect( _T("Name") , pMailData->szName );
m_AdoRS.PutCollect( _T("IP") , pMailData->szIP );
m_AdoRS.PutCollect( _T("UserName") , pMailData->szUser );
m_AdoRS.PutCollect( _T("Passwd") , pMailData->szPasswd );
m_AdoRS.PutCollect( _T("Status") , pMailData->lStatus );
m_AdoRS.Update();
//д<><D0B4><EFBFBD>б<EFBFBD>
m_wndEmail.InsertItem( i , _itot(i+1,szTemp,10),0);
m_wndEmail.SetItemText(i,1,pMailData->szName);
m_wndEmail.SetItemText(i,2,pMailData->szIP);
m_wndEmail.SetItemText(i,3,pMailData->szUser);
_stprintf(szTemp,_T("%3d<33><64><EFBFBD><EFBFBD>"),pMailData->lCheckTime/60);
m_wndEmail.SetItemText(i,4,szTemp);
m_wndEmail.SetCheck(i,pMailData->lStatus);
m_wndEmail.SetItemData(i,pMailData->lEmailID);
pMailData ++;
}
m_AdoRS.Close();
/*
m_AdoRS.Open( "emailfilt" , adCmdTable );
for ( i=0 ; i<pSee->lEmailFiltCount;i++ )
{
//д<><D0B4><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD>
m_AdoRS.AddNew();
m_AdoRS.PutCollect( "EmailFiltID" , pFiltData->lEmailFiltID );
//m_AdoRS.PutCollect( "EmailID" , pFiltData->lEmailID );
m_AdoRS.PutCollect( "CorpID" , pFiltData->lCorpID );
m_AdoRS.PutCollect( "UserID" , pFiltData->lUserID );
m_AdoRS.PutCollect( "Name" , pFiltData->szName );
m_AdoRS.PutCollect( "Status" , pFiltData->lStatus );
m_AdoRS.Update();
//д<><D0B4><EFBFBD>б<EFBFBD>
m_wndFilt.InsertItem( i , _itot(i+1,szTemp,10),0);
m_wndFilt.SetItemText(i,1,pFiltData->szName);
m_wndFilt.SetCheck(i,pFiltData->lStatus);
m_wndFilt.SetItemData(i,pFiltData->lEmailFiltID);
pFiltData ++;
}
m_AdoRS.Close();
*/
m_wndEmail.ShowWindow( SW_SHOW ); //<2F>ӿ<EFBFBD><D3BF><EFBFBD>ʾ<EFBFBD>ٶ<EFBFBD>
m_wndFilt.ShowWindow( SW_SHOW ); //<2F>ӿ<EFBFBD><D3BF><EFBFBD>ʾ<EFBFBD>ٶ<EFBFBD>
m_bRefresh2 = false;
return true;
}
//<2F><><EFBFBD><EFBFBD>Email
if (pHead->lFuncType == SMSFUNC_EMAIL_ADD)
{
ANS_Email_Add * pAdd = (ANS_Email_Add *)pHead->pFrame;
if ( pAdd->bOK ) //<2F><><EFBFBD>ӳɹ<D3B3>
{
long lCount = m_wndEmail.GetItemCount();
TCHAR szTemp[32]={0};
//<2F><><EFBFBD><EFBFBD><EFBFBD>µ<EFBFBD><C2B5><EFBFBD><EFBFBD><EFBFBD>
//д<><D0B4><EFBFBD>б<EFBFBD>
m_wndEmail.InsertItem( lCount , _itot(lCount+1,szTemp,10),0);
m_wndEmail.SetItemText(lCount,1,pAdd->szName);
m_wndEmail.SetItemText(lCount,2,pAdd->szIP);
m_wndEmail.SetItemText(lCount,3,pAdd->szUser);
_stprintf(szTemp,_T("%3d<33><64><EFBFBD><EFBFBD>"),pAdd->lCheckTime/60);
m_wndEmail.SetItemText(lCount,4,szTemp);
m_wndEmail.SetCheck(lCount,pAdd->lStatus);
m_wndEmail.SetItemData(lCount,pAdd->lEmailID);
//<2F><><EFBFBD>ӵ<EFBFBD><D3B5><EFBFBD><EFBFBD>ݿ<EFBFBD><DDBF><EFBFBD>
BOOL b = m_AdoRS.Open( _T("email") , adCmdTable );
if ( b )
{
m_AdoRS.AddNew();
m_AdoRS.PutCollect( _T("EmailID") , pAdd->lEmailID );
m_AdoRS.PutCollect( _T("CorpID") , pAdd->lCorpID );
m_AdoRS.PutCollect( _T("UserID") , pAdd->lUserID );
m_AdoRS.PutCollect( _T("Name") , pAdd->szName );
m_AdoRS.PutCollect( _T("IP") , pAdd->szIP );
m_AdoRS.PutCollect( _T("UserName"), pAdd->szUser );
m_AdoRS.PutCollect( _T("Passwd") , pAdd->szPasswd );
m_AdoRS.PutCollect( _T("Status") , pAdd->lStatus );
m_AdoRS.Update();
}
m_AdoRS.Close();
if ( m_wndFilt.GetItemCount()<=0 )
{
MessageBox( _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֪ͨEmail<EFBFBD><EFBFBD>ַ<EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD>\r\n<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>֪ͨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ú<EFBFBD>֪ͨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"),_T("<EFBFBD><EFBFBD>ʾ"),MB_ICONINFORMATION );
}
}
return true;
}
//<2F>޸<EFBFBD>Email
if (pHead->lFuncType == SMSFUNC_EMAIL_MODIFY)
{
ANS_Email_Modify * pModify = (ANS_Email_Modify *)pHead->pFrame;
if ( pModify->bOK ) //<2F>޸ijɹ<C4B3>
{
//<2F><><EFBFBD><EFBFBD><EFBFBD>µ<EFBFBD><C2B5><EFBFBD><EFBFBD><EFBFBD>
//д<><D0B4><EFBFBD>б<EFBFBD>
if ( !pModify->bOnlyStatus ) //<2F><><EFBFBD>޸<EFBFBD>״̬
{
m_wndEmail.SetCheck(pModify->lItemID,pModify->lStatus);
m_wndEmail.SetItemText(pModify->lItemID,1,pModify->szName);
m_wndEmail.SetItemText(pModify->lItemID,2,pModify->szIP);
m_wndEmail.SetItemText(pModify->lItemID,3,pModify->szUser);
TCHAR szTemp[32]={0};
_stprintf(szTemp,_T("%3d<33><64><EFBFBD><EFBFBD>"),pModify->lCheckTime/60);
m_wndEmail.SetItemText(pModify->lItemID,4,szTemp);
}
//<2F><><EFBFBD>ӵ<EFBFBD><D3B5><EFBFBD><EFBFBD>ݿ<EFBFBD><DDBF><EFBFBD>
CString strSelect;
strSelect.Format( _T("select * from email where EmailID=%d") , pModify->lEmailID );
BOOL b = m_AdoRS.Open( strSelect );
if ( b )
{
m_AdoRS.MoveFirst();
if ( pModify->bOnlyStatus ) //<2F><><EFBFBD>޸<EFBFBD>״̬
{
m_AdoRS.PutCollect( _T("Status") , pModify->lStatus );
}
else
{
m_AdoRS.PutCollect( _T("Status") , pModify->lStatus );
m_AdoRS.PutCollect( _T("EmailID") , pModify->lEmailID );
m_AdoRS.PutCollect( _T("CorpID") , pModify->lCorpID );
m_AdoRS.PutCollect( _T("UserID") , pModify->lUserID );
m_AdoRS.PutCollect( _T("Name") , pModify->szName );
m_AdoRS.PutCollect( _T("IP") , pModify->szIP );
m_AdoRS.PutCollect( _T("UserName"), pModify->szUser );
m_AdoRS.PutCollect( _T("Passwd") , pModify->szPasswd );
}
m_AdoRS.Update();
m_AdoRS.Close();
}
}
return true;
}
//ɾ<><C9BE><EFBFBD>û<EFBFBD>
if (pHead->lFuncType == SMSFUNC_EMAIL_DEL)
{
ANS_Email_Del * pDel = (ANS_Email_Del *)pHead->pFrame;
ANS_Email_DelData * pDelData = (ANS_Email_DelData *)(pHead->pFrame+sizeof(ANS_Email_Del));
m_wndEmail.ShowWindow( SW_HIDE ); //Ϊ<>˼ӿ<CBBC><D3BF><EFBFBD>ʾ<EFBFBD>ٶ<EFBFBD>
for ( int i = pDel->lCount-1 ; i>=0 ; i-- )
{
long lEmailID = m_wndEmail.GetItemData(pDelData[i].lItem);
if ( pDelData[i].lEmailID && lEmailID == pDelData[i].lEmailID) //ɾ<><C9BE><EFBFBD>ɹ<EFBFBD>
{
m_wndEmail.DeleteItem(pDelData[i].lItem); //<2F><>ListCtrl<72><6C>ɾ<EFBFBD><C9BE>
//<2F><><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD><DDBF><EFBFBD>ɾ<EFBFBD><C9BE>
TCHAR szSelect[128]={0};
_stprintf( szSelect , _T("delete from email where EmailID=%d ") ,pDelData[i].lEmailID );
m_AdoRS.Open( szSelect );
m_AdoRS.Close();
}
}
m_wndEmail.ShowWindow( SW_SHOW ); //Ϊ<>˼ӿ<CBBC><D3BF><EFBFBD>ʾ<EFBFBD>ٶ<EFBFBD>
return true;
}
//<2F><><EFBFBD><EFBFBD>EmailFilt
if (pHead->lFuncType == SMSFUNC_EMAILFILT_ADD)
{
ANS_EmailFilt_Add * pAdd = (ANS_EmailFilt_Add *)pHead->pFrame;
if ( pAdd->bOK ) //<2F><><EFBFBD>ӳɹ<D3B3>
{
long lCount = m_wndFilt.GetItemCount();
TCHAR szTemp[32]={0};
//<2F><><EFBFBD><EFBFBD><EFBFBD>µ<EFBFBD><C2B5><EFBFBD><EFBFBD><EFBFBD>
//д<><D0B4><EFBFBD>б<EFBFBD>
m_wndFilt.InsertItem( lCount , _itot(lCount+1,szTemp,10),0);
m_wndFilt.SetItemText(lCount,1,pAdd->szName);
m_wndFilt.SetCheck(lCount,pAdd->lStatus);
m_wndFilt.SetItemData(lCount,pAdd->lEmailFiltID);
//<2F><><EFBFBD>ӵ<EFBFBD><D3B5><EFBFBD><EFBFBD>ݿ<EFBFBD><DDBF><EFBFBD>
BOOL b = m_AdoRS.Open( _T("emailfilt") , adCmdTable );
if ( b )
{
m_AdoRS.AddNew();
m_AdoRS.PutCollect( _T("EmailFiltID") , pAdd->lEmailFiltID );
m_AdoRS.PutCollect( _T("CorpID") , pAdd->lCorpID );
m_AdoRS.PutCollect( _T("UserID") , pAdd->lUserID );
m_AdoRS.PutCollect( _T("Name") , pAdd->szName );
m_AdoRS.PutCollect( _T("Status") , pAdd->lStatus );
m_AdoRS.Update();
}
m_AdoRS.Close();
}
return true;
}
//<2F>޸<EFBFBD>EmailFilt
if (pHead->lFuncType == SMSFUNC_EMAILFILT_MODIFY)
{
ANS_EmailFilt_Modify * pModify = (ANS_EmailFilt_Modify *)pHead->pFrame;
if ( pModify->bOK ) //<2F>޸ijɹ<C4B3>
{
//<2F><><EFBFBD><EFBFBD><EFBFBD>µ<EFBFBD><C2B5><EFBFBD><EFBFBD><EFBFBD>
//д<><D0B4><EFBFBD>б<EFBFBD>
if ( !pModify->bOnlyStatus ) //<2F><><EFBFBD>޸<EFBFBD>״̬
{
m_wndFilt.SetCheck(pModify->lItemID,pModify->lStatus);
m_wndFilt.SetItemText(pModify->lItemID,1,pModify->szName);
}
//<2F><><EFBFBD>ӵ<EFBFBD><D3B5><EFBFBD><EFBFBD>ݿ<EFBFBD><DDBF><EFBFBD>
CString strSelect;
strSelect.Format( _T("select * from emailfilt where EmailFiltID=%d") , pModify->lEmailFiltID );
BOOL b = m_AdoRS.Open( strSelect );
if ( b )
{
m_AdoRS.MoveFirst();
if ( pModify->bOnlyStatus ) //<2F><><EFBFBD>޸<EFBFBD>״̬
{
m_AdoRS.PutCollect( _T("Status") , pModify->lStatus );
}
else
{
m_AdoRS.PutCollect( _T("Status") , pModify->lStatus );
m_AdoRS.PutCollect( _T("EmailFiltID") , pModify->lEmailFiltID );
m_AdoRS.PutCollect( _T("CorpID") , pModify->lCorpID );
m_AdoRS.PutCollect( _T("UserID") , pModify->lUserID );
m_AdoRS.PutCollect( _T("Name") , pModify->szName );
}
m_AdoRS.Update();
m_AdoRS.Close();
}
}
return true;
}
//ɾ<><C9BE><EFBFBD>û<EFBFBD>
if (pHead->lFuncType == SMSFUNC_EMAILFILT_DEL)
{
ANS_EmailFilt_Del * pDel = (ANS_EmailFilt_Del *)pHead->pFrame;
ANS_EmailFilt_DelData * pDelData = (ANS_EmailFilt_DelData *)(pHead->pFrame+sizeof(ANS_EmailFilt_Del));
m_wndFilt.ShowWindow( SW_HIDE ); //Ϊ<>˼ӿ<CBBC><D3BF><EFBFBD>ʾ<EFBFBD>ٶ<EFBFBD>
for ( int i = pDel->lCount-1 ; i>=0 ; i-- )
{
long lEmailFiltID = m_wndFilt.GetItemData(pDelData[i].lItem);
if ( pDelData[i].lEmailFiltID && lEmailFiltID == pDelData[i].lEmailFiltID) //ɾ<><C9BE><EFBFBD>ɹ<EFBFBD>
{
m_wndFilt.DeleteItem(pDelData[i].lItem); //<2F><>ListCtrl<72><6C>ɾ<EFBFBD><C9BE>
//<2F><><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD><DDBF><EFBFBD>ɾ<EFBFBD><C9BE>
TCHAR szSelect[128]={0};
_stprintf( szSelect , _T("delete from emailfilt where EmailFiltID=%d ") ,pDelData[i].lEmailFiltID );
m_AdoRS.Open( szSelect );
m_AdoRS.Close();
}
}
m_wndFilt.ShowWindow( SW_SHOW ); //Ϊ<>˼ӿ<CBBC><D3BF><EFBFBD>ʾ<EFBFBD>ٶ<EFBFBD>
return true;
}
//<2F>鿴EmailFilt
if (pHead->lFuncType == SMSFUNC_EMAILFILT_SEE)
{
m_bRefresh2 = true; //<2F><><EFBFBD><EFBFBD>ˢ<EFBFBD><CBA2>
ANS_EmailFilt_See * pSee = (ANS_EmailFilt_See *)pHead->pFrame;
ANS_EmailFilt_SeeData * pFiltData = (ANS_EmailFilt_SeeData *)(pHead->pFrame+sizeof(ANS_EmailFilt_See));
m_wndFilt.ShowWindow( SW_HIDE ); //<2F>ӿ<EFBFBD><D3BF><EFBFBD>ʾ<EFBFBD>ٶ<EFBFBD>
m_wndFilt.DeleteAllItems();
CString strSelect;
TCHAR szTemp[32]={0};
strSelect.Format( _T("delete from emailfilt") );
m_AdoRS.Open( strSelect );
m_AdoRS.Close();
m_AdoRS.Open( _T("emailfilt") , adCmdTable );
for ( int i=0 ; i<pSee->lCount;i++ )
{
//д<><D0B4><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD>
m_AdoRS.AddNew();
m_AdoRS.PutCollect( _T("EmailFiltID") , pFiltData->lEmailFiltID );
m_AdoRS.PutCollect( _T("EmailID") , pFiltData->lEmailID );
m_AdoRS.PutCollect( _T("CorpID") , pFiltData->lCorpID );
m_AdoRS.PutCollect( _T("UserID") , pFiltData->lUserID );
m_AdoRS.PutCollect( _T("Name") , pFiltData->szName );
m_AdoRS.PutCollect( _T("Status") , pFiltData->lStatus );
m_AdoRS.Update();
//д<><D0B4><EFBFBD>б<EFBFBD>
m_wndFilt.InsertItem( i , _itot(i+1,szTemp,10),0);
m_wndFilt.SetItemText(i,1,pFiltData->szName);
m_wndFilt.SetCheck(i,pFiltData->lStatus);
m_wndFilt.SetItemData(i,pFiltData->lEmailFiltID);
pFiltData ++;
}
m_AdoRS.Close();
m_wndFilt.ShowWindow( SW_SHOW ); //<2F>ӿ<EFBFBD><D3BF><EFBFBD>ʾ<EFBFBD>ٶ<EFBFBD>
m_bRefresh2 = false;
return true;
}
return true;
}
void CFSmsEmail::OnDblclkSmsemailEmail(NMHDR* pNMHDR, LRESULT* pResult)
{
*pResult = 0;
On_Email_Modify();
}
void CFSmsEmail::OnKeydownSmsemailEmail(NMHDR* pNMHDR, LRESULT* pResult)
{
LV_KEYDOWN* pLVKeyDow = (LV_KEYDOWN*)pNMHDR;
*pResult = 0;
if ( pLVKeyDow->wVKey == VK_DELETE )
{
On_Email_Delete();
}
if ( pLVKeyDow->wVKey == VK_INSERT)
{
On_Email_Add();
}
if ( pLVKeyDow->wVKey == VK_SPACE)
{
On_Email_Modify();
}
if ( pLVKeyDow->wVKey == 'R' || pLVKeyDow->wVKey == 'r')
{
On_Email_Refresh();
}
}
void CFSmsEmail::OnRclickSmsemailEmail(NMHDR* pNMHDR, LRESULT* pResult)
{
*pResult = 0;
ShowRMenuE();
}
void CFSmsEmail::OnDblclkSmsemailFilt(NMHDR* pNMHDR, LRESULT* pResult)
{
*pResult = 0;
On_Filt_Modify();
}
void CFSmsEmail::OnKeydownSmsemailFilt(NMHDR* pNMHDR, LRESULT* pResult)
{
LV_KEYDOWN* pLVKeyDow = (LV_KEYDOWN*)pNMHDR;
*pResult = 0;
if ( pLVKeyDow->wVKey == VK_DELETE )
{
On_Filt_Delete();
}
if ( pLVKeyDow->wVKey == VK_INSERT)
{
On_Filt_Add();
}
if ( pLVKeyDow->wVKey == VK_SPACE)
{
On_Filt_Modify();
}
if ( pLVKeyDow->wVKey == 'R' || pLVKeyDow->wVKey == 'r')
{
On_Filt_Refresh();
}
}
void CFSmsEmail::OnRclickSmsemailFilt(NMHDR* pNMHDR, LRESULT* pResult)
{
*pResult = 0;
ShowRMenuF();
}
void CFSmsEmail::ShowRMenuE()
{
if (!m_pMainFrame->GetUserPurview(PURVIEW_SMSEMAIL,false)) //û<>в鿴Ȩ<E9BFB4><C8A8>
return ;
CMenu menu;
menu.CreatePopupMenu();
BOOL bLock = false;
long lItem = this->GetCurrentSelectedE();
if ( lItem >= 0 )
bLock = isLockItemE( lItem , false ); //ȡ<><C8A1><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD>
menu.AppendMenu(MF_STRING , MENU_EMAIL_ADD, _T(" <20><><EFBFBD><EFBFBD>Email ") );
menu.AppendMenu(MF_SEPARATOR );
//<2F>޸<EFBFBD>
if ( lItem >=0 && !bLock)
{
menu.AppendMenu(MF_STRING , MENU_EMAIL_MODIFY, _T(" <20><> <20><> ") );
menu.AppendMenu(MF_STRING , MENU_EMAIL_DELETE, _T(" ɾ <20><> ") );
}
else
{
menu.AppendMenu(MF_STRING|MF_DISABLED|MF_GRAYED , MENU_EMAIL_MODIFY, _T(" <20><> <20><> ") );
menu.AppendMenu(MF_STRING|MF_DISABLED|MF_GRAYED , MENU_EMAIL_DELETE, _T(" ɾ <20><> ") );
}
menu.AppendMenu(MF_SEPARATOR );
menu.AppendMenu(MF_STRING , MENU_EMAIL_REFRESH, _T(" ˢ <20><> ") );
//<2F><>ʾ<EFBFBD>˵<EFBFBD>
POINT pt ;
::GetCursorPos( &pt );
//this->ClientToScreen( &pt);
menu.TrackPopupMenu(TPM_LEFTBUTTON | TPM_RIGHTBUTTON,pt.x,pt.y, this, NULL);
menu.DestroyMenu();
}
void CFSmsEmail::ShowRMenuF()
{
if (!m_pMainFrame->GetUserPurview(PURVIEW_SMSEMAIL,false)) //û<>в鿴Ȩ<E9BFB4><C8A8>
return ;
CMenu menu;
menu.CreatePopupMenu();
BOOL bLock = false;
long lItem = this->GetCurrentSelectedF();
if ( lItem >= 0 )
bLock = isLockItemF( lItem , false ); //ȡ<><C8A1><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD>
menu.AppendMenu(MF_STRING , MENU_FILT_ADD, _T(" <20><><EFBFBD><EFBFBD>֪ͨ<CDA8><D6AA><EFBFBD><EFBFBD> ") );
menu.AppendMenu(MF_SEPARATOR );
//<2F>޸<EFBFBD>
if ( lItem >=0 && !bLock)
{
menu.AppendMenu(MF_STRING , MENU_FILT_MODIFY, _T(" <20><> <20><> ") );
menu.AppendMenu(MF_STRING , MENU_FILT_DELETE, _T(" ɾ <20><> ") );
}
else
{
menu.AppendMenu(MF_STRING|MF_DISABLED|MF_GRAYED , MENU_FILT_MODIFY, _T(" <20><> <20><> ") );
menu.AppendMenu(MF_STRING|MF_DISABLED|MF_GRAYED , MENU_FILT_DELETE, _T(" ɾ <20><> ") );
}
menu.AppendMenu(MF_SEPARATOR );
menu.AppendMenu(MF_STRING , MENU_FILT_REFRESH, _T(" ˢ <20><> ") );
//<2F><>ʾ<EFBFBD>˵<EFBFBD>
POINT pt ;
::GetCursorPos( &pt );
//this->ClientToScreen( &pt);
menu.TrackPopupMenu(TPM_LEFTBUTTON | TPM_RIGHTBUTTON,pt.x,pt.y, this, NULL);
menu.DestroyMenu();
}
long CFSmsEmail::GetCurrentSelectedE()
{
POSITION pos = m_wndEmail.GetFirstSelectedItemPosition();
if ( pos )
{
return m_wndEmail.GetNextSelectedItem(pos);
}
return -1;
}
long CFSmsEmail::GetCurrentSelectedF()
{
POSITION pos = m_wndFilt.GetFirstSelectedItemPosition();
if ( pos )
{
return m_wndFilt.GetNextSelectedItem(pos);
}
return -1;
}
void CFSmsEmail::On_Email_Add()
{
if (!m_pMainFrame->GetUserPurview(PURVIEW_SMSEMAIL,false)) //û<>в鿴Ȩ<E9BFB4><C8A8>
return ;
long lCount = m_wndEmail.GetItemCount();
if ( lCount > 10 )
{
MessageBox( _T("ÿλ<EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>10<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʲ") , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>") , MB_ICONWARNING );
return ;
}
ANS_Email_MailData data={0};
data.lStatus = 1; //Ĭ<><C4AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
data.lCheckTime=5; //Ĭ<><C4AC><EFBFBD><EFBFBD>5<EFBFBD><35><EFBFBD><EFBFBD>
DLG_SmsEmail_Add dlg(this);
dlg.SetParam(m_strMobile,data);
if ( dlg.DoModal()==IDOK )
{
REQ_Email_Add * pAdd = new REQ_Email_Add;
memset(pAdd,0,sizeof(REQ_Email_Add));
pAdd->lCorpID = m_pMainFrame->m_lCorpID;
pAdd->lUserID = m_pMainFrame->m_lUserID;
pAdd->lStatus = dlg.m_bEnable;
pAdd->lCheckTime=dlg.m_lCheckTime*60; //<2F><>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>Ƶ<EFBFBD>
_tcscpy(pAdd->szName , dlg.m_strName );
_tcscpy(pAdd->szIP , dlg.m_strIP );
_tcscpy(pAdd->szUser , dlg.m_strUser );
_tcscpy(pAdd->szPasswd, dlg.m_strPasswd );
m_pMainFrame->SendFrame( SMSFUNC_EMAIL_ADD , (BYTE*)pAdd , sizeof( REQ_Email_Add ) ); //<2F><><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD>Ϣ֪ͨ
REQ_SendSms * pSms = new REQ_SendSms;
memset(pSms,0,sizeof(REQ_SendSms));
pSms->lCorpID = m_pMainFrame->m_lCorpID;
pSms->lUserID = m_pMainFrame->m_lUserID;
_tcscpy( pSms->szMobile , m_strMobile);
#ifdef MOBSET_OEM
_stprintf(pSms->szMsg , _T("<EFBFBD><EFBFBD>ӭʹ<EFBFBD>ö<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѳɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD>%s<><73><EFBFBD>Ķ<EFBFBD><C4B6><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>ѹ<EFBFBD><D1B9>ܣ<EFBFBD>"),dlg.m_strName);
#else
_stprintf(pSms->szMsg , _T("<EFBFBD><EFBFBD>ӭʹ<EFBFBD>ö<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѳɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD>%s<><73><EFBFBD>Ķ<EFBFBD><C4B6><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>ѹ<EFBFBD><D1B9>ܣ<EFBFBD><DCA3><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѯ<EFBFBD><D1AF>400-111-0168<36><38>"),dlg.m_strName);
#endif
m_pMainFrame->SendFrame( SMSFUNC_SENDSMS , (BYTE*)pSms , sizeof( REQ_SendSms ) ); //<2F><><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD><EFBFBD>
}
}
void CFSmsEmail::On_Email_Modify()
{
if (!m_pMainFrame->GetUserPurview(PURVIEW_SMSEMAIL,false)) //û<>в鿴Ȩ<E9BFB4><C8A8>
return ;
long lItem = this->GetCurrentSelectedE();
if ( lItem < 0 )
return ;
ANS_Email_MailData data=GetEmailData(lItem);
DLG_SmsEmail_Add dlg(this);
dlg.SetParam(m_strMobile,data);
if ( dlg.DoModal()==IDOK )
{
REQ_Email_Modify * pModify = new REQ_Email_Modify;
memset(pModify,0,sizeof(REQ_Email_Modify));
pModify->bOnlyStatus = false; //<2F>޸<EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB>״̬
pModify->lItemID = lItem;
pModify->lEmailID= data.lEmailID;
pModify->lCorpID = m_pMainFrame->m_lCorpID;
pModify->lUserID = m_pMainFrame->m_lUserID;
pModify->lStatus = dlg.m_bEnable;
pModify->lCheckTime=dlg.m_lCheckTime*60; //<2F><>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>Ƶ<EFBFBD>
_tcscpy(pModify->szName , dlg.m_strName );
_tcscpy(pModify->szIP , dlg.m_strIP );
_tcscpy(pModify->szUser , dlg.m_strUser );
_tcscpy(pModify->szPasswd, dlg.m_strPasswd );
m_pMainFrame->SendFrame( SMSFUNC_EMAIL_MODIFY , (BYTE*)pModify , sizeof( REQ_Email_Modify ) ); //<2F><><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD><EFBFBD>
}
}
void CFSmsEmail::On_Email_Delete()
{
if (!m_pMainFrame->GetUserPurview(PURVIEW_SMSEMAIL,false)) //û<>в鿴Ȩ<E9BFB4><C8A8>
return ;
long lCount = m_wndEmail.GetSelectedCount();
long lSize = sizeof(REQ_Email_Del)+sizeof(ANS_Email_DelData)*lCount;
BYTE * pDelSend = new BYTE[lSize];memset(pDelSend,0,lSize);
REQ_Email_Del * pDel = (REQ_Email_Del *)pDelSend; //ͷ
ANS_Email_DelData * pDelData = (ANS_Email_DelData *)(pDelSend+sizeof(REQ_Email_Del));
pDel->lCount = lCount;
POSITION pos = m_wndEmail.GetFirstSelectedItemPosition();
while(pos)
{
pDelData->lItem = m_wndEmail.GetNextSelectedItem(pos);
pDelData->lEmailID= m_wndEmail.GetItemData(pDelData->lItem);
pDelData ++;
}
m_pMainFrame->SendFrame( SMSFUNC_EMAIL_DEL , pDelSend , lSize );
}
void CFSmsEmail::On_Email_Refresh()
{
this->RefreshInfo();
}
void CFSmsEmail::On_Filt_Add()
{
if (!m_pMainFrame->GetUserPurview(PURVIEW_SMSEMAIL,false)) //û<>в鿴Ȩ<E9BFB4><C8A8>
return ;
long lItem = this->GetCurrentSelectedE();
if ( lItem <0 )
{
MessageBox( _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD>Email<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֪ͨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>") , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>") , MB_ICONWARNING );
return ;
}
long lEmailID = m_wndEmail.GetItemData(lItem);
DLG_SmsEmailFilt_Add dlg(this);
dlg.SetParam("",true);
if ( dlg.DoModal()==IDOK )
{
REQ_EmailFilt_Add * pAdd = new REQ_EmailFilt_Add;
memset(pAdd,0,sizeof(REQ_EmailFilt_Add));
pAdd->lCorpID = m_pMainFrame->m_lCorpID;
pAdd->lUserID = m_pMainFrame->m_lUserID;
pAdd->lEmailID= lEmailID;
pAdd->lStatus = dlg.m_bEnable;
_tcscpy(pAdd->szName , dlg.m_strName );
m_pMainFrame->SendFrame( SMSFUNC_EMAILFILT_ADD , (BYTE*)pAdd , sizeof( REQ_EmailFilt_Add ) ); //<2F><><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD><EFBFBD>
}
}
void CFSmsEmail::On_Filt_Modify()
{
if (!m_pMainFrame->GetUserPurview(PURVIEW_SMSEMAIL,false)) //û<>в鿴Ȩ<E9BFB4><C8A8>
return ;
long lItem = this->GetCurrentSelectedF();
if ( lItem < 0 )
return ;
ANS_Email_FiltData data=GetFiltData(lItem);
DLG_SmsEmailFilt_Add dlg(this);
dlg.SetParam(data.szName,data.lStatus);
if ( dlg.DoModal()==IDOK )
{
REQ_EmailFilt_Modify * pModify = new REQ_EmailFilt_Modify;
memset(pModify,0,sizeof(REQ_EmailFilt_Modify));
pModify->bOnlyStatus = false; //<2F>޸<EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB>״̬
pModify->lItemID = lItem;
pModify->lEmailFiltID= data.lEmailFiltID;
pModify->lCorpID = m_pMainFrame->m_lCorpID;
pModify->lUserID = m_pMainFrame->m_lUserID;
pModify->lStatus = dlg.m_bEnable;
_tcscpy(pModify->szName , dlg.m_strName );
m_pMainFrame->SendFrame( SMSFUNC_EMAILFILT_MODIFY , (BYTE*)pModify , sizeof( REQ_EmailFilt_Modify ) ); //<2F><><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD><EFBFBD>
}
}
void CFSmsEmail::On_Filt_Delete()
{
if (!m_pMainFrame->GetUserPurview(PURVIEW_SMSEMAIL,false)) //û<>в鿴Ȩ<E9BFB4><C8A8>
return ;
long lCount = m_wndFilt.GetSelectedCount();
long lSize = sizeof(REQ_EmailFilt_Del)+sizeof(ANS_EmailFilt_DelData)*lCount;
BYTE * pDelSend = new BYTE[lSize];memset(pDelSend,0,lSize);
REQ_EmailFilt_Del * pDel = (REQ_EmailFilt_Del *)pDelSend; //ͷ
ANS_EmailFilt_DelData * pDelData = (ANS_EmailFilt_DelData *)(pDelSend+sizeof(REQ_EmailFilt_Del));
pDel->lCount = lCount;
POSITION pos = m_wndFilt.GetFirstSelectedItemPosition();
while(pos)
{
pDelData->lItem = m_wndFilt.GetNextSelectedItem(pos);
pDelData->lEmailFiltID= m_wndFilt.GetItemData(pDelData->lItem);
pDelData ++;
}
m_pMainFrame->SendFrame( SMSFUNC_EMAILFILT_DEL , pDelSend , lSize );
}
void CFSmsEmail::On_Filt_Refresh()
{
this->RefreshInfo();
}
BOOL CFSmsEmail::isLockItemE(long lItem, BOOL bShowWarning)
{
BOOL b = (m_wndEmail.GetIconIndex(lItem) == 1);
if ( b && bShowWarning )
{
MessageBox( _T("<EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>غ<EFBFBD><EFBFBD>ٲ<EFBFBD><EFBFBD><EFBFBD>!") , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>") , MB_ICONINFORMATION );
}
return b;
}
BOOL CFSmsEmail::isLockItemF(long lItem, BOOL bShowWarning)
{
BOOL b = (m_wndFilt.GetIconIndex(lItem) == 1);
if ( b && bShowWarning )
{
MessageBox( _T("<EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>غ<EFBFBD><EFBFBD>ٲ<EFBFBD><EFBFBD><EFBFBD>!") , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>") , MB_ICONINFORMATION );
}
return b;
}
void CFSmsEmail::SetLockItemE(long lItem, BOOL bLock)
{
if ( bLock )
m_wndEmail.SetIconIndex( lItem , 1 );
else
m_wndEmail.SetIconIndex( lItem , 0 );
}
void CFSmsEmail::SetLockItemF(long lItem, BOOL bLock)
{
if ( bLock )
m_wndFilt.SetIconIndex( lItem , 1 );
else
m_wndFilt.SetIconIndex( lItem , 0 );
}
ANS_Email_MailData CFSmsEmail::GetEmailData(long lItem)
{
ANS_Email_MailData data= {0};
long lID = m_wndEmail.GetItemData(lItem);
CString strSelect;
strSelect.Format( _T("select * from email where EmailID=%d") , lID );
if ( m_AdoRS.Open(strSelect) && m_AdoRS.GetRecordCount() )
{
m_AdoRS.MoveFirst();
data.lEmailID = lID;
m_AdoRS.GetCollect(_T("CorpID") , data.lCorpID );
m_AdoRS.GetCollect(_T("UserID") , data.lUserID );
m_AdoRS.GetCollect(_T("Status") , data.lStatus );
m_AdoRS.GetCollect(_T("Name") , data.szName );
m_AdoRS.GetCollect(_T("IP") , data.szIP );
m_AdoRS.GetCollect(_T("UserName") , data.szUser );
m_AdoRS.GetCollect(_T("Passwd") , data.szPasswd );
m_AdoRS.Close();
}
strSelect = m_wndEmail.GetItemText(lItem,4);
data.lCheckTime = _ttol(strSelect);
return data;
}
void CFSmsEmail::OnItemchangedSmsemailEmail(NMHDR* pNMHDR, LRESULT* pResult)
{
NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;
*pResult = 0;
if ( m_wndEmail.GetSelectedCount() > 1 ) //<2F><><EFBFBD><EFBFBD>1<EFBFBD><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
return ;
if ( m_bRefresh2 )
return ;
//ԭ<>ǽ<EFBFBD><C7BD>ã<EFBFBD><C3A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if ( pNMListView->uNewState==8192 && pNMListView->uOldState== 4096 )
{
REQ_Email_Modify * pModify = new REQ_Email_Modify;
memset(pModify,0,sizeof(REQ_Email_Modify));
pModify->bOnlyStatus = true; //<2F>޸<EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB>״̬
pModify->lItemID = pNMListView->iItem;
pModify->lEmailID = m_wndEmail.GetItemData(pNMListView->iItem);
pModify->lCorpID = m_pMainFrame->m_lCorpID;
pModify->lUserID = m_pMainFrame->m_lUserID;
pModify->lStatus = 1; //<2F><><EFBFBD><EFBFBD>
m_pMainFrame->SendFrame( SMSFUNC_EMAIL_MODIFY , (BYTE*)pModify , sizeof( REQ_Email_Modify ) ); //<2F><><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD><EFBFBD>
return ;
}
//ԭ<><D4AD><EFBFBD><EFBFBD><EFBFBD>ã<EFBFBD><C3A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǽ<EFBFBD><C7BD><EFBFBD>
if ( pNMListView->uNewState==4096 && pNMListView->uOldState== 8192 )
{
REQ_Email_Modify * pModify = new REQ_Email_Modify;
memset(pModify,0,sizeof(REQ_Email_Modify));
pModify->bOnlyStatus = true; //<2F>޸<EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB>״̬
pModify->lItemID = pNMListView->iItem;
pModify->lEmailID = m_wndEmail.GetItemData(pNMListView->iItem);
pModify->lCorpID = m_pMainFrame->m_lCorpID;
pModify->lUserID = m_pMainFrame->m_lUserID;
pModify->lStatus = 0; //<2F><><EFBFBD><EFBFBD>
m_pMainFrame->SendFrame( SMSFUNC_EMAIL_MODIFY , (BYTE*)pModify , sizeof( REQ_Email_Modify ) ); //<2F><><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD><EFBFBD>
return ;
}
if ( pNMListView->uNewState==3 && pNMListView->uOldState==0)
{
long lItem = this->GetCurrentSelectedE();
if ( lItem >= 0 )
{
long lEmailID = this->m_wndEmail.GetItemData(lItem);
REQ_EmailFilt_See * pSee = new REQ_EmailFilt_See;
memset(pSee,0,sizeof(REQ_EmailFilt_See));
pSee->lCorpID = m_pMainFrame->m_lCorpID;
pSee->lUserID = m_pMainFrame->m_lUserID;
pSee->lEmailID= lEmailID;
m_pMainFrame->SendFrame( SMSFUNC_EMAILFILT_SEE , (BYTE*)pSee , sizeof( REQ_EmailFilt_See ) ); //<2F><><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD><EFBFBD>
m_wndFilt.DeleteAllItems();
}
}
}
ANS_Email_FiltData CFSmsEmail::GetFiltData(long lItem)
{
ANS_Email_FiltData data= {0};
long lID = m_wndFilt.GetItemData(lItem);
CString strSelect;
strSelect.Format( _T("select * from emailfilt where EmailFiltID=%d") , lID );
if ( m_AdoRS.Open(strSelect) && m_AdoRS.GetRecordCount() )
{
m_AdoRS.MoveFirst();
data.lEmailFiltID = lID;
m_AdoRS.GetCollect(_T("CorpID") , data.lCorpID );
m_AdoRS.GetCollect(_T("UserID") , data.lUserID );
m_AdoRS.GetCollect(_T("Status") , data.lStatus );
m_AdoRS.GetCollect(_T("Name") , data.szName );
m_AdoRS.Close();
}
return data;
}
void CFSmsEmail::OnItemchangedSmsemailFilt(NMHDR* pNMHDR, LRESULT* pResult)
{
NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;
*pResult = 0;
if ( m_wndFilt.GetSelectedCount() > 1 ) //<2F><><EFBFBD><EFBFBD>1<EFBFBD><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
return ;
if ( m_bRefresh2 )
return ;
//ԭ<>ǽ<EFBFBD><C7BD>ã<EFBFBD><C3A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if ( pNMListView->uNewState==8192 && pNMListView->uOldState== 4096 )
{
REQ_EmailFilt_Modify * pModify = new REQ_EmailFilt_Modify;
memset(pModify,0,sizeof(REQ_EmailFilt_Modify));
pModify->bOnlyStatus = true; //<2F>޸<EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB>״̬
pModify->lItemID = pNMListView->iItem;
pModify->lEmailFiltID = m_wndFilt.GetItemData(pNMListView->iItem);
pModify->lCorpID = m_pMainFrame->m_lCorpID;
pModify->lUserID = m_pMainFrame->m_lUserID;
pModify->lStatus = 1; //<2F><><EFBFBD><EFBFBD>
m_pMainFrame->SendFrame( SMSFUNC_EMAILFILT_MODIFY , (BYTE*)pModify , sizeof( REQ_EmailFilt_Modify ) ); //<2F><><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD><EFBFBD>
}
//ԭ<><D4AD><EFBFBD><EFBFBD><EFBFBD>ã<EFBFBD><C3A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǽ<EFBFBD><C7BD><EFBFBD>
if ( pNMListView->uNewState==4096 && pNMListView->uOldState== 8192 )
{
REQ_EmailFilt_Modify * pModify = new REQ_EmailFilt_Modify;
memset(pModify,0,sizeof(REQ_EmailFilt_Modify));
pModify->bOnlyStatus = true; //<2F>޸<EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB>״̬
pModify->lItemID = pNMListView->iItem;
pModify->lEmailFiltID = m_wndFilt.GetItemData(pNMListView->iItem);
pModify->lCorpID = m_pMainFrame->m_lCorpID;
pModify->lUserID = m_pMainFrame->m_lUserID;
pModify->lStatus = 0; //<2F><><EFBFBD><EFBFBD>
m_pMainFrame->SendFrame( SMSFUNC_EMAILFILT_MODIFY , (BYTE*)pModify , sizeof( REQ_EmailFilt_Modify ) ); //<2F><><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD><EFBFBD>
}
}
void CFSmsEmail::OnOK()
{
//CDialog::OnOK();
}
void CFSmsEmail::OnCancel()
{
//CDialog::OnCancel();
}