Package br.com.moonjava.flight.controller.base

Source Code of br.com.moonjava.flight.controller.base.TransferirPassagemController$ItemTableSelectedHandler

/*
* Copyright 2012 MoonJava LTDA.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package br.com.moonjava.flight.controller.base;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.util.List;
import java.util.ResourceBundle;

import javax.swing.JPanel;

import br.com.moonjava.flight.model.base.Passagem;
import br.com.moonjava.flight.model.base.PassagemModel;
import br.com.moonjava.flight.model.base.Status;
import br.com.moonjava.flight.model.base.Voo;
import br.com.moonjava.flight.model.base.VooModel;
import br.com.moonjava.flight.util.RequestParamWrapper;
import br.com.moonjava.flight.view.passagem.TransferirPassagemUI;

/**
* @version 1.0 Aug 31, 2012
* @contact tiago.aguiar@moonjava.com.br
*
*/
public class TransferirPassagemController extends TransferirPassagemUI {

  private List<Voo> list;
  private Passagem passagem;

  public TransferirPassagemController(JPanel conteudo, ResourceBundle bundle) {
    super(conteudo, bundle);

    addConsultarListener(new ConsultarHandler());
    addTransferirListener(new TransferirHandler());
    addItemTableSelectedListener(new ItemTableSelectedHandler());
  }

  public void setList(List<Voo> list) {
    this.list = list;
  }

  private class ItemTableSelectedHandler extends MouseAdapter {
    @Override
    public void mouseClicked(MouseEvent e) {
      habilitarBotao();
    }
  }

  private class ConsultarHandler implements ActionListener {
    @Override
    public void actionPerformed(ActionEvent e) {
      VooModel vooModel = new VooModel();
      PassagemModel passagemModel = new PassagemModel();

      RequestParamWrapper request = getParametersPassagem();
      String codBilhete = request.stringParam("codBilhete");

      passagem = passagemModel.consultarPorCodigoBilhete(codBilhete);

      if (passagem == null) {
        messagePassagemOff();
        return;
      }

      String verifCancel = passagem.getVoo().getCodigo();

      if (verifCancel == null) {
        messagemPasJaCancelada();
        refresh();
        return;
      }

      Status status = Status.DISPONIVEL;
      request.set("status", status);
      request.set("assento", 0);

      List<Voo> voos = vooModel.consultar(request);

      setList(voos);
      showList(voos);
      addVooTable();
    }
  }

  private class TransferirHandler implements ActionListener {
    @Override
    public void actionPerformed(ActionEvent e) {
      int[] rows = getTable().getSelectedRows();

      if (rows.length == 1) {
        Voo voo = list.get(rows[0]);

        if (voo.getAssentoLivre() == 0) {
          messageFailed();
          return;

        } else {
          PassagemModel model = new PassagemModel();
          RequestParamWrapper request = new RequestParamWrapper();

          request.set("id", passagem.getId());
          request.set("voo", voo.getId());

          Passagem pojo = new PassagemUpdate(request).createInstance();
          boolean updated = model.transferir(pojo);

          if (updated) {
            VooModel vooModel = new VooModel();
            vooModel.incrementarAssento(passagem.getVoo().getId());
            vooModel.decrementarAssento(voo.getId());
            messageOK();
            return;
          } else {
            messageDbOff();
            return;
          }

        }
      } else {
        messageSelectFailed();
        return;
      }
    }
  }

}
TOP

Related Classes of br.com.moonjava.flight.controller.base.TransferirPassagemController$ItemTableSelectedHandler

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.