#include #include class RSBuyer : public RSUser { private: TCHAR m_szFirstName[64]; TCHAR m_szLastName[64]; TCHAR m_szAddress[64]; TCHAR m_szPhoneNumber[64]; public: RSBuyer(RSUser cUser); BOOL IsActive(); TCHAR* GetFirstName() { return m_szFirstName; }; TCHAR* GetLastName() { return m_szLastName; }; TCHAR* GetAddress() { return m_szAddress; }; TCHAR* GetPhoneNumber() { return m_szPhoneNumber; }; void SetProfileData(TCHAR* szFirstName, TCHAR* szLastName, TCHAR* szAddress, TCHAR* szPhoneNumber); void SaveProfileData(); void Logout(HWND hWnd); //void PostNewRequest(); }; void RSBuyer::Logout(HWND hWnd = NULL) { int result = MessageBox(hWnd, L"Are you sure you want to logout?", L"Logout", MB_YESNO); if(result == IDYES) { wcscpy(m_szFirstName, L"\0"); wcscpy(m_szLastName, L"\0"); wcscpy(m_szAddress, L"\0"); wcscpy(m_szPhoneNumber, L"\0"); RSUser::Logout(); } } void RSBuyer::SaveProfileData() { FILE *stream; TCHAR szBuyerFilename[64]; wcscpy(szBuyerFilename, L"\0"); // form filename 'B' < 'USERID' wcscat(szBuyerFilename, L"B"); wcscat(szBuyerFilename, m_szUserID); wcscat(szBuyerFilename, L".txt"); // open account file stream = _wfopen(szBuyerFilename, L"w+" ); // automatic fail login, no file opened if( stream != NULL ) { // read in sets of account information fputws(m_szFirstName, stream); fputws(L"\n", stream); fputws(m_szLastName, stream); fputws(L"\n", stream); fputws(m_szAddress, stream); fputws(L"\n", stream); fputws(m_szPhoneNumber, stream); fputws(L"\n", stream); fclose(stream); } } void RSBuyer::SetProfileData(TCHAR* szFirstName, TCHAR* szLastName, TCHAR* szAddress, TCHAR* szPhoneNumber) { wcscpy(m_szFirstName, szFirstName); wcscpy(m_szLastName, szLastName); wcscpy(m_szAddress, szAddress); wcscpy(m_szPhoneNumber, szPhoneNumber); } RSBuyer::RSBuyer(RSUser cUser) { FILE *stream; TCHAR szBuyerFilename[64]; wcscpy(szBuyerFilename, L"\0"); wcscpy(m_szFirstName, L"\0"); wcscpy(m_szLastName, L"\0"); wcscpy(m_szAddress, L"\0"); wcscpy(m_szPhoneNumber, L"\0"); // form filename 'B' < 'USERID' wcscat(szBuyerFilename, L"B"); wcscat(szBuyerFilename, cUser.GetUserID()); wcscat(szBuyerFilename, L".txt"); wcscpy(m_szUserID, cUser.GetUserID()); wcscpy(m_szUserPassword, cUser.GetUserPassword()); // open account file stream = _wfopen(szBuyerFilename, L"r" ); // automatic fail login, no file opened if( stream != NULL ) { // read in sets of profile information // remember to remove the newline character fgetws(m_szFirstName, 64, stream); m_szFirstName[wcslen(m_szFirstName)-1] = L'\0'; fgetws(m_szLastName, 64, stream); m_szLastName[wcslen(m_szLastName)-1] = L'\0'; fgetws(m_szAddress, 64, stream); m_szAddress[wcslen(m_szAddress)-1] = L'\0'; fgetws(m_szPhoneNumber, 64, stream); m_szPhoneNumber[wcslen(m_szPhoneNumber)-1] = L'\0'; fclose(stream); } } BOOL RSBuyer::IsActive() { if( (wcslen(m_szFirstName) == 0) || (wcslen(m_szLastName) == 0) || (wcslen(m_szAddress) == 0) || (wcslen(m_szPhoneNumber) == 0) ) { return FALSE; } return TRUE; }