public bool SaveUpdateCauHoi()
        {
            try
            {
                #region Update cau hoi

                //cap nhat noi dung cau hoi
                EX_CauHoi ch = _business.GetById(IdCauHoiCurent);
                if (ch == null)
                {
                    return(false);
                }

                //get body
                ch.DoKho        = IdMucDoNhanThuc;
                ch.IDChuong     = IdDanhMuc;
                ch.NoiDung      = txtCtrlNoiDungCauHoi.Rtf;
                ch.IsKhongDao   = ckbKhongDaoCauHoi.Checked;
                ch.IDLoaiCauHoi = IdLoaiCauHoi;

                //save lai
                _business.UpdateCauHoi(IdCauHoiCurent, ch);

                #endregion

                // Cập nhật câu trả lời
                foreach (var esCauTraLoi in CauHoiCurent.ListCauTraLoi)
                {
                    if (esCauTraLoi.Id == 0)
                    {
                        esCauTraLoi.IDCauHoi = CauHoiCurent.Id;
                        _business.AddNewCauTraLoi(esCauTraLoi);
                    }
                    else
                    {
                        _business.UpdateCauTraLoi(esCauTraLoi.Id, esCauTraLoi);
                    }
                }

                // Xoa cau tra loi
                foreach (int IdCauTraLoiBiXoa in ListIdCauHoiBiXoa)
                {
                    _business.DeleteCauTraLoiById(IdCauTraLoiBiXoa);
                }

                IsChanged = false;
            }
            catch (Exception)
            {
                return(false);
            }

            return(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);
        }
        private bool SaveNewCauHoiTemp(long idCauHoiEx)
        {
            var lstCauTraLoi = new List <EX_CauTraLoi>();

            foreach (var tblPanelDapAn in _lstTablePanelDapAn)
            {
                EditorControl txtDapAn    = tblPanelDapAn.Controls[_nameTextNoiDungDapAn] as EditorControl;
                SimpleButton  btnDapAn    = tblPanelDapAn.Controls[_nameButtonDapAn] as SimpleButton;
                CheckBox      chkKhongDao = tblPanelDapAn.Controls[_nameCheckBox] as CheckBox;
                lstCauTraLoi.Add(new EX_CauTraLoi()
                {
                    NoiDung = txtDapAn.Rtf, IsDung = Convert.ToBoolean(btnDapAn.Tag), IsKhongDao = chkKhongDao.Checked
                });
            }

            #region Save new câu hỏi
            //Cau hoi cha
            if (ListCauHoi == null)
            {
                return(false);
            }
            EX_CauHoi cauHoi = ListCauHoi.FirstOrDefault(m => m.IDEx == IdCauHoiCurent);
            cauHoi.IDChuong   = IdDanhMuc;
            cauHoi.DoKho      = IdMucDoNhanThuc;
            cauHoi.NoiDung    = txtNoiDungCauHoiCon.Rtf;
            cauHoi.IsSuDung   = true;
            cauHoi.IsKhongDao = ckbKhongDaoCauHoi.Checked;
            cauHoi.NgaySoan   = DateTime.Now;

            // Danh sách câu trả lời
            int i = 1;
            cauHoi.ListCauTraLoi.OrderBy(m => m.IdEx).ToList();
            cauHoi.ListCauTraLoi.ForEach(m => { m.IdEx = i++; });
            i = 1;
            foreach (var esCauTraLoi in lstCauTraLoi)
            {
                if (cauHoi.ListCauTraLoi.Any(m => m.IdEx == i))
                {
                    var cauTraLoi = cauHoi.ListCauTraLoi.FirstOrDefault(m => m.IdEx == i);
                    cauTraLoi.NoiDung    = esCauTraLoi.NoiDung;
                    cauTraLoi.IsDung     = esCauTraLoi.IsDung;
                    cauTraLoi.IsKhongDao = esCauTraLoi.IsKhongDao;
                }
                else
                {
                    esCauTraLoi.IDCauHoi = cauHoi.IDEx;
                    esCauTraLoi.IdEx     = i;
                    cauHoi.ListCauTraLoi.Add(esCauTraLoi);
                }
                i++;
            }

            // Xoa cau tra loi
            foreach (int idCauTraLoiBiXoa in ListIdCauHoiBiXoa)
            {
                var cauTraLoiBiXoa = cauHoi.ListCauTraLoi.FirstOrDefault(m => m.Id == idCauTraLoiBiXoa);
                cauHoi.ListCauTraLoi.Remove(cauTraLoiBiXoa);
                _bus.DeleteCauTraLoiById(idCauTraLoiBiXoa);
            }
            #endregion

            return(true);
        }
        public bool SaveUpdateCauHoi()
        {
            try
            {
                #region Update cau hoi

                //cap nhat noi dung cau hoi
                EX_CauHoi ch = _business.GetById(IdCauHoiCurent);
                if (ch == null)
                {
                    return(false);
                }

                //get body
                ch.DoKho        = IdMucDoNhanThuc;
                ch.IDChuong     = IdDanhMuc;
                ch.NoiDung      = txtCtrlNoiDungCauHoi.Rtf;
                ch.IsKhongDao   = ckbKhongDaoCauHoi.Checked;
                ch.IDLoaiCauHoi = IdLoaiCauHoi;
                ch.IsSuDung     = true;

                //save lai
                _business.UpdateCauHoi(IdCauHoiCurent, ch);

                #endregion

                #region update dap an

                List <EX_CauTraLoi> lstCauTraLoi = new List <EX_CauTraLoi>();
                foreach (var tblPanelDapAn in _lstTablePanelDapAn)
                {
                    SimpleButton  btnXoa      = tblPanelDapAn.Controls[_nameButtonXoa] as SimpleButton;
                    EditorControl txtDapAn    = tblPanelDapAn.Controls[_nameTextNoiDungDapAn] as EditorControl;
                    SimpleButton  btnDapAn    = tblPanelDapAn.Controls[_nameButtonDapAn] as SimpleButton;
                    CheckBox      chkKhongDao = tblPanelDapAn.Controls[_nameCheckBox] as CheckBox;
                    EX_CauTraLoi  cauTraLoi   = new EX_CauTraLoi();
                    cauTraLoi.IDCauHoi   = ch.Id;
                    cauTraLoi.IdEx       = Convert.ToInt32(btnXoa.Tag);
                    cauTraLoi.NoiDung    = txtDapAn.Rtf;
                    cauTraLoi.IsDung     = Convert.ToBoolean(btnDapAn.Tag);
                    cauTraLoi.IsKhongDao = chkKhongDao.Checked;

                    lstCauTraLoi.Add(cauTraLoi);
                }

                #region Kiểm tra trùng câu hỏi

                // Kiểm tra trùng đáp án
                if (lstCauTraLoi.GroupBy(o => o.NoiDung).ToList().Count < _lstTablePanelDapAn.Count &&
                    UICommon.ShowMsgQuestionString("Tồn tại đáp án trùng nhau. Bạn có muốn tiếp tục lưu không?") == DialogResult.No)
                {
                    return(false);
                }

                #endregion

                // Cập nhật câu trả lời
                foreach (var esCauTraLoi in lstCauTraLoi)
                {
                    if (esCauTraLoi.IdEx == 0)
                    {
                        _business.AddNewCauTraLoi(esCauTraLoi);
                    }
                    else
                    {
                        _business.UpdateCauTraLoi(esCauTraLoi.IdEx, esCauTraLoi);
                    }
                }

                // Xoa cau tra loi
                foreach (int IdCauTraLoiBiXoa in ListIdCauHoiBiXoa)
                {
                    _business.DeleteCauTraLoiById(IdCauTraLoiBiXoa);
                }

                #endregion

                IsChanged = false;
            }
            catch (Exception)
            {
                return(false);
            }

            return(true);
        }
Beispiel #5
0
        public bool SaveUpdateCauHoi()
        {
            try
            {
                #region Update cau hoi

                //cap nhat noi dung cau hoi
                EX_CauHoi ch = _business.GetById(IdCauHoiCurent);
                if (ch == null)
                {
                    return(false);
                }
                ch.DoKho        = IdMucDoNhanThuc;
                ch.IDChuong     = IdDanhMuc;
                ch.NoiDung      = txtCtrlNoiDungCauHoi.Rtf;
                ch.IsKhongDao   = ckbKhongDaoCauHoi.Checked;
                ch.TieuDeVeTrai = txtTieuDeVeTrai.Text.Trim();
                ch.TieuDeVePhai = txtTieuDeVePhai.Text.Trim();
                ch.IDLoaiCauHoi = IdLoaiCauHoi;
                //save lai
                _business.UpdateCauHoi(IdCauHoiCurent, ch);

                #endregion

                #region update dap an

                List <EX_CauTraLoi> lstCauTraLoi = new List <EX_CauTraLoi>();
                foreach (var tblPanelDapAn in _lstTablePanelDapAnTrai)
                {
                    SimpleButton  btnXoa      = tblPanelDapAn.Controls[_nameButtonXoa] as SimpleButton;
                    EditorControl txtDapAn    = tblPanelDapAn.Controls[_nameTextNoiDungDapAn] as EditorControl;
                    CheckBox      chkKhongDao = tblPanelDapAn.Controls[_nameCheckBox] as CheckBox;

                    EX_CauTraLoi cauTraLoi = new EX_CauTraLoi();
                    cauTraLoi.IDCauHoi   = ch.Id;
                    cauTraLoi.IdEx       = Convert.ToInt32(btnXoa.Tag);
                    cauTraLoi.NoiDung    = txtDapAn.Rtf;
                    cauTraLoi.IsDung     = false;
                    cauTraLoi.IsKhongDao = chkKhongDao.Checked;
                    cauTraLoi.IsVeTrai   = true;
                    lstCauTraLoi.Add(cauTraLoi);
                }

                foreach (var tblPanelDapAn in _lstTablePanelDapAnPhai)
                {
                    SimpleButton  btnXoa      = tblPanelDapAn.Controls[_nameButtonXoa] as SimpleButton;
                    EditorControl txtDapAn    = tblPanelDapAn.Controls[_nameTextNoiDungDapAn] as EditorControl;
                    CheckBox      chkKhongDao = tblPanelDapAn.Controls[_nameCheckBox] as CheckBox;

                    EX_CauTraLoi cauTraLoi = new EX_CauTraLoi();
                    cauTraLoi.IDCauHoi   = ch.Id;
                    cauTraLoi.IdEx       = Convert.ToInt32(btnXoa.Tag);
                    cauTraLoi.NoiDung    = txtDapAn.Rtf;
                    cauTraLoi.IsDung     = false;
                    cauTraLoi.IsKhongDao = chkKhongDao.Checked;
                    cauTraLoi.IsVeTrai   = false;
                    lstCauTraLoi.Add(cauTraLoi);
                }

                // Cập nhật câu trả lời
                foreach (var esCauTraLoi in lstCauTraLoi)
                {
                    if (esCauTraLoi.IdEx == 0)
                    {
                        _business.AddNewCauTraLoi(esCauTraLoi);
                    }
                    else
                    {
                        _business.UpdateCauTraLoi(esCauTraLoi.IdEx, esCauTraLoi);
                    }
                }

                // Xoa cau tra loi
                foreach (int IdCauTraLoiBiXoa in ListIdCauHoiBiXoa)
                {
                    _business.DeleteCauTraLoiById(IdCauTraLoiBiXoa);
                }

                #endregion

                IsChanged = false;
            }
            catch (Exception)
            {
                return(false);
            }

            return(true);
        }