protected void grvData_CustomButtonCallback(object sender, DevExpress.Web.ASPxGridViewCustomButtonCallbackEventArgs e) { long id = long.Parse(grvData.GetRowValues(e.VisibleIndex, grvData.KeyFieldName).ToString()); if (e.ButtonID == "GridEdit") { setHdf(hdfID, id); setMode(CGlobal.FunctionMode.EditMode); initFuncMode(); } else if (e.ButtonID == "GridDelete") { DatabaseDAO dao = new DatabaseDAO(); objProblemsTestCase = new BUS.BUS_ProblemsTestCases(dao); obj = new BUS.BUS_Problems(dao); BUS.BUS_ProblemsInContest objProblemsInContest = new BUS.BUS_ProblemsInContest(dao); try { dao.BeginTransaction(); objProblemsTestCase.ProblemId = id; objProblemsTestCase.DeleteByProblemId(); objProblemsInContest.DeleteByProblem(id); obj.Delete(id); dao.EndTransaction(); setMode(CGlobal.FunctionMode.SearchMode); initFuncMode(); } catch (Exception ex) { dao.RollBack(); HELPER.CError.ErrorType err = HELPER.CError.Parse(ex.Message); if (err == CError.ErrorType.InUse) { HELPER.Client.Alert(this, "Dữ liệu đã được sử dụng. Không thể xóa được!"); } else { HELPER.Client.Alert(this, "Lỗi xóa dữ liệu!"); } } } }
protected void btnSaveTestCase_Click(object sender, EventArgs e) { DatabaseDAO dao = new DatabaseDAO(); objProblemsTestCase = new BUS.BUS_ProblemsTestCases(dao); objProblemsTestCase.ProblemId = getHdf(hdfID); dao.BeginTransaction(); long maxPoint = long.Parse(txtMaximumPoints.Text); try { long sumPoin = 0; objProblemsTestCase.DeleteByProblemId(); for (int i = 1; i < tbTestCase.Rows.Count; i++) { DevExpress.Web.ASPxCheckBox ckb = (DevExpress.Web.ASPxCheckBox)tbTestCase.Rows[i].Cells[0].Controls[0]; DevExpress.Web.ASPxSpinEdit spn = (DevExpress.Web.ASPxSpinEdit)tbTestCase.Rows[i].Cells[1].Controls[0]; if (ckb.Checked) { objProblemsTestCase.FileName = ckb.Text; objProblemsTestCase.Point = long.Parse(spn.Value.ToString()); objProblemsTestCase.Insert(); sumPoin += objProblemsTestCase.Point; } } if (sumPoin != maxPoint) { //dao.RollBack(); HELPER.Client.Alert(this, "Tổng điểm các bộ test (" + sumPoin + ") không bằng số điểm tối đa (" + maxPoint + ")!"); } //HELPER.Client.Alert(this, "Soos bộ test: " + tbTestCase.Rows.Count); dao.EndTransaction(); // initTableTestCase(); } catch (Exception ex) { dao.RollBack(); HELPER.Client.Alert(this, "Lỗi cập nhật bộ test: " + ex.ToString()); } }