#pragma once #include #include "Timestamp.h" #include "Enums.h" class ServiceBooking; class Service; class User; class JobCard { private: static int m_uid; std::string m_id; std::string m_bookingId; ServiceBooking* m_booking; Service* m_service; std::string m_serviceId; std::string m_technicianId; User* m_technician; util::Timestamp m_assignedDate; util::ServiceJobStatus m_status; util::Timestamp m_completionDate; public: JobCard(); JobCard(const std::string& bookingId, ServiceBooking* booking, Service* service, const std::string& serviceId, const std::string& technicianId, User* technician, const util::Timestamp& assignedDate, util::ServiceJobStatus status, const util::Timestamp& completionDate ); const std::string& getId() const; const std::string& getBookingId() const; ServiceBooking* getBooking() const; Service* getService() const; const std::string& getServiceId() const; const std::string& getTechnicianId() const; User* getTechnician() const; const util::Timestamp& getAssignedDate() const; util::ServiceJobStatus getStatus() const; const util::Timestamp& getCompletionDate() const; void setId(const std::string& id); void setBookingId(const std::string& bookingId); void setBooking(ServiceBooking* booking); void setService(Service* service); void setServiceId(const std::string& serviceId); void setTechnicianId(const std::string& technicianId); void setTechnician(User* technician); void setAssignedDate(const util::Timestamp& assignedDate); void setStatus(util::ServiceJobStatus status); void setCompletionDate(const util::Timestamp& completionDate); };