private void BtnXoaCauHoi_Click(object sender, EventArgs e) { if (ListCauHoi == null || ListCauHoi.Count == 0) { UICommon.ShowMsgWarningString("Bạn phải tạo câu hỏi trước"); return; } else if (ListCauHoi.Count == 1) { UICommon.ShowMsgWarningString("Số lượng câu hỏi quá ít bạn không thể xóa"); return; } if (UICommon.ShowMsgQuestionString("Bạn muốn xóa câu hỏi này?") == DialogResult.Yes) { var cauHoi = ListCauHoi.FirstOrDefault(m => m.IDEx == IdCauHoiCurent); if (cauHoi != null) { //Xóa toàn cục ListCauHoi.Remove(cauHoi); //Xoa duoi db IsChanged = _business.DeleteCauHoiByLstId(new List <long>() { cauHoi.Id }) > 0; //Set lai data var cauHoiKeTiep = ListCauHoi.FirstOrDefault(); IdCauHoiCurent = 0; if (cauHoiKeTiep != null) { CauHoiCurent = cauHoiKeTiep; } var lstDataCbo = new List <DM_STT>(); //int i = 1; foreach (var item in ListCauHoi) { lstDataCbo.Add(new DM_STT { Id = item.IDEx, Ten = "Câu hỏi " + item.IDEx }); } txtSoCauHoi.Text = lstDataCbo.Count().ToString(); SetDataChonCauHoi(lstDataCbo); if (cauHoiKeTiep != null) { cboChonCauHoi.CategoryID = cauHoiKeTiep.IDEx; } else { cboChonCauHoi.CategoryID = null; txtSoCauHoi.Enabled = true; btnTaoCauHoi.Enabled = true; } } } }
public bool SaveUpdateCauHoi() { try { #region Update cau hoi cha var cauHoiCha = new EX_CauHoi(); cauHoiCha.NoiDung = txtCtrlNoiDungCauHoi.Rtf; cauHoiCha.IDChuong = IdDanhMuc; cauHoiCha.IDLoaiCauHoi = (int)LoaiCauHoi.CauHoiDienKhuyet; cauHoiCha.IsCauHoiCha = true; cauHoiCha.DoKho = IdMucDoNhanThuc; _business.UpdateCauHoi(IdCauHoiCha ?? 0, cauHoiCha); #endregion #region Update cau hoi foreach (var ch in ListCauHoi) { ch.IDCauHoiCha = IdCauHoiCha; ch.IDLoaiCauHoi = (int)LoaiCauHoi.CauHoiDienKhuyet; ch.DoKho = IdMucDoNhanThuc; ch.IDChuong = IdDanhMuc; ch.IsKhongDao = ckbKhongDaoCauHoi.Checked; ch.NgaySoan = DateTime.Now; if (ch.Id == 0) { _business.AddNewCauHoi(ch); } else { _business.UpdateCauHoi(ch.Id, ch); } // Câu trả lời foreach (var ctl in ch.ListCauTraLoi) { ctl.IsKhongDao = false; ctl.IDCauHoi = ch.Id; if (ctl.Id == 0) { _business.AddNewCauTraLoi(ctl); } else { _business.UpdateCauTraLoi(ctl.Id, ctl); } } } // Xoa cau tra loi foreach (int idCauTraLoiBiXoa in ListIdCauTraLoiBiXoa) { if (idCauTraLoiBiXoa != 0) { _business.DeleteCauTraLoiById(idCauTraLoiBiXoa); } } // Xoa cau hoi foreach (int idCauHoiBiXoa in ListIdCauHoiBiXoa) { if (idCauHoiBiXoa != 0) { _business.DeleteCauHoiByLstId(new List <long> { idCauHoiBiXoa }); } } #endregion IsChanged = false; } catch (Exception) { return(false); } return(true); }