Add standardized documentation headers
This commit is contained in:
@@ -1,3 +1,11 @@
|
||||
/*
|
||||
File: AdminMenu.cpp
|
||||
Description: Implementation file containing the method definitions of the
|
||||
AdminMenu class, including menu handling, inventory operations,
|
||||
user management, and combo package management functions.
|
||||
Author: Trenser
|
||||
Date:19-May-2026
|
||||
*/
|
||||
#include <iostream>
|
||||
#include <iomanip>
|
||||
#include "AdminMenu.h"
|
||||
@@ -10,6 +18,12 @@
|
||||
#include "ComboPackage.h"
|
||||
#include "Enums.h"
|
||||
|
||||
/*
|
||||
Function: showMenu
|
||||
Description: Displays the admin menu and handles user input until logout is selected.
|
||||
Parameter: None
|
||||
Return type: void
|
||||
*/
|
||||
void AdminMenu::showMenu()
|
||||
{
|
||||
while (true)
|
||||
@@ -48,6 +62,12 @@ void AdminMenu::showMenu()
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
Function: handleOperation
|
||||
Description: Executes the corresponding admin operation based on the selected menu choice.
|
||||
Parameter: int choice - selected menu option
|
||||
Return type: bool - true if menu continues, false if logout
|
||||
*/
|
||||
bool AdminMenu::handleOperation(int choice)
|
||||
{
|
||||
switch (choice)
|
||||
@@ -101,12 +121,22 @@ bool AdminMenu::handleOperation(int choice)
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
Function: logout
|
||||
Description: Logs out the currently authenticated admin user.
|
||||
Parameter: None
|
||||
Return type: void
|
||||
*/
|
||||
void AdminMenu::logout()
|
||||
{
|
||||
m_controller.logout();
|
||||
}
|
||||
|
||||
/*
|
||||
Function: changePassword
|
||||
Description: Allows the admin to change their password after validation.
|
||||
Parameter: None
|
||||
Return type: void
|
||||
*/
|
||||
void AdminMenu::changePassword()
|
||||
{
|
||||
std::string newPassword;
|
||||
@@ -156,13 +186,21 @@ void AdminMenu::removeService()
|
||||
{
|
||||
}
|
||||
|
||||
/*
|
||||
Function: addTechnician
|
||||
Description: Adds a new technician after validating username, password, email, and phone number.
|
||||
Parameter: None
|
||||
Return type: void
|
||||
*/
|
||||
void AdminMenu::addTechnician()
|
||||
{
|
||||
util::clear();
|
||||
std::string username, password, email, phoneNumber;
|
||||
std::cout << std::left << std::setw(25) << "Enter Technician Username:";
|
||||
std::string username, name, password, email, phoneNumber;
|
||||
std::cout << std::left << std::setw(25) << "Enter Technician Username: ";
|
||||
util::read(username);
|
||||
std::cout << std::setw(25) << "Enter Technician Password:";
|
||||
std::cout << std::left << std::setw(25) << "Enter Technician Name: ";
|
||||
util::read(name);
|
||||
std::cout << std::setw(25) << "Enter Technician Password: ";
|
||||
util::read(password);
|
||||
if(!util::isPasswordValid(password))
|
||||
{
|
||||
@@ -170,7 +208,7 @@ void AdminMenu::addTechnician()
|
||||
util::pressEnter();
|
||||
return;
|
||||
}
|
||||
std::cout << std::setw(25) << "Enter Technician Email:";
|
||||
std::cout << std::setw(25) << "Enter Technician Email: ";
|
||||
util::read(email);
|
||||
if(!util::isEmailValid(email))
|
||||
{
|
||||
@@ -178,7 +216,7 @@ void AdminMenu::addTechnician()
|
||||
util::pressEnter();
|
||||
return;
|
||||
}
|
||||
std::cout << std::setw(25) << "Enter Technician Phone:";
|
||||
std::cout << std::setw(25) << "Enter Technician Phone: ";
|
||||
util::read(phoneNumber);
|
||||
if(!util::isPhoneNumberValid(phoneNumber))
|
||||
{
|
||||
@@ -186,11 +224,17 @@ void AdminMenu::addTechnician()
|
||||
util::pressEnter();
|
||||
return;
|
||||
}
|
||||
m_controller.createTechnician(username, password, email, phoneNumber);
|
||||
m_controller.createTechnician(username, name, password, email, phoneNumber);
|
||||
std::cout << "\nTechnician Added Successfully.\n";
|
||||
util::pressEnter();
|
||||
}
|
||||
|
||||
/*
|
||||
Function: filterActiveUsers
|
||||
Description: Filters out inactive users and returns a map of active users.
|
||||
Parameter: const util::Map<std::string, const User*>& listOfUsers - all users
|
||||
Return type: util::Map<std::string, const User*>
|
||||
*/
|
||||
static util::Map<std::string, const User*>
|
||||
filterActiveUsers(const util::Map<std::string, const User*>& listOfUsers)
|
||||
{
|
||||
@@ -207,6 +251,13 @@ filterActiveUsers(const util::Map<std::string, const User*>& listOfUsers)
|
||||
return activeUsers;
|
||||
}
|
||||
|
||||
/*
|
||||
Function: displayAllActiveUsers
|
||||
Description: Displays all active users in a tabular format with index, ID, username, and type.
|
||||
Parameter: util::Map<std::string, const User*>& activeUsers - active users list
|
||||
int activeUserCount - number of active users
|
||||
Return type: void
|
||||
*/
|
||||
static void displayAllActiveUsers(util::Map<std::string, const User*>& activeUsers, int activeUserCount)
|
||||
{
|
||||
std::cout << std::left << std::setw(10) << "Index"
|
||||
@@ -234,6 +285,12 @@ static void displayAllActiveUsers(util::Map<std::string, const User*>& activeUse
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
Function: removeUser
|
||||
Description: Removes a selected active user (customer or technician) from the system.
|
||||
Parameter: None
|
||||
Return type: void
|
||||
*/
|
||||
void AdminMenu::removeUser()
|
||||
{
|
||||
util::clear();
|
||||
@@ -266,6 +323,12 @@ void AdminMenu::removeUser()
|
||||
util::pressEnter();
|
||||
}
|
||||
|
||||
/*
|
||||
Function: selectServiceFromServices
|
||||
Description: Displays active services and allows the admin to select one by index.
|
||||
Parameter: const util::Map<std::string, const Service*>& services - list of services
|
||||
Return type: const Service* - selected service
|
||||
*/
|
||||
static const Service* selectServiceFromServices(const util::Map<std::string, const Service*>& services)
|
||||
{
|
||||
util::Map<int, const Service*> activeServicesMap;
|
||||
@@ -309,6 +372,12 @@ static const Service* selectServiceFromServices(const util::Map<std::string, con
|
||||
return activeServicesMap[userInputIndex];
|
||||
}
|
||||
|
||||
/*
|
||||
Function: createComboPackages
|
||||
Description: Creates a new combo package by selecting two active services and applying a discount.
|
||||
Parameter: None
|
||||
Return type: void
|
||||
*/
|
||||
void AdminMenu::createComboPackages()
|
||||
{
|
||||
util::clear();
|
||||
@@ -344,6 +413,12 @@ void AdminMenu::createComboPackages()
|
||||
util::pressEnter();
|
||||
}
|
||||
|
||||
/*
|
||||
Function: displayComboPackagesWithIndex
|
||||
Description: Displays combo packages with index, ID, name, and discount percentage.
|
||||
Parameter: util::Map<int, const ComboPackage*>& currentComboPackageIndexMap - combo packages map
|
||||
Return type: void
|
||||
*/
|
||||
static void displayComboPackagesWithIndex(util::Map<int, const ComboPackage*>& currentComboPackageIndexMap)
|
||||
{
|
||||
for (int iterator = 0; iterator < currentComboPackageIndexMap.getSize(); iterator++)
|
||||
@@ -371,6 +446,12 @@ static void displayComboPackagesWithIndex(util::Map<int, const ComboPackage*>& c
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
Function: selectComboPackage
|
||||
Description: Allows the admin to select an active combo package by index.
|
||||
Parameter: util::Map<std::string, const ComboPackage*>& currentComboPackages - combo packages list
|
||||
Return type: std::string - ID of the selected combo package
|
||||
*/
|
||||
static std::string selectComboPackage(util::Map<std::string, const ComboPackage*>& currentComboPackages)
|
||||
{
|
||||
util::Map<int, const ComboPackage*> currentComboPackageIndexMap;
|
||||
@@ -407,6 +488,12 @@ static std::string selectComboPackage(util::Map<std::string, const ComboPackage*
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
Function: removeComboPackage
|
||||
Description: Removes a selected combo package from the system.
|
||||
Parameter: None
|
||||
Return type: void
|
||||
*/
|
||||
void AdminMenu::removeComboPackage()
|
||||
{
|
||||
util::clear();
|
||||
|
||||
@@ -1,3 +1,11 @@
|
||||
/*
|
||||
File: AdminMenu.h
|
||||
Description: Header file declaring the AdminMenu class, which provides
|
||||
administrative operations such as inventory management,
|
||||
user management, service configuration, and notifications.
|
||||
Author: Trenser
|
||||
Date:19-May-2026
|
||||
*/
|
||||
#pragma once
|
||||
#include "Controller.h"
|
||||
|
||||
|
||||
@@ -1,8 +1,22 @@
|
||||
/*
|
||||
File: TechnicianMenu.cpp
|
||||
Description: Implementation file containing the method definitions of the
|
||||
TechnicianMenu class, including menu handling, job completion,
|
||||
notification viewing, password management, and logout logic.
|
||||
Author: Trenser
|
||||
Date:19-May-2026
|
||||
*/
|
||||
#include "TechnicianMenu.h"
|
||||
#include "InputHelper.h"
|
||||
#include "OutputHelper.h"
|
||||
#include "Validator.h"
|
||||
|
||||
/*
|
||||
Function: showMenu
|
||||
Description: Displays the technician menu and handles user input until logout is selected.
|
||||
Parameter: None
|
||||
Return type: void
|
||||
*/
|
||||
void TechnicianMenu::showMenu()
|
||||
{
|
||||
while (true)
|
||||
@@ -31,6 +45,12 @@ void TechnicianMenu::showMenu()
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
Function: handleOperation
|
||||
Description: Executes the corresponding technician operation based on the selected menu choice.
|
||||
Parameter: int choice - selected menu option
|
||||
Return type: bool - true if menu continues, false if logout
|
||||
*/
|
||||
bool TechnicianMenu::handleOperation(int choice)
|
||||
{
|
||||
switch (choice)
|
||||
@@ -54,6 +74,7 @@ bool TechnicianMenu::handleOperation(int choice)
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
void TechnicianMenu::completeJob()
|
||||
{
|
||||
}
|
||||
@@ -62,11 +83,23 @@ void TechnicianMenu::viewNotifications()
|
||||
{
|
||||
}
|
||||
|
||||
/*
|
||||
Function: logout
|
||||
Description: Logs out the currently authenticated technician user.
|
||||
Parameter: None
|
||||
Return type: void
|
||||
*/
|
||||
void TechnicianMenu::logout()
|
||||
{
|
||||
m_controller.logout();
|
||||
}
|
||||
|
||||
/*
|
||||
Function: changePassword
|
||||
Description: Allows the technician to change their password after validation.
|
||||
Parameter: None
|
||||
Return type: void
|
||||
*/
|
||||
void TechnicianMenu::changePassword()
|
||||
{
|
||||
std::string newPassword;
|
||||
|
||||
@@ -1,3 +1,11 @@
|
||||
/*
|
||||
File: TechnicianMenu.h
|
||||
Description: Header file declaring the TechnicianMenu class, which provides
|
||||
technician operations such as job completion, notification viewing,
|
||||
password management, and logout functionality.
|
||||
Author: Trenser
|
||||
Date:19-May-2026
|
||||
*/
|
||||
#pragma once
|
||||
#include "Controller.h"
|
||||
|
||||
|
||||
@@ -1,8 +1,23 @@
|
||||
/*
|
||||
File: UserInterface.cpp
|
||||
Description: Implementation file containing the method definitions of the
|
||||
UserInterface class, including system run loop, login handling,
|
||||
and customer registration logic.
|
||||
Author: Trenser
|
||||
Date:19-May-2026
|
||||
*/
|
||||
#include "UserInterface.h"
|
||||
#include "InputHelper.h"
|
||||
#include "OutputHelper.h"
|
||||
#include "User.h"
|
||||
|
||||
/*
|
||||
Function: run
|
||||
Description: Runs the main system loop, displaying the initial menu for login,
|
||||
customer registration, or exit. Handles exceptions gracefully.
|
||||
Parameter: None
|
||||
Return type: void
|
||||
*/
|
||||
void UserInterface::run()
|
||||
{
|
||||
bool isMenuActive = true;
|
||||
@@ -27,6 +42,12 @@ void UserInterface::run()
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
Function: handleOperation
|
||||
Description: Executes the corresponding system operation based on the selected menu choice.
|
||||
Parameter: int choice - selected menu option
|
||||
Return type: bool - true if menu continues, false if exit
|
||||
*/
|
||||
bool UserInterface::handleOperation(int choice)
|
||||
{
|
||||
switch (choice)
|
||||
@@ -47,6 +68,13 @@ bool UserInterface::handleOperation(int choice)
|
||||
return true;
|
||||
}
|
||||
|
||||
/*
|
||||
Function: login
|
||||
Description: Handles user login by validating credentials. Based on the authenticated
|
||||
user type, navigates to the appropriate menu (Admin, Technician, Customer).
|
||||
Parameter: None
|
||||
Return type: void
|
||||
*/
|
||||
void UserInterface::login()
|
||||
{
|
||||
std::string username, password;
|
||||
|
||||
@@ -1,3 +1,12 @@
|
||||
/*
|
||||
File: UserInterface.h
|
||||
Description: Header file declaring the UserInterface class, which provides
|
||||
the main entry point for the Vehicle Service System. Handles
|
||||
login, customer registration, and menu navigation for different
|
||||
user roles (Admin, Technician, Customer).
|
||||
Author: Trenser
|
||||
Date:19-May-2026
|
||||
*/
|
||||
#pragma once
|
||||
#include "Controller.h"
|
||||
#include "AdminMenu.h"
|
||||
|
||||
Reference in New Issue
Block a user