Добавил:
Studfiles2
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Курсовой проект / Kyrsovik / DBKino_Last_Release / EditRepertoir
.cpp// EditRepertoir.cpp : implementation file
//
#include "stdafx.h"
#include "DBKino.h"
#include "EditRepertoir.h"
#include "CSchedule.h"
// EditRepertoir dialog
IMPLEMENT_DYNAMIC(EditRepertoir, CDialog)
EditRepertoir::EditRepertoir(CWnd* pParent /*=NULL*/)
: CDialog(EditRepertoir::IDD, pParent)
, m_FilmSession(_T(""))
, m_TicketSession(0)
, m_Date(0)
, m_Time(0)
{
}
EditRepertoir::~EditRepertoir()
{
}
void EditRepertoir::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
DDX_Text(pDX, IDC_EDIT_FILMSESSION, m_FilmSession);
DDX_Control(pDX, IDC_DATE_PICKER, m_DateCtrl);
DDX_Control(pDX, IDC_MONTHCALENDAR, m_Month);
DDX_Control(pDX, IDC_TIME_PICKER, m_TimeCtrl);
DDX_Text(pDX, IDC_EDIT_TICKETSESSION, m_TicketSession);
DDV_MinMaxUInt(pDX, m_TicketSession, 0, 10000);
DDX_DateTimeCtrl(pDX, IDC_DATE_PICKER, m_Date);
DDX_DateTimeCtrl(pDX, IDC_TIME_PICKER, m_Time);
}
BEGIN_MESSAGE_MAP(EditRepertoir, CDialog)
ON_NOTIFY(DTN_DATETIMECHANGE, IDC_DATE_PICKER, OnDtnDatetimechangeDatePicker)
ON_BN_CLICKED(IDOK, OnBnClickedOk)
ON_NOTIFY(MCN_SELECT, IDC_MONTHCALENDAR, OnMcnSelectMonthcalendar)
END_MESSAGE_MAP()
BOOL EditRepertoir::OnInitDialog()
{
CDialog::OnInitDialog();
m_TimeCtrl.SetFormat( _T("H : mm") );
if((m_FilmSession=="") && (m_TicketSession==0))
{
OnlyAdd = TRUE;
}
else
{
UpdateData(FALSE);
OnlyAdd = FALSE;
}
return TRUE;
}
void EditRepertoir::SetDocument(CMapStringToPtr* cMapRep, CString sFilm, CString sDate, CString sTime, CString sTicket )
{
this -> cMapRep = cMapRep;
if(sFilm!="" && sDate!="" && sTime!="" && sTicket!="")
{
void* ptr = (*(cMapRep))[sFilm];
CPtrList* ptrList = ((CPtrList *)ptr);
for( POSITION pos = ptrList->GetHeadPosition(); pos != NULL; )
{
ptr = (ptrList -> GetNext( pos ));
CSchedule* schedule;// = new CSchedule();
schedule = ((CSchedule *)(ptr));
char* stopstring;
if(sFilm==(schedule -> s_FilmSession) && sDate==((schedule -> d_DateSession).Format("%d.%m.%Y")) && sTime==((schedule -> d_TimeSession).Format("%H : %M")) && strtol(sTicket,&stopstring,10)==(schedule -> i_TicketSession))
{
oldpSchedule = schedule;//((CSchedule *)(ptr));
m_FilmSession = schedule -> s_FilmSession;
m_Date = schedule -> d_DateSession;
m_Time = schedule -> d_TimeSession;
m_TicketSession = schedule -> i_TicketSession;
}
//else delete schedule;
}
}
}
void EditRepertoir::OnDtnDatetimechangeDatePicker(NMHDR *pNMHDR, LRESULT *pResult)
{
LPNMDATETIMECHANGE pDTChange = reinterpret_cast<LPNMDATETIMECHANGE>(pNMHDR);
CTime temp_Time;
m_DateCtrl.GetTime( temp_Time );
m_Month.SetCurSel( temp_Time );
*pResult = 0;
}
void EditRepertoir::OnBnClickedOk()
{
if(OnlyAdd)
{
UpdateData(TRUE);
CSchedule* schedule = new CSchedule(m_Date, m_FilmSession, m_Time, m_TicketSession);
schedule->AddRepInfo(cMapRep, schedule);
}
else
{
UpdateData(TRUE);
CSchedule* schedule = new CSchedule(m_Date, m_FilmSession, m_Time, m_TicketSession);
schedule->EditRepInfo(cMapRep, schedule, oldpSchedule);
}
OnOK();
}
void EditRepertoir::OnMcnSelectMonthcalendar(NMHDR *pNMHDR, LRESULT *pResult)
{
LPNMSELCHANGE pSelChange = reinterpret_cast<LPNMSELCHANGE>(pNMHDR);
CTime temp_Time;
m_Month.GetCurSel( temp_Time );
m_DateCtrl.SetTime( &temp_Time );
*pResult = 0;
}
Соседние файлы в папке DBKino_Last_Release