diff --git a/Trenser.Zenvy/Trenser.Zenvy/services/EmployeeManagementService.cpp b/Trenser.Zenvy/Trenser.Zenvy/services/EmployeeManagementService.cpp index cce72f7..29a7363 100644 --- a/Trenser.Zenvy/Trenser.Zenvy/services/EmployeeManagementService.cpp +++ b/Trenser.Zenvy/Trenser.Zenvy/services/EmployeeManagementService.cpp @@ -15,10 +15,17 @@ std::shared_ptr EmployeeManagementService::getEmployee(const std Employees EmployeeManagementService::getEmployees() { Employees result; - auto& employee = m_dataStore.getEmployees(); - for (const auto& iterator : employee) + auto& employees = m_dataStore.getEmployees(); + if (employees.size() <= 0) { - result.push_back(iterator.second); + return result; + } + for (const auto& iterator : employees) + { + if (iterator.second->getEmployeeAccountStatus() == Enums::AccountStatus::ACTIVE) + { + result.push_back(iterator.second); + } } return result; } \ No newline at end of file diff --git a/Trenser.Zenvy/Trenser.Zenvy/views/EmployeeMenu.cpp b/Trenser.Zenvy/Trenser.Zenvy/views/EmployeeMenu.cpp index b3f6ec1..02c903f 100644 --- a/Trenser.Zenvy/Trenser.Zenvy/views/EmployeeMenu.cpp +++ b/Trenser.Zenvy/Trenser.Zenvy/views/EmployeeMenu.cpp @@ -1,4 +1,5 @@ #include +#include #include "EmployeeMenu.h" #include"InputHelper.h" #include"OutputHelper.h" @@ -80,19 +81,30 @@ bool EmployeeMenu::handleOperation(int choice) void EmployeeMenu::viewEmployees() { - std::cout << "EMPID\t\tName\t\tRole\t\tTeamId\t\tEmail\t\tPhone\t\t"; - auto employee = m_zenvyController->getEmployee(); - for (const auto& iterator : employee) + std::cout << std::left + << std::setw(10) << "EMPID" + << std::setw(20) << "Name" + << std::setw(15) << "Role" + << std::setw(10) << "TeamId" + << std::setw(25) << "Email" + << std::setw(15) << "Phone" + << std::endl; + auto employees = m_zenvyController->getEmployee(); + if (employees.empty()) { - if (iterator->getEmployeeAccountStatus() == Enums::AccountStatus::ACTIVE) - { - std::cout << iterator->getEmployeeId() << "\t" - << iterator->getEmployeeName() << "\t" - << enumToString(iterator->getEmployeeType()) << "\t" - << iterator->getEmployeeTeamId() << "\t" - << iterator->getEmployeeEmail() << "\t" - << iterator->getEmployeePhone() << std::endl; - } + std::cout << "No employees found\n"; + return; + } + for (const auto& iterator : employees) + { + std::cout << std::left + << std::setw(10) << iterator->getEmployeeId() + << std::setw(20) << iterator->getEmployeeName() + << std::setw(15) << enumToString(iterator->getEmployeeType()) + << std::setw(10) << iterator->getEmployeeTeamId() + << std::setw(25) << iterator->getEmployeeEmail() + << std::setw(15) << iterator->getEmployeePhone() + << std::endl; } }