Package gui.vues.demande

Source Code of gui.vues.demande.InfosAttribution

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.Collection;

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

import metier.reservations.AttributionPlaces;
import misc.GU;
import data.abonne.Abonne;
import data.programmation.Piece;
import data.programmation.Representation;
import data.reservation.Reservation;
import exceptions.metier.NombreTotalPlacesInsuffisantException;

/**
* Panel affichant des infos sur l'attribution des places.
*
* Point 8. 9. et 9a. du cas d'utilisation 1
*
* @author Ait Elhaj Brahim
*
*/
public class InfosAttribution extends NtpPanel implements ActionListener
 
 
 
  private JLabel message = new JLabel("Accepter cette configuration : ")
  private JButton ok = new JButton("Oui");
  private JButton non = new JButton("Non : Choix d'une autre séance");
  private JButton arret = new JButton("Arrêter");
 
  //JButton quitter = new JButton("Quitter");
  private Piece p;
  private Abonne a;
  private Reservation res;
  private Representation rep;
 

  /**
   * Construit un objet <code>InfosAttribution</code>.
   *
   *
   * @param p
   *            La piéce
   * @param a
   *            L'abonné
   * @param res
   *            La réservation
   * @param rep
   *            La représentation
   * @param owner
   *            Le <code>JDialog</code> parent
   * @param previous
   *            Le panel précédent
   */
  public InfosAttribution(Piece p, Abonne a, Reservation res,Representation rep, JDialog owner,NtpPanel previous){
    super(owner,previous);
    this.p = p;
    this.a = a;
    this.res = res;    
    this.rep = rep; 
   
    owner.setTitle("Attribution des places ");   
    this.setLayout(new GridLayout(0,1));
   
    JPanel panelBas = new JPanel();   
    //panelBas.add(quitter);
    panelBas.add(message);
    panelBas.add(ok);
    panelBas.add(non);
    panelBas.add(arret);
   
    //On récupére la liste de fauteuil à attribuer
    res.remplirFauteuils(this.getFauteuils());
   
    String txt = GU.formatPlacesAttribuesToHtml(res, "Places attribuées")
    JLabel infos = new JLabel(txt,JLabel.CENTER);
   
    this.add(infos);   
    this.add(panelBas);
   
    arret.addActionListener(this);
    ok.addActionListener(this);
    non.addActionListener(this);
   
  }
 
 
  /**
   * Gestion des évenements
   *
   * @param e L'évenement déclencheur (ex : Click sur un bouton ...)
   */
  public void actionPerformed(ActionEvent e) {
    Object o = e.getSource();   
    if(o == non){
      //On revient 2 écrans avant : Choix de la séance
      this.displayPreviousScreen(2);
     
    }else if(o == arret){
      this.finishCase();
    }else if(o == ok){     
      NtpPanel next = new ListePersonnes(p,a,res,rep,owner,this);
      this.displayScreen(next);     
    }
  }
 
  /**
   * Renvoie une liste de fauteuil disponibles attribuables.
   *
   *
   * @return la liste de fauteuils attribués
   */
  private Collection getFauteuils(){
    AttributionPlaces ap = new AttributionPlaces();
    Collection fauteuilsAttribues = null;
    //System.out.println("[InfosAttribution] : nbPlacesRes = "+res.getNbPersonnes());
    try{
      fauteuilsAttribues = ap.proposeFauteuils(res.getIdZone(), rep.getIdSeance(), res.getNbPersonnes());
    }catch(NombreTotalPlacesInsuffisantException ntpie ){
      String message = "Il n'y a plus assez de places dans cette zone !";
    }
    return fauteuilsAttribues;
  }
 


}
TOP

Related Classes of gui.vues.demande.InfosAttribution

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.