private void ValidaClassificacao(ViewClassificacao dados)
 {
     Refute(string.IsNullOrEmpty(dados.Classificacao), "Informe a Classificação.");
     Refute(dados.PontuacaoMinima <= 0 || dados.PontuacaoMaxima <= 0, "Informe valores positivos.");
     Refute(dados.PontuacaoMinima >= dados.PontuacaoMaxima, "Pontuação mínima deve ser menor que a pontuação máxima.");
     //validar se esse range é desnecessário.
 }
        public IHttpActionResult Put(ViewClassificacao dados)
        {
            if (dados == null)
            {
                return(BadRequest("Dados inválidos."));
            }

            using (ctx = new JogoMasterEntities())
            {
                var ClassificacaoAtual = ctx.Classificacoes.Where(t => t.Id == dados.Id)
                                         .FirstOrDefault <Classificacao>();

                if (ClassificacaoAtual != null)
                {
                    ClassificacaoAtual.Classificacao1  = dados.Classificacao;
                    ClassificacaoAtual.PontuacaoMinima = dados.PontuacaoMinima;
                    ClassificacaoAtual.PontuacaoMaxima = dados.PontuacaoMaxima;
                    ctx.SaveChanges();
                }
                else
                {
                    return(NotFound());
                }
            }

            return(Ok());
        }
        public IHttpActionResult Get(int id)
        {
            ViewClassificacao classificacao = null;

            using (ctx = new JogoMasterEntities())
            {
                classificacao = ctx.Classificacoes.Where(x => x.Id == id).Select(s => new ViewClassificacao()
                {
                    Id              = s.Id,
                    Classificacao   = s.Classificacao1,
                    PontuacaoMinima = s.PontuacaoMinima,
                    PontuacaoMaxima = s.PontuacaoMaxima,
                }).FirstOrDefault();
            }

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

            return(Ok(classificacao));
        }
        public IHttpActionResult Post(ViewClassificacao dados)
        {
            if (dados == null)
            {
                return(BadRequest("Dados inválidos."));
            }

            ValidaClassificacao(dados);

            using (ctx = new JogoMasterEntities())
            {
                ctx.Classificacoes.Add(new Classificacao()
                {
                    Classificacao1  = dados.Classificacao,
                    PontuacaoMinima = dados.PontuacaoMinima,
                    PontuacaoMaxima = dados.PontuacaoMaxima,
                });

                ctx.SaveChanges();
            }

            return(Ok());
        }