58 lines
1.1 KiB
C++
58 lines
1.1 KiB
C++
|
#include "Missions.h"
|
||
|
#include "Mission.h"
|
||
|
#include "Centers.h"
|
||
|
|
||
|
Missions::Missions(std::string basePath, Centers& centers)
|
||
|
{
|
||
|
std::string filePath = basePath + "/Missions.csv";
|
||
|
std::cout << "Reading file " << filePath << " for Missions\n";
|
||
|
|
||
|
std::ifstream file;
|
||
|
file.open(filePath, std::ios::in);
|
||
|
if (!file.is_open())
|
||
|
throw std::runtime_error("Invalid file path");
|
||
|
|
||
|
std::string line;
|
||
|
while (getline(file, line))
|
||
|
{
|
||
|
if (line.empty())
|
||
|
continue;
|
||
|
|
||
|
std::istringstream stream(line);
|
||
|
|
||
|
std::string id;
|
||
|
getline(stream, id, ',');
|
||
|
|
||
|
std::string day;
|
||
|
getline(stream, day, ',');
|
||
|
|
||
|
std::string start;
|
||
|
getline(stream, start, ',');
|
||
|
|
||
|
std::string end;
|
||
|
getline(stream, end, ',');
|
||
|
|
||
|
std::string competence;
|
||
|
getline(stream, competence, ',');
|
||
|
|
||
|
std::string profession;
|
||
|
getline(stream, profession, ',');
|
||
|
|
||
|
Mission* mission = new Mission { stoi(id), stoi(day), stoi(start), stoi(end), competence, profession };
|
||
|
this->missions.push_back(mission);
|
||
|
}
|
||
|
|
||
|
file.close();
|
||
|
}
|
||
|
|
||
|
MissionList* Missions::copy()
|
||
|
{
|
||
|
MissionList* list = new MissionList { this->missions };
|
||
|
return list;
|
||
|
}
|
||
|
|
||
|
int Missions::size()
|
||
|
{
|
||
|
return this->missions.size();
|
||
|
}
|