#+title: Diagrama De Clases
* Diagrama
#+begin_src plantuml :file DiagramaDeCLases.png
@startuml
skinparam groupInheritance 2
skinparam classAttributeIconSize 0
skinparam backgroundColor #FeFeFe
hide class circle
hide enum circle

class Usuario extends Persona

class Profesional extends Persona{
+ Curriculum: File
+ Certificados:
+ Ubicacion: String
+ Nivel: int
}

class Administrador extends Persona


class Persona {
+ Nombre: String
+ Apellido: String
+ DNI: long
+ Email: String
}


class Reclamo {
+ Contrato: Contrato
+ MotivoReclamo: String
+ FechaReclamo: DateTime
+ Estado: Estado
}

class Servicio {
+ Nombre: String
+ Descripcion: String
}

class Recordatorio {
+ Contrato: Contrato
+ Usuario: Usuario
+ Hora: TimeOnly
+ Fecha: DateTime
+ Lugar: String
}


class Publicacion {
+ Codigo: int
+ Profesional: Profesional
+ Tarifa: double
+ TipoServicio: Servicio
+ HorasDeTrabajo: ??
+ Estado: Estado
}

class PreContrato {
+ Contratador: Usuario
+ Publicacion: Publicacion
}

class ComprobanteDePago {
+ FormaDePago: FormaDePago
+ Monto: double

}

enum FormaDePago {
Efectivo,
Debito,
Credito
}

class Contrato{
+ PreContrato: PreContrato
+ Profesional: Profesional
+ Usuario: Usuario
+ ComproanteDePago: ComprobanteDePago
}

enum Estado{
Pendiente,
Rechazado,
Disponible
}

class Reseña {
+ Usuario: Usuario
+ Comentario: String
+ Publicacion: Publicacion
}

Publicacion "1 ." -d- "1" Servicio: Ofece
Publicacion "1" -u- "1" Profesional: Genera
Publicacion "1" -d- "1" Estado: Tiene

PreContrato "1" -- "1" Publicacion
PreContrato "1" -l- "1" Usuario: Solicita

Recordatorio "0..* " -u- "1" Usuario
Recordatorio "1" -- "1" Contrato

Contrato "1" -- "1" PreContrato: Confirma
Contrato "1" o-- "1" Reclamo: Puede Tener
Contrato "1" -- "1" ComprobanteDePago: Tiene
Contrato "1" *-r- "1" Profesional: Involucra
Contrato "1" *-d- "1" Usuario: Involucra

ComprobanteDePago "1" -- "1" FormaDePago: "Es Realizado con"

Reclamo "1" -- "1" Estado: Tiene
Reclamo "1" -- "1" Usuario: Escribe

Reseña "1..*" -u- "1" Usuario: Escribe
Reseña "0..*" -l- "1" Publicacion: Referencia
@enduml
#+end_src

#+RESULTS:
[[file:DiagramaDeCLases.png]]
