Beispiel #1
0
 public bool AddOrUpdate(LuaChonChiTiet item, int mode)
 {
     if (mode == 0)
     {
         _db.LuaChonChiTiets.Add(item);
     }
     else
     {
         var up = GetByMaLC(item.MaLC);
         up.MaCT    = item.MaCT;
         up.MoTa    = item.MoTa;
         up.DiemMin = item.DiemMin;
         up.DiemMax = item.DiemMax;
     }
     return(SaveToDatabase());
 }
        private void btnAdd_Click(object sender, EventArgs e)
        {
            var dao  = new LuaChonChiTietDAO();
            var item = dao.GetByMaLC(MaLC);

            string sErr  = "";
            bool   bVali = true;
            var    maso  = txtMS.Text;
            var    nd    = txtNoiDung.Text;
            var    min   = numDiemMin.Text;
            var    max   = numDiemMax.Text;
            var    tc    = (int)cbbDanhSachTC.EditValue;

            if (string.IsNullOrEmpty(maso))
            {
                bVali = false;
                sErr  = sErr + "Vui lòng nhập mã";
            }
            if (string.IsNullOrEmpty(nd))
            {
                bVali = false;
                sErr  = sErr + "Vui lòng nhập mô tả";
            }
            if (string.IsNullOrEmpty(min))
            {
                bVali = false;
                sErr  = sErr + "Vui lòng nhập số điểm tối thiểu";
            }
            if (string.IsNullOrEmpty(max))
            {
                bVali = false;
                sErr  = sErr + "Vui lòng nhập số điểm tối đa";
            }
            if (tc <= 0)
            {
                bVali = false;
                sErr  = sErr + "Vui lòng chọn nội dung chi tiết";
            }
            if (bVali)
            {
                var mode = 1;
                if (item == null)
                {
                    item      = new LuaChonChiTiet();
                    mode      = 0;
                    item.MaLC = int.Parse(maso);
                }
                item.MoTa    = nd;
                item.DiemMin = int.Parse(min);
                item.DiemMax = int.Parse(max);
                item.MaCT    = tc;

                var tcDAO = new LuaChonChiTietDAO();

                var tcitem = tcDAO.GetByMaLC(tc);
                var sum    = dao.GetAllLuaChon(tc).Sum(x => x.DiemMax);
                if (mode == 0)
                {
                    if (sum > tcitem.DiemMax)
                    {
                        XtraMessageBox.Show("Điểm nội dung chi tiết đã vượt điểm tiêu chí tối đa cho phép", "Thông Báo!!!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
                else
                {
                    sum = dao.GetAllLuaChon(tc).Where(x => x.MaCT != item.MaCT).Sum(x => x.DiemMax);
                    if ((sum + item.DiemMax) > tcitem.DiemMax)
                    {
                        XtraMessageBox.Show("Điểm nội dung chi tiết đã vượt điểm tiêu chí tối đa cho phép", "Thông Báo!!!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }

                var res = dao.AddOrUpdate(item, mode);
                if (res)
                {
                    if (mode == 1)
                    {
                        sErr = "Cập nhật thành công";
                    }
                    else
                    {
                        sErr = "Thêm thành công";
                    }
                    if (XtraMessageBox.Show(sErr, "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Information) == DialogResult.OK)
                    {
                        this.Close();
                    }
                }
                else
                {
                    XtraMessageBox.Show("Tạo lỗi", "Thông Báo!!!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
            else
            {
                XtraMessageBox.Show(sErr, "Thông Báo!!!", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }