<?php

namespace App\Http\Controllers;

use App\Models\Empresa;
use Illuminate\Http\Request;

class EmpresaController extends Controller
{
    public function index()
    {
        $empresas = Empresa::latest()->get();
        return view('empresas.index', compact('empresas'));
    }

    public function create()
    {
        return view('empresas.create');
    }

    public function store(Request $request)
    {
        $data = $request->validate([
            'razon_social' => 'required|string|max:255',
            'ruc' => 'required|string|max:20|unique:empresas',
            'responsable' => 'nullable|string|max:255',
            'email' => 'nullable|email|max:255',
            'telefono' => 'nullable|string|max:50',
            'direccion' => 'nullable|string',
            'estado' => 'required|in:ACTIVO,INACTIVO'
        ]);

        Empresa::create($data);

        return redirect()->route('empresas.index')->with('success', 'Empresa registrada correctamente.');
    }

    public function edit(Empresa $empresa)
    {
        return view('empresas.edit', compact('empresa'));
    }

    public function update(Request $request, Empresa $empresa)
    {
        $data = $request->validate([
            'razon_social' => 'required|string|max:255',
            'ruc' => 'required|string|max:20|unique:empresas,ruc,' . $empresa->id,
            'responsable' => 'nullable|string|max:255',
            'email' => 'nullable|email|max:255',
            'telefono' => 'nullable|string|max:50',
            'direccion' => 'nullable|string',
            'estado' => 'required|in:ACTIVO,INACTIVO'
        ]);

        $empresa->update($data);

        return redirect()->route('empresas.index')->with('success', 'Empresa actualizada correctamente.');
    }
}
