/// <summary> /// Crea una cuenta a partir de un CuentaModel agregando los datos necesarios para /// registrarla en la base de datos /// </summary> /// <param name="CuentaAConvertir">CuentaModel</param> /// <returns>Una Cuenta con la informacion necesaria para ser alamcenada en la base de datos </returns> private Cuenta CrearCuentaAGuadar(CuentaModel CuentaAConvertir) { return(new Cuenta() { Usuario = CuentaAConvertir.NombreUsuario, Password = Encriptador.ComputeSha256Hash(CuentaAConvertir.Contrasena), CodigoVerificacion = GeneradorCodigo.GenerarCodigoActivacion(), Valida = false, CorreoElectronico = CuentaAConvertir.CorreoElectronico }); }
/// <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); } }