📄 addorderdlg.cpp
字号:
// AddOrderDlg.cpp : implementation file
//
#include "stdafx.h"
#include "mphonequery.h"
#include "AddOrderDlg.h"
#include "MPhoneQueryView.h"
#include "MainFrm.h"
#include "AddConfirmDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CAddOrderDlg dialog
CAddOrderDlg::CAddOrderDlg(CWnd* pParent /*=NULL*/)
: CDialog(CAddOrderDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CAddOrderDlg)
m_strAddMoney = _T("");
m_strAddPhoneNo = _T("");
m_strAdminId = _T("");
m_strAdminName = _T("");
//}}AFX_DATA_INIT
}
void CAddOrderDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CAddOrderDlg)
DDX_Text(pDX, IDC_ORDER_ADDMONEY, m_strAddMoney);
DDX_Text(pDX, IDC_ORDER_ADDPHONENO, m_strAddPhoneNo);
DDX_Text(pDX, IDC_ORDER_ADMINID, m_strAdminId);
DDX_Text(pDX, IDC_ORDER_ADMINNAME, m_strAdminName);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CAddOrderDlg, CDialog)
//{{AFX_MSG_MAP(CAddOrderDlg)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CAddOrderDlg message handlers
void CAddOrderDlg::OnOK()
{
// TODO: Add extra validation here
CAddConfirmDlg delConf;
delConf.DoModal();
CMPhoneQueryView* pView = (CMPhoneQueryView*)(((CMainFrame*)AfxGetMainWnd())->GetActiveView());
if ( !(pView ->m_bAddConfirm) )
{
return;
}
UpdateData(true);
m_strAdminId.TrimRight(" ");
m_strAdminName.TrimRight(" ");
m_strAddMoney.TrimRight(" ");
m_strAddPhoneNo.TrimRight(" ");
// 确定所有输入有效
CString sWarning="";
if ( m_strAddMoney == "" )
{
sWarning = _T("充值金额");
}
else if ( m_strAddPhoneNo == "" )
{
sWarning = _T("手机号码");
}
if ( "" != sWarning )
{
sWarning += _T("不能为空");
AfxMessageBox(sWarning, MB_ICONEXCLAMATION);
return;
}
_variant_t strQuery, Holder;
// 确认已有该手机的纪录
strQuery = "select * from phone where phone_no = '"+m_strAddPhoneNo+"'";
theApp.ADOExecute(theApp.m_pADOSet, strQuery);
int iCount = theApp.m_pADOSet ->GetRecordCount();
if ( iCount == 0 )
{
AfxMessageBox(_T("手机号码输入有错!没有该手机的纪录"), MB_ICONEXCLAMATION);
return;
}
//计算出该手机现有的余额
theApp.m_pADOSet ->MoveFirst();
Holder = theApp.m_pADOSet ->GetCollect("balance");
CString strBalance = (char*)(_bstr_t)Holder;
double dBalance = atof(strBalance);
double dMoney = atof(m_strAddMoney);
dBalance += dMoney;
Holder = dBalance;
strBalance = (char*)(_bstr_t)Holder;
// 计算出该条纪录的编号;
strQuery = "select Max(order_id) as maxorderid from [order]";
theApp.ADOExecute(theApp.m_pADOSet, strQuery);
theApp.m_pADOSet ->MoveFirst();
Holder = theApp.m_pADOSet ->GetCollect("maxorderid");
int iOrderId = Holder.vt == VT_NULL ? 1 : Holder.intVal + 1;
char cOrderId[20];
_itoa( iOrderId, cOrderId, 10);
CString strOrderId = (const char*) cOrderId;
// 获得该手机所对应的编号
strQuery = "select phone_id from phone where phone_no = '"+m_strAddPhoneNo+"'";
theApp.ADOExecute(theApp.m_pADOSet, strQuery);
theApp.m_pADOSet ->MoveFirst();
Holder = theApp.m_pADOSet ->GetCollect("phone_id");
CString strPhoneId = (char*)(_bstr_t)Holder;
strQuery = "insert [order] (order_id, phone_id, staff_id, money, balance) \
values ('"+strOrderId+"', '"+strPhoneId+"',\
'"+m_strAdminId+"',CAST('"+m_strAddMoney+"' AS money), CAST('"+strBalance+"' AS money))";
if ( theApp.ADOExecute(theApp.m_pADOSet, strQuery) )
{
strQuery = "update phone set phone.balance = CAST('"+strBalance+"' AS money) \
where phone_no = '"+m_strAddPhoneNo+"'";
if (theApp.ADOExecute(theApp.m_pADOSet, strQuery))
{
AfxMessageBox(_T("添加记录成功!"), MB_ICONINFORMATION);
// 清空输入数据
m_strAdminId = m_strAdminName = m_strAddMoney = m_strAddPhoneNo = "";
UpdateData(false);
}
else
{
AfxMessageBox(_T("添加记录失败!"), MB_ICONEXCLAMATION);
}
}
else
{
AfxMessageBox(_T("添加记录失败!"), MB_ICONEXCLAMATION);
}
// Refresh RoomType List
pView->RefreshOrder();
CDialog::OnOK();
}
BOOL CAddOrderDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
m_strAdminName = theApp.m_strCurAdminName;
m_strAdminId = theApp.m_strCurAdminID;
((CEdit*)GetDlgItem(IDC_ORDER_ADDPHONENO))->SetLimitText(50);
((CEdit*)GetDlgItem(IDC_ORDER_ADDMONEY))->SetLimitText(10);
UpdateData(FALSE);
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -