public async Task <ActionResult> Votar(VotoViewModel votoViewModel) { if (!ModelState.IsValid) { return(CustomResponse(ModelState)); } var filme = await ObterFilmePorId(votoViewModel.FilmeId); if (filme == null) { return(NotFound("Filme não cadastrado")); } var usuario = await _usuarioRepository.BuscarPorId(votoViewModel.UsuarioId); if (usuario == null) { return(NotFound("Usuário não cadastrado")); } await _votoRepository.Adicionar(_mapper.Map <Voto>(votoViewModel)); return(CustomResponse(votoViewModel)); }
public async Task <Voto> Adicionar(Voto voto) { if (voto == null) { return(null); } if (!voto.IsValid()) { return(voto); } var regrasVoto = new VotoAptoParaCadastroValidation(_votoRepository).Validate(voto); foreach (var item in regrasVoto.Errors) { voto.ValidationResult.Errors.Add(item); } voto = await _votoRepository.Adicionar(voto); return(voto); }