#ifndef _RSSELLER_H_ #define _RSSELLER_H_ #include #include class RSSeller : public RSUser { private: TCHAR m_szTypeOfSeller[64]; TCHAR m_szCompanyName[64]; TCHAR m_szContact[64]; TCHAR m_szPhoneNumber[64]; public: RSSeller(RSUser cUser); BOOL IsActive(); TCHAR* GetTypeOfSeller() { return m_szTypeOfSeller; }; TCHAR* GetCompanyName() { return m_szCompanyName; }; TCHAR* GetContact() { return m_szContact; }; TCHAR* GetPhoneNumber() { return m_szPhoneNumber; }; void Logout(HWND hwnd); void SetProfileData(TCHAR* szTypeOfSeller, TCHAR* szCompanyName, TCHAR* szContact, TCHAR* szPhoneNumber); void SaveProfileData(); }; void RSSeller::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_szTypeOfSeller, L"\0"); wcscpy(m_szCompanyName, L"\0"); wcscpy(m_szContact, L"\0"); wcscpy(m_szPhoneNumber, L"\0"); RSUser::Logout(); } } void RSSeller::SaveProfileData() { FILE *stream; TCHAR szSellerFilename[64]; wcscpy(szSellerFilename, L"\0"); // form filename 'B' < 'USERID' wcscat(szSellerFilename, L"S"); wcscat(szSellerFilename, m_szUserID); wcscat(szSellerFilename, L".txt"); // open account file stream = _wfopen(szSellerFilename, L"w+" ); // automatic fail login, no file opened if( stream != NULL ) { // read in sets of account information fputws(m_szTypeOfSeller, stream); fputws(L"\n", stream); fputws(m_szCompanyName, stream); fputws(L"\n", stream); fputws(m_szContact, stream); fputws(L"\n", stream); fputws(m_szPhoneNumber, stream); fputws(L"\n", stream); fclose(stream); } } void RSSeller::SetProfileData(TCHAR* szTypeOfSeller, TCHAR* szCompanyName, TCHAR* szContact, TCHAR* szPhoneNumber) { wcscpy(m_szTypeOfSeller, szTypeOfSeller); wcscpy(m_szCompanyName, szCompanyName); wcscpy(m_szContact, szContact); wcscpy(m_szPhoneNumber, szPhoneNumber); } RSSeller::RSSeller(RSUser cUser) { FILE *stream; TCHAR szSellerFilename[64]; wcscpy(szSellerFilename, L"\0"); wcscpy(m_szTypeOfSeller, L"\0"); wcscpy(m_szCompanyName, L"\0"); wcscpy(m_szContact, L"\0"); wcscpy(m_szPhoneNumber, L"\0"); // form filename 'B' < 'USERID' wcscat(szSellerFilename, L"S"); wcscat(szSellerFilename, cUser.GetUserID()); wcscat(szSellerFilename, L".txt"); wcscpy(m_szUserID, cUser.GetUserID()); wcscpy(m_szUserPassword, cUser.GetUserPassword()); // open account file stream = _wfopen(szSellerFilename, 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_szTypeOfSeller, 64, stream); m_szTypeOfSeller[wcslen(m_szTypeOfSeller)-1] = L'\0'; fgetws(m_szCompanyName, 64, stream); m_szCompanyName[wcslen(m_szCompanyName)-1] = L'\0'; fgetws(m_szContact, 64, stream); m_szContact[wcslen(m_szContact)-1] = L'\0'; fgetws(m_szPhoneNumber, 64, stream); m_szPhoneNumber[wcslen(m_szPhoneNumber)-1] = L'\0'; fclose(stream); } } BOOL RSSeller::IsActive() { if( (wcslen(m_szTypeOfSeller) == 0) || (wcslen(m_szCompanyName) == 0) || (wcslen(m_szContact) == 0) || (wcslen(m_szPhoneNumber) == 0) ) { return FALSE; } return TRUE; } #endif