Untitled

mail@pastecode.io avatar
unknown
plain_text
8 months ago
6.0 kB
3
Indexable
Never
package es.uco.pw.display.main;

import java.io.FileNotFoundException;
import java.io.IOException;
import java.sql.SQLException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;

import es.uco.pw.business.controller.GestorAsistentes;
import es.uco.pw.data.dto.AsistentDTO;

/**
 * Clase principal para gestionar asistentes.
 */
public class MenuAsistentes {
	
    @SuppressWarnings("resource")
    /**
     * Método principal para la gestión de asistentes.
     * @param args Argumentos de línea de comandos
     * @throws SQLException Excepción de SQL.
     * @throws ParseException Excepción de análisis de fecha.
     */
    public static void main(String[] args) throws SQLException, ParseException, FileNotFoundException, IOException {
        Scanner myObj = new Scanner(System.in);   	                    
        int codigoError, opcion = 99;
        String nombre, apellido, fechaN;
        Date fecha;
        int atencionEspecial;
        boolean atencion;

        while (opcion != 0) {
        	System.out.println("Indique una opción");
        	System.out.println("1.- Añadir asistente");
        	System.out.println("2.- Modificar asistente");
        	System.out.println("3.- Listar asistentes");
        	System.out.println("0.- Guardar y salir al menú superior");
        	opcion = Integer.parseInt(myObj.nextLine());

        	switch (opcion) {
        		case 1: 
        			//Añade un asistente a la bbdd                 
        			System.out.println("Indique nombre del nuevo asistente");
        			nombre = myObj.nextLine();
                        
        			System.out.println("Indique apellido del nuevo asistente");
        			apellido = myObj.nextLine();
        			
        			System.out.println("Indique fecha de nacimiento del nuevo asistente (dd/mm/aaaa)");
        			fechaN = myObj.nextLine();
        			SimpleDateFormat formato = new SimpleDateFormat("dd/MM/yyyy");
        			fecha = formato.parse(fechaN);

        			atencionEspecial = 0;
        			while (!(atencionEspecial == 1 || atencionEspecial == 2)) {
        				System.out.println("Indique una opcion");
        				System.out.println("1.- No requiere atención especial");
        				System.out.println("2.- Requiere atención especial");
        				atencionEspecial = Integer.parseInt(myObj.nextLine());
        			}
        			if(atencionEspecial == 1){
        				atencion = false;
                    }
                    else{
                       	atencion = true;
                    }
        			
        			AsistentDTO newAsistent = new AsistentDTO(nombre, apellido, fecha, atencion);        			
        			codigoError = GestorAsistentes.gestionarOpcion(1, newAsistent);
        			if(codigoError==1) {
        				System.out.println("El asistente se ha guardado correctamente.");
        			}
        			else if(codigoError==-1) {
        				System.out.println("El asistente no se ha guardado correctamente.");
        			}
        			else if(codigoError==-2) {
        				System.out.println("El asistente ya ha sido introducido.");
        			}
        			else if(codigoError==0) {
        				System.out.println("No se puede establecer conexion con la base de datos.");
        			}
                    break;

                        
                case 2: 
                	System.out.println("Indique el ID del asistente a buscar");
        			int IDSearch = Integer.parseInt(myObj.nextLine());                        
                   
        			System.out.println("Indique nombre del asistente a modificar");
        			nombre = myObj.nextLine();
	                        
        			System.out.println("Indique apellido del nuevo asistente");
        			apellido = myObj.nextLine();
	        			
        			System.out.println("Indique fecha de nacimiento del nuevo asistente (dd/mm/aaaa)");
        			fechaN = myObj.nextLine();
        			formato = new SimpleDateFormat("dd/MM/yyyy");
        			fecha = formato.parse(fechaN);
	
        			atencionEspecial = 0;
        			while (!(atencionEspecial == 1 || atencionEspecial == 2)) {
        				System.out.println("Indique una opcion");
        				System.out.println("1.- No requiere atención especial");
        				System.out.println("2.- Requiere atención especial");
        				atencionEspecial = Integer.parseInt(myObj.nextLine());
        			}	        			
        			if(atencionEspecial == 1){
        				atencion = false;
        			}
        			else{
        				atencion = true;
        			}	 
	        			
        			AsistentDTO modifyAsistent = new AsistentDTO(IDSearch, nombre, apellido, fecha, atencion);
        			codigoError = GestorAsistentes.gestionarOpcion(2, modifyAsistent);
        			if(codigoError==1) {
        				System.out.println("El asistente se ha modificado correctamente.");
        			}
        			else if(codigoError==-1) {
        				System.out.println("El asistente no se ha guardado correctamente.");
        			}
        			else if(codigoError==0) {
        				System.out.println("No se puede establecer conexion con la base de datos.");
        			}
        			break;

                case 3: 
                	System.out.println("Esperando a que se listen los datos...");
                	AsistentDTO emptyAsistent = new AsistentDTO();
        			codigoError = GestorAsistentes.gestionarOpcion(3, emptyAsistent);
        			if(codigoError==1) {
        				System.out.println("Los asistentes se han listado correctamente.");
        			}
        			else if(codigoError==-1) {
        				System.out.println("Los asistentes no se han listado correctamente.");
        			}
        			else if(codigoError==0) {
        				System.out.println("No se puede establecer conexion con la base de datos.");
        			}        			
        	}
        }
    }
}