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

            using (ctx = new JogoMasterEntities())
            {
                var AdministradorAtual = ctx.Administradores
                                         .FirstOrDefault(t => t.Id == dados.Id);

                if (AdministradorAtual != null)
                {
                    AdministradorAtual.Nome  = dados.Nome;
                    AdministradorAtual.Email = dados.Email;
                    AdministradorAtual.Senha = dados.Senha;
                    ctx.SaveChanges();
                }
                else
                {
                    return(NotFound());
                }
            }

            return(Ok());
        }
        private void ValidaAdministrador(ViewAdministrador dados)
        {
            Refute(string.IsNullOrEmpty(dados.Nome), "Informe o Nome.");
            Refute(string.IsNullOrEmpty(dados.Senha), "Informe a Senha.");
            Refute(string.IsNullOrEmpty(dados.Email), "Informe o endereço de e-mail.");
            Refute(!IsValidEmail(dados.Email), "Email inválido.");
            Administrador administrador = null;

            using (ctx = new JogoMasterEntities())
            {
                administrador = ctx.Administradores
                                .FirstOrDefault(x => x.Email == dados.Email);
            }
            Refute(administrador != null, "E-mail já cadastrado.");
            dados.Senha = Criptografia.MD5Hash(dados.Senha);
        }
        public IHttpActionResult Get(int id)
        {
            ViewAdministrador administrador = null;

            using (ctx = new JogoMasterEntities())
            {
                administrador = ctx.Administradores.Where(x => x.Id == id).Select(s => new ViewAdministrador()
                {
                    Id    = s.Id,
                    Nome  = s.Nome,
                    Email = s.Email
                }).FirstOrDefault();
            }

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

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

            ValidaAdministrador(dados);

            using (ctx = new JogoMasterEntities())
            {
                var adm = new Administrador
                {
                    Nome  = dados.Nome,
                    Email = dados.Email,
                    Senha = dados.Senha
                };
                ctx.Administradores.Add(adm);

                ctx.SaveChanges();
            }

            return(Ok());
        }