Скачиваний:
91
Добавлен:
01.05.2014
Размер:
3.95 Кб
Скачать
// DlgAddClient.cpp : implementation file
//

#include "stdafx.h"
#include "kurs.h"
#include "DlgAddClient.h"
#include "DlgRooms.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// DlgAddClient dialog


DlgAddClient::DlgAddClient(CWnd* pParent /*=NULL*/)
	: CDialog(DlgAddClient::IDD, pParent)
{
	//{{AFX_DATA_INIT(DlgAddClient)
	m_fio = _T("");
	m_Data2 = 0;
	m_Data1 = 0;
	m_PassportClient = _T("");
	m_number = _T("");
	//}}AFX_DATA_INIT
}



void DlgAddClient::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(DlgAddClient)
	DDX_Control(pDX, IDC_FreeR, m_FreeR);
	DDX_Text(pDX, IDC_FIOCL, m_fio);
	DDX_DateTimeCtrl(pDX, IDC_DATETIMEPICKER2, m_Data2);
	DDX_DateTimeCtrl(pDX, IDC_DATETIMEPICKER1, m_Data1);
	DDX_Text(pDX, IDC_PASSCL, m_PassportClient);
	DDX_Text(pDX, IDC_NUMBER, m_number);
	//}}AFX_DATA_MAP
	
	CString str("");
	m_FreeR.ResetContent();
	
//	DlgRooms dlgR;

	fstream File("Rooms.txt",ios::in);
	CString str1("");
	CRoom R;
//	int i;
	char ch[25];
	CTime t = CTime::GetCurrentTime();
	CTime t2=t+86400;
	CDateTimeCtrl* pLB1=(CDateTimeCtrl*) GetDlgItem(IDC_DATETIMEPICKER1);
	CDateTimeCtrl* pLB2=(CDateTimeCtrl*) GetDlgItem(IDC_DATETIMEPICKER2);

	pLB1->SetTime(&t);
	pLB2->SetTime(&t2);


	while (!File.eof()){
		File.getline(ch,25,'\n');
		str=ch;
		if (str!=""){
			str1=str.Left(5);
			R.SetNumber(str1);
			str1=str.Mid(5,5);
			R.SetCapasity(str1);
			str1=str.Mid(10,5);
			R.SetOccupy(str1);
			str1=str.Right(5);
			R.SetPrice(str1);
			LR.AddEl(R);
		}
	}
	File.close();
    CElem<CRoom> *buf = LR.beg;

	while (buf !=0){
		if (atoi(buf->inf.GetOccupy())<atoi(buf->inf.GetCapasity())){
			str = buf->inf.GetNumber()+buf->inf.GetCapasity()+buf->inf.GetOccupy()+buf->inf.GetPrice();
			
			if (m_FreeR.FindStringExact(0,str) == LB_ERR)
				m_FreeR.AddString(str);
		}
		buf = buf->next;
	}

}
BEGIN_MESSAGE_MAP(DlgAddClient, CDialog)
	//{{AFX_MSG_MAP(DlgAddClient)
	ON_LBN_DBLCLK(IDC_FreeR, OnDblclkFreeR)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// DlgAddClient message handlers
void DlgAddClient::OnOK() 
{
	UINT len;
	bool poiskr = false;
	bool b=true;
	CTime t1, t2;
	m_FreeR.ResetContent();
	UpdateData(true);
	t1 = m_Data1;
	t2 = m_Data2;
	if (!m_fio.IsEmpty() && !m_PassportClient.IsEmpty()
		&& !m_number.IsEmpty()){
		len = m_fio.GetLength();
		if (len>15) {m_fio=m_fio.Left(15);}
		else
			while (len<15){
				m_fio+=' ';
				len = m_fio.GetLength();
			}
		len = m_PassportClient.GetLength();
		if (len>11) {m_PassportClient=m_PassportClient.Left(11);}
		else
			while (len<11){
				m_PassportClient+=' ';
				len = m_PassportClient.GetLength();
			}
		len = m_number.GetLength();
		if (len>5) {m_number=m_number.Left(5);}
		else
			while (len<5){
				m_number+=' ';
				len = m_number.GetLength();
			}
		CElem<CRoom> *buf = LR.beg;
		while((buf != 0) && (buf->inf.GetNumber()!=m_number)){
			buf = buf->next;
		}
		if (buf != 0 && buf->inf.GetNumber()==m_number)
			poiskr = true;
		else{
			AfxMessageBox("Заданного номера не существует!");
		
		}
		if (m_Data2<=m_Data1){
			b=false;
			AfxMessageBox("Дата выселения раньше даты поселения!");
		}
		if ( b&&poiskr){
			b=buf->inf.SetOccupyUp();
			if (!b) 
				AfxMessageBox("Номер занят!");
			else{
				UpdateData(false);
				CDialog::OnOK();
				m_Data1 = t1;
	            m_Data2 = t2; 
			}
		}
	}
	else
	{
		AfxMessageBox("Заполнены не все поля!");
	}
}

void DlgAddClient::OnDblclkFreeR() 
{
//	m_FreeR.GetText(m_FreeR.GetCurSel(), m_number);
//	OnInitDialog();
}

void DlgAddClient::OnCancel() 
{	
	LR.DelAllElem();
	CDialog::OnCancel();
}
Соседние файлы в папке kurs