Merge branch 'feature' into feature-1553-1598

This commit is contained in:
Jissin Mathew
2026-05-25 20:07:05 +05:30
53 changed files with 6776 additions and 291 deletions
@@ -1,3 +1,12 @@
/*
File: Enums.h
Description: Declares enumerations and utility functions for user types, payment modes, payment status,
service job status, and state management in the Vehicle Service Management System.
Provides string conversion and parsing functions for each enum type.
Author: Trenser
Date: 19-May-2026
*/
#pragma once
#include <stdexcept>
@@ -27,7 +36,8 @@ namespace util
{
PENDING,
STARTED,
COMPLETED
COMPLETED,
CANCELLED
};
enum class State
@@ -36,6 +46,14 @@ namespace util
INACTIVE
};
/*
Function: getUserTypeString
Description: Converts a UserType enum value to its corresponding string representation.
Parameters:
- type: UserType enum value.
Returns:
- std::string representing the UserType.
*/
inline std::string getUserTypeString(UserType type)
{
switch (type)
@@ -50,6 +68,16 @@ namespace util
throw std::invalid_argument("Invalid UserType");
}
/*
Function: getUserType
Description: Converts a string value to its corresponding UserType enum.
Parameters:
- value: std::string representing the UserType.
Returns:
- UserType enum value.
Throws:
- std::invalid_argument if the string does not match a valid UserType.
*/
inline UserType getUserType(const std::string& value)
{
if (value == "ADMIN")
@@ -67,6 +95,14 @@ namespace util
throw std::invalid_argument("Invalid UserType string");
}
/*
Function: getPaymentModeString
Description: Converts a PaymentMode enum value to its corresponding string representation.
Parameters:
- mode: PaymentMode enum value.
Returns:
- std::string representing the PaymentMode.
*/
inline std::string getPaymentModeString(PaymentMode mode)
{
switch (mode)
@@ -81,6 +117,16 @@ namespace util
throw std::invalid_argument("Invalid PaymentMode");
}
/*
Function: getPaymentMode
Description: Converts a string value to its corresponding PaymentMode enum.
Parameters:
- value: std::string representing the PaymentMode.
Returns:
- PaymentMode enum value.
Throws:
- std::invalid_argument if the string does not match a valid PaymentMode.
*/
inline PaymentMode getPaymentMode(const std::string& value)
{
if (value == "ONLINE")
@@ -94,6 +140,14 @@ namespace util
throw std::invalid_argument("Invalid PaymentMode string");
}
/*
Function: getPaymentStatusString
Description: Converts a PaymentStatus enum value to its corresponding string representation.
Parameters:
- status: PaymentStatus enum value.
Returns:
- std::string representing the PaymentStatus.
*/
inline std::string getPaymentStatusString(PaymentStatus status)
{
switch (status)
@@ -106,6 +160,16 @@ namespace util
throw std::invalid_argument("Invalid PaymentStatus");
}
/*
Function: getPaymentStatus
Description: Converts a string value to its corresponding PaymentStatus enum.
Parameters:
- value: std::string representing the PaymentStatus.
Returns:
- PaymentStatus enum value.
Throws:
- std::invalid_argument if the string does not match a valid PaymentStatus.
*/
inline PaymentStatus getPaymentStatus(const std::string& value)
{
if (value == "PENDING")
@@ -121,20 +185,40 @@ namespace util
throw std::invalid_argument("Invalid PaymentStatus string");
}
/*
Function: getServiceJobStatusString
Description: Converts a ServiceJobStatus enum value to its corresponding string representation.
Parameters:
- status: ServiceJobStatus enum value.
Returns:
- std::string representing the ServiceJobStatus.
*/
inline std::string getServiceJobStatusString(ServiceJobStatus status)
{
switch (status)
{
case ServiceJobStatus::PENDING:
return "PENDING";
case ServiceJobStatus::STARTED:
return "STARTED";
case ServiceJobStatus::COMPLETED:
return "COMPLETED";
case ServiceJobStatus::PENDING:
return "PENDING";
case ServiceJobStatus::CANCELLED:
return "CANCELLED";
}
throw std::invalid_argument("Invalid ServiceJobStatus");
}
/*
Function: getServiceJobStatus
Description: Converts a string value to its corresponding ServiceJobStatus enum.
Parameters:
- value: std::string representing the ServiceJobStatus.
Returns:
- ServiceJobStatus enum value.
Throws:
- std::invalid_argument if the string does not match a valid ServiceJobStatus.
*/
inline ServiceJobStatus getServiceJobStatus(const std::string& value)
{
if (value == "STARTED")
@@ -149,31 +233,53 @@ namespace util
{
return ServiceJobStatus::PENDING;
}
if (value == "CANCELLED")
{
return ServiceJobStatus::CANCELLED;
}
throw std::invalid_argument("Invalid ServiceJobStatus string");
}
/*
Function: getStateString
Description: Converts a State enum value to its corresponding string representation.
Parameters:
- status: State enum value.
Returns:
- std::string representing the State.
*/
inline std::string getStateString(State status)
{
switch (status)
{
case State::ACTIVE:
return "STARTED";
return "ACTIVE";
case State::INACTIVE:
return "COMPLETED";
return "INACTIVE";
}
throw std::invalid_argument("Invalid State");
}
/*
Function: getState
Description: Converts a string value to its corresponding State enum.
Parameters:
- value: std::string representing the State.
Returns:
- State enum value.
Throws:
- std::invalid_argument if the string does not match a valid State.
*/
inline State getState(const std::string& value)
{
if (value == "ACTIVE")
{
return State::ACTIVE;
}
if (value == "COMPLETED")
if (value == "INACTIVE")
{
return State::INACTIVE;
}
throw std::invalid_argument("Invalid State string");
}
}
}