/// <summary> /// Guarda un nuevo jugador en la base de datos /// </summary> /// <param name="nuevoJugador">Nuevo jugador a guardar</param> /// <exception cref="DbUpdateException"></exception> public void GuardarJugador(Dominio.Jugador nuevoJugador) { Jugador entidadJugador = new Jugador { Nickname = nuevoJugador.Nickname, CorreoElectronico = nuevoJugador.CorreoElectronico, Contraseña = AdministradorHash.GenerarHash(nuevoJugador.Contraseña), Nivel = 1, Experiencia = 0, PartidasGanadas = 0, PartidasJugadas = 0, PuntajeTotal = 0 }; baseDeDatos.Jugador.Add(entidadJugador); try { baseDeDatos.SaveChanges(); } catch (DbUpdateException) { throw new DbUpdateException("Error al agregar nuevo jugador"); } }
/// <summary> /// Verifica si la contraseña del Jugador es correcta. /// </summary> /// <param name="nickname">Nickname del Jugador a buscar.</param> /// <param name="contraseña">Contraseña del Jugador.</param> /// <returns> /// true si la contraseña es correcta, false si no lo es. /// </returns> public bool EsContraseñaCorrecta(string nickname, string contraseña) { bool esCorrecta = false; var jugadorBuscado = baseDeDatos.Jugador.Where(jugador => jugador.Nickname.Equals(nickname)) .FirstOrDefault <Jugador>(); if (AdministradorHash.CompararHash(contraseña, jugadorBuscado.Contraseña)) { esCorrecta = true; } return(esCorrecta); }
/// <summary> /// Actualiza la contraseña de un Jugador. /// </summary> /// <param name="jugadorActualizado">Jugador que cambia su contraseña</param> /// <param name="contrasenia">La nueva contraseña</param> public void ActualizarContrasenia(Dominio.Jugador jugadorActualizado, string contrasenia) { var jugadorBuscado = baseDeDatos.Jugador.Where(jugador => jugador.CorreoElectronico.Equals(jugadorActualizado.CorreoElectronico)).FirstOrDefault <Jugador>(); jugadorBuscado.Contraseña = AdministradorHash.GenerarHash(contrasenia); try { baseDeDatos.SaveChanges(); } catch (DbUpdateException) { throw new DbUpdateException("Error al agregar nuevo jugador"); } }