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 ErstickModeloContainer();
     using (conexionBaseDatos)
     {
         erstickDAO.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 == false)
                 {
                     cuentaRecuperada.secionIniciada = true;
                     conexionBaseDatos.Entry(cuentaRecuperada).State = System.Data.Entity.EntityState.Modified;
                     conexionBaseDatos.SaveChanges();
                     return(new Jugador()
                     {
                         Apodo = cuentaRecuperada.Jugador.apodo
                     });
                 }
                 if (contreseñaHasheada.Equals(cuentaRecuperada.password) && cuentaRecuperada.secionIniciada == true)
                 {
                     return(new Jugador {
                         Apodo = "Error la cuenta se encuentra iniciada"
                     });
                 }
             }
         }
         catch (System.Data.Entity.Core.EntityException)
         {
             return(new Jugador {
                 Apodo = errorConexionBaseDatos
             });
         }
     }
     return(null);
 }
Exemplo n.º 2
0
 public Jugador CerrarSesion(Jugador jugador)
 {
     conexionBaseDatos = new ErstickModeloContainer();
     using (conexionBaseDatos)
     {
         erstickDAO.Cuenta cuentaRecuperada;
         try
         {
             cuentaRecuperada = conexionBaseDatos.CuentaSet.Where(c => c.Jugador.apodo.Equals(jugador.Apodo)).FirstOrDefault();
             if (cuentaRecuperada != null && cuentaRecuperada.Jugador.apodo.Equals(jugador.Apodo))
             {
                 if (cuentaRecuperada.secionIniciada == true)
                 {
                     cuentaRecuperada.secionIniciada = false;
                     conexionBaseDatos.Entry(cuentaRecuperada).State = System.Data.Entity.EntityState.Modified;
                     conexionBaseDatos.SaveChanges();
                     return(new Jugador()
                     {
                         Apodo = cuentaRecuperada.Jugador.apodo
                     });
                 }
                 if (cuentaRecuperada.secionIniciada == false)
                 {
                     return(new Jugador {
                         Apodo = errorNoSeEncuentraLogeado
                     });
                 }
             }
         }
         catch (System.Data.Entity.Core.EntityException)
         {
             return(new Jugador {
                 Apodo = errorConexionBaseDatos
             });
         }
     }
     return(null);
 }
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 ErstickModeloContainer();
     using (conexionBaseDatos)
     {
         erstickDAO.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);
 }