package capitulo08.bloque01y02.operaciones;

import java.sql.Connection;
import java.sql.SQLException;
import java.sql.Statement;
import java.text.SimpleDateFormat;
import java.util.Date;

public class Insert {
    public static int addFabricante(Connection conn, String cif, String nombre) throws SQLException {
        Statement st = conn.createStatement();
        return st.executeUpdate("insert into tutorialjavacoches.fabricante (id, cif, nombre) values (" +
                Select.getNextId(conn, "fabricante") + ",'" + cif + "','" + nombre + "');");
    }

    public static int addCoche(Connection conn, int idFabricante, String numBastidor, String modelo, String color) throws SQLException {
        Statement st = conn.createStatement();
        if (Select.isIdValid(conn, "fabricante", idFabricante)) {
            return st.executeUpdate("insert into tutorialjavacoches.coche (id, idfabricante, bastidor, modelo, color) values (" +
                    Select.getNextId(conn, "coche") + "," + idFabricante + ",'" + numBastidor + "','" + modelo + "','" + color + "');");
        }
        return 0;
    }

    public static int addConcesionario(Connection conn, String cif, String nombre, String localidad) throws SQLException {
        Statement st = conn.createStatement();
        return st.executeUpdate("insert into tutorialjavacoches.concesionario (id, cif, nombre, localidad) values (" +
                Select.getNextId(conn, "concesionario") + ",'" + cif + "','" + nombre + "','" + localidad + "');");
    }

    public static int addCliente(Connection conn, String nombre, String apellidos, String localidad, String dni, Date fechaNac, int activo) throws SQLException {
        Statement st = conn.createStatement();
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        return st.executeUpdate("insert into tutorialjavacoches.cliente (id, nombre, apellidos, localidad, dniNie, fechaNac, activo) values (" +
                Select.getNextId(conn, "cliente") + ",'" + nombre + "','" + apellidos + "','" + localidad + "','" + dni + "','" + sdf.format(fechaNac) + "'," + activo + ");");
    }

    public static int addVenta(Connection conn, int idCliente, int idConcesionario, int idCoche, Date fecha, int precioVenta) throws SQLException {
        Statement st = conn.createStatement();
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        return st.executeUpdate("insert into tutorialjavacoches.venta (id, idCliente, idConcesionario, idCoche, fecha, precioVenta) values (" +
                Select.getNextId(conn, "venta") + "," + idCliente + "," + idConcesionario + "," + idCoche + ",'" + sdf.format(fecha) + "'," + precioVenta + ");");
    }


}
