<?php
session_start();
require_once 'db/config.php';

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    // Recoger todos los datos del formulario
    $id = $_POST['id'] ?? null;
    $nombre = $_POST['nombre'] ?? '';
    $sku = !empty($_POST['sku']) ? $_POST['sku'] : null;
    $costo = !empty($_POST['costo']) ? (float)$_POST['costo'] : 0.00;
    $precio_venta = !empty($_POST['precio_venta']) ? (float)$_POST['precio_venta'] : 0.00;
    $description = $_POST['description'] ?? '';
    $provincia_id = !empty($_POST['provincia_id']) ? $_POST['provincia_id'] : null;
    $cobertura = $_POST['cobertura'] ?? '';
    $show_on_panel = isset($_POST['show_on_panel']) ? 1 : 0;

    $db = db();

    if (!empty($id)) {
        // Actualizar producto existente
        $sql = "UPDATE products SET nombre = ?, sku = ?, costo = ?, precio_venta = ?, description = ?, provincia_id = ?, cobertura = ?, show_on_panel = ? WHERE id = ?";
        $stmt = $db->prepare($sql);
        $stmt->execute([$nombre, $sku, $costo, $precio_venta, $description, $provincia_id, $cobertura, $show_on_panel, $id]);
        $_SESSION['success_message'] = "Producto actualizado exitosamente.";
    } else {
        // Crear nuevo producto
        // No se insertan columnas generadas como ganancia_unidad, ingreso_total, ganancia_total
        $sql = "INSERT INTO products (nombre, sku, costo, precio_venta, description, provincia_id, cobertura, show_on_panel, unidades_vendidas) VALUES (?, ?, ?, ?, ?, ?, ?, ?, 0)";
        $stmt = $db->prepare($sql);
        $stmt->execute([$nombre, $sku, $costo, $precio_venta, $description, $provincia_id, $cobertura, $show_on_panel]);
        $_SESSION['success_message'] = "Producto creado exitosamente.";
    }

    header('Location: productos.php');
    exit;
}
?>