⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 leaguermanagedlg.cpp

📁 网吧管理系统VC源码
💻 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 + -