示例#1
0
        public async Task <GetJuegoRespuesta> ResetJuego()
        {
            var juego = await _context.Juegos.FindAsync(1);

            if (juego != null)
            {
                juego.Id           = 1;
                juego.Usuario      = "Pepe";
                juego.Palabra      = "automovil";
                juego.Modelo       = "_ _ _ _ _ _ _ _ _";
                juego.CantIntentos = 6;
                juego.Puntaje      = 0;
                juego.Win          = false;
            }

            var letrasIngresadas = _context.LetraIngresadas.ToList();

            _context.LetraIngresadas.RemoveRange(letrasIngresadas);

            await _context.SaveChangesAsync();

            var GetJuegoRespuesta = new GetJuegoRespuesta {
                Modelo           = juego.Modelo,
                LetrasIngresadas = null,
                CantIntentos     = juego.CantIntentos,
                Puntaje          = juego.Puntaje,
                Coincidencia     = false,
                Win = juego.Win
            };

            return(GetJuegoRespuesta);
        }
示例#2
0
        public async Task <GetJuegoRespuesta> ArriesgarLetra(string letra)
        {
            var juego = await _context.Juegos.FindAsync(1);

            var letrasIngresadas = _context.LetraIngresadas.Where(x => x.Juego.Id == 1).ToList();

            var validationResponse = ValidateLetra(letra, letrasIngresadas);

            if (validationResponse.Error)
            {
                throw new Exception(validationResponse.Mensaje);
            }

            var nuevaLetra = new LetraIngresada {
                Letra = letra,
                Juego = juego
            };

            letrasIngresadas.Add(nuevaLetra);
            _context.LetraIngresadas.Add(nuevaLetra);

            var setJuegoResponse = this.SetJuego(juego, letra);

            juego.Puntaje      = setJuegoResponse.Puntaje;
            juego.Modelo       = setJuegoResponse.Modelo;
            juego.CantIntentos = setJuegoResponse.CantIntentos;
            juego.Win          = setJuegoResponse.Win;

            var success = await _context.SaveChangesAsync() > 0;

            if (!success)
            {
                throw new Exception("Problem saving changes");
            }

            var GetJuegoRespuesta = new GetJuegoRespuesta {
                Modelo           = juego.Modelo,
                LetrasIngresadas = letrasIngresadas.Select(
                    x => new GetJuegoRespuesta.LetraIngresada {
                    Letra = x.Letra
                }).ToList(),
                CantIntentos = juego.CantIntentos,
                Puntaje      = juego.Puntaje,
                Coincidencia = setJuegoResponse.Coincidencia,
                Win          = juego.Win
            };

            return(GetJuegoRespuesta);
        }
示例#3
0
        public async Task <GetJuegoRespuesta> GetJuego()
        {
            var juego = await _context.Juegos.FindAsync(1);

            var letrasIngresadas = _context.LetraIngresadas.Where(x => x.Juego.Id == 1).ToList();

            var GetJuegoRespuesta = new GetJuegoRespuesta {
                Modelo           = juego.Modelo,
                LetrasIngresadas = letrasIngresadas.Select(
                    x => new GetJuegoRespuesta.LetraIngresada {
                    Letra = x.Letra
                }).ToList(),
                CantIntentos = juego.CantIntentos,
                Puntaje      = juego.Puntaje,
                Coincidencia = false,
                Win          = juego.Win
            };

            return(GetJuegoRespuesta);
        }