// Button làm bài ôn tập ở gridview. private void DgvPractice_CellClick(object sender, DataGridViewCellEventArgs e) { if (e.ColumnIndex != dgvPractice.Columns["war"].Index || e.RowIndex < 0) { return; } if (MessageBox.Show("Sẵn sàng làm bài thi?", "Xác nhận", MessageBoxButtons.YesNo) == DialogResult.No) { return; } string MDT = dgvPractice.SelectedRows[0].Cells[0].Value.ToString(); //MessageBox.Show(MDT); FormTest FT = new FormTest(MDT); FT.ShowDialog(); }
private void DgvSchedule_CellClick(object sender, DataGridViewCellEventArgs e) { if (e.ColumnIndex != dgvSchedule.Columns["war"].Index) { return; } DateTime NgayThi = DateTime.Parse(dgvSchedule.SelectedRows[0].Cells[2].Value.ToString()); string MKT = dgvSchedule.SelectedRows[0].Cells[0].Value.ToString(); // Lấy tgian quy định. ThoiGianLamBai = (int)dgvSchedule.SelectedRows[0].Cells[4].Value; //MessageBox.Show(t.CompareTo(DateTime.Now).ToString()); if (dgvSchedule.SelectedRows[0].Cells[6].Value.ToString() == "Đóng" || (NgayThi.Date.CompareTo(DateTime.Now.Date) != 0)) { MessageBox.Show("Đã hết hạn làm bài thi"); return; } else { TimeSpan BD = DataUlti.LayThoiGianBD(MHS, MKT); TimeSpan now = DateTime.Now.TimeOfDay; if (BD != null && BD.Subtract(now).TotalMinutes > ThoiGianLamBai) { MessageBox.Show("Đã hết hạn làm bài thi"); return; } } using (var ds = new QuanLyThiTracNghiemDataContext()) { try { var q = ds.DSDUTHIs.Where(d => d.MaHocSinh == MHS && d.MaKyThi == MKT).SingleOrDefault(); if (q != null) { if (q.DaThi == true) { MessageBox.Show("Bài thi đã được hoàn thành"); return; } } } catch (Exception ex) { MessageBox.Show(ex.Message); return; } } //MessageBox.Show(MDT); if (MessageBox.Show("Sẵn sàng làm bài thi?", "Xác nhận", MessageBoxButtons.YesNo) == DialogResult.No) { return; } string MDT = null; // Kiểm tra xem có đang làm bài dang dở. if (DataUlti.TiepTucThi(MHS, MKT) == false) { // Bốc đề ngẫu nhiên trong kỳ thi. var q = DataUlti.LayDeThi(MKT); Random roulette = new Random(); MDT = q[roulette.Next(0, q.Count)].MaDeThi; // Bắt đầu làm bài: DataUlti.BatDauThi(MHS, MKT, MDT); } else { // Kiểm tra tgian làm bài: TimeSpan now = DateTime.Now.TimeOfDay; TimeSpan lastLog = DataUlti.LayThoiGianBD(MHS, MKT); if (now.Subtract(lastLog).TotalMinutes > ThoiGianLamBai) { MessageBox.Show("Đã hết hạn làm bài"); return; } // Tiếp tục. MDT = DataUlti.DSThi(MKT) .Where(d => d.MaHocSinh == MHS && d.MaKyThi == MKT) .Select(d => d.MaDeThi).SingleOrDefault().ToString(); } FormTest FT = new FormTest(MHS, MDT, MKT, true, ThoiGianLamBai); FT.ShowDialog(); LoadResult(); }