/// <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();
     }
 }
Exemplo n.º 2
0
 private void InputIdmButton_Click(object sender, EventArgs e)
 {
     GetIDm idm = new GetIDm();
     InputIdmTextBox.Text = idm.getID();
 }