📄 leaguermanagedlg.cpp
字号:
// LeaguerManageDlg.cpp : implementation file
//
#include "stdafx.h"
#include "Server.h"
#include "LeaguerManageDlg.h"
#include "AddLeaguerDlg.h"
#include "DaoLeaguer.h"
#include "AddFreeDlg.h"
#include "MainFrm.h"
#include "math.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CLeaguerManageDlg dialog
CLeaguerManageDlg::CLeaguerManageDlg(CWnd* pParent /*=NULL*/)
: CDialog(CLeaguerManageDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CLeaguerManageDlg)
m_strSearchName = _T("");
m_pParent = pParent;
m_nID = CLeaguerManageDlg::IDD;
//}}AFX_DATA_INIT
}
void CLeaguerManageDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CLeaguerManageDlg)
DDX_Control(pDX, IDC_SEARCH_TYPE_COMBO, m_CtrlSearchCombo);
DDX_Control(pDX, IDC_LEAGUER_LIST, m_CtrlList);
DDX_Text(pDX, IDC_SEARCH_NAME_EDIT, m_strSearchName);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CLeaguerManageDlg, CDialog)
//{{AFX_MSG_MAP(CLeaguerManageDlg)
ON_BN_CLICKED(IDC_ADD_LEAGUER_BUTTON, OnAddLeaguer)
ON_BN_CLICKED(IDC_ADD_FREE_BUTTON, OnAddFree)
ON_BN_CLICKED(IDC_MODIFY_BUTTON, OnModifyLeaguer)
ON_BN_CLICKED(IDC_EXIT_BUTTON, OnExitButton)
ON_BN_CLICKED(IDC_SEARCH_BUTTON, OnSearchButton)
ON_NOTIFY(NM_RCLICK, IDC_LEAGUER_LIST, OnRclickLeaguerList)
ON_BN_CLICKED(IDC_DELETE_BUTTON, OnDeleteButton)
ON_COMMAND(IDM_PAUSE_LEAGUER, OnPauseLeaguer)
ON_COMMAND(IDM_LOSS_LEAGUER, OnLossLeaguer)
ON_COMMAND(IDM_ADD_LEAGUER, OnAddLeaguer)
ON_COMMAND(IDM_ADD_MONEY, OnAddFree)
ON_COMMAND(IDM_MODIFY_LEAGUER, OnModifyLeaguer)
ON_COMMAND(IDM_DELETE_LEAGUER, OnDeleteButton)
ON_COMMAND(IDM_ACTIVE_LEAGUER, OnActiveLeaguer)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
BOOL CLeaguerManageDlg::OnInitDialog()
{
CDialog::OnInitDialog();
CMenu* pSysMenu = GetSystemMenu(FALSE);
pSysMenu->ModifyMenu(SC_CLOSE,MF_BYCOMMAND | MF_GRAYED );
m_contextMenu.LoadMenu(IDR_LEAGUER_CONTEXT_MENU);
char * ItemName[] ={ "会员名称", "状 态", "当前余额", "累计金额", "最后使用日期时间", "开户日期", "截止日期", "使用次数"};
LV_COLUMN lv;
m_CtrlList.ModifyStyle(NULL, LVS_REPORT);
int nColumnCount = m_CtrlList.GetHeaderCtrl()->GetItemCount();
for (int i=0;i < nColumnCount;i++)
{
m_CtrlList.DeleteColumn(0);
}
lv.mask = LVCF_FMT | LVCF_TEXT | LVCF_WIDTH ;
lv.fmt = LVCFMT_CENTER ;
for (i = 0; i < 8; i++)
{
lv.cx = 5 * m_CtrlList.GetStringWidth(ItemName[i]) / 3;
lv.pszText = ItemName[i];
m_CtrlList.InsertColumn(i, &lv);
}
m_CtrlList.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);
m_CtrlList.ModifyStyleEx(0, WS_EX_CLIENTEDGE);
m_CtrlSearchCombo.SetCurSel(0);
return true;
}
//添加会员
void CLeaguerManageDlg::OnAddLeaguer()
{
CAddLeaguerDlg dlg;
dlg.bAddLeaguer = true;
if (dlg.DoModal() == IDOK)
{
int nCount = m_CtrlList.GetItemCount();
m_CtrlList.InsertItem(nCount, dlg.m_strNick);
m_CtrlList.SetItemText(nCount, 2, dlg.m_strMoney);
CTime time;
time = CTime::GetCurrentTime();
CString str;
str.Format("%4d-%2d-%2d",time.GetYear(), time.GetMonth(), time.GetDay());
m_CtrlList.SetItemText(nCount, 5, str);
m_CtrlList.SetItemText(nCount, 3, 0);
m_CtrlList.SetItemText(nCount, 6, str);
}
}
//会员充值
void CLeaguerManageDlg::OnAddFree()
{
CAddFreeDlg dlg;
POSITION pos = m_CtrlList.GetFirstSelectedItemPosition();
if(pos == NULL)
{
AfxMessageBox("请选择要充值的会员!", MB_ICONINFORMATION | MB_OK);
return;
}
CDaoLeaguer m_daoLeaguer;
m_daoLeaguer.Open();
while (pos)
{
int nIndex = m_CtrlList.GetNextSelectedItem(pos);
CString str = m_CtrlList.GetItemText(nIndex, 0);
dlg.strCaption = str;
if(dlg.DoModal() == IDOK)
{
CString strFilter("[用户名称]=\"");
strFilter += str;
strFilter += '\"';
if (m_daoLeaguer.FindFirst(strFilter))
{
m_daoLeaguer.Edit();
m_daoLeaguer.m_fMoney += (float)atof(dlg.m_strAddFree);
m_daoLeaguer.Update();
}
CString str;
str.Format("%.1f", m_daoLeaguer.m_fMoney);
m_CtrlList.SetItemText(nIndex, 2, str);
}
}
}
//修改会员资料
void CLeaguerManageDlg::OnModifyLeaguer()
{
CAddLeaguerDlg dlg;
POSITION pos = m_CtrlList.GetFirstSelectedItemPosition();
if(pos == NULL)
{
AfxMessageBox("请选择要修改的会员!", MB_ICONINFORMATION | MB_OK);
return;
}
while (pos)
{
int nIndex = m_CtrlList.GetNextSelectedItem(pos);
CString str = m_CtrlList.GetItemText(nIndex, 0);
dlg.bAddLeaguer = false;
CDaoLeaguer m_daoLeaguer;
m_daoLeaguer.Open();
CString strFilter("[用户名称]=\"");
strFilter += str;
strFilter += '\"';
if (m_daoLeaguer.FindFirst(strFilter))
{
dlg.m_strNick = m_daoLeaguer.m_strNick;
dlg.m_strPassword = "";
dlg.m_strConfirmPassword = "";
CString str;
switch(m_daoLeaguer.m_lStatus)
{
case NORMAL_STATUS:
str.LoadString(IDS_LEAGUER_NORMAL);
break;
case PAUSE_STATUS:
str.LoadString(IDS_LEAGUER_PAUSE);
break;
case LOSS_STATUS:
str.LoadString(IDS_LEAGUER_LOSS);
break;
}
dlg.m_strStatus = str;
dlg.m_strName = m_daoLeaguer.m_strName;
dlg.m_strCardType = m_daoLeaguer.m_strCardType;
dlg.m_strCarNum = m_daoLeaguer.m_strCardNum;
dlg.m_strCompany = m_daoLeaguer.m_strCompanyName;
dlg.m_strAddress = m_daoLeaguer.m_strAddress;
dlg.m_strBak = m_daoLeaguer.m_strBak;
dlg.startTime = CTime(m_daoLeaguer.m_StartDate.GetYear(), m_daoLeaguer.m_StartDate.GetMonth(), m_daoLeaguer.m_StartDate.GetDay(), 12, 12, 12);
dlg.endTime = CTime(m_daoLeaguer.m_EndDate.GetYear(), m_daoLeaguer.m_EndDate.GetMonth(), m_daoLeaguer.m_EndDate.GetDay(), 12, 12, 12);
m_daoLeaguer.Close();
dlg.DoModal();
}
}
}
void CLeaguerManageDlg::OnExitButton()
{
((CMainFrame*)m_pParent)->CloseLeaguerWindow();
DestroyWindow();
}
//会员查找
void CLeaguerManageDlg::OnSearchButton()
{
CDaoLeaguer m_daoLeaguer;
m_daoLeaguer.Open();
UpdateData(true);
m_strSearchName.TrimLeft();
m_strSearchName.TrimRight();
CString str;
if(!(m_daoLeaguer.IsBOF() && m_daoLeaguer.IsEOF()) && m_strSearchName == "" )
{
m_CtrlList.DeleteAllItems();
m_daoLeaguer.MoveLast();
int nCount = m_daoLeaguer.GetRecordCount();
m_daoLeaguer.MoveFirst();
for(int i = 0; i < nCount; i++)
{
switch(m_daoLeaguer.m_lStatus)
{
case NORMAL_STATUS:
str.LoadString(IDS_LEAGUER_NORMAL);
break;
case PAUSE_STATUS:
str.LoadString(IDS_LEAGUER_PAUSE);
break;
case LOSS_STATUS:
str.LoadString(IDS_LEAGUER_LOSS);
break;
}
m_CtrlList.InsertItem(i, m_daoLeaguer.m_strNick);
m_CtrlList.SetItemText(i, 1, str);
str.Format("%.1f", m_daoLeaguer.m_fMoney);
m_CtrlList.SetItemText(i, 2, str);
str.Format("%.1f", m_daoLeaguer.m_fCountMoney);
m_CtrlList.SetItemText(i, 3, str);
str = m_daoLeaguer.m_LastUseDate.Format();
m_CtrlList.SetItemText(i, 4, str);
m_CtrlList.SetItemText(i, 5, m_daoLeaguer.m_StartDate.Format(VAR_DATEVALUEONLY));
m_CtrlList.SetItemText(i, 6, m_daoLeaguer.m_EndDate.Format(VAR_DATEVALUEONLY));
str.Format("%d",m_daoLeaguer.m_lCountTimes);
m_CtrlList.SetItemText(i, 7, str);
m_daoLeaguer.MoveNext();
}
}
else
if (m_strSearchName == "")
AfxMessageBox("暂时没有会员!", MB_ICONINFORMATION | MB_OK);
if (m_strSearchName != "")
{
CString strFilter("[用户名称]=\"");
strFilter += m_strSearchName;
strFilter += '\"';
m_CtrlList.DeleteAllItems();
if (m_daoLeaguer.FindFirst(strFilter))
{
switch(m_daoLeaguer.m_lStatus)
{
case NORMAL_STATUS:
str.LoadString(IDS_LEAGUER_NORMAL);
break;
case PAUSE_STATUS:
str.LoadString(IDS_LEAGUER_PAUSE);
break;
case LOSS_STATUS:
str.LoadString(IDS_LEAGUER_LOSS);
break;
}
m_CtrlList.InsertItem(0, m_daoLeaguer.m_strNick);
m_CtrlList.SetItemText(0, 1, str);
str.Format("%.1f", m_daoLeaguer.m_fMoney);
m_CtrlList.SetItemText(0, 2, str);
str.Format("%.1f", m_daoLeaguer.m_fCountMoney);
m_CtrlList.SetItemText(0, 3, str);
str = m_daoLeaguer.m_LastUseDate.Format();
m_CtrlList.SetItemText(0, 4, str);
m_CtrlList.SetItemText(0, 5, m_daoLeaguer.m_StartDate.Format(VAR_DATEVALUEONLY));
m_CtrlList.SetItemText(0, 6, m_daoLeaguer.m_EndDate.Format(VAR_DATEVALUEONLY));
str.Format("%d",m_daoLeaguer.m_lCountTimes);
m_CtrlList.SetItemText(0, 7, str);
}
else
{
AfxMessageBox("此会员不存在,请重新输入!", MB_ICONINFORMATION | MB_OK);
}
}
m_daoLeaguer.Close();
}
//弹出菜单
void CLeaguerManageDlg::OnRclickLeaguerList(NMHDR* pNMHDR, LRESULT* pResult)
{
NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;
int nItem = pNMListView->iItem;
CPoint point = pNMListView->ptAction;
UINT uWhere = 0;
m_CtrlList.HitTest( point, &uWhere );
if( nItem != -1 && uWhere != LVHT_ONITEMSTATEICON )
{
CMenu *pSubMenu = m_contextMenu.GetSubMenu(0);
ClientToScreen( &point );
pSubMenu->TrackPopupMenu( TPM_LEFTALIGN | TPM_LEFTBUTTON | TPM_RIGHTBUTTON,
point.x, point.y + 85, this);
}
*pResult = 1;
}
//删除会员
void CLeaguerManageDlg::OnDeleteButton()
{
CDaoLeaguer m_daoLeaguer;
m_daoLeaguer.Open();
POSITION pos = m_CtrlList.GetFirstSelectedItemPosition();
if(pos == NULL)
{
AfxMessageBox("请选择要删除的会员!", MB_ICONINFORMATION | MB_OK);
return;
}
CString str;
m_daoLeaguer.MoveFirst();
while (pos)
{
int nIndex = m_CtrlList.GetNextSelectedItem(pos);
str = m_CtrlList.GetItemText(nIndex, 0);
if(MessageBox("真的要删除 " + str + " 会员?", "提示信息", MB_YESNO | MB_ICONQUESTION) == IDYES)
{
m_CtrlList.DeleteItem(nIndex);
CString strFilter("[用户名称]=\"");
strFilter += str;
strFilter += '\"';
if(m_daoLeaguer.FindFirst(strFilter))
{
m_daoLeaguer.Delete();
}
}
}
m_daoLeaguer.Close();
}
//暂停会员
void CLeaguerManageDlg::OnPauseLeaguer()
{
CDaoLeaguer m_daoLeaguer;
m_daoLeaguer.Open();
POSITION pos = m_CtrlList.GetFirstSelectedItemPosition();
if(pos == NULL)
{
AfxMessageBox("请选择要暂停的会员!", MB_ICONINFORMATION | MB_OK);
return;
}
CString str;
m_daoLeaguer.MoveFirst();
while (pos)
{
int nIndex = m_CtrlList.GetNextSelectedItem(pos);
str = m_CtrlList.GetItemText(nIndex, 0);
CString strFilter("[用户名称]=\"");
strFilter += str;
strFilter += '\"';
if(m_daoLeaguer.FindFirst(strFilter))
{
if(m_daoLeaguer.m_lStatus != NORMAL_STATUS)
{
AfxMessageBox("此会员已处于暂停或挂失状态!", MB_ICONINFORMATION | MB_OK);
return;
}
}
if(MessageBox("真的要暂停此会员?", "提示信息", MB_YESNO | MB_ICONQUESTION) == IDYES)
{
if(m_daoLeaguer.FindFirst(strFilter))
{
m_daoLeaguer.Edit();
m_daoLeaguer.m_lStatus = PAUSE_STATUS;
m_daoLeaguer.Update();
m_CtrlList.SetItemText(nIndex, 1, "暂停");
}
}
}
m_daoLeaguer.Close();
}
//会员挂失
void CLeaguerManageDlg::OnLossLeaguer()
{
CDaoLeaguer m_daoLeaguer;
m_daoLeaguer.Open();
POSITION pos = m_CtrlList.GetFirstSelectedItemPosition();
if(pos == NULL)
{
AfxMessageBox("请选择要挂失的会员!", MB_ICONINFORMATION | MB_OK);
return;
}
CString str;
m_daoLeaguer.MoveFirst();
while (pos)
{
int nIndex = m_CtrlList.GetNextSelectedItem(pos);
str = m_CtrlList.GetItemText(nIndex, 0);
CString strFilter("[用户名称]=\"");
strFilter += str;
strFilter += '\"';
if(m_daoLeaguer.FindFirst(strFilter))
{
if(m_daoLeaguer.m_lStatus != NORMAL_STATUS)
{
AfxMessageBox("此会员已处于挂失或暂停状态!", MB_ICONINFORMATION | MB_OK);
return;
}
}
if(MessageBox("真的要挂失此会员?", "提示信息", MB_YESNO | MB_ICONQUESTION) == IDYES)
{
if(m_daoLeaguer.FindFirst(strFilter))
{
m_daoLeaguer.Edit();
m_daoLeaguer.m_lStatus = LOSS_STATUS;
m_daoLeaguer.Update();
m_CtrlList.SetItemText(nIndex, 1, "挂失");
}
}
}
m_daoLeaguer.Close();
}
//激活会员
void CLeaguerManageDlg::OnActiveLeaguer()
{
CDaoLeaguer m_daoLeaguer;
m_daoLeaguer.Open();
POSITION pos = m_CtrlList.GetFirstSelectedItemPosition();
if(pos == NULL)
{
AfxMessageBox("请选择要激活的会员!", MB_ICONINFORMATION | MB_OK);
return;
}
CString str;
m_daoLeaguer.MoveFirst();
while (pos)
{
int nIndex = m_CtrlList.GetNextSelectedItem(pos);
str = m_CtrlList.GetItemText(nIndex, 0);
CString strFilter("[用户名称]=\"");
strFilter += str;
strFilter += '\"';
if(m_daoLeaguer.FindFirst(strFilter))
{
if(m_daoLeaguer.m_lStatus == NORMAL_STATUS)
{
AfxMessageBox("此会员已处于正常状态!", MB_ICONINFORMATION | MB_OK);
return;
}
}
if(MessageBox("真的要激活此会员?", "提示信息", MB_OKCANCEL | MB_ICONQUESTION) == IDOK)
{
CString strFilter("[用户名称]=\"");
strFilter += str;
strFilter += '\"';
if(m_daoLeaguer.FindFirst(strFilter))
{
m_daoLeaguer.Edit();
m_daoLeaguer.m_lStatus = NORMAL_STATUS;
m_daoLeaguer.Update();
m_CtrlList.SetItemText(nIndex, 1, "正常");
}
}
}
m_daoLeaguer.Close();
}
void CLeaguerManageDlg::PostNcDestroy()
{
CDialog::PostNcDestroy();
delete this;
}
BOOL CLeaguerManageDlg::Create()
{
return CDialog::Create(m_nID, m_pParent);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -