Exemple #1
0
        public string DeletaPalavra(int idPalavra)
        {
            PalavraJogo palavraJogo = this.Context.Palavras.FirstOrDefault(p => p.Id == idPalavra);

            this.Context.Palavras.Remove(palavraJogo);
            this.Context.SaveChanges();
            return("Palavra deletada com sucesso.");
        }
Exemple #2
0
        public string AlteraPalavra(PalavraJogo palavra)
        {
            PalavraJogo palavraJogo = this.Context.Palavras.FirstOrDefault(p => p.Id == palavra.Id);

            palavraJogo.Palavra = palavra.Palavra;
            palavraJogo.IdTema  = palavra.IdTema;
            palavraJogo.Dica1   = palavra.Dica1;
            palavraJogo.Dica2   = palavra.Dica2;
            this.Context.SaveChanges();

            return("Palavra atualizada com sucesso");
        }
Exemple #3
0
        public string AlteraPalavra(PalavraJogo palavra)
        {
            if (palavra == null)
            {
                return("Falha ao receber as informações da palavra");
            }

            List <string> incosistencias = new List <string>();

            PalavraJogo palavraBd = PegarPalavra(palavra.Id);

            if (palavraBd == null)
            {
                return("Id não encontrado no banco de dados");
            }


            if (string.IsNullOrWhiteSpace(palavra.Palavra))
            {
                incosistencias.Add("A palavra não pode estar em branco");
            }


            TemaHandler temaHandler = new TemaHandler();
            Tema        tema        = temaHandler.PegarTema(palavra.IdTema);

            if (tema == null)
            {
                incosistencias.Add("Id do tema não encontrado no banco de dados");
            }

            if (string.IsNullOrWhiteSpace(palavra.Dica1))
            {
                incosistencias.Add("A primeira dica não pode estar em branco");
            }

            if (string.IsNullOrWhiteSpace(palavra.Dica2))
            {
                incosistencias.Add("A segunda dica não pode estar em branco");
            }

            if (incosistencias.Count > 0)
            {
                return(string.Join(" - ", incosistencias));
            }

            return(this.PalavraBD.AlteraPalavra(palavra));
        }
Exemple #4
0
        public string InserePalavra(PalavraJogo palavra)
        {
            if (palavra == null)
            {
                return("Falha ao receber as informações da palavra");
            }

            List <string> incosistencias = new List <string>();

            if (string.IsNullOrWhiteSpace(palavra.Palavra))
            {
                incosistencias.Add("A palavra não pode estar em branco");
            }
            else
            {
                List <PalavraJogo> palavras = PegarPalavrasPorTrecho(palavra.Palavra);

                if (palavras.Any(p => p.Palavra.ToUpper().Equals(palavra.Palavra.ToUpper())))
                {
                    return("Palavra já existe no banco de dados");
                }
            }

            TemaHandler temaHandler = new TemaHandler();
            Tema        tema        = temaHandler.PegarTema(palavra.IdTema);

            if (tema == null)
            {
                incosistencias.Add("Id do tema não encontrado no banco de dados");
            }

            if (string.IsNullOrWhiteSpace(palavra.Dica1))
            {
                incosistencias.Add("A primeira dica não pode estar em branco");
            }

            if (string.IsNullOrWhiteSpace(palavra.Dica2))
            {
                incosistencias.Add("A segunda dica não pode estar em branco");
            }

            if (incosistencias.Count > 0)
            {
                return(string.Join(" - ", incosistencias));
            }

            return(this.PalavraBD.InserePalavra(palavra));
        }
Exemple #5
0
        public string DeletaPalavra(int?idPalavra)
        {
            if (idPalavra == null)
            {
                return("Falha ao receber id da palavra");
            }

            PalavraJogo palavraBd = PegarPalavra(idPalavra ?? 0);

            if (palavraBd == null)
            {
                return("Id não encontrado no banco de dados");
            }

            return(this.PalavraBD.DeletaPalavra(idPalavra ?? 0));
        }
Exemple #6
0
        public ActionResult AlteraPalavra([FromBody] PalavraJogo palavra, [FromHeader] string token)
        {
            try
            {
                if (!Token.ValidarAdm(token))
                {
                    return(StatusCode(401, $"Usuário não autorizado para essa operação"));
                }

                string resultado = this.PalavraHandler.AlteraPalavra(palavra);
                return(Ok(resultado));
            }
            catch (Exception ex)
            {
                return(StatusCode(500, $"Ocorreu uma falha na sua solicitação: {ex.Message}"));
            }
        }
Exemple #7
0
        public static RespPalavraJogo MontarResposta(PalavraJogo palavra, int quantidadeLetras)
        {
            Random        random      = new Random();
            List <string> todasLetras = new List <string> {
                "A", "B", "C", "Ç", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "Y", "X", "Z"
            };

            List <string> letras = new List <string>();

            palavra.Palavra = palavra.Palavra.ToUpper().RemoverAcentos();

            foreach (char letra in palavra.Palavra)
            {
                if (!letras.Contains(letra.ToString()))
                {
                    letras.Add(letra.ToString());
                    todasLetras.Remove(letra.ToString());
                }
            }
            int quatidadeTotalLetras = letras.Count + quantidadeLetras;

            while (letras.Count < quatidadeTotalLetras && todasLetras.Count != 0)
            {
                int index = random.Next(todasLetras.Count);
                letras.Add(todasLetras[index]);
                todasLetras.RemoveAt(index);
            }

            letras.Sort();

            RespPalavraJogo retorno = new RespPalavraJogo()
            {
                Id      = palavra.Id,
                Palavra = palavra.Palavra,
                Dica1   = palavra.Dica1,
                Dica2   = palavra.Dica2,
                Letras  = letras
            };

            return(retorno);
        }
Exemple #8
0
        public RespPalavraJogo ObterPalavra(string tema, int idUsuario)
        {
            List <PalavraJogo> palavras = this.JogoBD.ObterPalavras(tema);

            if (palavras == null || palavras.Count == 0)
            {
                throw new Exception("Não foram encontradas palavras no banco de dados");
            }

            Random random           = new Random();
            int    indexPalavra     = random.Next(palavras.Count);
            int    quantidadeLetras = 7;

            if (idUsuario != 0)
            {
                Usuario     usuario         = this.UsuarioBD.PegarUsuarioPeloId(idUsuario);
                RespUsuario usuarioCompleto = RespUsuario.MontarRespUsuario(usuario);
                quantidadeLetras += usuarioCompleto.Nivel;
            }

            PalavraJogo palavraSorteada = palavras[indexPalavra];

            return(RespPalavraJogo.MontarResposta(palavraSorteada, quantidadeLetras));
        }
Exemple #9
0
 public string InserePalavra(PalavraJogo palavra)
 {
     this.Context.Palavras.Add(palavra);
     this.Context.SaveChanges();
     return("Palavra cadastrada com sucesso");
 }