// lấy bản ghi trên table TEMPDIEMDANH với ID và Mã học phần. public List <TempDiemDanh> getListTempDiemDanhByID_MaHocPhan(String ID, String MaHocPhan) { String sqlString = string.Format(@"EXEC getListTempDiemDanhByMASINHVIEN_MaHocPhan '{0}', '{1}'", ID, MaHocPhan); DataTable dt = DataProvider.Instance.LoadAllTable(sqlString); List <TempDiemDanh> listtemp = new List <TempDiemDanh>(); foreach (DataRow row in dt.Rows) { TempDiemDanh tdiemdanh = new TempDiemDanh(row); listtemp.Add(tdiemdanh); } return(listtemp); }
/// <summary> /// Ghi Dữ Liệu Nhận Được Từ Phần Cứng /// </summary> /// <param name="ID"></param> /// <param name="Mahocphansv"></param> private void WriteData(String ID, String Mahocphansv) { TempDiemDanh record = new TempDiemDanh(); //Kiem tra sinh vien da điểm danh lần nào chưa List <TempDiemDanh> temm = TempDiemDanhDAO.Instance.getListTempDiemDanhByID_MaHocPhan(ID, Mahocphansv); if (temm == null || temm.Count == 0) { //Kiểm tra tính hợp lệ của sinh viên if (DiemDanhDAO.Instance.CheckIsStudentByID_MaHocPhan(ID, Mahocphansv)) { String tg_vao = DateTime.Now.Hour.ToString() + ":" + DateTime.Now.Minute.ToString() + ":" + DateTime.Now.Second.ToString(); //ghi ma lop va thoi gian vao csdl try { int result = TempDiemDanhDAO.Instance.insertDataIntoTemDiemDanh_GT_VAO(ID, Mahocphansv, tg_vao); if (result > 0) { String info = ID + " Đã vào lớp " + tg_vao; ShowMessageResult(info, 1); } else { ShowMessageResult("Lỗi hệ thống, vui lòng kiểm tra lại!", 0); } } catch (Exception ex) { MessageBox.Show(ex.Message, "Lỗi ghi thẻ"); } } else { ShowMessageResult(ID + " không đăng ký học phần này!", 0); } } else { if (temm.Count > 0) { //kiem tra thoi gian vao va thoi gian hien tai de luu thoi gian ra: thoi gian hien tai - thoi gian vao > muc thoi gian quy dinh record = temm[0]; //Xu li truong hop trung du lieu if (record.ThoiGianRa == "" && record.GhiChu == "") { int ThoiGianHoc = Convert.ToInt32(ConfigurationManager.AppSettings["thoigianhoc"].ToString()); String tg_vao = record.ThoiGianVao.ToString(); String tg_ra = DateTime.Now.Hour.ToString() + ":" + DateTime.Now.Minute.ToString() + ":" + DateTime.Now.Second.ToString(); if (ConverTotMinute(tg_ra) - ConverTotMinute(tg_vao) > ThoiGianHoc) { // Cập nhật thời gian ra chổ này try { if (TempDiemDanhDAO.Instance.updateTimeStopByID(ID, tg_ra) > 0) { ShowMessageResult(ID.ToString() + " Đã rời lớp " + tg_ra.ToString(), 1); } else { ShowMessageResult("Lưu không thành công, Vui lòng kiểm tra và thử lại.", 0); } } catch (Exception ex) { MessageBox.Show(ex.Message, "Lỗi Khi Ghi Thời Gian Kết Thúc"); } } else { String info = ID + " Ra trước giờ quy định " + (ConverTotMinute(tg_ra) - ConverTotMinute(tg_vao)).ToString() + " Phút"; ShowMessageResult(info, 0); } } else { ShowMessageResult("Thời gian rời lớp đã được ghi trước đó.", 2); } } } }