Package Controladores

Source Code of Controladores.ControladorPago

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

import GestorJugadores.Jugador;
import GestorPago.Pago;
import GestorPago.PagoBD;


import GestorCuota.Cuota;
import GestorCuota.CuotaBD;
import Interfaz.InterfazPagoCuota;

import java.sql.SQLException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
/**
*
* @author frpp
*/
public class ControladorPago {
   
    /*
     IMPORTANTE EN LA LINEA 136 +-
     */
   
    private static ControladorPago Instancia=null;// = new JugadorBD();
   
    public List<Jugador> jugadores = new ArrayList<Jugador>();
    private List<Pago> pagos = new ArrayList<Pago>();
   
   
    private Jugador jugador;
   
    public int jugadorActivo;

    private int pagoActivo = -1;
   
    /**
     * Constructor por defecto. Al ser un singleton el contructor es privado
     * @param void
     * @return void
     */
    private ControladorPago(){
        jugadores=null;
        pagoActivo=-1;
        jugadorActivo=-1;
        jugador=null;
    }
   
    /**
     * Método que devuelve la única instancia de la clase
     * @param void
     * @return Instancia
     */
    public static ControladorPago getInstancia() {
        if (Instancia==null){
            Instancia = new ControladorPago();
        }
        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(){
        jugador=null;
        jugadores=null;
        pagoActivo=-1;
        jugadorActivo=-1;
    }
   

   
   
   
   /**
   *
   * @return Boolean  True| cuota eliminada    False| cuota eliminada.
   */
   
    /*
  public boolean deleteCuota(){
           
            Boolean salida= false;
            if(PagoBD.getInstancia().deletePago(pagos[pagoActivo])) {
                InterfazJugador.getInstancia().mostrarMensaje("Cuota eliminada con éxito", "", 1);
                salida = true;
            }else{
               InterfazJugador.getInstancia().mostrarMensaje("Cuota no eliminada", "ERROR", 0);
            }
           
            return salida;
  }
   
    */
   
   
   
   
   
   
   
   
   
   
   
   
   
 
       
        //Hay que almacenar el nombre y los apellidos del jugador.
   
   
   
   
   
   
    public void AnotarPago(String temporada, String mes) {        
        
         if(VerificarDatosCorrectosPago(mes)){//Si el me es correcto
             Date aux = jugadores.get(jugadorActivo).getNacimiento();
            
            SimpleDateFormat formateador = new SimpleDateFormat("yyyy");    //le aplico el formato dia-mes-año       
            String fecha_consulta =  formateador.format(aux);
           
             int fecha = Integer.parseInt(fecha_consulta);
         
            ArrayList<Cuota> cuota = CuotaBD.getInstancia().getCuota(temporada, fecha);
            if(cuota == null){
                 InterfazPagoCuota.getInstancia().mostrarMensaje("Error en la cuota ", "Error", 0);
            }else{
           
                    Pago p = new Pago(cuota.get(0),jugadores.get(jugadorActivo),mes);
                    if(PagoBD.getInstancia().addPago(p) != null){
                        InterfazPagoCuota.getInstancia().mostrarMensaje("Éxito al añadir el pago ", "Éxito", 1);
                        pagos.add(p);
                        pagoActivo =0;
                    }else{
                        InterfazPagoCuota.getInstancia().mostrarMensaje("Error al añadir el pago ", "Error", 0);
                    }
              }
           
         }else{
                InterfazPagoCuota.getInstancia().mostrarMensaje("Error en los datos ", "Error", 0);
         }
      
    }
   
   
      public void updatePago(String temporada, String mes, String newmes){        

         if(VerificarDatosCorrectosPago(mes)){//Si el mes es correcto
            if(PagoBD.getInstancia().updatePago(jugadores.get(jugadorActivo), temporada, mes, newmes) == false){
                 InterfazPagoCuota.getInstancia().mostrarMensaje("Error al actualizar el pago", "Error", 0);
            }else{
               InterfazPagoCuota.getInstancia().mostrarMensaje("Ëxito en la búsqueda", "Éxito", 1);
            }
           
            //Si hace el update
         }else{
                InterfazPagoCuota.getInstancia().mostrarMensaje("Error en los datos ", "Error", 0);        
         }
      
        

    }
   
   
   
 
   
   
    /*  Método que obtiene una lista de nombre / apellidos de aquellos
         *  jugadores que han pagado el mes correspondiente.
         *
         * @param String mes
         * @return []Integer lista jugadores
         *
         */

     public void GenerarListadoPago(String temporada, String mes){
        
        ArrayList<Jugador> jug_ip = PagoBD.getInstancia().GenerarListadoPago(temporada, mes);
       
               
        if(!jug_ip.isEmpty()){// Si la consulta tiene datos...
            InterfazPagoCuota.getInstancia().mostrarTablaPagos(jug_ip);
        }else{
            InterfazPagoCuota.getInstancia().mostrarMensaje( "No hay  pagos ", "Error", 0);
        }
    }
   
    
    
    
    
        /*  Método que obtiene una lista de nombre / apellidos de aquellos
         *  jugadores que no han pagado el mes correspondiente.
         *
         * @param String mes
         * @return []Integer lista jugadores
         *
         */
    public void GenerarListadoImpago(String temporada, String mes){
       
        //ArrayList<Jugador> jug_imp = new ArrayList<Jugador>();
        ArrayList<Jugador> jug_imp = PagoBD.getInstancia().GenerarListadoImpago(temporada, mes);
               
       
        if(!jug_imp.isEmpty()){// Si la consulta tiene datos...
            InterfazPagoCuota.getInstancia().mostrarTablaImpagos(jug_imp);
        }else{
            InterfazPagoCuota.getInstancia().mostrarMensaje( "No hay  impagos ", "Error", 0);
        }
    }
   

   
    public void GenerarListadoPagoJugador(String temporada){
       
       
       
        int idJug = jugadores.get(jugadorActivo).getIdJugador();
       
        int ano = jugadores.get(jugadorActivo).getNacimiento().getYear();
       
        ArrayList<Pago> pag = PagoBD.getInstancia().GenerarListadoPagoJugador(idJug, ano, temporada);
       
        if(!pag.isEmpty()){// Si la consulta tiene datos...
        InterfazPagoCuota.getInstancia().mostrarTablaPagosJugador(pag);  
        }else{
          InterfazPagoCuota.getInstancia().mostrarMensaje( "No hay  pagos ", "Error", 0);
        }
    }
   
   
     
    /**
     * 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 Boolean VerificarDatosCorrectosPago(String datos){
        // Si algo incorrecto avisar a la interfaz y mostrar mensaje

            if ((datos == "Enero")||(datos == "Febrero")||(datos == "Marzo")||(datos == "Abril")||
                    (datos == "Mayo")||(datos == "Junio")||(datos == "Julio")||(datos == "Agosto")||
                    (datos == "Septiembre")||(datos == "Octubre")||(datos == "Noviembre")||(datos == "Diciembre")) {
            return true;
            }
           
         
            return false;             
        }
   
   
   
   
   
   
   
}
TOP

Related Classes of Controladores.ControladorPago

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.