/// <summary>
        /// IDm取得・取得したIDとマッチしたデータを表示するTickイベントを定義したメソッド
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void IDmTick_Tick(object sender, EventArgs e)
        {
            //messageBoxFormat();
            IDmTick.Interval = 3000;
            string idm;
            GetIDm getidm = new GetIDm();

            idm = getidm.getID();
            //idmが空でなければ
            if (idm != null)
            {
                PlaySound("../../Audio/botan_b45.wav");
                IDmTick.Stop();
                Connector checkIdmConnect = new Connector();
                bool      idmExist;
                idmExist = checkIdmConnect.checkIdmExist(idm);
                checkIdmConnect.Dispose();
                if (idmExist == true)
                {
                    //idmが一致した人の入出時間を入れる
                    using (Connector entryTimeConnect = new Connector())
                    {
                        entryTimeConnect.entryTime(idm);
                        entryTimeConnect.Dispose();
                        //Hash化して生IDを表示するのを防ぐ
                        byte[] idmEncodeUtf8 = Encoding.UTF8.GetBytes(idm);
                        System.Security.Cryptography.MD5CryptoServiceProvider md5 = new System.Security.Cryptography.MD5CryptoServiceProvider();
                        byte[]        idmHash     = md5.ComputeHash(idmEncodeUtf8);
                        StringBuilder hashStrData = new StringBuilder();
                        foreach (byte hashData in idmHash)
                        {
                            hashStrData.Append(hashData.ToString("X2"));
                        }
                        IdmRichTextBox.Text = hashStrData.ToString();
                        /*IDmから照合し、取得したデータをメインフォームに表示*/
                        MySqlDataReader dataReader      = null;
                        Connector       dataReadConnect = new Connector();
                        dataReader = dataReadConnect.userInfoDisp(dataReader, idm);
                        if (dataReader == null)
                        {
                            messageBoxFormat();
                            //dataReader.Dispose(); 初期値がnullであるためdataReaderがnullだった場合Disposeできない(そもそもインスタンス化されていない)
                            dataReadConnect.Dispose();
                        }
                        else
                        {
                            NameRichTextBox.Text      = dataReader["idm"].ToString();
                            StudentidRichTextBox.Text = dataReader["studentid"].ToString();
                            GradeRichTextBox.Text     = dataReader["grade"].ToString();
                            dataReader.Close();
                            dataReadConnect.Dispose();
                            MySqlDataReader readEntryTime  = null;
                            Connector       getTimeConnect = new Connector();
                            readEntryTime           = getTimeConnect.getEntryTimeTable(idm, readEntryTime);
                            OuttimeRichTextBox.Text = readEntryTime["outtime"].ToString();
                            IntimeRichTextBox.Text  = readEntryTime["intime"].ToString();
                            readEntryTime.Close();
                            getTimeConnect.Dispose();
                        }
                    }
                }
                else
                {
                    MessageBox.Show("読み込まれたIdmは登録されていません");
                }
                IDmTick.Interval = 3000;
                IDmTick.Start();
            }
        }
Beispiel #2
0
        private void InputIdmButton_Click(object sender, EventArgs e)
        {
            GetIDm idm = new GetIDm();

            InputIdmTextBox.Text = idm.getID();
        }