Merge branch 'feature' into feature-1553-1598
This commit is contained in:
@@ -1,6 +1,16 @@
|
||||
/*
|
||||
File: Invoice.h
|
||||
Description: Declares the Invoice class which represents billing details for a service booking in the Vehicle Service Management System.
|
||||
Each invoice includes booking information, labor cost, parts used, discount percentage, total amount, payment details, and status.
|
||||
Author: Trenser
|
||||
Date: 19-May-2026
|
||||
*/
|
||||
|
||||
|
||||
#pragma once
|
||||
#include <string>
|
||||
#include "Map.h"
|
||||
#include "Vector.h"
|
||||
#include "Timestamp.h"
|
||||
#include "Enums.h"
|
||||
|
||||
@@ -16,6 +26,7 @@ private:
|
||||
ServiceBooking* m_booking;
|
||||
util::Timestamp m_invoiceDate;
|
||||
double m_laborCost;
|
||||
util::Vector<std::string> m_partIDs;
|
||||
util::Map<std::string, InventoryItem*> m_parts;
|
||||
double m_partsCost;
|
||||
double m_discountPercentage;
|
||||
@@ -23,7 +34,6 @@ private:
|
||||
util::Timestamp m_paymentDate;
|
||||
util::PaymentMode m_paymentMethod;
|
||||
util::PaymentStatus m_status;
|
||||
|
||||
public:
|
||||
Invoice();
|
||||
Invoice(
|
||||
@@ -39,11 +49,25 @@ public:
|
||||
util::PaymentMode paymentMethod,
|
||||
util::PaymentStatus status
|
||||
);
|
||||
Invoice(
|
||||
const std::string& id,
|
||||
const std::string& bookingId,
|
||||
const util::Timestamp& invoiceDate,
|
||||
const util::Vector<std::string>& partIDs,
|
||||
double laborCost,
|
||||
double partsCost,
|
||||
double discountPercentage,
|
||||
double totalAmount,
|
||||
const util::Timestamp& paymentDate,
|
||||
util::PaymentMode paymentMethod,
|
||||
util::PaymentStatus status
|
||||
);
|
||||
const std::string& getId() const;
|
||||
const std::string& getBookingId() const;
|
||||
ServiceBooking* getBooking() const;
|
||||
const util::Timestamp& getInvoiceDate() const;
|
||||
double getLaborCost() const;
|
||||
const util::Vector<std::string>& getPartIDs() const;
|
||||
const util::Map<std::string, InventoryItem*>& getParts() const;
|
||||
double getPartsCost() const;
|
||||
double getDiscountPercentage() const;
|
||||
@@ -63,4 +87,7 @@ public:
|
||||
void setPaymentDate(const util::Timestamp& paymentDate);
|
||||
void setPaymentMethod(util::PaymentMode paymentMethod);
|
||||
void setStatus(util::PaymentStatus status);
|
||||
std::string serialize() const;
|
||||
static Invoice* deserialize(const std::string&);
|
||||
static std::string getHeaders();
|
||||
};
|
||||
Reference in New Issue
Block a user