Files
Training-Team2-Zenvy-Jan26/Trenser.Zenvy/Trenser.Zenvy/models/JobListing.h
T
joelthomastrenser 11b47d38c1 Set up codebase
- Define models, factory classes, data store,
utility classes (timestamp, io helpers, enums, validator)
- Define Model Class Structures
- Add new model Log
- Add new service LogService
- Add Factory class
- Add Utilities like Timestamp, Validator, Input/Output Helpers..

Co-authored-by: Tinu Johnson <tinu.johnson@trenser.com>
Co-authored-by: Princy Jerin <princy.jerin@trenser.com>
Co-authored-by: Ajmal Jalaludeen <ajmal.jalaludeen@trenser.com>
Co-authored-by: Jissin Sam Mathew <jissin.mathew@trenser.com>
2026-04-01 13:26:58 +05:30

39 lines
1.4 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:
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(""), m_name(""), m_description(""), m_status(Enums::JobListingStatus::CLOSED), m_numberOfVacancies(0) {}
JobListing(const std::string& id,
const std::string& name,
const std::string& description,
Enums::JobListingStatus status,
int numberOfVacancies,
const candidateMap& candidates)
: m_id(id), 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);
};