Jump to content

Ler dados do Cartão de cidadão


Recommended Posts

Boa tarde a todos,

Espero que exista uma alma milagrosa aqui que me consiga ajudar, agradeço desde já qualquer ajuda.

 

Estou atualmente a desenvolver um projeto Web em ASP.net e VB.net e preciso de integrar a leitura do cartão de cidadão.
Por exemplo carregar campos como nome, niss, nif, etc ... (todos os campos que preciso de carregar não necessitam de chave digital.) 

Acontece que neste momento eu consigo fazer a leitura e carregar tudo que preciso porém apenas a nível local, quando coloco no nosso servidor não é detetado sequer o leitor do utilizador.

Já vi praticamente tudo que poderia ver a nível de documentação para entender onde está o erro porem não está nada fora do comum (a meu ver), já pesquisei em vários tópicos aqui do fórum porem não encontrei nada neste sentido.

Já testei algumas situações que aqui vi mas o erro é sempre o mesmo.

Este é o meu código.

     
        pt.portugal.eid.PTEID_ReaderSet.initSDK()

        

        Dim Card As pt.portugal.eid.PTEID_EIDCard
        
        Dim ContextReadr As pt.portugal.eid.PTEID_ReaderContext
        Dim ReaderSet As pt.portugal.eid.PTEID_ReaderSet
       
        ReaderSet = pt.portugal.eid.PTEID_ReaderSet.instance()
        
        

       
        If ReaderSet.readerList.Count < 0 Then
                        pt.portugal.eid.PTEID_ReaderSet.releaseSDK()
            alerta.emitirnotificacao("Não foi detetado qualquer leitor de Cartões", "delete")
            Exit Sub
        End If
       
        For i As Integer = 0 To ReaderSet.readerCount() - 1
            ContextReadr = ReaderSet.getReaderByNum(i)

            If ContextReadr.isCardPresent() Then
                Card = ContextReadr.getEIDCard()
              
            End If
        Next
       
        'Verificar se o cartão está no sistema (leitor)
        Dim CardState As Boolean = ContextReadr.isCardPresent
        
        If CardState = True Then
            dropidentificacao.SelectedValue = 5
            Dim eid As pt.portugal.eid.PTEID_EId = Card.getID
            Dim NomeAluno As String = eid.getGivenName + " " + eid.getSurname
            txtnome.Text = Generico.Fcn_FormatoTexto(Generico.Fcn_FormatoTexto(NomeAluno, "L"), "T")
            dropsexo.SelectedValue = eid.getGender
                        Dim AnoValCC = Trim(eid.getValidityEndDate.Substring(5, 5))
            Dim DiaValCC = eid.getValidityEndDate.Substring(0, 2)
            Dim MesValCC = eid.getValidityEndDate.Substring(3, 2)
            Dim AnoNasc = Trim(eid.getDateOfBirth.Substring(5, 5))
            Dim DiaNasc = eid.getDateOfBirth.Substring(0, 2)
            Dim MesNasc = eid.getDateOfBirth.Substring(3, 2)
            txtdatanascimento.Text = AnoNasc + "-" + MesNasc + "-" + DiaNasc
            'txtdatanascimento.Text = eid.getDateOfBirth
            txtvalidadebi.Text = AnoValCC + "-" + MesValCC + "-" + DiaValCC
            txtnidentbi.Text = eid.getCivilianIdNumber.Substring(0, 8)
            txtnumerocontrolo.Text = eid.getCivilianIdNumber.Substring(8)
            txtnutente.Text = eid.getHealthNumber
            txtsegsocial.Text = eid.getSocialSecurityNumber
            txtnif.Text = eid.getTaxNo
            Dim NomeMae As String = eid.getGivenNameMother + " " + eid.getSurnameMother
            txtnomemae.Text = Generico.Fcn_FormatoTexto(Generico.Fcn_FormatoTexto(NomeMae, "L"), "T")
            'eid.getGivenNameMother + " " + eid.getSurnameMother
            Dim NomePai As String = eid.getGivenNameFather + " " + eid.getSurnameFather
            txtnomepai.Text = Generico.Fcn_FormatoTexto(Generico.Fcn_FormatoTexto(NomePai, "L"), "T")
            Dim Path As String = Guid.NewGuid().ToString
            Dim Caminhofoto As String = eid.getPhotoObj.getphoto.writeToFile(Server.MapPath("Fotos\alunos\" & Path.ToString & ".jpg"))
            ModuloAlunos.setdadosdoaluno(Request.QueryString("id"), "Foto", "alunos\" & Path.ToString & ".jpg")
            Imagefotografia.ImageUrl = "Fotos\alunos\" & Path.ToString & ".jpg"
            UpdatePanelfoto.Update()

        Else
            alerta.emitirnotificacao("Primeiro tem de inserir o cartão no leitor e depois carregar no botão ", "delete")
        End If

Uma vez mais agradeço qualquer ajuda.

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.