Cls Bank Client
Cls Bank Client
#include <iostream>
#include <string>
#include "clsPerson.h"
#include "clsString.h"
#include <vector>
#include <fstream>
string _AccountNumber;
string _PinCode;
float _AccountBalance;
bool _MarkedForDelete = false;
return stClientRecord;
}
fstream MyFile;
MyFile.open("Clients.txt", ios::in);//read Mode
if (MyFile.is_open())
{
string Line;
clsBankClient Client =
_ConvertLinetoClientObject(Line);
vClients.push_back(Client);
}
MyFile.close();
return vClients;
fstream MyFile;
MyFile.open("Clients.txt", ios::out);//overwrite
string DataLine;
if (MyFile.is_open())
{
MyFile.close();
void _Update()
{
vector <clsBankClient> _vClients;
_vClients = _LoadClientsDataFromFile();
_SaveCleintsDataToFile(_vClients);
void _AddNew()
{
_AddDataLineToFile(_ConverClientObjectToLine(*this));
}
if (MyFile.is_open())
{
MyFile.close();
}
}
static clsBankClient _GetEmptyClientObject()
{
return clsBankClient(enMode::EmptyMode, "", "", "", "", "",
"", 0);
}
public:
{
_Mode = Mode;
_AccountNumber = AccountNumber;
_PinCode = PinCode;
_AccountBalance = AccountBalance;
bool IsEmpty()
{
return (_Mode == enMode::EmptyMode);
}
bool MarkedForDeleted()
{
return _MarkedForDelete;
}
string AccountNumber()
{
return _AccountNumber;
}
string GetPinCode()
{
return _PinCode;
}
__declspec(property(get = GetPinCode, put = SetPinCode)) string
PinCode;
float GetAccountBalance()
{
return _AccountBalance;
}
__declspec(property(get = GetAccountBalance, put =
SetAccountBalance)) float AccountBalance;
void Print()
{
cout << "\nClient Card:";
cout << "\n___________________";
cout << "\nFirstName : " << FirstName;
cout << "\nLastName : " << LastName;
cout << "\nFull Name : " << FullName();
cout << "\nEmail : " << Email;
cout << "\nPhone : " << Phone;
cout << "\nAcc. Number : " << _AccountNumber;
cout << "\nPassword : " << _PinCode;
cout << "\nBalance : " << _AccountBalance;
cout << "\n___________________\n";
fstream MyFile;
MyFile.open("Clients.txt", ios::in);//read Mode
if (MyFile.is_open())
{
string Line;
while (getline(MyFile, Line))
{
clsBankClient Client =
_ConvertLinetoClientObject(Line);
if (Client.AccountNumber() == AccountNumber)
{
MyFile.close();
return Client;
}
MyFile.close();
}
return _GetEmptyClientObject();
}
fstream MyFile;
MyFile.open("Clients.txt", ios::in);//read Mode
if (MyFile.is_open())
{
string Line;
while (getline(MyFile, Line))
{
clsBankClient Client =
_ConvertLinetoClientObject(Line);
if (Client.AccountNumber() == AccountNumber &&
Client.PinCode == PinCode)
{
MyFile.close();
return Client;
}
MyFile.close();
}
return _GetEmptyClientObject();
}
switch (_Mode)
{
case enMode::EmptyMode:
{
if (IsEmpty())
{
return enSaveResults::svFaildEmptyObject;
case enMode::UpdateMode:
{
_Update();
return enSaveResults::svSucceeded;
break;
}
case enMode::AddNewMode:
{
//This will add new record to file or database
if (clsBankClient::IsClientExist(_AccountNumber))
{
return enSaveResults::svFaildAccountNumberExists;
}
else
{
_AddNew();
break;
}
}
bool Delete()
{
vector <clsBankClient> _vClients;
_vClients = _LoadClientsDataFromFile();
_SaveCleintsDataToFile(_vClients);
*this = _GetEmptyClientObject();
return true;