Package Controladores

Source Code of Controladores.ControladorEquipo

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

import ConexionBD.ConexionBD;
import GestorEquipos.Entrena;
import GestorEquipos.Equipo;
import GestorEquipos.EquipoBD;
import GestorEquipos.Juega;

import Controladores.ControladorJugador;
import Controladores.ControladorEquipo;

import GestorJugadores.Jugador;
import GestorJugadores.JugadorBD;
import GestorUsuarios.Entrenador;
import GestorUsuarios.Usuario;

import Interfaz.InterfazEquipo;
import Interfaz.InterfazJugador;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;


/**
* @author ihssan
* @version 1.0
* @created 28-mar-2013 20:53:35
*/
public class ControladorEquipo {

  private static ControladorEquipo instanciaControladorEquipo = null;
       
        private List<Equipo> equipos = new ArrayList<Equipo>();

        private int equipoActivo = -1;

       
        private ArrayList<Usuario> entrenadores = new ArrayList<Usuario>();
        private Entrena entrena;
       
       

        private ArrayList<Juega> jug_asignados =new ArrayList<Juega>();
        private ArrayList<Jugador> jug_libres =new ArrayList<Jugador>();


       
       
       
       

  public ControladorEquipo(){
            equipoActivo = -1;
  }
       
        public static ControladorEquipo getInstancia(){
            if (instanciaControladorEquipo == null) {
                instanciaControladorEquipo = new ControladorEquipo();
            }
               
                return instanciaControladorEquipo;
  }

        /**
         * @brief Crea un Objeto Equipo y lo añade a la BD
         * @param datos : Array de String que contiene los datos obtenidos del formulario
         * @return null
         */
        public Boolean addEquipo(String[] datos) {
            String nombre = datos[0];                  // Obtenemos el nombre del equipo       
            String cat = datos[1];                     // Obtenemos la categoria del equipo       
            Boolean anadido = true;
            Character gen;                             // Obtenemos el genero del Equipo
            if (datos[2].equals("M")){
                gen = 'M';
            } else {
                gen = 'F';
            }
           
            Boolean estado = null;
            if(datos[3].equals("activo"))
                estado = true;
            else if (datos[3].equals("baja"))
                estado = false;
            Equipo eq = new Equipo(nombre, cat, gen,estado);   // Creamos el objeto
            try {
                eq = EquipoBD.getIntance().addEquipo(eq);       // Añadimos el objeto a la BD 
                equipos.add(eq);
                equipoActivo = 0;
            } catch (Exception e) {
                anadido = false;
            }
            if (anadido) {
                InterfazEquipo.getInstancia().mostrarMensaje("Equipo Añadido con Exito", "Añadir Equipo", 1);
            }
            else {
                InterfazEquipo.getInstancia().mostrarMensaje("no se puede añadir el equipo", "Añadir Equipo", 1);               
            }
            return anadido;
        }
       
        /**
         * @brief consulta los equipos que estan en la BD
         * @param datos Array de String que contiene los datos obtenidos del formulario
         * @return null
         */
        public Boolean getEquipos(String nombre, String cat) {
            String genero, estado;
            try {
               equipos = EquipoBD.getIntance().getEquipos(nombre, cat);
               equipoActivo = 0;
            } catch (Exception e) {
                equipos = null;
            }           
            if (equipos.size() > 0) {      // si encontramos equipos los visualizamos
                InterfazEquipo.getInstancia().activarTabla(Boolean.TRUE);       // Visualizamos la tabla
                InterfazEquipo.getInstancia().set_Filas_tabla(equipos.size());
                for (int i=0; i<equipos.size(); i++){       // Rellenamos la tabla con nombres  categorias
                    InterfazEquipo.getInstancia().addEquipoTabla(i, equipos.get(i).getNombre(),
                                                                    equipos.get(i).getCategoria());
                }
           
                // Añadimos el prier equipo encontrado
                if(equipos.get(equipoActivo).getEstado())
                    estado = "activo";
                else
                    estado = "baja";
                InterfazEquipo.getInstancia().mostrarEquipo(equipos.get(equipoActivo).getNombre(), equipos.get(equipoActivo).getCategoria(),
                        equipos.get(equipoActivo).getGenero(), estado);          
                return true;
            }
            else {
                InterfazEquipo.getInstancia().mostrarMensaje("No se han encontrado equipos con los datos introducidos", "No hay datos", 1);
                return false;
            }
        }
       
        public Boolean updateEquipo(String [] datos) {
            Boolean estado = null;
            Boolean modificado = null;
            String nombre, cat;
            Character gen;
           
            if (!datos[0].equals("") && !datos[0].equals(equipos.get(equipoActivo).getNombre()))       // Establecer nombre
                nombre = datos[0];
            else
                nombre = equipos.get(equipoActivo).getNombre();
           
            if (!datos[1].equals("") && !datos[1].equals(equipos.get(equipoActivo).getCategoria()))    // Establecer Categoria
                cat = datos[1];
            else
                cat = equipos.get(equipoActivo).getCategoria();
           
            if (!datos[2].equals("") && !datos[2].equals(equipos.get(equipoActivo).getGenero())) {
                if (datos[2].equals("M"))
                    gen = 'M';
               else
                    gen = 'F';           
            }
            else {
                gen = equipos.get(equipoActivo).getGenero().charAt(0);
            }
           
            if (!datos[3].equals("")) {             // Establecer el estado
                if (datos[3].equals("activo"))
                    estado = true;
                else
                    estado = false;
            }    
            else
                estado = equipos.get(equipoActivo).getEstado();
           
            Equipo eq = new Equipo(nombre, cat, gen, estado);       // Crear el objeto
            eq.setIdEquipo(equipos.get(equipoActivo).getIdEquipo());
           
            try {
                 modificado = EquipoBD.getIntance().updateEquipo(eq);
                 equipos.set(equipoActivo, eq);
            } catch (Exception e) {
                modificado = false;
            }
            if (modificado) {
                InterfazEquipo.getInstancia().mostrarMensaje("Equipo modificado con Exito", "Añadir Equipo", 1);
            }
            else {
                InterfazEquipo.getInstancia().mostrarMensaje("no se puede modificar el equipo", "Añadir Equipo", 1);               
            }
            return modificado;
        }
       
       
        public Boolean refrescarEquipo(Integer fila) {
            String estado;
           
            if (equipoActivo == -1) {
                return false;
            }
            else if (fila != null)
                equipoActivo = fila;
            if(equipos.get(equipoActivo).getEstado())
                    estado = "activo";
                else
                    estado = "baja";
            InterfazEquipo.getInstancia().mostrarEquipo(equipos.get(equipoActivo).getNombre(), equipos.get(equipoActivo).getCategoria(),
                                                        equipos.get(equipoActivo).getGenero(), estado);
            return true;
        }
       
       
       
       
      
       
        /*
         *              ENTRENADOR
         */
       
        /*
        public Boolean addEntrenador(String[] datos) {
           
            Entrena entr = new Entrena();
                entrena = new Entrena[1];
                // Enviar a la BD
                entrena[0]=EquipoBD.getIntance().addEntrena(entr);
                if (entrena[0]!=null){ // Entrena añadido con exito
                    InterfazEquipo.getInstancia().mostrarMensaje("Entrenador añadido con éxito","OK", 1);
                    return true;
                } else { // Error con la BD
                    InterfazEquipo.getInstancia().mostrarMensaje("Error al introducir el entrenador en un equipo.\nIntentelo de nuevo.", "Error en la Base de Datos", 0);
                    return false;
                }

          
        }
       
        */
       
        public Boolean addEntrenador( int seleccionado, int lugar, int accion){
           
            entrena.setEquipo(equipos.get(equipoActivo));
            //Entrenador principal
            if(lugar == 0){
                entrena.setEntrenadorP(entrenadores.get(seleccionado));
                entrena.setEntrenadorS(null);
               
                if(accion == 0){
                    EquipoBD.getIntance().addEntrenaPrincipal(entrena);
                }
                else{
                    return EquipoBD.getIntance().updateEntrenaPrincipal(entrena);
                }
                return true;
            }
            else{//Entrenado segundo
                entrena.setEntrenadorS(entrenadores.get(seleccionado));
              
                if(accion == 0){
                    EquipoBD.getIntance().addEntrenaSegundo(entrena);
                }
                else{
                    return EquipoBD.getIntance().updateEntrenaSegundo(entrena);
                }
                return true;
            }
           
           
           
           
        }
       
        public Boolean deleteEntrenador( int lugar, int accion){
           
            entrena.setEquipo(equipos.get(equipoActivo)) ;
            //Entrenador principal
            if(lugar == 0){
               
                if(accion == 0){
                    EquipoBD.getIntance().deleteEntrena(entrena);
                }
                else{
                    EquipoBD.getIntance().deleteEntrena(entrena);
                    EquipoBD.getIntance().addEntrenaSegundo(entrena);
                }
                return true;
            }
            else{//Entrenado segundo
                              
                if(accion == 0){
                    EquipoBD.getIntance().deleteEntrena(entrena);
                }
                else{
                    EquipoBD.getIntance().deleteEntrena(entrena);
                    EquipoBD.getIntance().addEntrenaPrincipal(entrena);
                }
                return true;
            }
        }
       
        public void getEntrenadores_Equipos(){
           
            entrenadores.clear();

           
            entrenadores = EquipoBD.getIntance().getEntrenadores_Libres( equipos.get(equipoActivo) );
           
           
            entrena = EquipoBD.getIntance().getEntrenadores_Asignados(equipos.get(equipoActivo));

           
           
            InterfazEquipo.getInstancia().MostrarEntrenadores(entrenadores, entrena);
        }

       
       
       
       
       
       
       
       
       
       
       
       
        /*
         *                  JUEGA
         */
       
        
        public void add_Jugador_Equipo(int dorsal, int pos_jug){
            
            Equipo equi = equipos.get(equipoActivo);
          
            Jugador juga = jug_libres.get(pos_jug);

            Juega  jueg = new Juega(dorsal, equi, juga);
                  
            if(EquipoBD.getIntance().addJuega(jueg) != null){
                jug_asignados.add(jueg);
                jug_libres.remove(juga);
                InterfazEquipo.getInstancia().MostrarJugadoresEquipo(jug_libres, jug_asignados);

            }else{                
                InterfazEquipo.getInstancia().mostrarMensaje("No se ha podido añadir el jugador", "Jugador no añadido", 0);
            }
           
        }
       
       
         public void getLibres_Asignados_Equipos(){
           
           
           // int idEquipo = equipos.get(equipoActivo).getIdEquipo();
            //Equipo equip = EquipoBD.getIntance().getEquipo(idEquipo);
              
            Equipo equip = equipos.get(equipoActivo);

            jug_libres = EquipoBD.getIntance().getJugadores_Libres(equip);

            jug_asignados = EquipoBD.getIntance().getJugadores_Asignados(equip);
             
            InterfazEquipo.getInstancia().MostrarJugadoresEquipo(jug_libres, jug_asignados);
        }
       
       
       
        /*
         * Método que comprueba si el dorsal puesto al jugador en el equipo no está ya dado.
         */
        public Boolean dorsalAsignado(Integer dorsal){
           
            if(dorsal == null || dorsal == -1)
                return false;
           
           
           
            for(int i = 0 ; i < jug_asignados.size(); ++i){
                if(jug_asignados.get(i).getDorsal() == dorsal) {
                    return false;
                }
            }
               
            return true;
        }
       
       
        public void delete_Jugador_Equipo(Integer indice){
           
            Juega  jueg = jug_asignados.get(indice);
           
            if(EquipoBD.getIntance().deleteJuega(jueg)){
           
            jug_libres.add(jueg.getJugador());
            jug_asignados.remove(jueg);

           
            InterfazEquipo.getInstancia().MostrarJugadoresEquipo(jug_libres, jug_asignados);

           
            }else{                
                InterfazEquipo.getInstancia().mostrarMensaje("No se puede eliminar el Jugador", "Imposible eliminar jugador", 0);
            }
           
           
        }
       
       
     
       
       
       
       
      /* 
         public Juega VerificarDatosCorrectosJuega(String []datos){
        // Si algo incorrecto avisar a la interfaz y mostrar mensaje
          try{
                 Integer.parseInt(datos[0][0]);
                 ControladorEquipo.getInstanciaControladorEquipo().VerificarDatosCorrectosEquipo(datos[1]);
                
                     Jugador newjuga = VerificarDatosCorrectosJugador(datos[2]);
                 ControladorVerificarDatos algo;
                 Jugador newjug = algo.VerificarDatosCorrectosJugador(datos);
                
            }
            catch (NumberFormatException nfe)
            {  
               
                //InterfazJugador.getInstancia().marcarErrores(anioNacimiento, cuotadeInscripcion, cuotadeInscripcion2, cuotaMensual, cuotaTotal);
            }
              return new Juega(Integer.parseInt(datos[0]),null,newjuga);
               // return new Juega(Integer.parseInt(datos[0]),  Double.parseDouble(datos[1]), Double.parseDouble(datos[2]), Double.parseDouble(datos[3]), datos[4]);
               
        }
        */
       
      
      
       


       
      
       
       
       
      
       
}
TOP

Related Classes of Controladores.ControladorEquipo

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.