public IHttpActionResult Put(ViewTema dados)
        {
            if (dados == null)
            {
                return(BadRequest("Dados inválidos."));
            }

            using (ctx = new JogoMasterEntities())
            {
                var TemaAtual = ctx.Temas.Where(t => t.Id == dados.Id)
                                .FirstOrDefault <Tema>();

                if (TemaAtual != null)
                {
                    TemaAtual.Tema1 = dados.Tema;
                    TemaAtual.Icone = dados.Icone;
                    TemaAtual.Cor   = dados.Cor;
                    ctx.SaveChanges();
                }
                else
                {
                    return(NotFound());
                }
            }

            return(Ok());
        }
 private void ValidaTema(ViewTema dados)
 {
     Refute(string.IsNullOrEmpty(dados.Tema), "Inválido");
     Refute(string.IsNullOrEmpty(dados.Cor), "Inválido");
     Refute(string.IsNullOrEmpty(dados.Icone), "Inválido");
     using (ctx = new JogoMasterEntities())
     {
         Tema tema = null;
         tema = ctx.Temas
                .FirstOrDefault(x => x.Tema1.ToLower() == dados.Tema.ToLower());
         Refute(tema != null, "Tema já cadastrado.");
     }
 }
        public IHttpActionResult Get(int id)
        {
            ViewTema tema = null;

            using (ctx = new JogoMasterEntities())
            {
                tema = ctx.Temas.Where(t => t.Id == id).Select(t => new ViewTema()
                {
                    Id    = t.Id,
                    Tema  = t.Tema1,
                    Icone = t.Icone,
                    Cor   = t.Cor
                }).FirstOrDefault();
            }

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

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

            ValidaTema(dados);

            using (ctx = new JogoMasterEntities())
            {
                ctx.Temas.Add(new Tema()
                {
                    Tema1 = dados.Tema,
                    Icone = dados.Icone,
                    Cor   = dados.Cor
                });

                ctx.SaveChanges();
            }

            return(Ok(dados));
        }