コード例 #1
0
        private void GridView_BangDiem_CellEndEdit(object sender, DataGridViewCellEventArgs e)
        {
            int row    = e.RowIndex;
            int column = e.ColumnIndex;

            currentHocSinh = GridView_BangDiem.Rows[row].Cells[0].Value.ToString();
            string MaLoaiKT = GridView_BangDiem.Columns[column].DataPropertyName.ToString();
            //Console.WriteLine(MaLoaiKT);

            /*
             * double? d;
             * if (GridView_BangDiem.Rows[row].Cells[column].Value == DBNull.Value)
             *  d = null;
             * else
             *  d = double.Parse(GridView_BangDiem.Rows[row].Cells[column].Value.ToString());
             *
             * // Console.WriteLine(diem.ToString());
             *
             * if (d < listThamSo.DiemToiThieu || d > listThamSo.DiemToiDa)
             * {
             *  MessageBox.Show("Điểm phải nằm trong khoảng từ " + listThamSo.DiemToiThieu + " đến " + listThamSo.DiemToiDa, "Đã xảy ra lỗi!", MessageBoxButtons.OK, MessageBoxIcon.Error);
             *  reverseCurrentCell();
             *  return;
             * }
             *
             * int? result = null;
             *
             * if (d != null)
             * {
             *  if (diem.GetDiem(currentHocSinh, currentHocKy, currentNamHoc, currentMonHoc, MaLoaiKT) == null)
             *  {
             *      result = diem.Insert_Diem(currentHocSinh, currentLop, currentHocKy, currentNamHoc, currentMonHoc, MaLoaiKT, d);
             *  }
             *  else
             *  {
             *      result = diem.Update_Diem(currentHocSinh, currentLop, currentHocKy, currentNamHoc, currentMonHoc, MaLoaiKT, d);
             *  }
             * }
             * else
             * {
             *  if (diem.GetDiem(currentHocSinh, currentHocKy, currentNamHoc, currentMonHoc, MaLoaiKT) != null)
             *  {
             *      result = diem.Delete_Diem(currentHocSinh, currentLop, currentHocKy, currentNamHoc, currentMonHoc, MaLoaiKT);
             *  }
             * }
             *
             * if (result != 1)
             * {
             *  MessageBox.Show("Không thể cập nhật thông tin", "Đã xảy ra lỗi!", MessageBoxButtons.OK, MessageBoxIcon.Error);
             * }*/

            //int? result = null;

            string d;

            if (GridView_BangDiem.Rows[row].Cells[column].Value == DBNull.Value)
            {
                d = null;
            }
            else
            {
                d = GridView_BangDiem.Rows[row].Cells[column].Value.ToString();
            }

            if (d == null)
            {
                if (diem.GetDiem(currentHocSinh, currentHocKy, currentNamHoc, currentMonHoc, MaLoaiKT) != null)
                {
                    diem.Delete_Diem(currentHocSinh, currentLop, currentHocKy, currentNamHoc, currentMonHoc, MaLoaiKT);
                }
            }
            else
            {
                List <double> listDiem = getListDiem(d);
                foreach (double p in listDiem)
                {
                    if (p == -1)
                    {
                        MessageBox.Show("Không đúng định dạng", "Đã xảy ra lỗi", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        LoadBangDiem();
                        return;
                    }
                }
                if (diem.GetDiem(currentHocSinh, currentHocKy, currentNamHoc, currentMonHoc, MaLoaiKT) == null)
                {
                    foreach (double p in listDiem)
                    {
                        diem.Insert_Diem(currentHocSinh, currentLop, currentHocKy, currentNamHoc, currentMonHoc, MaLoaiKT, p);
                    }
                }
                else
                {
                    diem.Delete_Diem(currentHocSinh, currentLop, currentHocKy, currentNamHoc, currentMonHoc, MaLoaiKT);
                    foreach (double p in listDiem)
                    {
                        diem.Insert_Diem(currentHocSinh, currentLop, currentHocKy, currentNamHoc, currentMonHoc, MaLoaiKT, p);
                    }
                }
            }

            LoadBangDiem();
        }