/// <summary> /// Metodo encargado del cambio de clave del usuario ///</summary> /// <param name="usuario">Usuario al cual se cambiara la clave /// de acceso al sistema</param> /// <returns>Retorna True si el cambio de clave fue exitoso, /// de lo contrario retorna False</returns> public static bool CambioDeClave(DominioTotem.Usuario usuario) { try { if (usuario != null && usuario.clave != null && usuario.clave != "" && usuario.correo != null && usuario.correo != "") { usuario.correo = DesencriptarConRijndael(usuario.correo, RecursosLogicaModulo1.Passphrase); usuario.CalcularHash(); DatosTotem.Modulo1.BDLogin.CambiarClave(usuario); return(true); } else { throw new ExcepcionesTotem.Modulo1.UsuarioVacioException( RecursosLogicaModulo1.Codigo_Usuario_Vacio, RecursosLogicaModulo1.Mensaje_Usuario_Vacio, new ExcepcionesTotem.Modulo1.UsuarioVacioException()); } } catch (ExcepcionesTotem.Modulo1.UsuarioVacioException ex) { throw new ExcepcionesTotem.Modulo1.UsuarioVacioException( ex.Codigo, ex.Mensaje, ex); } catch (ExcepcionesTotem.Modulo1.EmailErradoException ex) { throw new ExcepcionesTotem.Modulo1.EmailErradoException( ex.Codigo, ex.Mensaje, ex); } catch (ExcepcionesTotem.Modulo1.ParametroInvalidoException ex) { throw new ExcepcionesTotem.Modulo1.ParametroInvalidoException( ex.Codigo, ex.Mensaje, ex); } catch (ExcepcionesTotem.ExceptionTotemConexionBD ex) { throw new ExcepcionesTotem.ExceptionTotemConexionBD( ex.Codigo, ex.Mensaje, ex); } }
/// <summary> /// Constructor de la clase BDLogin /// </summary> /// <returns>Retorna el objeto con el numero de intentos inicializado en 0 </returns> /// <summary> /// Metodo para validar el inicio de sesion /// </summary> /// <param name="usuario">Usuario con atributos username y clave para realizar el /// Log in /// <returns>Retorna el objeto usuario si se pudo validar, de lo contrario /// retorna null</returns> /// <exception cref="ExcepcionesTotem.Modulo1.UsuarioVacioException"> /// Excepcion que se lanza si se pasa como parametro un usuario /// incompleto</exception> /// <exception cref="ExcepcionesTotem.Modulo1.IntentosFallidosException"> /// Excepcion que se lanza si el usuario intenta hacer login /// una cantidad determinada de veces y falla</exception> /// <exception cref="ExcepcionesTotem.Modulo1.LoginErradoException"> /// Excepcion que se lanza si se no se pudo comprobar el /// inicio de sesion del usuario</exception> /// <exception cref="ExcepcionesTotem.ExceptionTotemConexionBD"> /// Excepcion que se lanza si hubo algun problema con la base de /// datos</exception> public static DominioTotem.Usuario Login(string Username, string Clave) { try { if (!captchaActivo) { intentos++; } DominioTotem.Usuario loginUser = new DominioTotem.Usuario(); loginUser.username = Username; loginUser.clave = Clave; loginUser.CalcularHash(); DominioTotem.Usuario retornoUser = DatosTotem.Modulo1.BDLogin.ValidarLoginBD(loginUser); intentos = 0; captchaActivo = false; return(retornoUser); } catch (ExcepcionesTotem.Modulo1.LoginErradoException) { if (intentos >= Convert.ToInt32(RecursosLogicaModulo1.Cantidad_Intentos_Permitidos)) { throw new ExcepcionesTotem.Modulo1.IntentosFallidosException( RecursosLogicaModulo1.Codigo_Intentos_Fallidos, RecursosLogicaModulo1.Mensaje_Intentos_Fallidos, new ExcepcionesTotem.Modulo1.IntentosFallidosException()); } else { throw new ExcepcionesTotem.Modulo1.LoginErradoException( RecursosLogicaModulo1.Codigo_Login_Errado, RecursosLogicaModulo1.Mensaje_Login_Errado, new ExcepcionesTotem.Modulo1.LoginErradoException()); } } catch (ExcepcionesTotem.Modulo1.UsuarioVacioException ex) { if (intentos >= Convert.ToInt32(RecursosLogicaModulo1.Cantidad_Intentos_Permitidos)) { throw new ExcepcionesTotem.Modulo1.IntentosFallidosException( RecursosLogicaModulo1.Codigo_Intentos_Fallidos, RecursosLogicaModulo1.Mensaje_Login_Errado, ex); } else { throw new ExcepcionesTotem.Modulo1.UsuarioVacioException( ex.Codigo, ex.Mensaje, ex); } } catch (ExcepcionesTotem.ExceptionTotemConexionBD ex) { if (intentos >= Convert.ToInt32(RecursosLogicaModulo1.Cantidad_Intentos_Permitidos)) { throw new ExcepcionesTotem.Modulo1.IntentosFallidosException( RecursosLogicaModulo1.Codigo_Intentos_Fallidos, RecursosLogicaModulo1.Mensaje_Login_Errado, ex); } else { throw new ExcepcionesTotem.ExceptionTotemConexionBD( RecursosLogicaModulo1.Codigo_Error_Conexion_BD, RecursosLogicaModulo1.Mensaje_Error_Conexion_BD, ex); } } catch (ExcepcionesTotem.Modulo1.ParametroInvalidoException ex) { throw new ExcepcionesTotem.Modulo1.ParametroInvalidoException( ex.Codigo, ex.Mensaje, ex); } }