Package Controladores

Source Code of Controladores.ControladorCuota





/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package Controladores;

import GestorCuota.Cuota;
import GestorCuota.CuotaBD;
import Interfaz.InterfazPagoCuota;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

/**
*
* @author frpp
*/
public class ControladorCuota {
   
    private static ControladorCuota Instancia=null;// = new Cuota();
   // private Cuota cuota;
    public ArrayList<Cuota> cuotas = new ArrayList<Cuota>();
   
    public int cuotaActiva;

    //private int cuotasActivas;
   
    /**
     * Constructor por defecto. Al ser un singleton el contructor es privado
     * @param void
     * @return void
     */
    private ControladorCuota(){
        cuotas=null;
        cuotaActiva=-1;
       // cuotasActivas=-1;
    }
   
    /**
     * Método que devuelve la única instancia de la clase
     * @param void
     * @return Instancia
     */
    public static ControladorCuota getInstancia() {
        if (Instancia==null){
            Instancia = new ControladorCuota();
        }
        return Instancia;
    }
   
   
    @Override
    /**
     * Sobrecarga del método clone para impedir que se duplique la instancia
     * (Exigencias del patrón Singleton)
     * @param void
     * @return Object
     */
    public Object clone() throws CloneNotSupportedException {
        throw new CloneNotSupportedException();
    }
   
   
    /**
     * Método que inicializa el estado de la instancia
     * @param void
     * @return void
     */
    public void inicializar(){
        cuotaActiva=-1;
        cuotas=null;
    }
   
   
   
   
    /**
     * Método que recibe los datos de una Cuota como un vector de String
     * valida la corrección de los datos y, en caso de que sean correctos,
     * crea un objeto Cuota y lo envía a la clase CuotaBD para su
     * inclusión en la Base de Datos. Envía mensajes al usuario avisando del
     * éxito o fracaso de la operación.
     * @param Datos Vector de String
     * @return true si todo se hizo con éxito o false si hubo error bien sea
     * en la validación de datos, bien en el acceso a la Base de Datos.
     */
   
   
    public Boolean addCuota(String [] Datos){
        Cuota cuot;
        //String [] Datos=InterfazJugador.getInstancia().cargarDatosFormulario();
       
        if ((cuot = VerificarDatosCorrectosCuota(Datos))!=null){ // Datos correctos
            if(CuotaBD.getInstancia().addCuota(cuot) != null){
                 cuotas.add(cuot);
                 cuotaActiva=0;
                InterfazPagoCuota.getInstancia().mostrarTablaCuotas(cuotas);
                InterfazPagoCuota.getInstancia().mostrarMensaje("Cuota añadida con éxito.", "OK", 1);
                return true;
            }else{
               InterfazPagoCuota.getInstancia().mostrarMensaje("Cuota no añadida con éxito.", "Error", 0);
            }
        }else{
          InterfazPagoCuota.getInstancia().mostrarMensaje("Error en los datos.", "Error", 0);
        }
            return false;   
    }
   
   
   
    /**
     * Método que recibe como entrada una cadena
     * para buscar cuotas en la Base de Datos datos
     * comienzen por dichas cadenas.
     * En caso de error envía mensajes al usuario avisando fracaso de la operación.
     * En caso de éxito modifica la interfaz para mostrar los datos.
     * @param String [] datos.
     * @return true si se encontraron jugadores, false si no.
     */
   
   
    public Boolean getCuota(int  anioNacimiento, String temporada){
         ArrayList<Cuota> aux = new ArrayList<Cuota>();
           
         cuotas = CuotaBD.getInstancia().getCuota(temporada,anioNacimiento);
        
         if( !cuotas.isEmpty()){// Si la búsqueda es correcta
             InterfazPagoCuota.getInstancia().mostrarTablaCuotas(cuotas);
             //InterfazPagoCuota.getInstancia().mostrarMensaje("Éxito en la búsqueda. ", "ëxito", 1);
             return true;
         }else{
            InterfazPagoCuota.getInstancia().mostrarMensaje("Error en la búsqueda. Pruebe con otros datos", "Error", 0);
         }
        return false;
    }
   
   
   
   
    /**
     * Método que recibe los datos de un Cuota a modificar como un vector
     * de String valida la corrección de los datos y, en caso de que sean
     * correctos, los envía a la clase CuotaBD para su modificación en la
     * Base de Datos.
     * Envía mensajes al usuario avisando del éxito o fracaso de la operación.
     * @param Datos Vector de String
     * @return true si todo se hizo con éxito o false si hubo error bien sea
     * en la validación de datos, bien en el acceso a la Base de Datos.
     */
   
   
    public Boolean updateCuota(String [] Datos){
        Cuota cuot;
       
        if ((cuot=VerificarDatosCorrectosCuota(Datos))!=null){ // Datos correctos
            // Se completa el nuevo Jugador jug con idJugador
            // Enviar a la BD
            if (CuotaBD.getInstancia().updateCuota(cuot)){ // Modificado con éxito
                cuotas.remove(cuotaActiva);     
                cuotas.add(cuot);
                InterfazPagoCuota.getInstancia().mostrarTablaCuotas(cuotas);
                InterfazPagoCuota.getInstancia().mostrarMensaje("Cuota modificado con éxito","OK", 1);
                return true;
            } else {
                InterfazPagoCuota.getInstancia().mostrarMensaje("Error al modificar la cuota en la Base de Datos.\nIntentelo de nuevo.", "Error en la Base de Datos", 0);
                return false;
            }
        } else {
            // Error con los datos
            InterfazPagoCuota.getInstancia().mostrarMensaje("Error en los datos introducidos.", "Error", 0);
            return false;
        }
    }
   
   
   
   
   /**
   *
   * @return Boolean  True| cuota eliminada    False| cuota eliminada.
   */
    /*
  public boolean deleteCuota(){
           
            Boolean salida= false;
            if(CuotaBD.getInstancia().deleteCuota(cuotas[cuotasActivas])) {
                InterfazJugador.getInstancia().mostrarMensaje("Cuota eliminada con éxito", "", 1);
                salida = true;
            }else{
               InterfazJugador.getInstancia().mostrarMensaje("Cuota no eliminada", "ERROR", 0);
            }
           
            return salida;
  }
    */
   
   
   
 
   
   
   
    /**
     * Método que recibe los datos de una Cuota como un vector de String
     * valida la corrección de los datos y, en caso de que sean correctos,
     * crea un objeto Cuota y lo devuelve. Si los datos no son válidos
     * muestra información en la interfaz acerca de cuales son incorrectos.
     * @param Datos Vector de String
     * @return Un objeto Jugador y los datos son correctos o null si no.
     */
   
    public Cuota VerificarDatosCorrectosCuota(String []datos){
        // Si algo incorrecto avisar a la interfaz y mostrar mensaje
       
            Boolean error= false;

            Boolean anioNacimiento=false;
            Boolean cuotadeInscripcion=false;
            Boolean cuotaMensual=false;
            Boolean cuotaTotal=false;
            Boolean temporada = false;
        try {
            try {
                Integer.parseInt(datos[0]);               
            } catch (NumberFormatException ex) {
                anioNacimiento = true;
            }
           
           
            if(Integer.parseInt(datos[0]) <=  0) {
                anioNacimiento = true;
            }
           
            try {
                Double.parseDouble(datos[1]);
            } catch (NumberFormatException ex) {
                cuotadeInscripcion = true;
            }
           
            try {
                Double.parseDouble(datos[2]);
            } catch (NumberFormatException ex) {
                cuotaMensual = true;
            }
           
            try {
                Double.parseDouble(datos[3]);
            } catch (NumberFormatException ex) {
                cuotaTotal = true;
            }

           
                   

           
               
                  Integer.parseInt(datos[4].substring(0, 4));
                  Integer.parseInt(datos[4].substring(5, 9));
             if(!datos[4].contains("-")){
                 temporada = true;
             }       
                    
            } catch (Exception ex) {
                           temporada = true;
            }
               
          
            
       
                   
        
           // int anio = Integer.parseInt(datos[0]);
           // Double ins = Double.parseDouble(datos[1]);
           // Double ins2 = Double.parseDouble(datos[2]);
           // Double ins3 = Double.parseDouble(datos[3]);


           
            //Cuota cuot = new Cuota(anio,  ins, ins2, ins3, datos[4]);
            //cuot.setIdCuota(cuotas.get(cuotaActiva).getIdCuota());
           
            error = (anioNacimiento || cuotadeInscripcion || cuotaMensual || cuotaTotal || temporada);
           
            if (error){
                return null;
            } else {
                Cuota cuot = new Cuota(Integer.parseInt(datos[0]),  Double.parseDouble(datos[1]), Double.parseDouble(datos[2]), Double.parseDouble(datos[3]), datos[4]);
                cuot.setIdCuota(cuotas.get(cuotaActiva).getIdCuota());

                return cuot;
            }
               
        }
   
   
   
     
    public ArrayList<String> getTemporadas(){
   
        ArrayList<String> temporadas;
       
        temporadas = CuotaBD.getInstancia().getTemporadas();
       
        return temporadas;
    }
   
   
   
   
}
TOP

Related Classes of Controladores.ControladorCuota

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.