package com.algaworks.pedidovenda.controller; import java.io.Serializable; import javax.enterprise.context.RequestScoped; import javax.enterprise.event.Event; import javax.inject.Inject; import javax.inject.Named; import com.algaworks.pedidovenda.model.Pedido; import com.algaworks.pedidovenda.service.EmissaoPedidoService; import com.algaworks.pedidovenda.service.NegocioException; import com.algaworks.pedidovenda.util.jsf.FacesUtil; @Named @RequestScoped public class EmissaoPedidoBean implements Serializable { private static final long serialVersionUID = 1L; @Inject private EmissaoPedidoService emissaoPedidoService; @Inject @PedidoEdicao private Pedido pedido; @Inject private Event<PedidoAlteradoEvent> pedidoAlteradoEvent; public void emitirPedido() { this.pedido.removerItemVazio(); try { this.pedido = this.emissaoPedidoService.emitir(this.pedido); this.pedidoAlteradoEvent.fire(new PedidoAlteradoEvent(this.pedido)); FacesUtil.addInfoMessage("Pedido emitido com sucesso!"); } catch (NegocioException ne) { FacesUtil.addErrorMessage(ne.getMessage()); } finally { this.pedido.adicionarItemVazio(); } } }