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);
        }