Package gui.vues.demande

Source Code of gui.vues.demande.InfosAbonne

package gui.vues.demande;

import gui.vues.NtpPanel;

import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Date;

import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JLabel;
import javax.swing.JPanel;

import metier.reservations.Demande;
import misc.GU;
import misc.Utils;
import data.abonne.Abonne;
import data.programmation.Piece;
import data.reservation.Reservation;

/**
* Panel d'affichage des informations sur un abonné.
* Point 3a2. 3a3. 3a4. et 3a2a. 3a3a. du cas d'utilisation 1
*
*
* @author Ait Elhaj Brahim
*
*/
public class InfosAbonne extends NtpPanel implements ActionListener{
 
  private Piece p;
  private Abonne a; 
  private Date currentDate;
  private JLabel infosAbonne;
  private JLabel message;
  private JButton ok = new JButton("Continuer");
  private JButton arret = new JButton("Arrêter");
 
   
 

  /**
   * Construit un objet <code>InfosAbonne</code>
   *
   * @param a L'abonné dont on va afficher les informations
   * @param p La piéce
   * @param d La date courante
   * @param owner Le <code>JDialog</code> parent
   * @param previous Le panel précédent
   */
  public InfosAbonne(Abonne a, Piece p, Date d, JDialog owner,NtpPanel previous){
    super(owner,previous);
    this.p = p;   
    this.a = a;
    this.currentDate = d;
    message = new JLabel("",JLabel.CENTER);
    GridLayout layout = new GridLayout(0,1);
    setLayout(layout);
   
    //Création de l'abonné et afficage des informations
    JPanel infoPanel = new JPanel();
    infoPanel.setLayout(layout);
    infosAbonne = new JLabel("",JLabel.CENTER);
    int taille = GU.TAILLE_FONT_HTML;
    String couleurTitre = GU.COLOR_TITRE_HTML;
    String couleurInfo = GU.COLOR_INFO_HTML;
    String txt = "<html><font color="+couleurTitre+" size=+"+taille+"> Informations Abonné </font><ul>"+
        "<li>Identifiant Abonné : <font color="+couleurInfo+">" + a.getIdAbo()+"</font><br>"+   
        "<li>Nom : <font color="+couleurInfo+">"+a.getNom()+"</font><br>"+
        "<li>Prénom : <font color="+couleurInfo+">"+a.getPrenom()+"</font><br>"+
        "<li>Adresse : <font color="+couleurInfo+">"+a.getAdresse()+"</font><br>"+
        "<li>Nombre places sur l'abonnement : <font color="+couleurInfo+"" +
            ">"+a.getNbPlaces()+"</font><br>"+
        "<li>Date de début de validité de l'abonnement : <font color="+couleurInfo+">"+
          Utils.formatDateToString(a.getValiditeDebut())+"</font><br>"+
        "<li>Date de fin de validité de l'abonnement : <font color="+couleurInfo+">"+
          Utils.formatDateToString(a.getValiditeFin())+"</font><br>"+
        "<li>Zone : <font color="+couleurInfo+">"+a.getZone().getIdZone()+"</font><br>"+
        "</ul>";//</html>
   
   
   
    String txtMessage = "<font color=red size=+"+taille+">";   
    if(!abonnementValide()){
      txtMessage += "Abonnement non Valide";
      ok.setEnabled(false);
    }else if(dejaReserve()){
      txtMessage += "Une réservation existe déja pour cette pièce";
      ok.setEnabled(false);
    }else{
      arret.setEnabled(false);
   
   
    txt+=txtMessage;
    txt+="<br></font></html>";
    infosAbonne.setText(txt);
    infoPanel.add(infosAbonne);
   
    //Panel bas
    JPanel panelBas = new JPanel();
    panelBas.add(arret);
    panelBas.add(ok);
    this.add(infoPanel);
    this.add(panelBas);
   
    ok.addActionListener(this);
    arret.addActionListener(this);
  }
 
  /**
   * Indique si un abonnement est valide
   *
   * @return true si l'abonnement de l'abonné est valide
   */
  private boolean abonnementValide(){
    //    Validité de l'abonnement ?
    Demande d = new Demande()
    return d.abonnementValide(a, currentDate);
  }
 
  /**
   * Indique si l'abonné a déja réservé pour cette piéce.
   *
   * @return true si l'abonné à déja réservé pour cette piéce
   */
  private boolean dejaReserve(){
    Demande d = new Demande();;
    return d.aReserve(a.getIdAbo(), p.getIdPiece());
  }

 
 
  /**
   * Gestion des évenements
   *
   * @param e L'évenement déclencheur (ex : Click sur un bouton ...)
   */
  public void actionPerformed(ActionEvent e){
    /* La source de l'évenement */
    Object o = (Object)e.getSource();
    if(o == ok){
     
      // Création de la réservation et paramétrage de la date
      Reservation res = new Reservation();
      res.setDateReserv(new java.sql.Date(currentDate.getTime()));
     
      //On passe à l'écran suivant
      JPanel next = new ListeRepresentations(p,a,res,owner,this);
      this.displayScreen(next);
           
    }else if(o == arret){
      //Fin du cas d'utilisation => Retour au premier écran
      this.finishCase();
   
   
  }
 
}
TOP

Related Classes of gui.vues.demande.InfosAbonne

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.