Ejemplo n.º 1
0
        public Track(Cartao cartao)
        {
            if (!ImportarTack1(cartao.getVar("track1")))
            {
                if (!ImportarTack2(cartao.getVar("track2")))
                {
                    throw new ArgumentException("Cartão inválido.");
                }
            }

            if (!ValidarBin(Bin))
            {
                throw new ArgumentException("Bin inválido.");
            }

            if (!ValidarData(DataValidade))
            {
                throw new ArgumentException("Cartão vencido.");
            }

            if (!ValidarServiceCode(ServiceCode))
            {
                throw new ArgumentException("Service code inválido.");
            }
        }
Ejemplo n.º 2
0
        public void Iniciar(Cartao cartao)
        {
            _pinCapturado = false;
            Track track;

            try
            {
                track = new Track(cartao);
            }
            catch (ArgumentException e)
            {
                Console.WriteLine(e.Message);
                return;
            }

            if (DevePedirPin(track.DiscretionaryData))
            {
                CapturarPin();
            }

            if (track.NomePortador != string.Empty)
            {
                Console.WriteLine(track.NomePortador);
            }

            if (_pinCapturado)
            {
                Console.WriteLine("Pin foi capturado.");
            }

            Console.WriteLine();
            Console.WriteLine("Track lida: ");
            ExibirTrack(track);
        }