@startuml
'skinparam monochrome true
skinparam packageStyle rectangle
skinparam shadowing false
skinparam linetype polyline
'skinparam linetype orto

skinparam classAttributeIconSize 0

'left to right direction


class AssignSkillsUI{
}
class AssignSkillsController{
    + AssignSkillsController(collabRepository, skillRepository)
    + getCollaboratorsList()
    + assignSkillsToCollaborator(skillsName,IDNumber)
    - getSkillsList()

}

class CollaboratorRepository{
    + getCollaboratorsList()
    + getCollaboratorByIDNumber(IDNumber)
    + assignSkillsToCollaborator(skills,collaborator)
}
class SkillRepository{
    + getSkillsList()
    + getSkillByName(IDNumber)
}
class Collaborator{
    - String name
    - String birthdate
    - String admissionDate
    - String city
    - String street
    - String zipcode
    - int phoneNumber
    - String email
    - String IDDocType
    - int IDNumber
    - Job job
    - List<Skill> skills

    + Collaborator(name, birthdate, admission date, city, street,\n zipcode, phone number, email, ID doc type, ID number, job)
    + getCollaborator(IDNumber)
    + addSkills(skills)
}
class Skill{
    - name

    + getSkill(name)
}

class Repositories {
    - Repositories()
    + getInstance() : Repositories
    + getCollaboratorRepository()
    + getSkillRepository()
}



Repositories -> Repositories : instance


AssignSkillsUI .> AssignSkillsController

AssignSkillsController .> Repositories : repositories

Repositories -> "1" SkillRepository: collaboratorRepository

AssignSkillsController ..> Skill: skill
AssignSkillsController ..> CollaboratorRepository : collaboratorRepository
AssignSkillsController ..> SkillRepository : skillRepository

Repositories --> "1" CollaboratorRepository

CollaboratorRepository --> "*" Collaborator: collaborator


AssignSkillsController ..> "1" Collaborator : collaborator



SkillRepository "1" --> "*" Skill : Skill
Collaborator "1" -> "*" Skill : Skills




@enduml