Пример #1
0
        // 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);
        }
Пример #2
0
        /// <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);
                    }
                }
            }
        }