private async void btnCapNhat_Click(object sender, EventArgs e) { bool hopLe = checkTiet(cbxTietHoc.Text) && typingTiet.mon != null && checkHT(typingTiet.hinhThuc); if (!hopLe) { DialogResult dialogResult = MessageBox.Show("Vui lòng kiểm tra lại các trường đã nhập", "Có lỗi", MessageBoxButtons.OK); return; } TietHoc chk = await apis.KiemTraTrungTiet(typingTiet); if (chk.bai == "false") { DialogResult dal = MessageBox.Show("Trùng tiết, không thể xếp", "Không thể xếp", MessageBoxButtons.OK); return; } object tietHoc = await apis.PutTietHoc(typingTiet); btnThem.Enabled = true; btnXoa.Enabled = false; btnHuyBo.Visible = false; btnLamMoi.Visible = true; btnCapNhat.Enabled = false; gridTietHoc.Enabled = true; await LoadData(); isEditting = false; cbxXem.Enabled = true; refreshTypingTiet(); }
private async Task getAllTiets() { lops = await apis.GetLops(main.HocKy); string lopFilter = "&lop=null"; lops.ForEach(lop => { lopFilter += $"&lop={lop.id}"; }); DateTime t2 = date; DateTime t7 = t2.AddDays(5); lopFilter += $"&ngay_gte={t2.ToString("yyyy-MM-dd")}&ngay_lte={t7.ToString("yyyy-MM-dd")}"; tiets = await apis.GetTietHocs(main.HocKy, null, lopFilter); List <TietHoc> list = new List <TietHoc>(); tiets.ForEach(t => { TietHoc tiet = t; if (tiet.lop == null) { tiet.lop = new Lop(); tiet.lop.id = 0; } list.Add(tiet); }); tiets = list; }
public bool themDuLieu(TietHoc th) { string query = @"insert into TietHoc(maLopHoc,ngayHoc,trangThai,ghiChu,tenPhong) values ( @maLopHoc , @ngayHoc , @trangThai , @ghiChu , @tenPhong );"; int result = 0; result = DataProvider.Instance.ExcuteNonQuery(query, new object[] { th.LopHoc.MaLopHoc, th.NgayHoc, th.TrangThai, th.GhiChu, th.TenPhong, th.TietBatDau }); return(result > 0); }
private void txtBaiBuoi_Leave(object sender, EventArgs e) { if (typingTiet == null) { typingTiet = new TietHoc(); } typingTiet.bai = txtBaiBuoi.Text; }
private async void cbxTietHoc_SelectedIndexChanged(object sender, EventArgs e) { if (Lop == null) { return; } string tietHoc = cbxTietHoc.Text; if (typingTiet.tiet == tietHoc) { return; } foreach (string x in cbxTietHoc.Items) { if (tietHoc == x) { //Check lại xem tiết đó có chưa? TietHoc tiet = new TietHoc(); tiet.ngay = (DateTime)dateNgay.EditValue; tiet.tiet = tietHoc; tiet.lop = Lop; tiet.id = 0; if (isEditting) { ColumnView view = gridTietHoc.MainView as ColumnView; tiet.id = typingTiet.id; } TietHoc chk = await apis.KiemTraTrungTiet(tiet); if (chk == null) { return; } if (chk.bai == "false") { toolTip.SetToolTip(cbxTietHoc, "Trùng tiết không thể xếp!"); toolTip.SetToolTip(lblLoiTiet, "Trùng tiết không thể xếp!"); lblBaoLoi.Text = "Trùng tiết không thể xếp!"; lblBaoLoi.Visible = true; lblLoiTiet.Visible = true; return; } toolTip.SetToolTip(cbxTietHoc, ""); lblBaoLoi.Text = ""; lblLoiTiet.Visible = false; typingTiet.tiet = tietHoc; typingTiet.soTiet = demSoTiet(typingTiet); return; } } toolTip.SetToolTip(cbxTietHoc, "Tiết học không hợp lệ!"); lblBaoLoi.Text = "Tiết học không hợp lệ!"; lblLoiTiet.Visible = true; }
private void refreshTypingTiet() { typingTiet = new TietHoc(); typingTiet.lop = Lop; typingTiet.hocKy = HocKy; typingTiet.diaDiem = ""; typingTiet.ngay = Ngay; typingTiet.bai = ""; typingTiet.giangVien = ""; txtMonHoc.Text = ""; cbxTietHoc.Text = ""; lblBaoLoi.Text = ""; cbxTietHoc.Focus(); }
private void TKBLop_CellBeginEdit(object sender, DevExpress.XtraSpreadsheet.SpreadsheetCellCancelEventArgs e) { Cell cell = e.Cell; if (!cellMap.ContainsKey(cell.GetReferenceA1())) { return; } TietHoc tiet = cellMap[cell.GetReferenceA1()]; if (tiet.ngayNghi != null) { return; } //Nạp xlsx để xem chi tiết using (FileStream stream = new FileStream(@"tietViewer.xlsx", FileMode.Open)) { spreadsheetChiTiet.LoadDocument(stream, DocumentFormat.Xlsx); wbChiTiet = spreadsheetChiTiet.Document; wsChiTiet = wbChiTiet.Worksheets[0]; } Lop lop = new Lop(); lop.giangDuong = "0"; TietHocRendering render = new TietHocRendering(lop, 20); wsChiTiet["A1"].SetRichText(render.tietToRich(tiet, "hocKy", 12)); wsChiTiet.FreezePanes(0, 0); //Khoá ô hiển thị lblThu.Text = dateToThu(tiet.ngay.DayOfWeek.ToString()) + ", "; lblNgay.Text = "ngày " + tiet.ngay.ToString("dd/MM/yyyy"); int x = lblThu.Location.X + lblThu.Width - 10, y = lblNgay.Location.Y; lblNgay.Location = new Point(x, y); lblLop.Text = "Lớp: " + Lop.ten; lblTiet.Text = "Tiết: " + tiet.tiet; string[] arr = tiet.mon.ten.Split(new char[] { '|' }); string bai = tiet.bai == "" ? "Không nhập" : tiet.bai; lblMon.Text = "Môn: " + arr[0]; lblBai.Text = "Bài: " + bai; lblHinhThuc.Text = "Hình thức: " + tiet.hinhThuc; lblGiangDuong.Text = "Địa điểm: " + tiet.diaDiem; lblGiangVien.Text = tiet.giangViens == "" ? "GV: Không nhập" : "GV: " + tiet.giangViens; toolTip.RemoveAll(); toolTip.SetToolTip(lblLop, lblLop.Text); toolTip.SetToolTip(lblMon, "Môn học: " + arr[0]); toolTip.SetToolTip(lblGiangVien, tiet.giangViens == "" ? "Giảng viên: Không nhập" : "Giảng viên: " + tiet.giangViens); grpChiTiet.Visible = true; }
public void SuaTietHoc(TietHoc th) { if (th is TietHocBu) { DataProvider.Instance.ExcuteNonQuery(String.Format("dbo.SuaBuoiHocBu @idTietHoc = {0},@maLopHoc = {1},@tietBatDau = {2}, @tenPhong = '{3}',@ngayHoc='{4:yyyy-MM-dd}', @trangThai={5}, @ghiChu = N'{6}' ", th.Id, th.LopHoc.MaLopHoc, th.TietBatDau, th.TenPhong, th.NgayHoc, th.TrangThai, th.GhiChu)); } else { DataProvider.Instance.ExcuteNonQuery(String.Format("dbo.SuaBuoiHoc @id = '{0}',@tenPhong = {1},@trangThai = N'{2}', @ghiChu = N'{3}' ", th.Id, th.TenPhong, th.TrangThai, th.GhiChu)); } }
public async Task <JObject> PutTietHoc(TietHoc tietHoc) { var path = base_url + "/tiet-hocs/" + tietHoc.id; var json = JsonConvert.SerializeObject(tietHoc); var data = new StringContent(json, Encoding.UTF8, "application/json"); var response = await client.PutAsync(path, data); string result = response.Content.ReadAsStringAsync().Result; JObject jObject = JObject.Parse(result); return(jObject); }
private async void txtDiaDiem_Leave(object sender, EventArgs e) { if (txtDiaDiem.Text == "") { txtDiaDiem.Text = Lop.giangDuong; } TietHoc chk = new TietHoc(); chk.id = 0; chk.ngay = (DateTime)dateNgay.EditValue; chk.tiet = cbxTietHoc.Text; chk.diaDiem = txtDiaDiem.Text; if (isEditting) { ColumnView view = gridTietHoc.MainView as ColumnView; chk.id = tietHocs[view.GetSelectedRows()[0]].id; } typingTiet.diaDiem = txtDiaDiem.Text; List <TietHoc> tiets = await apis.GetTietTrungDiaDiem(chk); if (tiets.Count > 0) { string lopTrung = ""; foreach (TietHoc tiet in tiets) { lopTrung += tiet.lop.ten + ", "; } ; lopTrung = lopTrung.Substring(0, lopTrung.Length - 2); //231, => 231 string chkTrung = "Trùng tiết và phòng với "; if (tiets.Count > 1) { chkTrung += "các "; } chkTrung += "lớp: " + lopTrung + "!"; lblBaoLoi.Text = chkTrung; //tietGhep.id = 1; lblBaoLoi.Visible = true; toolTip.SetToolTip(txtDiaDiem, lblBaoLoi.Text); toolTip.SetToolTip(lblLoiDiaDiem, lblBaoLoi.Text); lblLoiDiaDiem.Visible = true; return; } //tietGhep.id = 0; lblBaoLoi.Text = ""; lblLoiDiaDiem.Visible = false; }
public bool Update(TietHoc entity) { try { var gv = db.TietHocs.Find(entity.ID); db.SaveChanges(); return(true); }catch (Exception ex) { return(false); } }
public List <TietHoc> LayDsTietHocParam(string query, object[] param) { DataTable dt = DataProvider.Instance.ExcuteQuery(query, param); List <TietHoc> dsTietHoc = new List <TietHoc>(); foreach (DataRow item in dt.Rows) { LopHoc lh = LopHocDAO.Instance.TimLopHoc(item["maLopHoc"] + ""); TietHoc th = new TietHoc(lh, int.Parse(item["id"].ToString()), item["tenPhong"].ToString(), Convert.ToDateTime(item["ngayHoc"]), int.Parse(item["trangThai"].ToString()), item["ghiChu"].ToString()); dsTietHoc.Add(th); } return(dsTietHoc); }
public async Task <List <TietHoc> > GetTietTrungGiangVien(TietHoc tiet) { var path = base_url + "/tiet-hocs/checktrunggiangvien"; var json = JsonConvert.SerializeObject(tiet); var data = new StringContent(json, Encoding.UTF8, "application/json"); var response = await client.PostAsync(path, data); List <TietHoc> tiets = null; if (response.IsSuccessStatusCode) { tiets = await response.Content.ReadAsAsync <List <TietHoc> >(); } return(tiets); }
private int demSoTiet(TietHoc tiet) { string t = tiet.tiet; if (t == "Cả ngày") { return(11); } if ((t == "7 - 8 - 9" && tiet.hinhThuc != "TH") || t == "Đêm") { return(2); } string[] arr = t.Split(new char[] { '-', ' ' }); return(Int32.Parse(arr[3]) - Int32.Parse(arr[0]) + 1); }
private void gridTietHoc_DoubleClick(object sender, EventArgs e) { ColumnView view = gridTietHoc.MainView as ColumnView; int index = view.GetSelectedRows()[0]; typingTiet = tietHocs[index]; //Set là đang sửa tiết để cbxTiet nó không check tiết isEditting = true; if (typingTiet.ngayNghi != null) { lblBaoLoi.Text = "Ngày nghỉ phải sửa tại giao diện thiết lập ngày nghỉ!"; lblBaoLoi.Visible = true; btnCapNhat.Enabled = false; btnLamMoi.Visible = false; btnNhapLai.Enabled = true; btnHuyBo.Visible = false; btnThem.Enabled = false; btnXoa.Enabled = false; return; } else { cbxXem.Enabled = false; gridTietHoc.Enabled = false; isEditting = true; lblBaoLoi.Visible = false; btnCapNhat.Enabled = true; btnLamMoi.Visible = false; btnNhapLai.Enabled = false; btnHuyBo.Visible = true; btnThem.Enabled = false; btnXoa.Enabled = true; } dateNgay.EditValue = typingTiet.ngay; cbxTietHoc.Text = typingTiet.tiet; txtBaiBuoi.Text = typingTiet.bai; cbxHinhThuc.Text = typingTiet.hinhThuc; txtGiangVien.Text = typingTiet.giangViens; txtDiaDiem.Text = typingTiet.diaDiem; txtMonHoc.Text = typingTiet.mon != null ? typingTiet.mon.ma : ""; lblLoiMon.Visible = false; cbxTietHoc.Focus(); }
public async Task <TietHoc> KiemTraTrungTiet(TietHoc tiet) { bool chkConn = await this.checkConn(); if (!chkConn) { return(null); } var path = base_url + "/tiet-hocs/checktrungtiet"; var json = JsonConvert.SerializeObject(tiet); var data = new StringContent(json, Encoding.UTF8, "application/json"); var response = await client.PostAsync(path, data); string result = response.Content.ReadAsStringAsync().Result; JObject jObject = JObject.Parse(result); return(jObject.ToObject <TietHoc>()); }
private async void btnThem_Click(object sender, EventArgs e) { object dateTime = dateNgay.EditValue; Ngay = (DateTime)dateTime; if (Ngay.DayOfWeek.ToString() == "Sunday") { DialogResult dal = MessageBox.Show("Chủ nhật không thể xếp thời khoá biểu", "Không thể xếp", MessageBoxButtons.OK); return; } bool hopLe = checkTiet(cbxTietHoc.Text) && typingTiet.mon != null && checkHT(typingTiet.hinhThuc); if (hopLe) { TietHoc test = await apis.KiemTraTrungTiet(typingTiet); if (test.bai == "false") { DialogResult dal = MessageBox.Show("Tiết học này đã được xếp trước đó! Vui lòng kiểm tra lại.", "Không thể xếp", MessageBoxButtons.OK); cbxTietHoc.Focus(); lblBaoLoi.Text = "Tiết học này đã được xếp!"; lblLoiTiet.Visible = true; toolTip.SetToolTip(cbxTietHoc, "Tiết học này đã được xếp!"); toolTip.SetToolTip(cbxTietHoc, "Tiết học này đã được xếp!"); return; } object obj = await apis.PostTietHoc(typingTiet); await LoadData(); lblBaoLoi.Text = ""; } else { DialogResult dialogResult = MessageBox.Show("Vui lòng kiểm tra lại các trường đã nhập", "Có lỗi", MessageBoxButtons.OK); } txtMonHoc.Text = ""; txtBaiBuoi.Text = ""; cbxHinhThuc.SelectedIndex = 0; txtDiaDiem.Text = ""; txtGiangVien.Text = ""; lblBaoLoi.Text = ""; refreshTypingTiet(); }
private void btnHuyBo_Click(object sender, EventArgs e) { lblBaoLoi.Visible = true; btnHuyBo.Visible = false; btnCapNhat.Enabled = false; btnNhapLai.Enabled = true; btnLamMoi.Visible = true; btnThem.Enabled = true; btnXoa.Enabled = false; typingTiet = new TietHoc(); isEditting = false; lblBaoLoi.Text = ""; cbxXem.Enabled = true; gridTietHoc.Enabled = true; lblLoiTiet.Visible = false; lblLoiMon.Visible = false; refreshTypingTiet(); }
private async void dateNgay_EditValueChanged(object sender, EventArgs e) { object dateTime = dateNgay.EditValue; Ngay = (DateTime)dateTime; main.setDate(Ngay); if (typingTiet == null) { typingTiet = new TietHoc(); } typingTiet.ngay = Ngay; lblThu.Text = dateToThu(Ngay.DayOfWeek.ToString()) + ", "; lblNgay.Text = "ngày " + Ngay.ToString("dd/MM/yy"); if (cbxXem.Text != "Học kỳ") { await LoadData(); } }
//ngày học bắt đầu 15/1/2018 , 15 tuần chính thức , 2 tuần dự trữ soTietHoc = 15 public void TaoTietHoc(LopHoc lh, int soBuoiHoc, DateTime ngayNhapHoc, DateTime ngayKetThuc, string tenPhong, int tietBatDau) { int thuNgayNhapHoc = LayThuNgayNhapHoc(ngayNhapHoc); if (lh.Thu < thuNgayNhapHoc) { ngayNhapHoc = ngayNhapHoc.AddDays(7 - lh.Thu); } else { ngayNhapHoc = ngayNhapHoc.AddDays(lh.Thu - thuNgayNhapHoc); } for (int i = 0; i < soBuoiHoc; i++) { TietHoc th = new TietHoc(lh, tenPhong, ngayNhapHoc, -1, ""); this.themDuLieu(th); ngayNhapHoc = ngayNhapHoc.AddDays(7); } }
public int Insert(TietHoc entity) { db.TietHocs.Add(entity); db.SaveChanges(); return(entity.ID); }
private void xlsxViewer_CellBeginEdit(object sender, DevExpress.XtraSpreadsheet.SpreadsheetCellCancelEventArgs e) { if (!isNewData) { return; } Cell cell = e.Cell; string sheetName = e.Worksheet.Name; Dictionary <string, TietHoc> map = (sheetName == "TKB d2,10,3") ? cellMap[0] : cellMap[1]; if (!map.ContainsKey(cell.GetReferenceA1())) { return; } //Nạp xlsx để xem chi tiết using (FileStream stream = new FileStream(@"tietViewer.xlsx", FileMode.Open)) { spreadsheetChiTiet.LoadDocument(stream, DocumentFormat.Xlsx); wbChiTiet = spreadsheetChiTiet.Document; wsChiTiet = wbChiTiet.Worksheets[0]; } TietHoc tiet = map[cell.GetReferenceA1()]; Lop lop = new Lop(); lop.giangDuong = "0"; TietHocRendering render = new TietHocRendering(lop, 20); wsChiTiet["A1"].SetRichText(render.tietToRich(tiet, "hocKy", 12)); wsChiTiet.FreezePanes(0, 0); //Khoá ô hiển thị lblThu.Text = dateToThu(tiet.ngay.DayOfWeek.ToString()) + ", "; lblNgay.Text = "ngày " + tiet.ngay.ToString("dd/MM/yyyy"); int x = lblThu.Location.X + lblThu.Width - 10, y = lblNgay.Location.Y; lblNgay.Location = new Point(x, y); string lops = "Lớp: " + tiet.lop.ten; int count = cell.GetMergedRanges().Count > 0 ? cell.GetMergedRanges()[0].ColumnCount : 1; if (count > 1) { for (int i = cell.ColumnIndex + 1; i < cell.ColumnIndex + count; i++) { lops += ", " + ws[6, i].Value; } } lblLop.Text = lops; lblTiet.Text = "Tiết: " + tiet.tiet; string[] arr = tiet.mon.ten.Split(new char[] { '|' }); string bai = tiet.bai == "" ? "Không nhập" : tiet.bai; lblMon.Text = "Môn: " + arr[0]; lblBai.Text = "Bài: " + bai; lblHinhThuc.Text = "Hình thức: " + tiet.hinhThuc; lblGiangDuong.Text = "Địa điểm: " + tiet.diaDiem; lblGiangVien.Text = tiet.giangViens == "" ? "Giảng viên: Không nhập" : "Giảng viên: " + tiet.giangViens; toolTip.RemoveAll(); toolTip.ShowAlways = true; toolTip.SetToolTip(lblLop, lops); toolTip.SetToolTip(lblMon, "Môn học: " + arr[0]); toolTip.SetToolTip(lblGiangVien, lblGiangVien.Text); grpChiTiet.Visible = true; }
private void MergeSameCells() { List <int> rows = new List <int>(new int[] { 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38 }); int lim = getLimOfSheet(ws); rows.ForEach(r => { for (int c = 2; c < lim - 1; c++) //Kiểm từng ô trong hàng { TietHoc tiet1 = GetTietByCell(ws[r, c].GetReferenceA1()); if (tiet1 == null) { continue; } if (tiet1.ngayNghi != null) { continue; } List <TietHoc> tiets = new List <TietHoc>(); tiets.Add(tiet1); string value1 = tiet1.ToString(); bool khacNhau = false; bool trungGiangDuongGoc = true; for (int cc = c + 1; cc <= lim; cc++) { TietHoc tietSoSanh = GetTietByCell(ws[r, cc].GetReferenceA1()); if (tietSoSanh != null) { if (value1 == tietSoSanh.ToString()) { tiets.Add(tietSoSanh); } else { khacNhau = true; } } else { khacNhau = true; } if (khacNhau) { if (tiets.Count > 0) { //Có tiết trùng liền kề bool showGiangDuong = true; //So sánh giảng đường gốc của từng lớp string gd1 = tiets[0].lop.giangDuong; tiets.ForEach(tiet => { string gd2 = tiet.lop.giangDuong; if (gd1 != gd2) { trungGiangDuongGoc = false; } }); //nếu cả 3 cùng gđ gốc và giảng đường học = gđ gốc thì ko show. Còn lại các case khác thì show if (trungGiangDuongGoc && tiets[0].diaDiem == tiets[0].lop.giangDuong) { showGiangDuong = false; } TietHocRendering render; if (showGiangDuong) { Lop lopTemp = new Lop(); lopTemp.giangDuong = "0"; render = new TietHocRendering(lopTemp, main.sizeTuan); } else { render = new TietHocRendering(tiets[0].lop, main.sizeTuan); } //Gán lại giá trị ws[r, c].SetRichText(render.tietToRich(tiets[0], "tuan", main.sizeTuan)); //Merge ws.MergeCells(ws[ws[r, c].GetReferenceA1() + ":" + ws[r, c + tiets.Count - 1].GetReferenceA1()]); } c = cc - 1; break; } } } }); }