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

📄 bankoperationview.cpp

📁 Visual C++NET专业项目实例开发-源代码Project01Chapter08BankOperation
💻 CPP
📖 第 1 页 / 共 3 页
字号:
		bAdd->EnableWindow(true);
		
		bUpd=(CButton*)GetDlgItem(IDC_UPD);
		bUpd->EnableWindow(false);
		
		bMod=(CButton*)GetDlgItem(IDC_MOD);
		bMod->EnableWindow(true);
		
		bDel=(CButton*)GetDlgItem(IDC_DELETE);
		bDel->EnableWindow(true);
		
		CButton *chk1;
		chk1=(CButton*)GetDlgItem(IDC_CHECK1);
		chk1->SetCheck(false);
	}

	CButton *pSaving,*pCurrent,*pChecking;
	pSaving=(CButton*)GetDlgItem(IDC_RADIO1);
	pCurrent=(CButton*)GetDlgItem(IDC_RADIO2);
	pChecking=(CButton*)GetDlgItem(IDC_RADIO3);
	
	if(m_pSet->m_Type_account=="S")
	{
		pSaving->SetCheck(true);
		pCurrent->SetCheck(false);
		pChecking->SetCheck(false);
	}
	else if(m_pSet->m_Type_account=="C")
	{
		pSaving->SetCheck(false);
		pCurrent->SetCheck(true);
		pChecking->SetCheck(false);
	}
	else if(m_pSet->m_Type_account=="K")
	{
		pSaving->SetCheck(false);
		pCurrent->SetCheck(false);
		pChecking->SetCheck(true);
	}
}

void CBankOperationView::OnSave() 
{
	CComboBox *cmb=(CComboBox*)GetDlgItem(IDC_ACCNO);
	long lAccountNum = cmb->GetCount();	
	lAccountNum = 10000 + lAccountNum; //10000 is the seed for Account number //Newly created account number
	cmb->EnableWindow(FALSE); //Disable the account num as it will get generated automatically.
	m_bAddNewAccount = TRUE;

	CString strAccNum;
	strAccNum.Format("%ld", lAccountNum);
	SetDlgItemText(IDC_ACCNO, strAccNum);

	CButton* pAdd, *pMod, *pUpd, *pCancel, *pDel, *pReActivate, *pDep, *pTransfer;
	pAdd=(CButton*)GetDlgItem(IDC_SAVE);
	pAdd->EnableWindow(false);
	pMod=(CButton*)GetDlgItem(IDC_MOD);
	pMod->EnableWindow(false);
	pUpd=(CButton*)GetDlgItem(IDC_UPD);
	pUpd->EnableWindow(true);
	pCancel=(CButton*)GetDlgItem(IDC_CANCEL1);
	pCancel->EnableWindow(true);
	pDel=(CButton*)GetDlgItem(IDC_DELETE);
	pDel->EnableWindow(false);
	pReActivate=(CButton*)GetDlgItem(IDC_REACTIVATE);
	pReActivate->EnableWindow(false);
	pDep=(CButton*)GetDlgItem(IDC_DEPOSIT);
	pDep->EnableWindow(false);
	pTransfer=(CButton*)GetDlgItem(IDC_TRANSFER);
	pTransfer->EnableWindow(false);

	SetDlgItemText(IDC_FNAME, "");
	SetDlgItemText(IDC_LNAME, "");
	SetDlgItemText(IDC_DOB, "");
	SetDlgItemText(IDC_PADD, "");
	SetDlgItemText(IDC_MADD, "");
	SetDlgItemText(IDC_PHONE, "");
	SetDlgItemText(IDC_EMAIL, "");
	SetDlgItemInt(IDC_REFACCNO,0,false);
	SetDlgItemInt(IDC_AMOUNT,0,false);

	CButton* pChk1=(CButton*)GetDlgItem(IDC_CHECK1);
	pChk1->SetCheck(0);

	//Rest will be done by Update button
}

//Handles the OnDeActivate button
void CBankOperationView::OnDeActivate() 
{
	if (AfxMessageBox("Are you sure you want to deactivate this account number?", MB_YESNO) == IDNO)
		return;

	m_pSet->Edit();
	long lCurrentAccountNum = m_pSet->m_Account_Number;
	m_pSet->m_Valid_Acc="CA";
	UpdateData(true);
	if(!m_pSet->Update())
		AfxMessageBox("Not Able to delete this account");
	if(m_pSet->Requery()==0)
		return;

	AfxMessageBox("The Account has been marked as Unused Account!!!");

	if(!m_pSet->IsBOF() && m_pSet->IsEOF())
		m_pSet->MoveFirst();
	while( m_pSet->m_Account_Number == lCurrentAccountNum || m_pSet->IsEOF())
	{
		m_pSet->MoveNext();
	}

	CButton *pAdd, *pUpd, *pMod, *pDel, *pReActivate;
	pAdd=(CButton*)GetDlgItem(IDC_SAVE);
	pAdd->EnableWindow(false);
		
	pUpd=(CButton*)GetDlgItem(IDC_UPD);
	pUpd->EnableWindow(false);
	
	pMod=(CButton*)GetDlgItem(IDC_MOD);
	pMod->EnableWindow(false);
	
	pDel=(CButton*)GetDlgItem(IDC_DELETE);
	pDel->EnableWindow(false);
		
	pReActivate=(CButton*)GetDlgItem(IDC_REACTIVATE);
	pReActivate->EnableWindow(true);

	SetDlgItemText(IDC_VALID,"UnOperational Account");
}

//Handles the sel change for Account number Combo
void CBankOperationView::OnSelchangeAccno() 
{
	m_pSet->MoveFirst();
	CComboBox *cmb=(CComboBox*)GetDlgItem(IDC_ACCNO);
	int nCurIndex=cmb->GetCurSel();
	
	CString str;
	cmb->GetLBText(nCurIndex,str);
	int accNo=atoi(str);
	while( m_pSet->m_Account_Number != accNo )
		m_pSet->MoveNext();
	UpdateData(false);		
	
	//CDateTimeCtrl *pDOBCtrl = (CDateTimeCtrl*) GetDlgItem(IDC_DOB);
	//pDOBCtrl->("01/01/1980");

	CButton *pAdd,*pMod,*pDel,*pUpd, *pReActivate;
	if(m_pSet->m_Valid_Acc=="CA")
	{
		SetDlgItemText(IDC_VALID,"UnOperational Account");

		pAdd=(CButton*)GetDlgItem(IDC_SAVE);
		pAdd->EnableWindow(false);
		
		pUpd=(CButton*)GetDlgItem(IDC_UPD);
		pUpd->EnableWindow(false);
		
		pMod=(CButton*)GetDlgItem(IDC_MOD);
		pMod->EnableWindow(false);
		
		pDel=(CButton*)GetDlgItem(IDC_DELETE);
		pDel->EnableWindow(false);

		pReActivate=(CButton*)GetDlgItem(IDC_REACTIVATE);
		pReActivate->EnableWindow(true);

		CButton *chk1;
		chk1=(CButton*)GetDlgItem(IDC_CHECK1);
		chk1->SetCheck(false);
	}
	else
	{	
		SetDlgItemText(IDC_VALID,"Operational Account");

		pAdd=(CButton*)GetDlgItem(IDC_SAVE);
		pAdd->EnableWindow(true);
			
		pUpd=(CButton*)GetDlgItem(IDC_UPD);
		pUpd->EnableWindow(false);
		
		pMod=(CButton*)GetDlgItem(IDC_MOD);
		pMod->EnableWindow(true);
		
		pDel=(CButton*)GetDlgItem(IDC_DELETE);
		pDel->EnableWindow(true);
		
		pReActivate=(CButton*)GetDlgItem(IDC_REACTIVATE);
		pReActivate->EnableWindow(false);

		CButton *chk1;
		chk1=(CButton*)GetDlgItem(IDC_CHECK1);
		chk1->SetCheck(false);
	}
	CButton *pSaving,*pCurrent,*pChecking;
	pSaving=(CButton*)GetDlgItem(IDC_RADIO1);
	pCurrent=(CButton*)GetDlgItem(IDC_RADIO2);
	pChecking=(CButton*)GetDlgItem(IDC_RADIO3);
	
	if(m_pSet->m_Type_account=="S")
	{
		pSaving->SetCheck(true);
		pCurrent->SetCheck(false);
		pChecking->SetCheck(false);
	}
	else if(m_pSet->m_Type_account=="C")
	{
		pSaving->SetCheck(false);
		pCurrent->SetCheck(true);
		pChecking->SetCheck(false);
	}
	else if(m_pSet->m_Type_account=="K")
	{
		pSaving->SetCheck(false);
		pCurrent->SetCheck(false);
		pChecking->SetCheck(true);
	}

}

//Handles the case of Update buton
void CBankOperationView::OnUpd() 
{
	if(!m_pRef->IsOpen())
		m_pRef->Open();
	if(m_pRef->IsBOF() && m_pRef->IsEOF ())
		AfxMessageBox("No Records in the Database...");
	m_pRef->MoveFirst();

	//Get the account number to edit
	long lAcctNumToEdit = m_pSet->m_Account_Number;
	if(!m_pSet->IsOpen())
		m_pSet->Open();
	if(m_pSet->IsBOF() && m_pSet->IsEOF ())
		AfxMessageBox("No Records in the Database...");
	m_pSet->MoveFirst();

	bool flag=false;
	
	CString strRefAccNum;
	GetDlgItemText(IDC_REFACCNO, strRefAccNum);
	CEdit *pRefAcc = (CEdit*)GetDlgItem(IDC_REFACCNO);
	if ( atoi(strRefAccNum) != 0 ) 
	{
		while(!m_pRef->IsEOF())
		{
			if(atoi(strRefAccNum) == m_pRef->m_Account_Number)
			{
				if(m_pRef->m_Valid_Acc=="CA")
				{
					AfxMessageBox("UnOperational Account - Give Another Number");
					flag=false;
					pRefAcc->SetFocus();
					return;
				}
				flag=true;
				break;
			}
			m_pRef->MoveNext();
		}
		if(m_pRef->IsEOF() && flag==false)
		{
			AfxMessageBox("Invalid Account Number: Please enter valid account number");
			pRefAcc->SetFocus();
			return;
		}
	}

	CEdit* pAmount=(CEdit*)GetDlgItem(IDC_AMOUNT);
	CString strAmt;
	pAmount->GetWindowText(strAmt);
	long lAmt = atoi(strAmt);
	strAmt.Format("%ld", lAmt);
	pAmount->SetWindowText(strAmt);

	CString strFName, strLName, strDOB, strPADD;
	GetDlgItemText(IDC_FNAME, strFName);
	if (strFName.Trim().IsEmpty())
	{
		AfxMessageBox("Please enter your first name");
		((CEdit*)GetDlgItem(IDC_FNAME))->SetFocus();
		return;
	}
	GetDlgItemText(IDC_LNAME, strLName);
	if (strLName.Trim().IsEmpty())
	{
		AfxMessageBox("Please enter your last name");
		((CEdit*)GetDlgItem(IDC_LNAME))->SetFocus();
		return;
	}

	GetDlgItemText(IDC_DOB, strDOB);
	if (!VerifyDate(strDOB))
	{
		AfxMessageBox("Please enter/correct your DOB");
		((CEdit*)GetDlgItem(IDC_DOB))->SetFocus();
		return;
	}

	GetDlgItemText(IDC_PADD, strPADD);
	if (strPADD.Trim().IsEmpty())
	{
		AfxMessageBox("Please enter your Address");
		((CEdit*)GetDlgItem(IDC_PADD))->SetFocus();
		return;
	}

	CEdit *pAmnt;
	pAmnt=(CEdit*)GetDlgItem(IDC_AMOUNT);

	CButton *pSaveing,*pCurrent,*pChecking;
	pSaveing=(CButton*)GetDlgItem(IDC_RADIO1);
	pCurrent=(CButton*)GetDlgItem(IDC_RADIO2);
	pChecking=(CButton*)GetDlgItem(IDC_RADIO3);

	if(pSaveing->GetCheck()==BST_CHECKED)
	{
		m_pSet->m_Type_account="S";
		if(m_pSet->m_Balance<50)
		{
			AfxMessageBox("Minimum Acceptable Amount is $50");
			pAmnt->SetFocus();
			return;
		}
	}
	else if(pCurrent->GetCheck()==BST_CHECKED)
	{
		m_pSet->m_Type_account="C";
		if(m_pSet->m_Balance<100)
		{
			AfxMessageBox("Minimum Acceptable Amount is $100");
			pAmnt->SetFocus();
			return;
		}
	}
	else if (pChecking->GetCheck()==BST_CHECKED)
	{
		m_pSet->m_Type_account="K";
		if(m_pSet->m_Balance<150)
		{
			AfxMessageBox("Minimum Acceptable Amount is $150");
			pAmnt->SetFocus();
			return;
		}
	}

	CComboBox* cmb=(CComboBox*)GetDlgItem(IDC_ACCNO);
	CButton* pAdd, *pMod, *pDel, *pUpd, *pDep, *pTransfer, *pCancel;
	pAdd=(CButton*)GetDlgItem(IDC_SAVE);
	pAdd->EnableWindow(true);
	pMod=(CButton*)GetDlgItem(IDC_MOD);
	pMod->EnableWindow(true);
	pUpd=(CButton*)GetDlgItem(IDC_UPD);
	pUpd->EnableWindow(false);
	pCancel=(CButton*)GetDlgItem(IDC_CANCEL1);
	pCancel->EnableWindow(false);
	pDel=(CButton*)GetDlgItem(IDC_DELETE);
	pDel->EnableWindow(true);
	//pReActivate=(CButton*)GetDlgItem(IDC_REACTIVATE);
	//pReActivate->EnableWindow(false);
	pDep=(CButton*)GetDlgItem(IDC_DEPOSIT);
	pDep->EnableWindow(true);
	pTransfer=(CButton*)GetDlgItem(IDC_TRANSFER);
	pTransfer->EnableWindow(true);

	if (m_bAddNewAccount)
	{
		cmb->EnableWindow(true);
		pMod=(CButton*)GetDlgItem(IDC_MOD);
		pMod->EnableWindow(true);

		int nNewAccountNum=0;
		if(!m_pSet->IsEOF())
		{
			m_pSet->MoveLast();
			nNewAccountNum = m_pSet->m_Account_Number + 1;
		}

		CString strNewAccountNum;
		strNewAccountNum.Format("%d", nNewAccountNum);

		m_pSet->AddNew();
		UpdateData(true);

		m_pSet->m_Valid_Acc="VA";
		//GetDlgItemText(IDC_CURRDT,m_pSet->m_curr_date);
	
		CButton *pSaveing,*pCurrent,*pChecking;
		pSaveing=(CButton*)GetDlgItem(IDC_RADIO1);
		pCurrent=(CButton*)GetDlgItem(IDC_RADIO2);
		pChecking=(CButton*)GetDlgItem(IDC_RADIO3);

		if(pSaveing->GetCheck()==BST_CHECKED)
			m_pSet->m_Type_account="S";
		else if(pCurrent->GetCheck()==BST_CHECKED)
			m_pSet->m_Type_account="C";
		else if (pChecking->GetCheck()==BST_CHECKED)
			m_pSet->m_Type_account="K";

		if(!m_pSet->Update())
			AfxMessageBox("Unable to Save....");
		if(m_pSet->Requery()==0)
			return;

		cmb->AddString(strNewAccountNum);
		if(!m_pSet->IsBOF() && m_pSet->IsEOF())
			m_pSet->MoveLast();

		AfxMessageBox("Account has been created");		
		
		CButton *chk1; 
		chk1=(CButton*)GetDlgItem(IDC_CHECK1);
		chk1->SetCheck(false);

		CButton *bMod,*bDel;
		bMod=(CButton*)GetDlgItem(IDC_MOD);
		bMod->EnableWindow(true);
		bDel=(CButton*)GetDlgItem(IDC_DELETE);
		bDel->EnableWindow(true);

		m_bAddNewAccount = FALSE;
	}
	else
	{
		if(!m_pSet->IsOpen())
			m_pSet->Open();
		if(m_pSet->IsBOF() && m_pSet->IsEOF ())
			AfxMessageBox("No Records in the Database...");
		while (!m_pSet->IsEOF())
		{
			if (m_pSet->m_Account_Number == lAcctNumToEdit)
				break;
			m_pSet->MoveNext();
		}

		m_pSet->Edit();
		m_pSet->m_Valid_Acc="VA";
		GetDlgItemText(IDC_MADD,m_pSet->m_Mailing_Addr);
		GetDlgItemText(IDC_PADD,m_pSet->m_Permanent_Addr);
		GetDlgItemText(IDC_EMAIL,m_pSet->m_eMailID);
		GetDlgItemText(IDC_PHONE,m_pSet->m_Phone_Number);

		CButton *pSaveing,*pCurrent,*pChecking;
		pSaveing=(CButton*)GetDlgItem(IDC_RADIO1);
		pCurrent=(CButton*)GetDlgItem(IDC_RADIO2);
		pChecking=(CButton*)GetDlgItem(IDC_RADIO3);

		if(pSaveing->GetCheck()==BST_CHECKED)
			m_pSet->m_Type_account="S";
		else if(pCurrent->GetCheck()==BST_CHECKED)
			m_pSet->m_Type_account="C";
		else if (pChecking->GetCheck()==BST_CHECKED)
			m_pSet->m_Type_account="K";

		if(!m_pSet->Update())
			AfxMessageBox("Updation of Record Failed!!!");
		UpdateData(false);
		if(m_pSet->Requery()==0)
			return;

		if(!m_pSet->IsOpen())
			m_pSet->Open();
		while (!m_pSet->IsEOF())
		{
			if (m_pSet->m_Account_Number == lAcctNumToEdit)
				break;
			m_pSet->MoveNext();
		}

		AfxMessageBox("Record has been updated");

		CButton *chk1;
		chk1=(CButton*)GetDlgItem(IDC_CHECK1);
		chk1->SetCheck(false);

		CEdit *pFName,*pLName,*pDOB,*pRefAcc,*pAmount;

		pFName=(CEdit*)GetDlgItem(IDC_FNAME);
		pFName->EnableWindow(true);

		pLName=(CEdit*)GetDlgItem(IDC_LNAME);
		pLName->EnableWindow(true);

		pDOB=(CEdit*)GetDlgItem(IDC_DOB);
		pDOB->EnableWindow(true);

		pRefAcc=(CEdit*)GetDlgItem(IDC_REFACCNO);
		pRefAcc->EnableWindow(true);
		
		pAmount=(CEdit*)GetDlgItem(IDC_AMOUNT);
		pAmount->EnableWindow(true);
		
		CComboBox *pcmbAcc;
		pcmbAcc=(CComboBox*)GetDlgItem(IDC_ACCNO);
		pcmbAcc->EnableWindow(true);
	}

	m_bFromUpdate = TRUE;
	OnInitialUpdate();
}

//Handles Modfy button
void CBankOperationView::OnMod() 
{
	CButton *b1, *pCancel;
	b1=(CButton*)GetDlgItem(IDC_UPD);
	b1->EnableWindow(true);
	pCancel=(CButton*)GetDlgItem(IDC_CANCEL1);
	pCancel->EnableWindow(true);

	CEdit *pFName,*pLName,*pDOB,*pRefAcc,*pAmount;

	pFName=(CEdit*)GetDlgItem(IDC_FNAME);
	pFName->EnableWindow(false);

	pLName=(CEdit*)GetDlgItem(IDC_LNAME);
	pLName->EnableWindow(false);

	pDOB=(CEdit*)GetDlgItem(IDC_DOB);
	pDOB->EnableWindow(false);

	pRefAcc=(CEdit*)GetDlgItem(IDC_REFACCNO);
	pRefAcc->EnableWindow(false);
	
	pAmount=(CEdit*)GetDlgItem(IDC_AMOUNT);
	pAmount->EnableWindow(false);
	
	CComboBox *pcmbAcc;
	pcmbAcc=(CComboBox*)GetDlgItem(IDC_ACCNO);
	pcmbAcc->EnableWindow(false);

	CButton *pAdd, *pMod, *pDel, *pReActivate, *pDep, *pTransfer;
	pAdd=(CButton*)GetDlgItem(IDC_SAVE);
	pAdd->EnableWindow(false);
	pMod=(CButton*)GetDlgItem(IDC_MOD);
	pMod->EnableWindow(false);
	pDel=(CButton*)GetDlgItem(IDC_DELETE);
	pDel->EnableWindow(false);
	pReActivate=(CButton*)GetDlgItem(IDC_REACTIVATE);
	pReActivate->EnableWindow(false);
	pDep=(CButton*)GetDlgItem(IDC_DEPOSIT);
	pDep->EnableWindow(false);
	pTransfer=(CButton*)GetDlgItem(IDC_TRANSFER);
	pTransfer->EnableWindow(false);
}

//Handles te Check issue check box
void CBankOperationView::OnCheck1() 
{
	CButton* pButton = (CButton*)GetDlgItem(IDC_CHECK1);
	if ( !(pButton->GetState() & 0x0003) )
		return; //Don't do anything if the checkbox is being unchecked
	

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -