/* * Developed by Torben H. Nielsen */ #include "stdafx.h" #include "h6-udlånssystem.h" #include "CheckoutDialog.h" #include ".\checkoutdialog.h" #include "CommonStorage.h" #include "DatabaseLayer.h" #include "Containers.h" // CheckoutDialog dialog IMPLEMENT_DYNAMIC(CheckoutDialog, CDialog) CheckoutDialog::CheckoutDialog(CWnd* pParent /*=NULL*/) : CDialog(CheckoutDialog::IDD, pParent) { } CheckoutDialog::~CheckoutDialog() { } void CheckoutDialog::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); } BEGIN_MESSAGE_MAP(CheckoutDialog, CDialog) ON_NOTIFY(LVN_ITEMCHANGED, IDC_LIST, OnLvnItemchangedList) ON_BN_CLICKED(IDOK, OnBnClickedOk) ON_NOTIFY(NM_CLICK, IDC_LIST, OnNMClickList) END_MESSAGE_MAP() // CheckoutDialog message handlers BOOL CheckoutDialog::OnInitDialog() { CDialog::OnInitDialog(); if (m_checkoutMode == true) { this->SetWindowText("Checkout"); GetDlgItem(IDC_NUMDAYS)->SetWindowText("30"); if (m_reservedTo != "") { GetDlgItem(IDC_INITS)->SetWindowText(m_reservedTo); GetDlgItem(IDC_INITS)->EnableWindow(false); GetDlgItem(IDC_LIST)->EnableWindow(false); } } else {//reservation this->SetWindowText("Reservation"); GetDlgItem(IDC_NUMDAYS)->EnableWindow(false); } CListCtrl *list = (CListCtrl *) GetDlgItem(IDC_LIST); list->SetExtendedStyle( LVS_EX_GRIDLINES | LVS_EX_FULLROWSELECT ); list->InsertColumn(0,"Inits"); list->InsertColumn(1,"Name"); m_persons = CommonStorage::Instance()->getDBLayer()->GetPersonAll(); for (int i=0; iInsertItem(i, m_persons[i].inits); list->SetItemText(nItem, 1, m_persons[i].name); } list->SetColumnWidth(0,50); list->SetColumnWidth(1, LVSCW_AUTOSIZE); ((CEdit*)GetDlgItem(IDC_INITS))->SetLimitText(4); return TRUE; } void CheckoutDialog::OnLvnItemchangedList(NMHDR *pNMHDR, LRESULT *pResult) { LPNMLISTVIEW pNMLV = reinterpret_cast(pNMHDR); LoadInits(); *pResult = 0; } void CheckoutDialog::OnBnClickedOk() { GetDlgItem(IDC_INITS)->GetWindowText(m_inits); GetDlgItem(IDC_NUMDAYS)->GetWindowText(m_numdays); bool foundInits = false; if (m_inits == "") { MessageBox("You must fill out the initials field"); return; } if (m_checkoutMode == true && m_numdays == "") { MessageBox("You must enter number of days"); return; } for (int i=0; iGetSelectionMark(); CString inits = list->GetItemText(selected,0); GetDlgItem(IDC_INITS)->SetWindowText(inits); }