47b44ccaa0
<SRS> SRS02 : Employee Management </SRS> <Changes> - Added Payroll getHeaders, serialize and deserialize functions - Stored payrolls in DataStore - Loaded and saved payrolls along with employees - Linked payroll to employees during creation and load - Added employeeId to Payroll - Renamed TAG role to TALENT_ACQUISITION across the project - Added missing TalentExecutive case in Employee deserialization - Added constructor to TalentExecutive for FileManager integration - Renamed ID counters to m_uid for consistency - Updated salary values in ApplicationConfig </Changes> <Review> Smitha Mohan </Review>
39 lines
1.5 KiB
C++
39 lines
1.5 KiB
C++
#pragma once
|
|
#include <string>
|
|
#include <map>
|
|
#include <memory>
|
|
#include "Candidate.h"
|
|
#include "Enums.h"
|
|
using candidateMap = std::map<std::string, std::shared_ptr<Candidate>>;
|
|
|
|
class JobListing
|
|
{
|
|
private:
|
|
static int m_uid;
|
|
std::string m_id;
|
|
std::string m_name;
|
|
std::string m_description;
|
|
Enums::JobListingStatus m_status;
|
|
int m_numberOfVacancies;
|
|
candidateMap m_candidates;
|
|
public:
|
|
JobListing() : m_id("JL" + std::to_string(++m_uid)), m_name(""), m_description(""), m_status(Enums::JobListingStatus::CLOSED), m_numberOfVacancies(0) {}
|
|
JobListing(const std::string& name,
|
|
const std::string& description,
|
|
Enums::JobListingStatus status,
|
|
int numberOfVacancies,
|
|
const candidateMap& candidates)
|
|
: m_id("JL" + std::to_string(++m_uid)), m_name(name), m_description(description), m_status(status), m_numberOfVacancies(numberOfVacancies), m_candidates(candidates) {}
|
|
const std::string& getJobId() const;
|
|
const std::string& getJobName() const;
|
|
const std::string& getJobDescription() const;
|
|
Enums::JobListingStatus getJobStatus() const;
|
|
int getNumberOfVacancies() const;
|
|
const candidateMap& getCandidates() const;
|
|
void setJobId(const std::string& id);
|
|
void setJobName(const std::string& name);
|
|
void setJobDescription(const std::string& description);
|
|
void setJobStatus(Enums::JobListingStatus status);
|
|
void setNumberOfVacancies(int numberOfVacancies);
|
|
void setCandidates(const candidateMap& candidates);
|
|
}; |