p-Parking-Garage / CSC330_MidtermProj_Parking / Member.cpp
Member.cpp
Raw
// Member Implementation File
//

#include <iostream>
#include <string>
#include <fstream>
#include <vector>
#include <algorithm>
#include "Person.h"
#include "Member.h"

Member::Member() : Person()
{
	memid = "";
}

Member::Member(string inName) : Person(inName)
{
}

Member::Member(string inName, string inMemid) : Person(inName)
{
	memid = inMemid;
}

string Member::getMemid()
{
	return memid;
}

string Member::getName()
{
	return Person::getName();
}

string Member::getMemName(vector <Member> membersVec, string iNmemid)
{
	auto it = find_if(membersVec.begin(), membersVec.end(), [&iNmemid](Member& obj) { return obj.getMemid() == iNmemid; }); // We use the function find_if from the library <algorithm> to search our vector for the string entered by the user (inMemid).
	Member tempU = *it; // Once we have a match, we create a temporary member which holds the information retrieved from it (using a pointer for it, holding its values).
	return tempU.getName(); // in our return, we call the function getName() which returns the name of the member by scoping our base class (Person).
}

bool Member::memidCheck(vector <Member> membersVec, string memid) // Searching a vector of a class
{
	auto it = find_if(membersVec.begin(), membersVec.end(), [&memid](Member& obj) { return obj.getMemid() == memid; });

	if (it != membersVec.end())
	{
		return true;
	}
	else
	{
		return false;
	}

	//	auto index = distance(membersVec.begin(), it); // ** to find index of auto it **
}

void Member::print()
{
	cout << "Tenant name: " << Person::getName() << ", ID: " << memid << endl;
}