Package br.com.sistelecom.bean

Source Code of br.com.sistelecom.bean.VendaController

package br.com.sistelecom.bean;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import javax.faces.application.FacesMessage;
import javax.faces.context.FacesContext;
import javax.faces.event.ActionEvent;

import org.ajax4jsf.component.html.HtmlActionParameter;
import org.ajax4jsf.component.html.HtmlAjaxCommandButton;

import br.com.sistelecom.dao.VendaDAOImpl;
import br.com.sistelecom.dao.VendaItemDAOImpl;
import br.com.sistelecom.entity.Itens;
import br.com.sistelecom.entity.Venda;
import br.com.sistelecom.entity.VendaItem;


public class VendaController implements Controller<Venda> {

  private Venda venda;
  private ItensController itensController;
  private static final String ITENS_CONTROLLER_NOME = "itensController";
  private int idCliente;
  private int idFuncionario;
 
  public VendaController(){
    this.listarTodos();
  }
 
  public void salvar(ActionEvent evento) {
   
    if(this.getVenda().getIdVenda() == 0){
      this.getItensController().setListaDeItensInseridos(new ArrayList<Integer>());
      this.novoRegistro();
    }else{
      this.atualizarRegistro();
    }
   
    this.limpar();
  }

  public void novoRegistro() {
    if (validarDadosFormulario()) {
      try {
        final Venda venda = new Venda();
        venda.setIdCliente(this.getIdCliente());
        venda.setIdFuncionario(this.getIdFuncionario());
        venda.setDataVenda(new Date());
       
        final ItensController controllerItem = this.getItensController();
       
        for(Itens item: this.getItensController().getLista()){
          controllerItem.salvarItens(item)
        }
       
        final int idVenda = this.getDao().salvarVenda(venda);
       
        List<Integer> inseridos = this.getItensController().getListaDeItensInseridos();
       
        for (Integer idItemInserido : inseridos) {
         
          final VendaItem vendaItem = new VendaItem();
          vendaItem.setIdVenda(idVenda);
          vendaItem.setIdItem(idItemInserido);
         
          new VendaItemDAOImpl().salvar(vendaItem);
        }
       
        this.listarTodos();
        FacesContext.getCurrentInstance().addMessage(null,new FacesMessage(FacesMessage.SEVERITY_INFO,"Pedido incluído com sucesso.",""));
        this.limpar();
      } catch (Exception e) {
        FacesContext.getCurrentInstance().addMessage(null,new FacesMessage(FacesMessage.SEVERITY_ERROR,"Erro na inclusão do pedido.",""));
        return;
      }
    }
  }

  public void atualizarRegistro() {
    // TODO Auto-generated method stub
   
  }

  public void excluirRegistro(ActionEvent evento) {
   
    final String id = ((HtmlActionParameter)((HtmlAjaxCommandButton)evento.getSource()).getChildren().get(0)).getValue().toString();
    int idVenda = Integer.parseInt(id);
   
    final Venda venda = this.getDao().obterPorId(idVenda);
   
    try {
      if(venda != null){
        this.getDao().excluir(venda);
        FacesContext.getCurrentInstance().addMessage(null,new FacesMessage(FacesMessage.SEVERITY_INFO,"Pedido excluído com sucesso.",""));
      }
    } catch (Exception e) {
        FacesContext.getCurrentInstance().addMessage(null,new FacesMessage(FacesMessage.SEVERITY_ERROR,"Erro na exclusão do pedido.",""));
      e.printStackTrace();
    }
   
    this.limpar();
  }

  public void listarTodos() {
    // TODO Auto-generated method stub
   
  }

  public void carregarRegistro(ActionEvent evento) {
    // TODO Auto-generated method stub
   
  }

  public boolean validarDadosFormulario() {
   
    if (this.getIdCliente() == 0 || this.getIdFuncionario() == 0) {
      FacesContext.getCurrentInstance().addMessage(null,new FacesMessage(FacesMessage.SEVERITY_ERROR,"Falta informar o cliente e/ou o consultor.",""));
      return false;
    }
    return true;
  }

  public void limpar() {
    // TODO Auto-generated method stub
   
  }

  public VendaDAOImpl getDao() {
    return new VendaDAOImpl();
  }
 
 
  /**
   * @return the itensController
   */
  public ItensController getItensController() {
    final ItensController ic = (ItensController)FacesContext.getCurrentInstance().getExternalContext().getSessionMap().get(ITENS_CONTROLLER_NOME);
    if(ic != null){
      this.itensController = ic;
    }
   
    return itensController;
  }

  /**
   * @return the venda
   */
  public Venda getVenda() {
    if(venda == null){
      this.venda = new Venda();
    }
    return venda;
  }

  /**
   * @param venda the venda to set
   */
  public void setVenda(Venda venda) {
    this.venda = venda;
  }

  /**
   * @return the idCliente
   */
  public int getIdCliente() {
    return idCliente;
  }

  /**
   * @param idCliente the idCliente to set
   */
  public void setIdCliente(int idCliente) {
    this.idCliente = idCliente;
  }

  /**
   * @return the idFuncionario
   */
  public int getIdFuncionario() {
    return idFuncionario;
  }

  /**
   * @param idFuncionario the idFuncionario to set
   */
  public void setIdFuncionario(int idFuncionario) {
    this.idFuncionario = idFuncionario;
  }
 
}
TOP

Related Classes of br.com.sistelecom.bean.VendaController

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.