Esempio n. 1
0
        private void onNext(MonitorEvent ev)
        {
            try
            {
                sp.isoReaderInit();

                if (ev.ToString() == "PCSC.Reactive.Events.CardInserted")
                {
                    var user = sp.ReadBlock(0x00, BlockId);
                    var pass = sp.ReadBlockRange(0x00, BlockPasswordFrom, BlockPasswordTo);

                    if (cmd.Login(Util.ToASCII(user, 0, user.Length, false), Util.ToASCII(pass, 0, pass.Length, false)))
                    {
                        Dispatcher.Invoke(() => { sh(); });
                    }
                    else
                    {
                        MessageBox.Show("Staf Pendaftaran tidak terdaftar, hubungi administrator untuk mendaftar.",
                                        "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                    }
                }
            }
            catch (Exception)
            {
                MessageBox.Show("Pastikan reader sudah terpasang dan kartu sudah berada pada jangkauan reader.",
                                "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                sp.isoReaderInit();
            }
        }
        private void BtnCekKartu_OnClick(object sender, RoutedEventArgs e)
        {
            try
            {
                sp.isoReaderInit();
                //card = new MifareCard(isoReader);

                var msg = "";
                var id  = sp.ReadBlock(Msb, BlockId);
                if (id != null)
                {
                    msg += "ID: " + Util.ToASCII(id, 0, 16);
                }

                var nama = sp.ReadBlockRange(Msb, BlockNamaFrom, BlockNamaTo);
                if (nama != null)
                {
                    msg += "\nNama: " + Util.ToASCII(nama, 0, 48);
                }

                var telp = sp.ReadBlock(Msb, BlockTelp);
                if (telp != null)
                {
                    msg += "\nTelp: " + Util.ToASCII(telp, 0, 16);
                }

                var alamat = sp.ReadBlockRange(Msb, BlockAlamatFrom, BlockAlamatTo);
                if (alamat != null)
                {
                    msg += "\nAlamat: " + Util.ToASCII(alamat, 0, 64);
                }

                var jenisK = sp.ReadBlock(Msb, BlockJenisKelamin);
                if (jenisK != null)
                {
                    msg += "\nJenis Kelamin: " + Util.ToASCII(jenisK, 0, 16);
                }

                var pass = sp.ReadBlockRange(Msb, BlockPasswordFrom, BlockPasswordTo);
                if (pass != null)
                {
                    msg += "\nPassword: "******"Informasi Kartu", MessageBoxButton.OK, MessageBoxImage.Information);
            }
            catch (Exception)
            {
                MessageBox.Show("Terjadi kesalahan, pastikan kartu sudah berada pada jangkauan reader.", "Error",
                                MessageBoxButton.OK, MessageBoxImage.Error);
                sp.isoReaderInit();
            }
        }
Esempio n. 3
0
        private static void Main(string[] args)
        {
            so = new SmartCardOperation();
            if (so.IsReaderAvailable())
            {
                so.isoReaderInit();

                var user = Util.ToArrayByte16("ADM001");
                var pass = Util.ToArrayByte32(Encryptor.MD5Hash("ADM001"));

                if (so.WriteBlock(Msb, BlockUsername, user))
                {
                    //Console.WriteLine(user.ToString());
                    Console.WriteLine(Util.ToASCII(so.ReadBlock(Msb, BlockUsername), 0, user.Length));
                }

                if (so.WriteBlockRange(Msb, BlockPasswordFrom, BlockPasswordTo, pass))
                {
                    Console.WriteLine(Util.ToASCII(so.ReadBlockRange(Msb, BlockPasswordFrom, BlockPasswordTo), 0,
                                                   pass.Length));
                }
            }
            else
            {
                Console.WriteLine("Reader not available");
            }

            Console.ReadLine();
        }
Esempio n. 4
0
        private void onNext(MonitorEvent ev)
        {
            try
            {
                if (ev.ToString() == "PCSC.Reactive.Events.CardInserted")
                {
                    //Debug.WriteLine(ev.ToString());
                    var user  = sp.ReadBlock(0x00, BlockId);
                    var user2 = sp.ReadBlock(0x00, BlockId2);
                    var pass  = sp.ReadBlockRange(0x00, BlockPasswordFrom, BlockPasswordTo);
                    var pass2 = sp.ReadBlockRange(0x00, BlockPasswordFrom2, BlockPasswordTo2);


                    //MessageBox.Show(Utils.Util.ToASCII(user2, 0, user.Length, false));
                    //MessageBox.Show(Utils.Util.ToASCII(pass2, 0, pass2.Length, false));

                    if (cmd.Login(Util.ToASCII(user, 0, user.Length), Util.ToASCII(pass, 0, pass.Length)))
                    {
                        Settings.Default.role = "admin";
                        Dispatcher.Invoke(() => { sh(); });
                    }
                    else
                    {
                        if (cmd.LoginK(Util.ToASCII(user2, 0, user2.Length), Util.ToASCII(pass2, 0, pass2.Length)))
                        {
                            Settings.Default.role = "keuangan";
                            Dispatcher.Invoke(() => { sh(); });
                        }
                        else
                        {
                            MessageBox.Show("Admin tidak terdaftar, hubungi administrator untuk mendaftar.", "Error",
                                            MessageBoxButton.OK, MessageBoxImage.Error);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                //MessageBox.Show("Pastikan reader sudah terpasang dan kartu sudah berada pada jangkauan reader.",
                //    "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                MessageBox.Show(ex.Message);
                sp.isoReaderInit();
            }
        }
Esempio n. 5
0
        private void btnBrowseResep_Click(object sender, RoutedEventArgs e)
        {
            var cntAntrian = cmd.CountAntrianApotik();

            if (cntAntrian >= 1)
            {
                if (chkScanKartu.IsChecked ?? true)
                {
                    if (sp.IsReaderAvailable())
                    {
                        try
                        {
                            sp.isoReaderInit();
                            var readData  = sp.ReadBlock(0x00, blockRekamMedis);
                            var asciiData = "";

                            if (readData != null)
                            {
                                asciiData = Util.ToASCII(readData, 0, 16, false);
                            }

                            Debug.WriteLine(asciiData);

                            kode_resep = cmd.GetKodeResepByRm(asciiData);

                            Debug.WriteLine($"Kode resep: {kode_resep}");
                            DisplayData(kode_resep);
                        }
                        catch (Exception)
                        {
                            MessageBox.Show(
                                "Pastikan reader sudah terpasang dan kartu sudah berada pada jangkauan reader.",
                                "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                            sp.isoReaderInit();
                        }
                    }
                    else
                    {
                        MessageBox.Show("Tidak ada reader tersedia, pastikan reader sudah terhubung dengan komputer.",
                                        "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                    }
                }
                else
                {
                    kode_resep = cmd.GetKodeResepByNoUrut();
                    DisplayData(kode_resep);
                }
            }
            else
            {
                MessageBox.Show("Tidak ada data antrian pasien.", "Informasi", MessageBoxButton.OK,
                                MessageBoxImage.Information);
            }
        }
Esempio n. 6
0
        private void BtnBrowsePasien_Click(object sender, RoutedEventArgs e)
        {
            if (cmd.CountDataAntrian() >= 1)
            {
                if (chkScanKartu.IsChecked ?? true)
                {
                    sp = new SmartCardOperation();

                    if (sp.IsReaderAvailable())
                    {
                        try
                        {
                            sp.isoReaderInit();
                            //card = new MifareCard(isoReader);

                            var readData = sp.ReadBlock(Msb, blockNoRekamMedis);
                            Debug.WriteLine(Util.ToASCII(readData, 0, 16, false));
                            if (readData != null)
                            {
                                no_rm = Util.ToASCII(readData, 0, 16, false);
                            }

                            DisplayDataPasien(no_rm);
                        }
                        catch (Exception)
                        {
                            MessageBox.Show(
                                "Pastikan reader sudah terpasang dan kartu sudah berada pada jangkauan reader.",
                                "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                            sp.isoReaderInit();
                        }
                    }
                    else
                    {
                        MessageBox.Show("Tidak ada reader tersedia, pastikan reader sudah terhubung dengan komputer.",
                                        "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                    }
                }
                else
                {
                    no_rm = cmd.GetNoRmByNoUrut();
                    DisplayDataPasien(no_rm);
                }
            }
            else
            {
                MessageBox.Show("Tidak ada data antrian pasien.", "Informasi", MessageBoxButton.OK,
                                MessageBoxImage.Information);
            }
        }
        private void BtnScanKartu_OnClick(object sender, RoutedEventArgs e)
        {
            try
            {
                sp.isoReaderInit();
                //card = new MifareCard(isoReader);

                var readData = sp.ReadBlock(Msb, blockNoRekamMedis);
                if (readData != null)
                {
                    txtIdPasien.Text = Util.ToASCII(readData, 0, 16, false);
                }
            }
            catch (Exception)
            {
                MessageBox.Show("Terjadi kesalahan, pastikan kartu sudah berada pada jangkauan reader.",
                                "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                sp.isoReaderInit();
            }
        }
Esempio n. 8
0
        private void Btn_cekData_OnClick(object sender, RoutedEventArgs e)
        {
            try
            {
                sp.isoReaderInit();
                //card = new MifareCard(isoReader);

                var msg = "";
                var rm  = sp.ReadBlock(Msb, blockNoRekamMedis);
                if (rm != null)
                {
                    msg += "Nomor Rekam Medis \t: " + Util.ToASCII(rm, 0, 16, false);
                }

                var nId = sp.ReadBlock(Msb, blockIdPasien);
                if (rm != null)
                {
                    msg += "\nNomor ID Pasien \t\t: " + Util.ToASCII(nId, 0, 16, false);
                }

                var jId = sp.ReadBlock(Msb, blockJenisId);
                if (jId != null)
                {
                    msg += "\nJenis ID Pasien \t\t: " + Util.ToASCII(jId, 0, 16, false);
                }

                var namaP = sp.ReadBlockRange(Msb, blockNamaFrom, blockNamaTo);
                if (namaP != null)
                {
                    msg += "\nNama Pasien \t\t: " + Util.ToASCII(namaP, 0, 48, false);
                }

                var nTelp = sp.ReadBlock(Msb, blockNoTelp);
                if (nTelp != null)
                {
                    msg += "\nNomor Telepon Pasien \t: " + Util.ToASCII(nTelp, 0, 16, false);
                }

                var alamatP = sp.ReadBlockRange(Msb, blockAlamatForm, blockAlamatTo);
                if (alamatP != null)
                {
                    msg += "\nAlamat Pasien \t\t: " + Util.ToASCII(alamatP, 0, 64, false);
                }

                var jk = sp.ReadBlock(Msb, blockJenisKelamin);
                if (jk != null)
                {
                    msg += "\nJenis Kelamin \t\t: " + Util.ToASCII(jk, 0, 16, false);
                }

                var gol = sp.ReadBlock(Msb, blockGolDarah);
                if (gol != null)
                {
                    msg += "\nGolongan Darah \t\t: " + Util.ToASCII(gol, 0, 16, false).TrimStart();
                }

                var tglHarie = sp.ReadBlock(Msb, blockTglLahir);
                if (tglHarie != null)
                {
                    msg += "\nTanggal Lahir \t\t: " + Util.ToASCII(tglHarie, 0, 16, false);
                }

                MessageBox.Show(msg, "Informasi Kartu Pasien", MessageBoxButton.OK, MessageBoxImage.Information);
            }
            catch (Exception)
            {
                MessageBox.Show("Terjadi kesalahan, pastikan kartu sudah berada pada jangkauan reader.",
                                "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                sp.isoReaderInit();
            }
        }