📄 updelroomdlg.cpp
字号:
// UpdelRoomDlg.cpp : implementation file
//
#include "stdafx.h"
#include "Guesthouse.h"
#include "UpdelRoomDlg.h"
#include "BookroomSet.h"
#include "RoominFoSet.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// UpdelRoomDlg dialog
UpdelRoomDlg::UpdelRoomDlg(CWnd* pParent /*=NULL*/)
: CDialog(UpdelRoomDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(UpdelRoomDlg)
m_indate = 0;
m_roomname = _T("");
m_position = _T("");
m_price = _T("");
m_roommemo = _T("");
m_name = _T("");
m_id = _T("");
m_discount = _T("");
m_memo = _T("");
//}}AFX_DATA_INIT
}
void UpdelRoomDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(UpdelRoomDlg)
DDX_Control(pDX, IDC_COMBO1, m_roomnumber);
DDX_DateTimeCtrl(pDX, IDC_DATETIMEPICKER1, m_indate);
DDX_Text(pDX, IDC_EDIT1, m_roomname);
DDX_Text(pDX, IDC_EDIT2, m_position);
DDX_Text(pDX, IDC_EDIT3, m_price);
DDX_Text(pDX, IDC_EDIT4, m_roommemo);
DDX_Text(pDX, IDC_EDIT5, m_name);
DDX_Text(pDX, IDC_EDIT6, m_id);
DDX_Text(pDX, IDC_EDIT7, m_discount);
DDX_Text(pDX, IDC_EDIT8, m_memo);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(UpdelRoomDlg, CDialog)
//{{AFX_MSG_MAP(UpdelRoomDlg)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// UpdelRoomDlg message handlers
BOOL UpdelRoomDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
m_roominfo.m_strSort = "roomnumber";
m_bookroom.m_strSort="Booknum";
//初始化客房编号下拉列表
m_roominfo.Open();
while (!m_roominfo.IsEOF())
{
m_roomnumber.AddString(m_roominfo.m_Roomnumber);
m_roominfo.MoveNext();
}
if (m_roomnumber.GetCount() == 0)
{
AfxMessageBox(_T("现在无顾客入住!"));
CDialog::OnOK();
return FALSE;
}
//设置下拉列表中的客房编号
CString m_no;
m_roomnumber.SetCurSel(0);
m_roomnumber.GetLBText(0,m_no);
//根据当前客房编号,读取客房信息
m_roominfo.m_strFilter="roomnumber='"+m_no+"'";
if (!m_roominfo.IsOpen())
{
m_roominfo.Open();
}
else
m_roominfo.Requery();
m_roomname=m_roominfo.m_stdroom;
m_position=m_roominfo.m_roomposition;
m_price = m_roominfo.m_roomprice;
m_roommemo=m_roominfo.m_roommemo;
m_roominfo.Close();
//初始化定房信息
//设置下拉列表中的定房编号,定房编号下拉列表不显示
//根据当前定房编号,读取定房信息
m_bookroom.m_strFilter="roomnumber='"+m_no+"' and checkdate IS NULL";
if(!m_bookroom.IsOpen())
m_bookroom.Open();
else
m_bookroom.Requery();
m_name=m_bookroom.m_customname;
m_id=m_bookroom.m_customID;
m_indate=m_bookroom.m_Indate;
m_discount = m_bookroom.m_discount;
m_memo=m_bookroom.m_inmemo;
m_bookroom.Close();
UpdateData(FALSE);
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void UpdelRoomDlg::OnSelchangeRoomnumber()
{
UpdateData(TRUE);
//获取当前客房编号
CString m_no;
int i=m_roomnumber.GetCurSel();
m_roomnumber.GetLBText(i,m_no);
//根据当前客房编号,读取客房信息记录
m_roominfo.m_strFilter="roomnumber='"+m_no+"'";
if (!m_roominfo.IsOpen())
{
m_roominfo.Open();
}
else
m_roominfo.Requery();
m_roomname=m_roominfo.m_stdroom;
m_position= m_roominfo.m_roomposition;
m_price = m_roominfo.m_roomprice;
m_roommemo=m_roominfo.m_roommemo;
m_roominfo.Close();
m_bookroom.m_strFilter="roomnumber='"+m_no+"' and checkdate IS NULL";
if (!m_bookroom.IsOpen())
{
m_bookroom.Open();
}
else
m_bookroom.Requery();
m_name=m_bookroom.m_customname;
m_id=m_bookroom.m_customID;
m_indate=m_bookroom.m_Indate;
m_discount = m_bookroom.m_discount;
m_memo=m_bookroom.m_inmemo;
m_bookroom.Close();
UpdateData(FALSE);
}
void UpdelRoomDlg::OnOK()
{
// TODO: Add extra validation here
//检查输入信息是否完整
CString sWarn="";
if (m_name=="")
{
sWarn=_T("顾客姓名");
}
else
if (m_id=="")
{
sWarn=_T("身份证号码");
}
else
if (m_discount=="")
{
sWarn=_T("折扣");
}
if (sWarn!="")
{
sWarn += _T("不能为空!");
AfxMessageBox(sWarn);
return;
}
//检查输入信息是否有效
if (atof(m_discount) == 0)
{
sWarn = _T("折扣不能有非数字符号!");
AfxMessageBox(sWarn);
return;
}
if (atof(m_discount)>100)
{
sWarn = _T("折扣不能超过100% !");
AfxMessageBox(sWarn);
return;
}
//获取当前客房编号
CString m_no;
int i=m_roomnumber.GetCurSel();
m_roomnumber.GetLBText(i,m_no);
//根据当前客房编号,更新客房入住信息
if (m_flag)
{
m_roominfo.m_strFilter="roomnumber='"+m_no+"'";
if (!m_roominfo.IsOpen())
{
m_roominfo.Open();
}
else
m_roominfo.Requery();
m_roominfo.Edit();
m_roominfo.m_Putup=1;
m_roominfo.Update();
m_roominfo.Close();
m_roomnumber.ResetContent();//重置客房编号下拉列表
}
//修改记录
CString str;
m_bookroom.m_strFilter="roomnumber='"+m_no+"' and checkdate IS NULL";
if(!m_bookroom.IsOpen())
m_bookroom.Open();
else
m_bookroom.Requery();
m_bookroom.Edit();
str=CTime::GetCurrentTime().Format("%y%m%d%H%M%S");
m_bookroom.m_Booknum=str;
m_bookroom.m_customname=m_name;
m_bookroom.m_customID=m_id;
m_bookroom.m_Roomnumber=m_no;
int nY=m_indate.GetYear();
int nM=m_indate.GetMonth();
int nD=m_indate.GetDay();
m_bookroom.m_Indate=CTime::CTime(nY,nM,nD,0,0,0);
m_bookroom.m_discount=m_discount;
m_bookroom.m_inmemo=m_memo;
m_bookroom.Update();
m_bookroom.Close();
UpdateData(FALSE);
AfxMessageBox(_T("修改完成!"));
// CDialog::OnOK();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -