?? bookingdlg.cpp
字號:
// BookingDlg.cpp : implementation file
//
#include "stdafx.h"
#include "AviationBS.h"
#include "BookingDlg.h"
#include "UsedLine.h"
#include "Client.h"
#include "QueueDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
extern UsedLine usedLine;
extern CClient client;
extern int Index[5];
/////////////////////////////////////////////////////////////////////////////
// CBookingDlg dialog
CBookingDlg::CBookingDlg(CWnd* pParent /*=NULL*/)
: CDialog(CBookingDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CBookingDlg)
m_name = _T("");
m_ID = _T("");
m_FCBookingN = 0;
m_TCBookingN = 0;
//}}AFX_DATA_INIT
}
BOOL CBookingDlg::OnInitDialog()
{
CDialog::OnInitDialog();
int LineIndex=Index[6];
int FlightIndex=Index[7];
CString str,str1;
str.Format("%s",usedLine.lineArray[LineIndex].destination);
str=str.Left(10);
str.Remove(' ');
m_LineCtrl.SetWindowText(str);
m_LineCtrl.SetReadOnly();
str.Format("%s",usedLine.flightArray[LineIndex].flight[FlightIndex].PlaneNum);
str=str.Left(6);
str.Remove(' ');//MessageBox(str1);
m_FCtrl.SetWindowText(str);
m_FCtrl.SetReadOnly();
str.Format("%d:%d:%d",usedLine.flightArray[LineIndex].flight[FlightIndex].FlyTime.GetHour(),
usedLine.flightArray[LineIndex].flight[FlightIndex].FlyTime.GetMinute(),
usedLine.flightArray[LineIndex].flight[FlightIndex].FlyTime.GetSecond());
m_FlyTimeCtrl.SetWindowText(str);
m_FlyTimeCtrl.SetReadOnly();
str.Format("%d",usedLine.flightArray[LineIndex].flight[FlightIndex].FirCFreeNum);
m_FCFreeNum.SetWindowText(str);
m_FCFreeNum.SetReadOnly();
str.Format("%d",usedLine.flightArray[LineIndex].flight[FlightIndex].TouCFreeNum);
m_TCFreeNum.SetWindowText(str);
m_TCFreeNum.SetReadOnly();
return TRUE;
}
void CBookingDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CBookingDlg)
DDX_Control(pDX, IDC_EDIT3, m_FCtrl);
DDX_Control(pDX, IDC_EDIT2, m_FlyTimeCtrl);
DDX_Control(pDX, IDC_EDIT1, m_LineCtrl);
DDX_Control(pDX, IDC_TCEDIT, m_TCFreeNum);
DDX_Control(pDX, IDC_FCEDIT, m_FCFreeNum);
DDX_Text(pDX, IDC_NAMEEDIT, m_name);
DDV_MaxChars(pDX, m_name, 20);
DDX_Text(pDX, IDC_IDEDIT, m_ID);
DDV_MaxChars(pDX, m_ID, 20);
DDX_Text(pDX, IDC_FCNUM, m_FCBookingN);
DDV_MinMaxInt(pDX, m_FCBookingN, 0, 1000);
DDX_Text(pDX, IDC_TCNUM, m_TCBookingN);
DDV_MinMaxInt(pDX, m_TCBookingN, 0, 1000);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CBookingDlg, CDialog)
//{{AFX_MSG_MAP(CBookingDlg)
ON_BN_CLICKED(IDC_BUTTON1, OnQueue)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CBookingDlg message handlers
void CBookingDlg::OnOK()
{
// TODO: Add extra validation here
UpdateData();
m_ID.Remove(' ');
m_name.Remove(' ');
if(m_name.IsEmpty()!=0){MessageBox("請輸入您的姓名!");return;}
if(m_ID.IsEmpty()!=0){MessageBox("請輸入身份證號碼!");return;}
else for(int i=0;i<m_ID.GetLength();i++)
if(m_ID.GetAt(i)>'9'||m_ID.GetAt(i)<'0'){MessageBox("身份證號碼不能為字符");return;}
if( m_FCBookingN ==0&&m_TCBookingN == 0){MessageBox("請輸入你要預定的票數!");return;}
int LineIndex=Index[6];
int FlightIndex=Index[7];
if(usedLine.flightArray[LineIndex].flight[FlightIndex].FirCFreeNum<m_FCBookingN ||
usedLine.flightArray[LineIndex].flight[FlightIndex].TouCFreeNum<m_TCBookingN)
{
MessageBox("你所訂的票數已超過余額數,請確定返回訂票窗口調整票數或者按<排隊候票>等待!");
return;
}
///////////////////////////////進行訂票操作//////////////////////////////////////
//客戶信息登記
int temp=client.InsertClient(m_name,m_ID,usedLine.flightArray[LineIndex].flight[FlightIndex].FlyTime,
m_FCBookingN,m_TCBookingN,LineIndex);
if(-1==temp)
{MessageBox("你已經訂了該去同一地點的其他航班的票或者身份證號與他人重復,請重新輸入身份證號!");return;}
else if(0==temp)
MessageBox("你之前已定閱了該航班的票,已把你現在的訂的票加到同一賬號!");
else {MessageBox("恭喜你,訂票成功!");}
//修改航線信息
usedLine.flightArray[LineIndex].flight[FlightIndex].FirCFreeNum-=m_FCBookingN;
usedLine.flightArray[LineIndex].flight[FlightIndex].TouCFreeNum-=m_TCBookingN;
CDialog::OnOK();
}
void CBookingDlg::OnQueue()
{
// TODO: Add your control notification handler code here
CQueueDlg Dlg;
Dlg.DoModal();
CDialog::OnOK();
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -