Package gui.vues.annulationvalidation

Source Code of gui.vues.annulationvalidation.ChoixReservation

package gui.vues.annulationvalidation;

import gui.models.CurrentDateModel;
import gui.vues.NtpPanel;

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

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

import metier.reservations.AnnulationValidation;
import misc.GU;
import data.programmation.Piece;
import data.reservation.Reservation;

/**
*  Panel utilisé pour l'annulation ET la validation.
*  Il permet de chosiir une réservation en saisissant un id de réservation.
*
* @author Ait Elhaj Brahim
*
* @see NtpPanel
* @see ActionLister
*
*/
public class ChoixReservation extends NtpPanel implements ActionListener {

 
  /* Le champ du numéro d'abonné */
  JTextField idReservationField;
  private JLabel message = new JLabel("Entrez un numéro de réservation et valider : ")
  JButton ok = new JButton("Continuer");
  JButton arret = new JButton("Arrêter");
  private CurrentDateModel cdm;
  private boolean annulation;
 
  /**
   * Crée un panel permettant de choisir une réservation.
   *
   *
   *
   * @param owner Le <code>JDialog</code> parent
   * @param cdm Le modèle de date
   * @param annulation booléen pour indiquer si il s'agit d'une annulation ou d'une réservation
   */
  public ChoixReservation(JDialog owner,CurrentDateModel cdm,boolean annulation){
    super(owner,null);   
    this.cdm = cdm;
    this.annulation = annulation;
    this.setLayout(new GridLayout(0,1));   
    owner.setTitle("Saisie de l'identifiant de réservation");
    idReservationField = new JTextField(5);
    idReservationField.addActionListener(this);   
    
    //Panel haut
    JPanel panelHaut = new JPanel();       
    panelHaut.add(new JLabel("Identifiant de réservation : "));
    panelHaut.add(idReservationField);
   
    //Panel Centre
   
    //Panel du bas : champ numéro abonné
    JPanel panelBas = new JPanel();
   
    panelBas.add(message);
    panelBas.add(ok);
    //panelBas.add(arret);
   
   
   
   
    this.add(panelHaut);   
    //this.add(infoPanel);
    this.add(panelBas);
    //this.add(message);
   
    //Gestion des évenements
    ok.addActionListener(this);
    //arret.addActionListener(this); 
 
 
  /**
   * Indique si une réservation existe ou pas.
   *
   * @return vrai si la réservation existe, faux sinon
   * @param L'id de la réservation
   */
  private Reservation existe(String idReservation){
    AnnulationValidation mr = new AnnulationValidation();
    Reservation res = mr.getReservation(idReservation);
    if(res == null){
      String message = "Cette réservation n'existe pas !";
      //idReservationField.setText("");
      clear();
      GU.warn(message);
    }           
    return res;
  }
 
  /**
   * Efface la zone de texte
   *
   */
  private void clear(){
    idReservationField.setText("");
  }


  /**
   * Gestion des évenements
   *
   * @param e L'évenement déclencheur (ex : Click sur un bouton ...)
   */
  public void actionPerformed(ActionEvent e) {
    Object o = e.getSource();
    //On vérifie la saisie
    if(o == ok){
      //Effectuer les vérification sur la saisie via le métier     
      String idReservation =  idReservationField.getText();
      if(idReservation.trim().equals("")){
        String message = "Vous devez saisir un identifiant de réservation";
        GU.info(message);
        return;
      }
      Reservation res = existe(idReservation);
      // Si la réservation existe bel et bien
     
      if(res != null){
        //On efface l'id saisi
        clear();
        NtpPanel info = new InfoReservation(owner,cdm,annulation,res,this);
        this.displayScreen(info);
      }
     
    }

  }

}
TOP

Related Classes of gui.vues.annulationvalidation.ChoixReservation

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.