<%@ page import="java.sql.*" %>
<%@ page import="servlet.conexion_mysql" %>
<%@ page contentType="text/html; charset=UTF-8" %>
<% request.setCharacterEncoding("UTF-8"); %>

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Asignar Servicios a Restaurante</title>
</head>
<body>

<h2>Asignar Servicios a un Restaurante</h2>

<%
    String mensaje = "";

    // Procesar formulario si se envió
    if ("POST".equalsIgnoreCase(request.getMethod())) {
        int idRestaurante = Integer.parseInt(request.getParameter("id_restaurante"));
        String[] serviciosSeleccionados = request.getParameterValues("servicios");

        try (Connection con = conexion_mysql.getConnection()) {
            // Primero eliminamos servicios anteriores del restaurante (opcional, si quieres reemplazar)
            try (PreparedStatement eliminar = con.prepareStatement("DELETE FROM restaurante_servicio WHERE id_restaurante = ?")) {
                eliminar.setInt(1, idRestaurante);
                eliminar.executeUpdate();
            }

            // Insertar los servicios seleccionados
            if (serviciosSeleccionados != null) {
                try (PreparedStatement insertar = con.prepareStatement("INSERT INTO restaurante_servicio (id_restaurante, id_servicio) VALUES (?, ?)")) {
                    for (String idServicio : serviciosSeleccionados) {
                        insertar.setInt(1, idRestaurante);
                        insertar.setInt(2, Integer.parseInt(idServicio));
                        insertar.addBatch();
                    }
                    insertar.executeBatch();
                }
            }

            mensaje = "Servicios asignados correctamente.";
        } catch (Exception e) {
            mensaje = "Error al asignar los servicios: " + e.getMessage();
        }
    }
%>

<!-- Mostrar mensaje -->
<% if (!mensaje.isEmpty()) { %>
    <p style="color:green;"><%= mensaje %></p>
<% } %>

<form method="post" action="registrar_servicios.jsp">
    <label for="id_restaurante">Selecciona un restaurante:</label><br>
    <select name="id_restaurante" id="id_restaurante" required>
        <option value="">-- Selecciona --</option>
        <%
            try (Connection con = conexion_mysql.getConnection();
                 PreparedStatement ps = con.prepareStatement("SELECT id_restaurantes, nombre_restaurante FROM restaurantes");
                 ResultSet rs = ps.executeQuery()) {

                while (rs.next()) {
                    int id = rs.getInt("id_restaurantes");
                    String nombre = rs.getString("nombre_restaurante");
        %>
                    <option value="<%= id %>"><%= nombre %></option>
        <%
                }
            } catch (Exception e) {
                out.println("<option>Error cargando restaurantes</option>");
            }
        %>
    </select>

    <br><br>

    <label>Selecciona los servicios:</label><br>
    <%
        try (Connection con = conexion_mysql.getConnection();
             PreparedStatement ps = con.prepareStatement("SELECT id_servicio, nombre_servicio FROM servicios");
             ResultSet rs = ps.executeQuery()) {

            while (rs.next()) {
                int id = rs.getInt("id_servicio");
                String nombre = rs.getString("nombre_servicio");
    %>
                <input type="checkbox" name="servicios" value="<%= id %>"> <%= nombre %><br>
    <%
            }
        } catch (Exception e) {
            out.println("<p>Error cargando servicios</p>");
        }
    %>

    <br>
    <input type="submit" value="Asignar Servicios">
</form>

</body>
</html>
