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

📄 updelroomdlg.cpp

📁 这是是一个居于文档
💻 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 + -