Example #1
0
 public Usuario CrearUsuario(int pTipoUsuario)
 {
     Usuario mNuevoUsuario = null;
     switch (pTipoUsuario)
     {
         case ConstantesGestionarUsuarios.kUsuarioAdministrador:
             mNuevoUsuario = new Administrador();
             break;
         case ConstantesGestionarUsuarios.kUsuarioNarrador:
             mNuevoUsuario = new Narrador();
             break;
         case ConstantesGestionarUsuarios.kUsuarioFantatico:
             mNuevoUsuario = new Fanatico();
             break;
         default:
             break;
     }
     return mNuevoUsuario;
 }
Example #2
0
        //Funcion que devuel true si el nombre de usuario y la contrasenas son correctas
        public ContenedorError UsuarioCorrecto(String pNombreUsuario, String pContrasena)
        {
            cContenedorError = new ContenedorError(0); //inicializa un contenedor de error, sin error alguno

            Usuario mUsuario = new Administrador();
            mUsuario = UsuariosFactory.Instance.CrearUsuario(mUsuario.RecuperarTipoUsuario(pNombreUsuario)); //usando el factory de usuarios, se  recontruye el usuario completo de la base de datos

            if (mUsuario == null) //Se comprueba que el usuario exista
            {
                cContenedorError = new ContenedorError(ConstantesGestionarUsuarios.kCodigoNombreUsuarioNoExiste);
            }
            else
            {
                mUsuario.RecuperarCuentaBaseDatos(pNombreUsuario);
                if (!mUsuario.CompararContrasena(pContrasena)) //Se comprueba la contrase del usuario
                {
                    cContenedorError = new ContenedorError(ConstantesGestionarUsuarios.kCodigoContrasenaIncorrecta);
                }
                else
                {
                    this.cUsuarioActual = mUsuario;
                    this.cUsuarioActual.RecuperarUsuarioBaseDatos();
                    this.cUsuarioActual.RecuperarDatosBaseDatos();
                }
            }
            return cContenedorError; //devuelve el valor de la consulta
        }