예제 #1
0
        public IActionResult AvaliarMusica([FromBody] Models.Request.AvaliacaoDto avaliacaoRequest)
        {
            var usuario = usuarioRepository.Obter(avaliacaoRequest.IdUsuario);

            if (usuario == null)
            {
                return(NotFound());
            }

            var musica = musicaRepository.Obter(avaliacaoRequest.IdMusica);

            if (musica == null)
            {
                return(NotFound());
            }

            var avaliacao = new Avaliacao(usuario, musica, avaliacaoRequest.Nota);

            var mensagens = usuarioService.Validar(avaliacao);

            if (mensagens.Count > 0)
            {
                return(BadRequest(mensagens));
            }

            var avaliacaoCadastrada = usuarioRepository.AvaliarMusica(avaliacao);

            contexto.SaveChanges();

            return(Ok(avaliacaoCadastrada));
        }
예제 #2
0
        public IActionResult AvaliarMusica([FromBody] Models.Request.AvaliacaoDto avaliacaoRequest)
        {
            var avaliacao = MapearDtoParaDominio(avaliacaoRequest);
            var mensagens = usuarioService.Validar(avaliacao);

            if (mensagens.Count > 0)
            {
                return(BadRequest(mensagens));
            }
            if (usuarioRepository.AvaliarMusica(avaliacao) == 1)
            {
                database.Commit();
                return(Ok());
            }
            else
            {
                database.Commit();
                return(CreatedAtRoute("GetAvaliacao", new { id = avaliacao.IdAvaliacao }, avaliacao));
            }
        }
예제 #3
0
 private Avaliacao MapearDtoParaDominio(Models.Request.AvaliacaoDto avaliacao)
 {
     return(new Avaliacao(avaliacao.IdUsuario, avaliacao.IdMusica, avaliacao.Nota));
 }