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()); }
public void criaNovaSala(CriacaoSala dados, SalaPartida SalaPartidaMaster) { SalaPartidaMaster.Criador = dados.UsuarioId; SalaPartidaMaster.IdNivel = dados.NivelId; SalaPartidaMaster.Temas = dados.TemasIds; SalaPartidaMaster.MaximoJogadores = dados.Jogadores; using (ctx = new JogoMasterEntities()) { var sala = ctx.Salas.Add(new Sala { Nivel = SalaPartidaMaster.IdNivel, Criador = SalaPartidaMaster.Criador, Jogadores = SalaPartidaMaster.MaximoJogadores, Ativa = true }); SalaPartidaMaster.Temas.ForEach(temaId => { ctx.SalasTemas.Add(new SalaTemas { SalaId = sala.Id, TemaId = temaId }); }); ctx.SaveChanges(); dados.SalaId = sala.Id; SalaPartidaMaster.Id = sala.Id; } }
public IHttpActionResult Put(ViewNivel dados) { if (dados == null) { return(BadRequest("Dados inválidos.")); } using (ctx = new JogoMasterEntities()) { var NivelAtual = ctx.Niveis.Where(t => t.Id == dados.Id) .FirstOrDefault <Nivel>(); if (NivelAtual != null) { NivelAtual.Nivel1 = dados.Nivel; ctx.SaveChanges(); } else { return(NotFound()); } } return(Ok()); }
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 ValidaPergunta(ViewPergunta dados, List <string> erros) { Refute(dados.IdTema <= 0, "Informe o Tema da Pergunta."); Refute(dados.IdNivel <= 0, "Informe o Nível da Pergunta."); Refute(string.IsNullOrEmpty(dados.Pergunta), "Informe a Pergunta."); using (ctx = new JogoMasterEntities()) { Nivel nivel = null; nivel = ctx.Niveis.Where(x => x.Id == dados.IdNivel) .FirstOrDefault(); Refute(nivel == null, "Nível inexistente."); Tema tema = null; tema = ctx.Temas .FirstOrDefault(x => x.Id == dados.IdTema); Refute(tema == null, "Tema inexistente."); Pergunta pergunta = null; pergunta = ctx.Perguntas .Where(x => x.Pergunta1.ToLower() == dados.Pergunta.ToLower()) .FirstOrDefault(); Refute(pergunta != null, $"Pergunta já cadastrada \"{ pergunta?.Pergunta1}\"."); } }
public IHttpActionResult Get(int id) { ViewUsuario usuario = null; using (ctx = new JogoMasterEntities()) { usuario = ctx.Usuarios.Where(x => x.Id == id).Select(s => new ViewUsuario() { Id = s.Id, Nome = s.Nome, Email = s.Email, Senha = s.Senha, Skin = s.Skin, Username = s.Username, IdClassificacao = s.IdClassificacao, Classificacao = ctx.Classificacoes.Where(c => c.Id == s.IdClassificacao).FirstOrDefault().Classificacao1, Pontos = s.Pontos, Cadastrado = s.Cadastrado }).FirstOrDefault(); } if (usuario == null) { return(NotFound()); } return(Ok(usuario)); }
public IHttpActionResult Put(ViewUsuario usuario) { if (usuario == null) { return(BadRequest("Dados inválidos.")); } using (ctx = new JogoMasterEntities()) { var UsuarioAtual = ctx.Usuarios.Where(t => t.Id == usuario.Id) .FirstOrDefault <Usuario>(); if (UsuarioAtual != null) { UsuarioAtual.Nome = usuario.Nome; UsuarioAtual.Email = usuario.Email; UsuarioAtual.Senha = usuario.Senha; UsuarioAtual.Username = usuario.Username; UsuarioAtual.Skin = usuario.Skin; UsuarioAtual.Pontos = usuario.Pontos; UsuarioAtual.Cadastrado = usuario.Cadastrado; UsuarioAtual.IdClassificacao = ctx.Classificacoes.Where(c => c.PontuacaoMinima <= usuario.Pontos && c.PontuacaoMaxima >= usuario.Pontos).FirstOrDefault().Id; ctx.SaveChanges(); } else { return(NotFound()); } } return(Ok()); }
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 Put(ViewResposta dados) { if (dados == null) { return(BadRequest("Dados inválidos.")); } using (ctx = new JogoMasterEntities()) { var RespostaAtual = ctx.Respostas.Where(t => t.Id == dados.Id) .FirstOrDefault <Resposta>(); if (RespostaAtual != null) { RespostaAtual.Correta = dados.Correta; RespostaAtual.Resposta1 = dados.Resposta; RespostaAtual.IdPergunta = dados.IdPergunta; ctx.SaveChanges(); } else { return(NotFound()); } } return(Ok()); }
private void ValidaNivel(ViewNivel dados) { Refute(string.IsNullOrEmpty(dados.Nivel), "Informe o Nível"); Nivel nivel = null; using (ctx = new JogoMasterEntities()) { nivel = ctx.Niveis.FirstOrDefault(x => x.Nivel1.ToLower() == dados.Nivel.ToLower()); Refute(nivel != null, "Nível existente."); } }
public void ValidarUsuario(int usuario) { Refute(usuario <= 0, "Usuário inválido"); using (ctx = new JogoMasterEntities()) { Usuario Usuario = null; Usuario = ctx.Usuarios .FirstOrDefault(x => x.Id == usuario); Refute(Usuario == null, $"Usuário {usuario} inexistente."); } }
public bool JogadorEmNenhumaSala(int usuarioId) { using (ctx = new JogoMasterEntities()) { var jogadorSemSala = (from s in ctx.Salas join su in ctx.SalasUsuarios on s.Id equals su.SalaId where su.UsuarioId == usuarioId && s.Ativa == true select su.Id).FirstOrDefault(); return(jogadorSemSala > 0 ? false : true); } }
private void ValidaNovoUsuario(ViewUsuario user) { Usuario usuario = null; using (ctx = new JogoMasterEntities()) { usuario = ctx.Usuarios.Where(u => u.Username == user.Username).FirstOrDefault(); Refute(usuario != null, "Username já cadastrado."); usuario = ctx.Usuarios.Where(u => u.Email == user.Email).FirstOrDefault(); Refute(usuario != null, "Email já cadastrado."); } }
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 override void OnMessage(string jogador) { var novoJogador = serializer.Deserialize <CriacaoSala>(jogador); novoJogador.UsuarioId = _usuario; var helper = new SalaController(); var erros = new List <string>(); helper.ValidaDadosSala(novoJogador, erros); if (erros.Any()) { var retorno = $"{{ \"erro\": \"{erros[0]}\", \"deuErro\": true}}"; salaClients.Broadcast(retorno); return; } if (!helper.JogadorEmNenhumaSala(novoJogador.UsuarioId)) { salaClients.Broadcast("{ \"erro\": \"Jogador já está em uma sala\", \"deuErro\": true}"); return; } ; if (novoJogador.NovaSala) { helper.criaNovaSala(novoJogador, SalaPartidaMaster); } else { helper.buscaDadosSala(novoJogador, SalaPartidaMaster); } helper.adicionaNovoJogador(novoJogador.SalaId, novoJogador.UsuarioId, SalaPartidaMaster); if (SalaPartidaMaster.JogadoresNaSala == SalaPartidaMaster.MaximoJogadores) { SalaPartidaMaster.SalaCheia = true; using (ctx = new JogoMasterEntities()) { var sala = new Sala() { Id = SalaPartidaMaster.Id, Ativa = false }; ctx.Salas.Attach(sala); ctx.Entry(sala).Property(x => x.Ativa).IsModified = true; ctx.SaveChanges(); }; } var salaAtualizada = serializer.Serialize(SalaPartidaMaster); salaClients.Broadcast(salaAtualizada); }
public IHttpActionResult Get(int id) { List <ViewRanking> pontuacaoJogadores = null; var ranking = new retornoRanking(); using (ctx = new JogoMasterEntities()) { pontuacaoJogadores = ctx.Usuarios.Where(x => x.Cadastrado == true).Select(s => new ViewRanking() { IdUsuario = s.Id, Username = s.Username, PontosJogada = s.Pontos, Cadastrado = s.Cadastrado, Skin = s.Skin }). OrderByDescending(x => x.PontosJogada) .ToList(); int index = pontuacaoJogadores.IndexOf(pontuacaoJogadores.Where(p => p.IdUsuario == id).FirstOrDefault()) + 1; var pontuacao = pontuacaoJogadores.Take(10).ToList(); var ordem = 1; pontuacao.ForEach(jogador => { jogador.Posicao = ordem; ordem++; jogador.Classificacao = ctx.Classificacoes .Where(c => jogador.PontosJogada >= c.PontuacaoMinima && jogador.PontosJogada <= c.PontuacaoMaxima) .Select(s => s.Classificacao1) .FirstOrDefault(); }); ranking.ranking = pontuacao; ranking.usuario = ctx.Usuarios.Where(x => x.Id == id).Select(x => new ViewRanking { Posicao = index, IdUsuario = x.Id, PontosJogada = x.Pontos, Username = x.Username, Cadastrado = x.Cadastrado, Skin = x.Skin, }).FirstOrDefault(); ranking.usuario.Classificacao = ctx.Classificacoes .Where(c => ranking.usuario.PontosJogada >= c.PontuacaoMinima && ranking.usuario.PontosJogada <= c.PontuacaoMaxima) .Select(s => s.Classificacao1) .FirstOrDefault(); } return(Ok(ranking)); }
public void buscaDadosSala(CriacaoSala novoJogador, SalaPartida SalaPartidaMaster) { using (ctx = new JogoMasterEntities()) { SalaPartidaMaster.Id = ctx.Salas.Where(x => x.Id == novoJogador.SalaId).Select(x => x.Id).FirstOrDefault(); SalaPartidaMaster.Criador = ctx.Salas.Where(x => x.Id == novoJogador.SalaId).Select(x => x.Criador).FirstOrDefault(); SalaPartidaMaster.Jogadores = ctx.SalasUsuarios.Where(x => x.SalaId == novoJogador.SalaId).Select(x => x.UsuarioId).ToList(); SalaPartidaMaster.MaximoJogadores = ctx.Salas.Where(x => x.Id == novoJogador.SalaId).Select(x => x.Jogadores).FirstOrDefault(); SalaPartidaMaster.JogadoresNaSala = SalaPartidaMaster.Jogadores.Count; SalaPartidaMaster.Temas = ctx.SalasTemas.Where(x => x.SalaId == novoJogador.SalaId).Select(x => x.TemaId).ToList(); SalaPartidaMaster.IdNivel = ctx.Salas.Where(x => x.Id == novoJogador.SalaId).Select(x => x.Nivel).FirstOrDefault(); SalaPartidaMaster.SalaCheia = SalaPartidaMaster.JogadoresNaSala < SalaPartidaMaster.MaximoJogadores ? false : true; } }
private void ValidaResposta(ViewResposta dados) { Refute(string.IsNullOrEmpty(dados.Resposta), "Informe a Resposta."); using (ctx = new JogoMasterEntities()) { Pergunta pergunta = null; pergunta = ctx.Perguntas.FirstOrDefault(x => x.Id == dados.IdPergunta); Refute(pergunta == null, "Id da Pergunta inválido."); Resposta resposta = null; resposta = ctx.Respostas.FirstOrDefault(x => x.Resposta1.ToLower() == dados.Resposta.ToLower() && x.IdPergunta == dados.IdPergunta); Refute(resposta != null, "Resposta já cadastrada."); } }
public IHttpActionResult Post(ConsultaNivelTemas dados) { //var rnd = new Random(DateTime.Now.Millisecond); var perguntas = new List <ViewPergunta>(); var retorno = new ListViewPerguntaResposta(); ValidaDadosConsulta(dados); using (ctx = new JogoMasterEntities()) { dados.idsTema.ForEach(tema => { var perguntasBanco = ctx.Perguntas .Where(x => x.IdNivel == dados.idNivel && x.IdTema == tema) .Select(x => new ViewPergunta() { Id = x.Id, Pergunta = x.Pergunta1, IdNivel = x.IdNivel, IdTema = x.IdTema, Patrocinada = x.Patrocinada }).ToList(); perguntas = perguntasBanco.OrderBy(x => Guid.NewGuid()).Take(4).ToList(); perguntas.ForEach(pergunta => { var res = ctx.Respostas .Where(x => x.IdPergunta == pergunta.Id) .Select(x => new ViewResposta() { Id = x.Id, Correta = x.Correta, Resposta = x.Resposta1, IdPergunta = x.IdPergunta }) .ToList(); var perRes = new ViewPerguntaResposta { pergunta = pergunta, respostas = res }; retorno.lista.Add(perRes); }); }); } return(Ok(retorno.lista)); }
public void adicionaNovoJogador(int salaId, int usuarioId, SalaPartida SalaPartidaMaster) { SalaPartidaMaster.JogadoresNaSala++; SalaPartidaMaster.Jogadores.Add(usuarioId); using (ctx = new JogoMasterEntities()) { ctx.SalasUsuarios.Add(new SalaUsuarios { SalaId = salaId, UsuarioId = usuarioId }); ctx.SaveChanges(); } }
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 Post(ListViewPerguntaResposta dados) { var erros = new List <string>(); if (dados == null || !dados.lista.Any()) { return(BadRequest("Dados inválidos.")); } dados.lista.ForEach(item => { ValidaPergunta(item.pergunta, erros); ValidaResposta(item.respostas, erros); var pergunta_add = new Pergunta { Pergunta1 = item.pergunta.Pergunta, Patrocinada = item.pergunta.Patrocinada, IdTema = item.pergunta.IdTema, IdNivel = item.pergunta.IdNivel }; using (ctx = new JogoMasterEntities()) { ctx.Perguntas.Add(pergunta_add); ctx.SaveChanges(); item.respostas.ForEach(res => res.IdPergunta = pergunta_add.Id); item.respostas.ForEach(res => { ctx.Respostas.Add(new Resposta() { Correta = res.Correta, IdPergunta = pergunta_add.Id, Resposta1 = res.Resposta, }); }); ctx.SaveChanges(); } }); return(Ok("Perguntas cadastradas com sucesso!")); }
public IHttpActionResult Post(ViewLogin dados) { Usuario usuario = null; using (ctx = new JogoMasterEntities()) { usuario = ctx.Usuarios .Where(user => user.Username == dados.Username && user.Senha == dados.Senha) .FirstOrDefault(); } if (usuario == null) { return(BadRequest("Login inválido.")); } return(Ok(usuario.Id)); }
public IHttpActionResult Get() { List <ViewPergunta> perguntas = null; List <ViewResposta> respostas = null; List <ViewPerguntaResposta> retorno = null; using (ctx = new JogoMasterEntities()) { perguntas = ctx.Perguntas.Select(s => new ViewPergunta() { Id = s.Id, Pergunta = s.Pergunta1, IdNivel = s.IdNivel, IdTema = s.IdTema, Patrocinada = s.Patrocinada }).ToList(); respostas = ctx.Respostas.Select(s => new ViewResposta() { Id = s.Id, Correta = s.Correta, Resposta = s.Resposta1, IdPergunta = s.IdPergunta }).ToList(); } if (perguntas.Count == 0) { return(NotFound()); } retorno = new List <ViewPerguntaResposta>(); perguntas.ForEach(p => { var item = new ViewPerguntaResposta { pergunta = p, respostas = respostas.Where(x => x.IdPergunta == p.Id).ToList() }; retorno.Add(item); }); return(Ok(retorno)); }
public IHttpActionResult Get(int id) { ViewPergunta pergunta = null; List <ViewResposta> respostas = null; ViewPerguntaResposta retorno = null; using (ctx = new JogoMasterEntities()) { pergunta = ctx.Perguntas .Where(x => x.Id == id).Select(s => new ViewPergunta() { Id = s.Id, Pergunta = s.Pergunta1, IdNivel = s.IdNivel, IdTema = s.IdTema, Patrocinada = s.Patrocinada }).FirstOrDefault(); if (pergunta == null) { return(NotFound()); } respostas = ctx.Respostas .Where(s => s.IdPergunta == pergunta.Id) .Select(s => new ViewResposta() { Id = s.Id, Correta = s.Correta, Resposta = s.Resposta1, IdPergunta = s.IdPergunta }) .ToList(); retorno = new ViewPerguntaResposta { pergunta = pergunta, respostas = respostas }; } return(Ok(retorno)); }
public IHttpActionResult Get(int id) { ViewNivel nivel = null; using (ctx = new JogoMasterEntities()) { nivel = ctx.Niveis.Where(x => x.Id == id).Select(s => new ViewNivel() { Id = s.Id, Nivel = s.Nivel1 }).FirstOrDefault(); } if (nivel == null) { return(NotFound()); } return(Ok(nivel)); }
public IHttpActionResult Get() { IList <ViewNivel> niveis = null; using (ctx = new JogoMasterEntities()) { niveis = ctx.Niveis.Select(s => new ViewNivel() { Id = s.Id, Nivel = s.Nivel1 }).ToList(); } if (niveis.Count == 0) { return(NotFound()); } return(Ok(niveis)); }
private void ValidaDadosConsulta(ConsultaNivelTemas dados) { using (ctx = new JogoMasterEntities()) { dados.idsTema.ForEach(idTema => { Refute(idTema <= 0, "Tema inválido."); Tema tema = null; tema = ctx.Temas .FirstOrDefault(x => x.Id == idTema); Refute(tema == null, "Tema inexistente."); }); Nivel nivel = null; nivel = ctx.Niveis.Where(x => x.Id == dados.idNivel) .FirstOrDefault(); Refute(nivel == null, "Nível inexistente."); Refute(dados.idNivel <= 0, "Nível inválido."); } }
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(ViewNivel dados) { if (dados == null) { return(BadRequest("Dados inválidos.")); } ValidaNivel(dados); using (ctx = new JogoMasterEntities()) { ctx.Niveis.Add(new Nivel() { Nivel1 = dados.Nivel }); ctx.SaveChanges(); } return(Ok()); }