/// <summary> /// Permite iniciar sesión comparando la cuenta ingresada con la base de datos /// </summary> /// <param name="cuenta"> cuenta ingresada por el usuario</param> /// <returns></returns> public Jugador IniciarSesion(Cuenta cuenta) { conexionBaseDatos = new ServidorSE(); using (conexionBaseDatos) { DAO.Cuenta cuentaRecuperada; try { cuentaRecuperada = conexionBaseDatos.CuentaSet.Where(c => c.correo.Equals(cuenta.Correo)).FirstOrDefault(); if (cuentaRecuperada != null && cuentaRecuperada.correo.Equals(cuenta.Correo)) { String contreseñaHasheada = ObtenerHash(cuenta.Contraseña, cuentaRecuperada.salt); if (contreseñaHasheada.Equals(cuentaRecuperada.password)) { cuentaRecuperada.secionIniciada = true; conexionBaseDatos.Entry(cuentaRecuperada).State = System.Data.Entity.EntityState.Modified; conexionBaseDatos.SaveChanges(); return(new Jugador() { Apodo = cuentaRecuperada.Jugador.apodo }); } } } catch (System.Data.Entity.Core.EntityException) { return(new Jugador { Apodo = errorConexionBaseDatos }); } } return(null); }
/// <summary> /// Cambia el atributo de "validada" a true porque valida la cuenta /// </summary> /// <param name="cuenta">Cuenta ingresada a buscar</param> /// <param name="codigo">codigo de activación</param> /// <returns></returns> public int ActivarCuentaJugador(Cuenta cuenta, String codigo) { conexionBaseDatos = new ServidorSE(); using (conexionBaseDatos) { DAO.Cuenta cuentaRecuperada; try { cuentaRecuperada = conexionBaseDatos.CuentaSet.Where(c => c.correo.Equals(cuenta.Correo)).FirstOrDefault(); if (cuentaRecuperada != null && !cuentaRecuperada.correo.Equals(cuenta.Correo)) { return((int)EstadoDeOperacion.CuentaNoEncontrada); } if (cuentaRecuperada == null) { return((int)EstadoDeOperacion.CuentaNoEncontrada); } if (!cuentaRecuperada.salt.Equals(codigo)) { return((int)EstadoDeOperacion.CodigoInvalido); } cuentaRecuperada.validada = true; conexionBaseDatos.Entry(cuentaRecuperada).State = System.Data.Entity.EntityState.Modified; conexionBaseDatos.SaveChanges(); } catch (System.Data.Entity.Core.EntityException) { return((int)EstadoDeOperacion.ErrorConexionBD); } catch (Exception) { return((int)EstadoDeOperacion.Excepcion); } } return((int)EstadoDeOperacion.OperacionExitosa); }