Subversion Repositories Integrator Subversion

Rev

Rev 106 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

package br.com.ec.controller.managedbean;

import javax.inject.Inject;
import javax.inject.Named;

import org.springframework.context.annotation.Scope;

import br.com.ec.core.util.DataUtils;
import br.com.ec.domain.dto.ReservaProdutoDTO;
import br.com.ec.domain.model.Produto;
import br.com.ec.domain.model.Usuario;
import br.com.ec.domain.service.usuario.UsuarioService;
import br.com.ec.web.exception.VerificadorLancamentoException;
import br.com.ec.web.exception.VerificadorLancamentoException.CommandBean;

@Named
@Scope("view")
public class InformarReservaBean {

        private String senhaUsuario;
        private ReservaProdutoDTO reservaProduto;
       
        private UsuarioService usuarioService;
       
        @Inject
        public InformarReservaBean(UsuarioService usuarioService) {
                this.usuarioService = usuarioService;
        }
       
        public ReservaProdutoDTO getReservaProduto() {
                return reservaProduto;
        }
        public void setReservaProduto(ReservaProdutoDTO reservaProduto) {
                this.reservaProduto = reservaProduto;
        }
       
        public String getSenhaUsuario() {
                return senhaUsuario;
        }
        public void setSenhaUsuario(String senhaUsuario) {
                this.senhaUsuario = senhaUsuario;
        }
       
        /**************************************************************************/
       
        public void prepararReserva(Produto produto) {
                ReservaProdutoDTO reservaProduto = new ReservaProdutoDTO();
                reservaProduto.setDataReserva(DataUtils.getDataAtual());
                reservaProduto.setProduto(produto);
                setReservaProduto(reservaProduto);
        }
       
        public void lancarReserva() {
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
                        public void execute() {
                                Usuario usuario = verificarSenhaUsuario();
                                getReservaProduto().setUsuario(usuario);
                                setSenhaUsuario("");
                        }
                });
        }
       
        private Usuario verificarSenhaUsuario() {
                return usuarioService.consultarUsuarioPorSenha(getSenhaUsuario());
        }
       
}