Exemplo n.º 1
0
 /// <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);
 }
Exemplo n.º 2
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="jugador"></param>
 /// <param name="cuenta"></param>
 /// <returns></returns>
 public int RegistrarJugador(Jugador jugador, Cuenta cuenta)
 {
     conexionBaseDatos = new ServidorSE();
     using (conexionBaseDatos)
     {
         DAO.Jugador jugadorRecuperado;
         DAO.Cuenta  cuentaRecuperada;
         try
         {
             jugadorRecuperado = conexionBaseDatos.JugadorSet.Where(j => j.apodo.Equals(jugador.Apodo)).FirstOrDefault();
             cuentaRecuperada  = conexionBaseDatos.CuentaSet.Where(c => c.correo.Equals(cuenta.Correo)).FirstOrDefault();
             if (jugadorRecuperado != null && jugadorRecuperado.apodo.Equals(jugador.Apodo))
             {
                 return((int)EstadoDeOperacion.JugadorEncontrado);
             }
             if (cuentaRecuperada != null && cuentaRecuperada.correo.Equals(cuenta.Correo))
             {
                 return((int)EstadoDeOperacion.CuentaEncontrada);
             }
             String nuevoSalt;
             nuevoSalt = ObtenerSalt();
             DAO.Jugador nuevoJugador = new DAO.Jugador()
             {
                 apodo     = jugador.Apodo,
                 nombre    = jugador.Nombre,
                 apellidos = jugador.Apellidos
             };
             conexionBaseDatos.CuentaSet.Add(new DAO.Cuenta()
             {
                 correo         = cuenta.Correo,
                 password       = ObtenerHash(cuenta.Contraseña, nuevoSalt),
                 salt           = nuevoSalt,
                 validada       = false,
                 secionIniciada = false,
                 Jugador        = nuevoJugador,
             });
             conexionBaseDatos.SaveChanges();
         }
         catch (System.Data.Entity.Core.EntityException)
         {
             return((int)EstadoDeOperacion.ErrorConexionBD);
         }
         catch (Exception)
         {
             return((int)EstadoDeOperacion.Excepcion);
         }
     }
     return((int)EstadoDeOperacion.OperacionExitosa);
 }
Exemplo n.º 3
0
 /// <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);
 }