package capitulo05.bloque02.coleccionAntiguedades;

import capitulo04.utils.Utils;

public class ColeccionAntiguedades {
    public static void main(String[] args) {
        Antiguedad antiguedad = null;
            int eleccion = Utils.solicitarIntScannerInline("Sistema de registro de antigüedades\n" +
                    "Seleccione el tipo de antigüedad:\n" +
                    " 1 - Joya\n" +
                    " 2 - Libro\n" +
                    " 3 - Cuadro\n" +
                    " 4 - Escultura\n" +
                    "> ");

            switch (eleccion) {
                case 1:
                    Joya joyita = (Joya) registrarDatos(new Joya());

                    joyita.setMaterialFabricacion(Utils.solicitarStringScannerInline("Introduzca el material de fabricación de la joya: "));
                    antiguedad = joyita;
                    break;
                case 2:
                    Libro librito = (Libro) registrarDatos(new Libro());

                    librito.setTitulo(Utils.solicitarStringScannerInline("Introduzca el título del libro: "));
                    librito.setAutor(Utils.solicitarStringScannerInline("Introduzca el nombre del autor del libro: "));
                    antiguedad = librito;
                    break;
                case 3:
                    Cuadro cuadrito = (Cuadro) registrarDatos(new Cuadro());

                    cuadrito.setPintor(Utils.solicitarStringScannerInline("Introduzca el nombre del pintor del cuadro: "));
                    antiguedad = cuadrito;
                    break;
                case 4:
                    Escultura esculturita = (Escultura) registrarDatos(new Escultura());

                    esculturita.setAltura(Utils.solicitarFloatScannerInline("Introduzca la altura de la escultura: "));
                    esculturita.setEscultor(Utils.solicitarStringScannerInline("Introduzca el nombre del escultor: "));
                    esculturita.setMaterial(Utils.solicitarStringScannerInline("Introduzca el material del que está hecha la escultura: "));
                    antiguedad = esculturita;
                    break;
                default:
                    System.out.println("No ha introducido una opción válida");

            }

            if (antiguedad instanceof Joya joyita) {
                System.out.println(joyita.toString());
            } else if (antiguedad instanceof Libro librito) {
                System.out.println(librito.toString());
            } else if (antiguedad instanceof Cuadro cuadrito) {
                System.out.println(cuadrito.toString());
            } else if (antiguedad instanceof Escultura esculturita) {
                System.out.println(esculturita.toString());
            }

    }
    public static Antiguedad registrarDatos(Antiguedad antiguedad) {
        antiguedad.setOrigen(Utils.solicitarStringScannerInline("Introduzca el origen del artículo: "));
        antiguedad.setAnoFabricacion(Utils.solicitarIntScannerInline("Introduzca el año de fabricación del artículo: "));
        antiguedad.setPrecioVenta(Utils.solicitarFloatScannerInline("Introduzca el precio del artículo: "));

        return antiguedad;
    }
}
