Exemplo n.º 1
0
        /// <summary>
        /// Registra el puntaje obtenido por el jugador que ganó la partida
        /// </summary>
        /// <param name="indiceSala"> Posición dentro del arreglo de salas abiertas</param>
        private int RegistrarPuntaje(int indiceSala, Ficha FichaGanador)
        {
            int indice = BuscarSala(indiceSala);

            conexionBaseDatos = new ErstickModeloContainer();
            using (conexionBaseDatos)
            {
                erstickDAO.Jugador jugadorRecuperado;
                try
                {
                    var player = conexionBaseDatos.JugadorSet.Where(j => j.apodo.Equals(FichaGanador.ApodoJugador)).FirstOrDefault();
                    jugadorRecuperado = player;
                    if (jugadorRecuperado != null && jugadorRecuperado.apodo.Equals(FichaGanador.ApodoJugador))
                    {
                        conexionBaseDatos.PuntuacionSet.Add(new erstickDAO.Puntuacion()
                        {
                            turnos  = Convert.ToInt16(FichaGanador.Movimientos),
                            fecha   = DateTime.Now,
                            Jugador = jugadorRecuperado
                        });

                        conexionBaseDatos.SaveChanges();
                        return((int)EstadoDeOperacion.OperacionExitosa);
                    }
                }
                catch (System.Data.Entity.Core.EntityException)
                {
                    return((int)EstadoDeOperacion.ErrorConexionBD);
                }
                return((int)EstadoDeOperacion.OperacionExitosa);
            }
        }
Exemplo n.º 2
0
 /// <summary>
 /// Registra al jugador si pasa todos los filtros
 /// </summary>
 /// <param name="jugador"></param>
 /// <param name="cuenta"></param>
 /// <returns></returns>
 public int RegistrarJugador(Jugador jugador, Cuenta cuenta)
 {
     conexionBaseDatos = new ErstickModeloContainer();
     using (conexionBaseDatos)
     {
         erstickDAO.Jugador jugadorRecuperado;
         erstickDAO.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();
             erstickDAO.Jugador nuevoJugador = new erstickDAO.Jugador()
             {
                 apodo     = jugador.Apodo,
                 nombre    = jugador.Nombre,
                 apellidos = jugador.Apellidos
             };
             conexionBaseDatos.CuentaSet.Add(new erstickDAO.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>
 ///  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.º 4
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.º 5
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);
 }