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

Source Code of br.com.moonjava.flight.controller.base.CancelarPassagemController$EfetuarCancelamentoHandler

/*
* 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.FocusEvent;
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.Reembolso;
import br.com.moonjava.flight.model.base.ReembolsoModel;
import br.com.moonjava.flight.model.base.VooModel;
import br.com.moonjava.flight.util.CPF;
import br.com.moonjava.flight.util.FlightFocusLostListener;
import br.com.moonjava.flight.util.FocusTextField;
import br.com.moonjava.flight.util.RequestParamWrapper;
import br.com.moonjava.flight.util.VerifierString;
import br.com.moonjava.flight.view.passagem.CancelarPassagemUI;

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

  private Passagem passagem;

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

    addFocusListener(new FocusTextField());
    addFocusBancoListener(new FocusBancoHandler());
    addFocusAgenciaListener(new FocusAgenciaHandler());
    addFocusContaListener(new FocusContaHandler());
    addFocusCpfListener(new FocusCpfHandler());
    addSolicitarCancelamentoListener(new SolicitarCancelamentoHandler());
    addEfetuarCancelamentoListener(new EfetuarCancelamentoHandler());
  }

  /*
   * As InnerClasses de focus mudam os textos nos campos quando necessário
   *
   */
  private class FocusBancoHandler extends FlightFocusLostListener {

    @Override
    public void focusLost(FocusEvent e) {
      String banco = getParametersReebolso().stringParam("banco");
      String defaultText = getDefaultTexts().stringParam("banco");

      if (!banco.isEmpty() && !banco.equals(defaultText)) {

        try {
          int num = Integer.parseInt(banco);
          if (num <= 0) {
            throw new NumberFormatException();
          }
          removeImageBancoParseException();
        } catch (NumberFormatException e2) {
          addImageBancoParseException();
        }

      }
    }
  }

  private class FocusAgenciaHandler extends FlightFocusLostListener {

    @Override
    public void focusLost(FocusEvent e) {
      String agencia = getParametersReebolso().stringParam("agencia");
      String defaultText = getDefaultTexts().stringParam("agencia");

      if (!agencia.isEmpty() && !agencia.equals(defaultText)) {

        try {
          int num = Integer.parseInt(agencia);
          if (num <= 0) {
            throw new NumberFormatException();
          }
          removeImageAgenciaParseException();
        } catch (NumberFormatException e2) {
          addImageAgenciaParseException();
        }

      }
    }
  }

  private class FocusContaHandler extends FlightFocusLostListener {

    @Override
    public void focusLost(FocusEvent e) {
      String conta = getParametersReebolso().stringParam("conta");
      String defaultText = getDefaultTexts().stringParam("conta");

      if (!conta.isEmpty() && !conta.equals(defaultText)) {

        try {
          int num = Integer.parseInt(conta);
          if (num <= 0) {
            throw new NumberFormatException();
          }
          removeImageContaParseException();
        } catch (NumberFormatException e2) {
          addImageContaParseException();
        }

      }
    }
  }

  private class FocusCpfHandler extends FlightFocusLostListener {

    @Override
    public void focusLost(FocusEvent e) {
      String cpf = getParametersReebolso().stringParam("cpf");
      if (!VerifierString.containsSpace(cpf)) {
        try {
          CPF.parse(cpf);
          addImageCpfValido();
        } catch (Exception e1) {
          addImageCpfInvalido();
        }
      }
    }
  }

  private class SolicitarCancelamentoHandler implements ActionListener {

    @Override
    public void actionPerformed(ActionEvent e) {
      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) {
        PassagemModel pasModel = new PassagemModel();
        double reembolso = pasModel.getPreco(passagem);

        if (reembolso > 0.0) {
          setValor(reembolso, passagem.getId());
          addCalcularPassagemButton();
        } else if (reembolso == 0.0) {
          messageReebolsoZero();
        } else {
          messageVooRealizado();
        }
      } else {
        messagemPasJaCancelada();
      }

    }
  }

  private class EfetuarCancelamentoHandler implements ActionListener {

    @Override
    public void actionPerformed(ActionEvent e) {
      RequestParamWrapper request = getParametersReebolso();
      // Caso o usuario adicione virgula, o sistema atribuirá ponto
      // para cadastrar o dado no banco de dados
      ReembolsoModel model = new ReembolsoModel();
      PassagemModel modelPassagem = new PassagemModel();
      String valor = request.stringParam("valor").replace(",", ".");
      boolean status = false;

      if (!valor.equals("0.0")) {
        CPF _cpf = null;
        try {
          _cpf = CPF.parse(request.stringParam("cpf"));
          request.set("passagem", passagem.getId());
          request.set("banco", Integer.parseInt(request.stringParam("banco")));
          request.set("agencia", Integer.parseInt(request.stringParam("agencia")));
          request.set("conta", Integer.parseInt(request.stringParam("conta")));
          request.set("valor", Double.parseDouble(valor));
          request.set("cpf", _cpf.getDigito());
          Reembolso reembolso = new ReembolsoCreate(request).createInstance();

          status = model.criar(reembolso);
        } catch (Exception e2) {
          return;
        }
      }

      status = modelPassagem.efetuarCancelamento(passagem);

      if (status) {
        new VooModel().incrementarAssento(passagem.getVoo().getId());
        messageReembolso();
        messageOK();
      } else {
        messageDbOff();
      }
    }
  }

}
TOP

Related Classes of br.com.moonjava.flight.controller.base.CancelarPassagemController$EfetuarCancelamentoHandler

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.