Package gui.vues.annulationvalidation

Source Code of gui.vues.annulationvalidation.InfoReservation

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 java.sql.Date;
import java.util.ArrayList;

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

import metier.Common;
import metier.reservations.Demande;
import metier.reservations.AnnulationValidation;
import misc.GU;
import misc.Utils;

import data.abonne.Abonne;
import data.programmation.Piece;
import data.programmation.Representation;
import data.reservation.Reservation;

/**
* Panel utilisé pour l'annulation ET la validation.
* Il permet d'afficher les informations sur une réservation et de la valider ou de l'annuler.
*
* @author Ait Elhaj Brahim
*
*/
public class InfoReservation extends NtpPanel implements ActionListener
 
 
 
  private JLabel message = new JLabel("Accepter : ");
  JButton ok = new JButton("Oui");
  JButton non = new JButton("Non");
  JButton arret = new JButton("Arrêter");
  //JButton quitter = new JButton("Quitter");
  private boolean annulation;
  private CurrentDateModel cdm;
  private Reservation res;
 
 

  /**
   * Construit un objet <code>InfoReservation</code> pour annuler ou valider 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
   * @param res La réservation à annuler ou valider
   * @param previous Le panel précédent
   */
  public InfoReservation(JDialog owner,CurrentDateModel cdm,
      boolean annulation,Reservation res,NtpPanel previous){
    super(owner,previous);
    this.annulation = annulation;
    //this.p = p;
    //this.a = a;
    this.res = res;    
    this.cdm = cdm; 
    this.owner = owner;
   
    owner.setTitle("Informations sur la réservation ");   
    this.setLayout(new GridLayout(0,1));   
           

   
    JPanel panelBas = new JPanel();   
    //panelBas.add(quitter);
    panelBas.add(message);
    panelBas.add(ok);
    panelBas.add(non);
   
    String msgSupp = "";
    //Si la réservation est déja validée, on ne permet pas de valider ou annuler
    java.util.Date d = (new AnnulationValidation()).reservationValidee(res.getIdReserv())
    if(d != null){
      Date dateConfirmation = new java.sql.Date(d.getTime());
      msgSupp = "Réservation déja validée ";
      ok.setEnabled(false);
      non.setText("Retour");
    }
   
    if(annulation){
      ok.setText("Annuler la réservation");
    }else{
      ok.setText("Valider la réservation");
    }
   
    String txt = GU.formatReservationToHtml(res, null,"Réservation "+res.getIdReserv(),msgSupp);
   
    //Pout utilisation HTML voir ici : http://java.sun.com/docs/books/tutorial/uiswing/components/html.html
    JLabel infos = new JLabel(txt,JLabel.CENTER);
   
    //On regarde si la date limite n'est pas dépassé, si c'est le cas on ne permet plus
    //rien et on affiche ANNULEE
    /*Common c = new Common();
    Date dateLimite = c.getDateConfirmation(res.getDateReserv());
    if(cdm.getDate().after(dateLimite)){
      ok.setEnabled(false);
    }*/
   
    this.add(infos);   
    this.add(panelBas);   
   
    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){
      //this.finishCase();
      this.finishCaseWithoutMessage();
    }else if(o == ok){   
      AnnulationValidation mr = new AnnulationValidation();
     
      boolean confirmation =  GU.confirm("Êtes vous sûr de vouloir "+
          (annulation?"annuler":"valider")+" cette réservation ?");
     
      if(annulation){     
       
        if(confirmation){
          // Métier annuler
          try{
            mr.annulerReservation(res.getIdReserv());
            GU.info("Réservation "+res.getIdReserv()+" annulée !");
            //On revient au départ
            this.finishCaseWithoutMessage();           
          }catch(Exception ex){
            System.err.println(ex.getMessage());
          }
        }
       
       
      }else{
        if(confirmation){
          //Métier valider
          try{
            mr.confirmerReservation(res.getIdReserv(),cdm.getDate());
            GU.info("Réservation "+res.getIdReserv()+" validée !");
            //On revient au départ
            this.finishCaseWithoutMessage();
          }catch(Exception ex){ //Gérer exception ici ?
            System.err.println(ex.getMessage());
          }
        }
      }
    }
  }
 
  /**
   *
   *
   */
  public void clear(){   
    message.setText("");
  }
 


}

TOP

Related Classes of gui.vues.annulationvalidation.InfoReservation

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.