AddUserDlg.cpp
上传用户:yuxuan88
上传日期:2022-05-09
资源大小:2290k
文件大小:4k
源码类别:

行业应用

开发平台:

Visual C++

  1. // AddUserDlg.cpp : implementation file
  2. //
  3. #include "stdafx.h"
  4. #include "Inhabitants.h"
  5. #include "AddUserDlg.h"
  6. #include "InhabitantsDoc.h"
  7. #include "MainFrm.h"
  8. #include "LeftTreeView.h"
  9. #ifdef _DEBUG
  10. #define new DEBUG_NEW
  11. #undef THIS_FILE
  12. static char THIS_FILE[] = __FILE__;
  13. #endif
  14. /////////////////////////////////////////////////////////////////////////////
  15. // CAddUserDlg dialog
  16. CAddUserDlg::CAddUserDlg(CWnd* pParent /*=NULL*/)
  17. : CDialog(CAddUserDlg::IDD, pParent)
  18. {
  19. //{{AFX_DATA_INIT(CAddUserDlg)
  20. m_strBeeppager = _T("");
  21. m_nBuildingNum = 0;
  22. m_nCellNum = 0;
  23. m_strEmail = _T("");
  24. m_strHomeTel = _T("");
  25. m_strHousemaster = _T("");
  26. m_strMobile = _T("");
  27. m_strOffice = _T("");
  28. m_strOfficeTel = _T("");
  29. m_nRoomNum = 0;
  30. m_strSectionName = _T("");
  31. //}}AFX_DATA_INIT
  32. }
  33. void CAddUserDlg::DoDataExchange(CDataExchange* pDX)
  34. {
  35. CDialog::DoDataExchange(pDX);
  36. //{{AFX_DATA_MAP(CAddUserDlg)
  37. DDX_Text(pDX, IDC_EDIT_BEEPPAGER, m_strBeeppager);
  38. DDX_Text(pDX, IDC_EDIT_BUILDINGNUM, m_nBuildingNum);
  39. DDX_Text(pDX, IDC_EDIT_CELLNUM, m_nCellNum);
  40. DDX_Text(pDX, IDC_EDIT_EMAIL, m_strEmail);
  41. DDX_Text(pDX, IDC_EDIT_HOMETEL, m_strHomeTel);
  42. DDX_Text(pDX, IDC_EDIT_HOUSEMASTER, m_strHousemaster);
  43. DDX_Text(pDX, IDC_EDIT_MOBILE, m_strMobile);
  44. DDX_Text(pDX, IDC_EDIT_OFFICE, m_strOffice);
  45. DDX_Text(pDX, IDC_EDIT_OFFICETEL, m_strOfficeTel);
  46. DDX_Text(pDX, IDC_EDIT_ROOMNUM, m_nRoomNum);
  47. DDX_Text(pDX, IDC_EDIT_SECTIONNAME, m_strSectionName);
  48. //}}AFX_DATA_MAP
  49. }
  50. BEGIN_MESSAGE_MAP(CAddUserDlg, CDialog)
  51. //{{AFX_MSG_MAP(CAddUserDlg)
  52. //}}AFX_MSG_MAP
  53. END_MESSAGE_MAP()
  54. /////////////////////////////////////////////////////////////////////////////
  55. // CAddUserDlg message handlers
  56. void CAddUserDlg::OnOK() 
  57. {
  58. //判断输入信息的合法性
  59. UpdateData(TRUE);
  60. CEdit* p;
  61. if( m_strHousemaster == "" )
  62. {
  63. AfxMessageBox("请填户主姓名");
  64. p = (CEdit*)GetDlgItem(IDC_EDIT_HOUSEMASTER);
  65. p->SetFocus();
  66. return;
  67. }
  68. if( m_strSectionName == "" )
  69. {
  70. AfxMessageBox("请填小区名称");
  71. p = (CEdit*)GetDlgItem(IDC_EDIT_SECTIONNAME);
  72. p->SetFocus();
  73. return;
  74. }
  75. if( m_nBuildingNum == 0 )
  76. {
  77. AfxMessageBox("楼号不能为零");
  78. p = (CEdit*)GetDlgItem(IDC_EDIT_BUILDINGNUM);
  79. p->SetFocus();
  80. return;
  81. }
  82. if( m_nCellNum == 0 )
  83. {
  84. AfxMessageBox("单元号不能为零");
  85. p = (CEdit*)GetDlgItem(IDC_EDIT_CELLNUM);
  86. p->SetFocus();
  87. return;
  88. }
  89. if( m_nRoomNum == 0 )
  90. {
  91. AfxMessageBox("房间号不能为零");
  92. p = (CEdit*)GetDlgItem(IDC_EDIT_ROOMNUM);
  93. p->SetFocus();
  94. return;
  95. }
  96. CMainFrame* pFrame = (CMainFrame*)AfxGetApp()->m_pMainWnd;
  97. CInhabitantsDoc* pDoc = (CInhabitantsDoc*)pFrame->GetActiveDocument();
  98. //让用户确认操作
  99. if(this->MessageBox("你真的要添加这条记录?",
  100. "小区居民管理系统",MB_YESNO)==IDNO)
  101. {
  102. CDialog::OnCancel();
  103. return;
  104. }
  105. //增加住户到数据库中
  106. USER user;
  107. user.strSectionname = m_strSectionName;
  108. user.nBuildingnum = m_nBuildingNum;
  109. user.nCellnum = m_nCellNum;
  110. user.nRoomnum = m_nRoomNum;
  111. user.strName = m_strHousemaster;
  112. user.strHouseTel = m_strHomeTel;
  113. user.strOffice = m_strOffice;
  114. user.strOfficeTel = m_strOfficeTel;
  115. user.strBeeppager = m_strBeeppager;
  116. user.strMobile = m_strMobile;
  117. user.strEmail = m_strEmail;
  118. switch(pDoc->AddUser(user))
  119. {
  120. case 0:
  121. { //已经存在该住户了
  122. CString str;
  123. str.Format( "%s小区的%d号楼的%d单元的%d房间的住户已经存在了",
  124. m_strSectionName,m_nBuildingNum,m_nCellNum,m_nRoomNum );
  125. AfxMessageBox( str );
  126. CEdit* p = (CEdit*)GetDlgItem(IDC_EDIT_ROOMNUM);
  127. p->SetFocus();
  128. return;
  129. break;
  130. }
  131. case 1:
  132. { //增加成功后刷新左边的树视图
  133. pFrame->m_pLeftView->AddUserToTree(m_strSectionName,
  134. m_nBuildingNum,m_nCellNum,m_nRoomNum);
  135. break;
  136. }
  137. default:
  138. return;
  139. break;
  140. }
  141. CDialog::OnOK();
  142. }