Descripción General
Los endpoints de Gestión de Empleados proporcionan las operaciones fundamentales para administrar la información del personal del restaurante. Estos endpoints manejan el registro, consulta, actualización y eliminación de datos de empleados, incluyendo información personal, laboral y de contacto.
🎯 Características de la Gestión de Empleados
- Identificación única: Cada empleado tiene un ID único en el sistema
- Información personal: Nombre, apellidos, DNI, teléfono, email y dirección
- Información laboral: Cargo, salario, fechas de alta y baja
- Estado activo/inactivo: Control de actividad del empleado
- Historial de empleo: Fechas de contratación y finalización
- Validación de datos: Verificación de integridad de la información
Endpoints Disponibles
GET
/Master/Employees/GetEmployees
Obtiene todos los empleados registrados en el sistema. Este endpoint devuelve una lista completa de todos los empleados activos e inactivos en la base de datos.
Parámetros de consulta:
- initialCatalog (string, requerido): Nombre de la base de datos
- userID (string, opcional): ID de usuario de la base de datos
- password (string, opcional): Contraseña de la base de datos
200 OK
Lista de empleados devuelta exitosamente
{
"empleado1": 1001,
"nombre": "Juan",
"apellidos": "Pérez García",
"dni": "12345678A",
"telefono": "555-0123",
"email": "juan.perez@restaurante.com",
"direccion": "Calle Principal 123",
"fechaAlta": "2024-01-15T10:30:00Z",
"fechaBaja": null,
"salario": 1500.00,
"cargo": "Camarero",
"activo": true
}
500 Internal Server Error
Error interno del servidor
GET
/Master/Employees/GetEmployee/{id}
Obtiene un empleado específico por su ID. Este endpoint permite recuperar la información detallada de un empleado en particular.
Parámetros de ruta:
- id (double, requerido): ID único del empleado
Parámetros de consulta:
- initialCatalog (string, requerido): Nombre de la base de datos
- userID (string, opcional): ID de usuario de la base de datos
- password (string, opcional): Contraseña de la base de datos
200 OK
Empleado encontrado y devuelto
404 Not Found
Empleado no encontrado
500 Internal Server Error
Error interno del servidor
POST
/Master/Employees/AddEmployee
Crea un nuevo empleado en el sistema. Este endpoint permite registrar un nuevo empleado en la base de datos del restaurante.
Body (JSON):
{
"nombre": "María",
"apellidos": "García López",
"dni": "87654321B",
"telefono": "555-0456",
"email": "maria.garcia@restaurante.com",
"direccion": "Avenida Central 456",
"salario": 1800.00,
"cargo": "Cocinero",
"activo": true
}
Parámetros de consulta:
- initialCatalog (string, requerido): Nombre de la base de datos
- userID (string, opcional): ID de usuario de la base de datos
- password (string, opcional): Contraseña de la base de datos
201 Created
Empleado creado exitosamente
{
"empleado1": 1002,
"nombre": "María",
"apellidos": "García López",
"dni": "87654321B",
"telefono": "555-0456",
"email": "maria.garcia@restaurante.com",
"direccion": "Avenida Central 456",
"fechaAlta": "2024-01-15T14:20:00Z",
"fechaBaja": null,
"salario": 1800.00,
"cargo": "Cocinero",
"activo": true
}
500 Internal Server Error
Error interno del servidor
PUT
/Master/Employees/UpdateEmployee/{id}
Actualiza un empleado existente en el sistema. Este endpoint permite modificar la información de un empleado ya registrado.
Parámetros de ruta:
- id (double, requerido): ID del empleado a actualizar
Body (JSON):
{
"nombre": "Juan Carlos",
"apellidos": "Pérez García",
"dni": "12345678A",
"telefono": "555-0124",
"email": "juan.carlos.perez@restaurante.com",
"direccion": "Calle Principal 123, Piso 2",
"salario": 1600.00,
"cargo": "Camarero Senior",
"activo": true
}
Parámetros de consulta:
- initialCatalog (string, requerido): Nombre de la base de datos
- userID (string, opcional): ID de usuario de la base de datos
- password (string, opcional): Contraseña de la base de datos
200 OK
Empleado actualizado exitosamente
404 Not Found
Empleado no encontrado
500 Internal Server Error
Error interno del servidor
DELETE
/Master/Employees/DeleteEmployee/{id}
Elimina un empleado del sistema. Este endpoint permite remover un empleado de la base de datos del restaurante.
Parámetros de ruta:
- id (double, requerido): ID del empleado a eliminar
Parámetros de consulta:
- initialCatalog (string, requerido): Nombre de la base de datos
- userID (string, opcional): ID de usuario de la base de datos
- password (string, opcional): Contraseña de la base de datos
200 OK
Empleado eliminado exitosamente
{
"message": "Employee deleted successfully",
"empleado": {
"empleado1": 1001,
"nombre": "Juan",
"apellidos": "Pérez García",
"dni": "12345678A",
"telefono": "555-0123",
"email": "juan.perez@restaurante.com",
"direccion": "Calle Principal 123",
"fechaAlta": "2024-01-15T10:30:00Z",
"fechaBaja": null,
"salario": 1500.00,
"cargo": "Camarero",
"activo": false
}
}
404 Not Found
Empleado no encontrado
500 Internal Server Error
Error interno del servidor
Servicio Utilizado
IEmployeesService - Servicio principal para la gestión de empleados
- GetEmployees(): Obtiene todos los empleados
- GetEmployee(): Obtiene un empleado por ID
- AddEmployee(): Crea un nuevo empleado
- UpdateEmployee(): Actualiza un empleado existente
- DeleteEmployee(): Elimina un empleado