Package br.com.fiapbank.mb.conta

Source Code of br.com.fiapbank.mb.conta.ContaMB

/**
*
*/
package br.com.fiapbank.mb.conta;

import javax.annotation.PostConstruct;
import javax.ejb.EJB;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

import br.com.fiapbank.contas.GerenciadorDeContasException;
import br.com.fiapbank.contas.GerenciadorDeContasLocal;
import br.com.fiapbank.dominio.entidade.Cliente;
import br.com.fiapbank.dominio.entidade.Conta;
import br.com.fiapbank.dominio.entidade.Endereco;
import br.com.fiapbank.dominio.entidade.Renda;
import br.com.fiapbank.dominio.entidade.Seguranca;
import br.com.fiapbank.mb.BaseMB;

/**
*
* MB para as paginas de contas  /conta/paginas
*
*
* @author robson.oliveira
*
*/
public class ContaMB extends BaseMB {

  /**
   * Log do MB
   */
  private static final Log LOG = LogFactory.getLog(ContaMB.class);
 
 
  @EJB
  private GerenciadorDeContasLocal gerenciadorDeContasLocal;
 
 
 
  /**
   * Cliente para avaliacao e abertura da conta
   */
  private Cliente cliente;
 
 
  /**
   * Renda para avaliacao e abertura de conta
   *
   */
  private Renda renda;
 

  /**
   *  Conta para abertura
   */
  private Conta conta;
 

 
  /**
   * utilizada para controlar os passos de abertura de conta na view
   */
  private boolean proximoPasso;
 
  /**
   *
   * efetua a avaliacao do cliente
   *
   * @return
   */
  public void avaliarCliente(){
    try {
      gerenciadorDeContasLocal.avaliarCliente(cliente);
      liberarProximoPasso();
    } catch (Exception e) {
      bloquearProximoPasso(e.getMessage());
    }    
  }

 
  /**
   *
   * efetua a avaliacao da renda
   *
   * @return
   */
  public void avaliarRenda(){
    try {
      gerenciadorDeContasLocal.avaliarRenda(renda);
      liberarProximoPasso();
    } catch (Exception e) {
      bloquearProximoPasso(e.getMessage());
    }
  } 
 
 
 
  /**
   *
   * efetua a abertura da conta
   *
   */
  public void abriConta(){ 
    try {
      gerenciadorDeContasLocal.abriConta(conta);
      liberarProximoPasso();
    } catch (GerenciadorDeContasException e) {
      LOG.error("Ocorreu um erro ao criar ao abrir a conta.: ", e);
      bloquearProximoPasso(msg);
    } catch (Exception e) {
      bloquearProximoPasso(msg);
    }
  }
 
 
 
  /**
   *
   * prepra o MB para uma nova abertura de conta
   *
   * @return
   */
  public String novaConta(){
    init();
    return "abertura-de-conta";
 
 
 
 
  /**
   *
   * Inicializa os objetos do MB
   *
   */
  @PostConstruct
  public void init(){
    cliente = new Cliente();
    cliente.setEndereco(new Endereco());
    renda = new Renda();
    conta = new Conta();
    conta.setSeguranca(new Seguranca());
    setProximoPasso(false);
  }


  /**
   *
   * bloquea o passao atual da abertura de conta
   *
   * @param msg
   */
  private void bloquearProximoPasso(String msg) {
    setProximoPasso(false);
    adicionarMsg(msg);
  }


 
  /**
   *
   * libera o proximo passo para abertura da conta
   *
   */
  private void liberarProximoPasso() {
    setProximoPasso(true);
    removeMsg();
 

 
 
  // >>>>>>>>>>>>>>>>>>> GETS e SETS do MB <<<<<<<<<<<<<<<<<<<<<


  public Cliente getCliente() {
    return cliente;
  }



  public void setCliente(Cliente cliente) {
    this.cliente = cliente;
  }



  public Renda getRenda() {
    return renda;
  }



  public void setRenda(Renda renda) {
    this.renda = renda;
  }


  public Conta getConta() {
    return conta;
  }


  public void setConta(Conta conta) {
    this.conta = conta;
  }


  public boolean isProximoPasso() {
    return proximoPasso;
  }


  public void setProximoPasso(boolean proximoPasso) {
    this.proximoPasso = proximoPasso;
  }
 
}
TOP

Related Classes of br.com.fiapbank.mb.conta.ContaMB

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.