@startuml Handy Mangement
skinparam style Strictuml

!theme plain


class HandyMangement {

}


class WorkerController {
  
   getWorkerByCategory()
   getWorkerByJob()

    
}

class EntrepreneurController {
     getSalesByDate()
   getWorkOrderByDate()
   createPayRoll(StartDate, EndDate)
}

class EmployeeController {
    getPayRateByEmpNo(employeeNo)
    getEmployeeRecordByEmpNo(empNo)
    getPayRecordByEmpNo(empNo)
}

class workerService{
   SearchJob()
  

}
class workerRepo{
  getJobsByKeyword(keyword)
}

class EmployeeService{
   
}
class EmployeeRepo{}

class EntreprenuerService{
   Worker worker
    getWorkerbyname()
}
class EntreprenuerRepo{
   Worker findWorkerByName(name)
}

database "HandyManagement Database"{
}

workerService .right. EntreprenuerService

HandyMangement .. WorkerController
HandyMangement .. EntrepreneurController
HandyMangement .. EmployeeController


WorkerController ..> workerService
EntrepreneurController ..> EntreprenuerService
EmployeeController ..> EmployeeService


workerService .. workerRepo
EmployeeService .. EmployeeRepo
EntreprenuerService .. EntreprenuerRepo

workerRepo o--"*" Resume 
EntreprenuerRepo o--"*" Worker 

EmployeeRepo o--"*" Appointment 
Appointment --"+" Worker

Resume --"+" Worker

Worker -- "HandyManagement Database"
Appointment -- "HandyManagement Database"
Resume -- "HandyManagement Database"





@enduml
