Search in sources :

Example 1 with ValidationMessage

use of br.com.caelum.vraptor.validator.ValidationMessage in project agiletickets by caelum.

the class EspetaculosController method adiciona.

@Post
@Path("/espetaculos")
public void adiciona(Espetaculo espetaculo) {
    // se nao tiver descricao, avisa o usuario
    if (Strings.isNullOrEmpty(espetaculo.getNome())) {
        validator.add(new ValidationMessage("Nome do espetáculo não pode estar em branco", ""));
    }
    if (Strings.isNullOrEmpty(espetaculo.getDescricao())) {
        validator.add(new ValidationMessage("Descrição do espetáculo não pode estar em branco", ""));
    }
    validator.onErrorRedirectTo(this).lista();
    agenda.cadastra(espetaculo);
    result.redirectTo(this).lista();
}
Also used : ValidationMessage(br.com.caelum.vraptor.validator.ValidationMessage) Path(br.com.caelum.vraptor.Path) Post(br.com.caelum.vraptor.Post)

Example 2 with ValidationMessage

use of br.com.caelum.vraptor.validator.ValidationMessage in project agiletickets by caelum.

the class EspetaculosController method reserva.

@Post
@Path("/sessao/{sessaoId}/reserva")
public void reserva(Long sessaoId, final Integer quantidade) {
    Sessao sessao = agenda.sessao(sessaoId);
    if (sessao == null) {
        result.notFound();
        return;
    }
    if (quantidade < 1) {
        validator.add(new ValidationMessage("Você deve escolher um lugar ou mais", ""));
    }
    if (!sessao.podeReservar(quantidade)) {
        validator.add(new ValidationMessage("Não existem ingressos disponíveis", ""));
    }
    // em caso de erro, redireciona para a lista de sessao
    validator.onErrorRedirectTo(this).sessao(sessao.getId());
    BigDecimal precoTotal = CalculadoraDePrecos.calcula(sessao, quantidade);
    sessao.reserva(quantidade);
    result.include("message", "Sessão reservada com sucesso por " + CURRENCY.format(precoTotal));
    result.redirectTo(IndexController.class).index();
}
Also used : ValidationMessage(br.com.caelum.vraptor.validator.ValidationMessage) Sessao(br.com.caelum.agiletickets.models.Sessao) BigDecimal(java.math.BigDecimal) Path(br.com.caelum.vraptor.Path) Post(br.com.caelum.vraptor.Post)

Example 3 with ValidationMessage

use of br.com.caelum.vraptor.validator.ValidationMessage in project agiletickets by caelum.

the class EspetaculosController method carregaEspetaculo.

private Espetaculo carregaEspetaculo(Long espetaculoId) {
    Espetaculo espetaculo = agenda.espetaculo(espetaculoId);
    if (espetaculo == null) {
        validator.add(new ValidationMessage("", ""));
    }
    validator.onErrorUse(status()).notFound();
    return espetaculo;
}
Also used : ValidationMessage(br.com.caelum.vraptor.validator.ValidationMessage) Espetaculo(br.com.caelum.agiletickets.models.Espetaculo)

Aggregations

ValidationMessage (br.com.caelum.vraptor.validator.ValidationMessage)3 Path (br.com.caelum.vraptor.Path)2 Post (br.com.caelum.vraptor.Post)2 Espetaculo (br.com.caelum.agiletickets.models.Espetaculo)1 Sessao (br.com.caelum.agiletickets.models.Sessao)1 BigDecimal (java.math.BigDecimal)1