Exemplo n.º 1
0
 /// <summary>
 /// Recupera la informacion completa de una cuenta en la base de datos
 /// </summary>
 /// <param name="CuentaARecuperar">String</param>
 /// <returns>CuentaModel o Null si la cuenta no existe</returns>
 public CuentaModel RecuperarCuenta(CuentaModel CuentaARecuperar)
 {
     using (PersistenciaContainer Persistencia = new PersistenciaContainer())
     {
         Cuenta CuentaRecuperada = Persistencia.CuentaSet.Where
                                       (cuenta => cuenta.Usuario == CuentaARecuperar.NombreUsuario).FirstOrDefault();
         if (CuentaRecuperada != null)
         {
             CuentaModel  Cuenta  = ConvertirACuentaModel(CuentaRecuperada);
             JugadorModel Jugador = ConvertirAUsuarioModel(CuentaRecuperada.Usuario1);
             List <CorredorAdquiridoModel> CorredoresAdquiridos = new List <CorredorAdquiridoModel>();
             List <SeguidorAdquiridoModel> SeguidoresAdquiridos = new List <SeguidorAdquiridoModel>();
             foreach (CorredorAdquirido Corredor in CuentaRecuperada.Usuario1.CorredoresAdquiridos)
             {
                 CorredoresAdquiridos.Add(ConvertirCorredorAdquiridoModel(Corredor));
             }
             foreach (PerseguidorAdquirido Perseguidor in CuentaRecuperada.Usuario1.PerseguidorAdquirido)
             {
                 SeguidoresAdquiridos.Add(ConvertirSeguidorAdquiridoModel(Perseguidor));
             }
             Jugador.CorredoresAdquiridos = CorredoresAdquiridos;
             Jugador.SeguidoresAdquiridos = SeguidoresAdquiridos;
             Cuenta.Jugador = Jugador;
             return(Cuenta);
         }
         return(null);
     }
 }
Exemplo n.º 2
0
 /// <summary>
 /// Cuenta el numero de Cuentas que tienen el mismo nombre de usuario
 /// </summary>
 /// <param name="NombreUsuario">String</param>
 /// <returns>La cantidad de usuarios repetidos</returns>
 private int ContarNombreDeUsuariosRepetidos(String NombreUsuario)
 {
     using (PersistenciaContainer Persistencia = new PersistenciaContainer())
     {
         return(Persistencia.CuentaSet.Where
                    (cuenta => cuenta.Usuario == NombreUsuario).Count());
     }
 }
Exemplo n.º 3
0
 /// <summary>
 /// Actualiza los datos del Jugador de la cuenta
 /// </summary>
 /// <param name="CuentaActualizar">Cuenta a la que se actualizaran los datos</param>
 public void GuardarDatosDeLaCuenta(CuentaModel CuentaActualizar)
 {
     using (PersistenciaContainer Persistencia = new PersistenciaContainer())
     {
         Cuenta CuentaAModificar = Persistencia.CuentaSet.Where(cuenta => cuenta.Usuario == CuentaActualizar.NombreUsuario).FirstOrDefault();
         CuentaAModificar.Usuario1.UvCoins        = CuentaActualizar.Jugador.UvCoins;
         CuentaAModificar.Usuario1.MejorPuntacion = CuentaActualizar.Jugador.MejorPuntacion;
         Persistencia.SaveChanges();
     }
 }
Exemplo n.º 4
0
 /// <summary>
 /// Cambia el estado de la cuenta de no verificada a verificada
 /// </summary>
 /// <param name="Cuenta">CuentaModel</param>
 /// <returns>Verdadero si la cuenta se verifico correctamente, falso si no</returns>
 public Boolean VerificarCuenta(CuentaModel Cuenta)
 {
     using (PersistenciaContainer Persistencia = new PersistenciaContainer())
     {
         Cuenta CuentaAVerificar = Persistencia.CuentaSet.Where(cuentaRecuperada =>
                                                                cuentaRecuperada.Usuario == Cuenta.NombreUsuario).FirstOrDefault();
         if (CuentaAVerificar != null)
         {
             CuentaAVerificar.Valida = true;
             Persistencia.SaveChanges();
             return(true);
         }
         return(false);
     }
 }
Exemplo n.º 5
0
        /// <summary>
        /// Almacena en la base de datos una cuenta si el nombre de usuario no se repite
        /// </summary>
        /// <param name="cuentaNueva">CuentaModel</param>
        /// <returns>La cuenta registrada</returns>
        public CuentaModel Registrarse(CuentaModel cuentaNueva)
        {
            CuentaModel CuentaGuardada = null;

            using (PersistenciaContainer Persistencia = new PersistenciaContainer())
            {
                int UsuariosRepetidos = ContarNombreDeUsuariosRepetidos(cuentaNueva.NombreUsuario);
                if (UsuariosRepetidos == 0)
                {
                    Cuenta CuentaAGuardar = CrearCuentaAGuadar(cuentaNueva);
                    CuentaAGuardar.Usuario1 = ConvertirAJugador(cuentaNueva.Jugador);
                    Persistencia.CuentaSet.Add(CuentaAGuardar);
                    Persistencia.SaveChanges();
                    CuentaGuardada         = ConvertirACuentaModel(CuentaAGuardar);
                    CuentaGuardada.Jugador = ConvertirAUsuarioModel(CuentaAGuardar.Usuario1);
                }
            }
            return(CuentaGuardada);
        }
Exemplo n.º 6
0
        /// <summary>
        /// Obtiene las primeras 5 CuentasConLasMejoresPuntuaciones
        /// </summary>
        /// <returns>Una lista de CuentaModel que tienen las mejores 5 puntuaciones</returns>
        public List <CuentaModel> RecuperarMejoresPuntuaciones()
        {
            List <CuentaModel> MayoresPuntuaciones = new List <CuentaModel>();

            using (PersistenciaContainer Persistencia = new PersistenciaContainer())
            {
                var CuentasDeMayoresPuntuaciones = Persistencia.CuentaSet.OrderByDescending(cuenta => cuenta.Usuario1.MejorPuntacion).Take(5);
                if (CuentasDeMayoresPuntuaciones != null)
                {
                    foreach (Cuenta CuentaRecuperada in CuentasDeMayoresPuntuaciones)
                    {
                        CuentaModel  Cuenta  = ConvertirACuentaModel(CuentaRecuperada);
                        JugadorModel Jugador = ConvertirAUsuarioModel(CuentaRecuperada.Usuario1);
                        List <CorredorAdquiridoModel> CorredoresAdquiridos = new List <CorredorAdquiridoModel>();
                        List <SeguidorAdquiridoModel> SeguidoresAdquiridos = new List <SeguidorAdquiridoModel>();
                        Cuenta.Jugador = Jugador;
                        MayoresPuntuaciones.Add(Cuenta);
                    }
                }
            }
            return(MayoresPuntuaciones);
        }
Exemplo n.º 7
0
 /// <summary>
 /// Verifica si las credenciales ingresadas son validas para la cuenta ingresada
 /// </summary>
 /// <param name="Cuenta">CuentaModel</param>
 /// <returns>1 si las credenciales son validas, 0 si no, -1 si la cuenta no esta verificada</returns>
 public int IniciarSesion(CuentaModel Cuenta)
 {
     using (PersistenciaContainer Persistencia = new PersistenciaContainer())
     {
         int LoginValido = 0;
         Cuenta.Contrasena = Encriptador.ComputeSha256Hash(Cuenta.Contrasena);
         int CuentaExistente = Persistencia.CuentaSet.Where
                                   (cuentaEnDB => cuentaEnDB.Usuario == Cuenta.NombreUsuario &&
                                   cuentaEnDB.Password == Cuenta.Contrasena).Count();
         if (CuentaExistente == 1)
         {
             if (Persistencia.CuentaSet.Where(cuentaEnDB => cuentaEnDB.Usuario == Cuenta.NombreUsuario &&
                                              cuentaEnDB.Password == Cuenta.Contrasena && cuentaEnDB.Valida).Count() == 1)
             {
                 LoginValido = 1;
             }
             else
             {
                 LoginValido = -1;
             }
         }
         return(LoginValido);
     }
 }