Exemple #1
0
        /// <summary>
        /// Adiciona uma função para ser chamada quando algum evento do tipo <see cref="TipoEvento"/> acorrer
        /// </summary>
        /// <param name="tratador">função a ser chamada</param>
        /// <returns>verdadeiro caso o evento seja adicionado</returns>
        public static bool AdicionarEvento(TratadorEvento tratador)
        {
            if (Acura.Conectada())
            {
                MifareReader.OnReaderEventEventHandler handler = delegate(MifareReader.iReaderEventConstants iReaderEvent)
                {
                    TipoEvento tipo;
                    switch (iReaderEvent)
                    {
                    case MifareReader.iReaderEventConstants.READER_CARD_PRESENT:
                        tipo = TipoEvento.CartaoPosicionado;
                        break;

                    case MifareReader.iReaderEventConstants.READER_CARD_REMOVE:
                        tipo = TipoEvento.CartaoRetirado;
                        break;

                    case MifareReader.iReaderEventConstants.READER_KEY_PRESS:
                        tipo = TipoEvento.BotaoPressionado;
                        break;

                    default:
                        tipo = TipoEvento.Desconhecido;
                        break;
                    }
                    tratador(tipo);
                };
                mf.OnReaderEvent += handler;
                EventosCadastrados.Add(handler);
                return(true);
            }
            return(false);
        }
Exemple #2
0
 /// <summary>
 /// Prepara um cartão mifare em branco (de fábrica) para ser utilizado pelo sistema
 /// </summary>
 /// <returns>verdadeiro em caso de sucesso</returns>
 public static bool PrepararCartaoVirgem()
 {
     if (Acura.Conectada())
     {
         if (Acura.Autenticar_Virgem())
         {
             bool sucesso = mf.mfAccessCondition(ChaveLeitura, ChaveEscrita, 7, 1, 7, 4); // , 125
             mf.mfAutoMode(true);
             return(sucesso);
         }
     }
     mf.mfAutoMode(true);
     return(false);
 }
Exemple #3
0
        private static bool Conectar(ushort porta)
        {
            // se a Acura já estiver conectada a essa porta, retorna
            if (mf.CommPort == porta && Acura.Conectada())
            {
                return(true);
            }
            else
            {
                // por precaução se a porta estiver aberta, fechamos
                Acura.Desconectar();
            }

            // configura a biblioteca para funcionar com a Acura
            mf.Settings = "19200,N,8,1";
            mf.CommPort = (short)porta;
            mf.mfAutoMode(true);

            // tenta a conexão
            mf.PortOpen = true;

            // verifica se conseguiu
            return(Acura.Conectada());
        }