Example #1
0
 /// <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);
     }
 }
Example #2
0
        /// <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);
            }
        }