Esempio n. 1
0
        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));
        }
Esempio n. 2
0
        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);
        }