← Volver a DrawingsController

📐 Gestión de Dibujos

Endpoints para la gestión CRUD completa de dibujos y planos del restaurante

Descripción General

Los endpoints de Gestión de Dibujos proporcionan las operaciones fundamentales para administrar los dibujos y planos del restaurante. Estos endpoints manejan el registro, consulta, actualización y eliminación de dibujos, incluyendo información técnica, estados de versión y metadatos asociados.

🎯 Características de la Gestión de Dibujos

  • Identificación compuesta: Cada dibujo se identifica por ID + Estado
  • Control de versiones: El campo Estado permite manejar diferentes versiones
  • Información técnica: Descripción, fechas de creación y modificación
  • Estado activo/inactivo: Control de disponibilidad del dibujo
  • Validación de datos: Verificación de integridad de la información

Endpoints Disponibles

GET /Master/Drawings/GetDrawings

Obtiene todos los dibujos registrados en el sistema. Este endpoint devuelve una lista completa de todos los dibujos 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 dibujos devuelta exitosamente
{ "dibujos": 1001, "estado": "ACTIVO", "descripcion": "Plano del comedor principal", "fechaCreacion": "2024-01-15T10:30:00Z", "fechaModificacion": "2024-01-15T10:30:00Z", "activo": true }
500 Internal Server Error
Error interno del servidor

GET /Master/Drawings/GetDrawing/{dibujos}/{estado}

Obtiene un dibujo específico por su ID y estado. Este endpoint permite recuperar la información detallada de un dibujo en particular.
Parámetros de ruta:
  • dibujos (double, requerido): ID único del dibujo
  • estado (string, requerido): Estado o versión del dibujo
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
Dibujo encontrado y devuelto
404 Not Found
Dibujo no encontrado
500 Internal Server Error
Error interno del servidor

POST /Master/Drawings/AddDrawing

Crea un nuevo dibujo en el sistema. Este endpoint permite registrar un nuevo dibujo o plano en la base de datos del restaurante.
Body (JSON):
{ "estado": "BORRADOR", "descripcion": "Nuevo plano de la cocina", "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
Dibujo creado exitosamente
{ "dibujos": 1002, "estado": "BORRADOR", "descripcion": "Nuevo plano de la cocina", "fechaCreacion": "2024-01-15T14:20:00Z", "fechaModificacion": "2024-01-15T14:20:00Z", "activo": true }
500 Internal Server Error
Error interno del servidor

PUT /Master/Drawings/UpdateDrawing/{dibujos}/{estado}

Actualiza un dibujo existente en el sistema. Este endpoint permite modificar la información de un dibujo ya registrado.
Parámetros de ruta:
  • dibujos (double, requerido): ID del dibujo a actualizar
  • estado (string, requerido): Estado del dibujo a actualizar
Body (JSON):
{ "descripcion": "Plano del comedor principal actualizado", "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
Dibujo actualizado exitosamente
404 Not Found
Dibujo no encontrado
500 Internal Server Error
Error interno del servidor

DELETE /Master/Drawings/DeleteDrawing/{dibujos}/{estado}

Elimina un dibujo del sistema. Este endpoint permite remover un dibujo de la base de datos del restaurante.
Parámetros de ruta:
  • dibujos (double, requerido): ID del dibujo a eliminar
  • estado (string, requerido): Estado del dibujo 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
Dibujo eliminado exitosamente
{ "message": "Drawing deleted successfully", "drawing": { "dibujos": 1001, "estado": "ACTIVO", "descripcion": "Plano del comedor principal", "fechaCreacion": "2024-01-15T10:30:00Z", "fechaModificacion": "2024-01-15T10:30:00Z", "activo": false } }
404 Not Found
Dibujo no encontrado
500 Internal Server Error
Error interno del servidor

Modelo de Datos - Dibujo

Propiedades del modelo Dibujo:
  • Dibujos (double): Identificador único del dibujo
  • Estado (string): Estado o versión del dibujo (ej: "ACTIVO", "BORRADOR", "ARCHIVADO")
  • Descripcion (string): Descripción detallada del dibujo o plano
  • FechaCreacion (DateTime): Fecha de creación del registro
  • FechaModificacion (DateTime): Fecha de última modificación
  • Activo (bool): Estado de disponibilidad del dibujo
  • Imagen (byte[]): Datos de la imagen asociada al dibujo (opcional)

📝 Estados Comunes de Dibujos

  • BORRADOR: Dibujo en proceso de creación
  • ACTIVO: Dibujo aprobado y en uso
  • ARCHIVADO: Dibujo obsoleto pero conservado
  • REVISION: Dibujo en proceso de revisión

Servicio Utilizado

IDrawingsService - Servicio principal para la gestión de dibujos
  • GetDrawings(): Obtiene todos los dibujos
  • GetDrawing(): Obtiene un dibujo por ID y estado
  • AddDrawing(): Crea un nuevo dibujo
  • UpdateDrawing(): Actualiza un dibujo existente
  • DeleteDrawing(): Elimina un dibujo

🔍 Casos de Uso Comunes

📋 Escenarios de Aplicación

  • Creación de nuevos planos: Usar POST /AddDrawing para nuevos diseños del restaurante
  • Consulta de planos existentes: Usar GET /GetDrawing/{dibujos}/{estado} para verificar diseños
  • Actualización de planos: Usar PUT /UpdateDrawing/{dibujos}/{estado} para modificaciones
  • Listado de todos los dibujos: Usar GET /GetDrawings para obtener el catálogo completo
  • Archivado de planos obsoletos: Usar DELETE /DeleteDrawing/{dibujos}/{estado} para limpiar
  • Control de versiones: Usar diferentes estados para manejar versiones del mismo dibujo