home *** CD-ROM | disk | FTP | other *** search
/ Mastering MFC Development / MMD.ISO / labs / c08 / lab02 / ex02 / employeepayset.cpp < prev    next >
Encoding:
C/C++ Source or Header  |  1997-02-20  |  2.5 KB  |  101 lines

  1. // EmployeePaySet.cpp : implementation of the CEmployeePaySet class
  2. //
  3.  
  4. #include "stdafx.h"
  5. #include "Employee.h"
  6. #include "EmployeePaySet.h"
  7.  
  8. #include <io.h>    // for _findfirst
  9.  
  10. #ifdef _DEBUG
  11. #define new DEBUG_NEW
  12. #undef THIS_FILE
  13. static char THIS_FILE[] = __FILE__;
  14. #endif
  15.  
  16. /////////////////////////////////////////////////////////////////////////////
  17. // CEmployeePaySet implementation
  18.  
  19. IMPLEMENT_DYNAMIC(CEmployeePaySet, CDaoRecordset)
  20.  
  21. CEmployeePaySet::CEmployeePaySet(CDaoDatabase* pdb)
  22.     : CDaoRecordset(pdb)
  23. {
  24.     //{{AFX_FIELD_INIT(CEmployeePaySet)
  25.     m_Employee_Number = 0;
  26.     m_Last_Name = _T("");
  27.     m_First_Name = _T("");
  28.     m_Department__ = 0;
  29.     m_Employee_Pay_Type = 0;
  30.     m_Hours = 0.0;
  31.     m_Hourly_Rate = 0.0;
  32.     m_Weekly_Salary = 0.0;
  33.     m_Sales_Bonus_Rate = 0.0;
  34.     m_Weekly_Sales = 0.0;
  35.     m_nFields = 10;
  36.     //}}AFX_FIELD_INIT
  37.     m_nDefaultType = dbOpenDynaset;
  38.  
  39.     m_strSort = "[Last Name],[First Name]";
  40. }
  41.  
  42. CString CEmployeePaySet::GetDefaultDBName()
  43. {
  44.     // Search for the database 2 levels up...
  45.     struct _finddata_t c_file;
  46.     long hFile;
  47.     CString fname = "..\\..\\personnel.mdb";
  48.  
  49.     hFile = _findfirst(fname, &c_file);
  50.  
  51.     if( -1 != hFile )
  52.         return _T(fname);
  53.  
  54.     // and then one level up.
  55.     fname = "..\\personnel.mdb";
  56.  
  57.     hFile = _findfirst(fname, &c_file);
  58.  
  59.     if( -1 != hFile )
  60.         return _T(fname);
  61.  
  62.     return _T("");
  63. }
  64.  
  65. CString CEmployeePaySet::GetDefaultSQL()
  66. {
  67.     return _T("[Employee Pay Table]");
  68. }
  69.  
  70. void CEmployeePaySet::DoFieldExchange(CDaoFieldExchange* pFX)
  71. {
  72.     //{{AFX_FIELD_MAP(CEmployeePaySet)
  73.     pFX->SetFieldType(CDaoFieldExchange::outputColumn);
  74.     DFX_Long(pFX, _T("[Employee Number]"), m_Employee_Number);
  75.     DFX_Text(pFX, _T("[Last Name]"), m_Last_Name);
  76.     DFX_Text(pFX, _T("[First Name]"), m_First_Name);
  77.     DFX_Short(pFX, _T("[Department #]"), m_Department__);
  78.     DFX_Short(pFX, _T("[Employee Pay Type]"), m_Employee_Pay_Type);
  79.     DFX_Double(pFX, _T("[Hours]"), m_Hours);
  80.     DFX_Double(pFX, _T("[Hourly Rate]"), m_Hourly_Rate);
  81.     DFX_Double(pFX, _T("[Weekly Salary]"), m_Weekly_Salary);
  82.     DFX_Double(pFX, _T("[Sales Bonus Rate]"), m_Sales_Bonus_Rate);
  83.     DFX_Double(pFX, _T("[Weekly Sales]"), m_Weekly_Sales);
  84.     //}}AFX_FIELD_MAP
  85. }
  86.  
  87. /////////////////////////////////////////////////////////////////////////////
  88. // CEmployeePaySet diagnostics
  89.  
  90. #ifdef _DEBUG
  91. void CEmployeePaySet::AssertValid() const
  92. {
  93.     CDaoRecordset::AssertValid();
  94. }
  95.  
  96. void CEmployeePaySet::Dump(CDumpContext& dc) const
  97. {
  98.     CDaoRecordset::Dump(dc);
  99. }
  100. #endif //_DEBUG
  101.