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); }
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); }
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); }