Package com.escuelademanejo.negocio

Source Code of com.escuelademanejo.negocio.Cliente

package com.escuelademanejo.negocio;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;

import com.escuelademanejo.persistencia.FactoryPersistencia;
import com.escuelademanejo.persistencia.IPersistenciaController;

public class Cliente extends Usuario {
  private int id_cliente;
  private Date fecha_nacimiento;
  private ArrayList<Integer> turnos;

  private IPersistenciaController iPersistController = null;

  public Cliente(String username, String clave, String nombre_completo,
      String telefono, String mail, Date fecha_nacimiento,
      ArrayList<Integer> turnos) throws Exception {
    super(username, clave, "", nombre_completo, telefono, mail);

    FactoryPersistencia factPersistencia = FactoryPersistencia
        .getInstance();
    iPersistController = factPersistencia.getIPersistenciaController();
   
    this.fecha_nacimiento = fecha_nacimiento;
    this.turnos = turnos;
    this.setTipo(iPersistController.get_TIPO_CLIENTE());
    this.id_cliente = -1; // no se asigna id todavia se hace desde la
                // persistencia
  }

  /**
   * @param datos_cli= lista de string que contiene:
   *       id , username, clave, nombre_completo, telefono, mail, fecha_nacimiento(dd-mm-yyyy)
   * @throws Exception
   */
  public Cliente(ArrayList<String> datos_cli) throws Exception {
    // TODO Auto-generated constructor stub
    super(datos_cli.get(1), datos_cli.get(2), "", datos_cli.get(3), datos_cli.get(4), datos_cli.get(5));
   
    SimpleDateFormat formatoDelTexto = new SimpleDateFormat("dd-mm-yyyy");
    String strFecha = datos_cli.get(6);   
    this.fecha_nacimiento = formatoDelTexto.parse(strFecha);
   
    FactoryPersistencia factPersistencia = FactoryPersistencia
        .getInstance();
    iPersistController = factPersistencia.getIPersistenciaController();
   
    this.setTipo(iPersistController.get_TIPO_CLIENTE());
   
    if (!datos_cli.get(0).isEmpty())
      this.id_cliente = Integer.valueOf(datos_cli.get(0));
  }

  public int save() throws Exception {
    this.id_cliente = iPersistController.addUsuario(getUserName(),
        getClave(), getNombre_completo(), getTelefono(), getMail(),
        iPersistController.get_TIPO_CLIENTE(), null, null, getFecha_nacimiento());
    if (this.getTurnos() != null) {
      iPersistController.addTurnosACliente(this.getId_cliente(),
          this.getTurnos());
    }
    return this.id_cliente;
  }

  public int getId_cliente() {
    return id_cliente;
  }

  public Date getFecha_nacimiento() {
    return fecha_nacimiento;
  }

  public void setFecha_nacimiento(Date fecha_nacimiento) {
    this.fecha_nacimiento = fecha_nacimiento;
  }

  public ArrayList<Integer> getTurnos() {
    return turnos;
  }

  public void setTurnos(ArrayList<Integer> turnos) {
    this.turnos = turnos;
  }

  /**
   *
   * @return devuelve un ArrayList de Strings que contiene los siguientes datos del Cliente:
   * id, username, clave, nombre_completo, telefono, mail, fecha_nacimiento
   */
  public ArrayList<String> getDatos() {
    // TODO Auto-generated method stub

    ArrayList<String> datos = new ArrayList<String>();
    datos.add(Integer.toString(getId_cliente()));
    datos.add(getUserName());
    datos.add(getClave());
    datos.add(getNombre_completo());
    datos.add(getTelefono());
    datos.add(getMail());
    SimpleDateFormat formatoDeFecha = new SimpleDateFormat("dd-MM-yyyy");
    datos.add(formatoDeFecha.format(getFecha_nacimiento()));

    return datos;
  }

  public void addNewTurno(int idTurno) throws Exception {
    // TODO Auto-generated method stub
    if (turnos.contains(idTurno))
      throw new Exception("El cliente " + getId_cliente()
          + "ya tiene asociado el turno " + idTurno);
    else {
      turnos.add(idTurno);
      iPersistController.addTurnosACliente(this.getId_cliente(),
          new ArrayList<Integer>(idTurno));
    }
  }

  public void update() throws Exception {
    iPersistController.updateUsuario(this.getId_cliente(),
        this.getUserName(), this.getClave(), this.getNombre_completo(),
        this.getTelefono(), this.getMail(), iPersistController.get_TIPO_CLIENTE(), null,
        null, this.getFecha_nacimiento());

    iPersistController.setTurnosACliente(this.getId_cliente(),
        this.getTurnos());
  }

  public void delete() throws Exception {
    // TODO Auto-generated method stub
      iPersistController.deleteUsuario(this.id_cliente, null);
  }

  public void removeTurno(int id_turno) {
    // TODO Auto-generated method stub
    this.turnos.remove(id_turno);
    iPersistController.removeTurnoDeCliente(this.getId_cliente(), id_turno);
  }
}
TOP

Related Classes of com.escuelademanejo.negocio.Cliente

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.