private void btnChuyen_Click(object sender, EventArgs e) { if (cmbNamHocCu.Text != cmbNamHocMoi.Text) { MsgboxUtil.Error("Bạn phải chọn năm học mới giống năm học cũ"); return; } if (cmbKhoiLopCu.Text != cmbKhoiLopMoi.Text) { MsgboxUtil.Error("Bạn phải chọn khối lớp học mới giống khối lớp học cũ"); return; } if (cmbHocKyCu.Text == cmbHocKyMoi.Text) { MsgboxUtil.Error("Bạn phải chọn học kỳ mới khác học kỳ cũ"); return; } int siSoToiDa = _lopBUS.Lay_SiSo_Lop(cmbLopMoi.SelectedValue.ToString(), cmbNamHocMoi.SelectedValue.ToString()); int siSoLopMoi; siSoLopMoi = _quyDinhBUS.Dem_SiSo_Lop(cmbLopMoi.SelectedValue.ToString(), cmbHocKyMoi.SelectedValue.ToString()); if (siSoLopMoi >= siSoToiDa) { MsgboxUtil.Error("Không thể thực hiện vì lớp " + cmbLopMoi.Text + " (" + siSoLopMoi + " học sinh) đã đủ sĩ số học sinh quy định (" + siSoToiDa + " học sinh/Lớp)!"); return; } if ((siSoLopMoi) >= siSoToiDa) { MsgboxUtil.Error("Không thể thực hiện vì lớp " + cmbLopMoi.Text + " (" + (siSoLopMoi + lVLopMoi.Items.Count) + " học sinh) đã đủ sĩ số học sinh quy định (" + siSoToiDa + " học sinh/Lớp)!"); return; } IEnumerator ie = lVLopCu.SelectedItems.GetEnumerator(); while (ie.MoveNext()) { ListViewItem olditem = (ListViewItem)ie.Current; ListViewItem newitem = new ListViewItem(); //Trạng thái học sinh đã được chuyển lớp hay chưa? bool state = false; foreach (ListViewItem item in lVLopMoi.Items) { if (item.SubItems[0].Text == olditem.SubItems[0].Text) { MessageBoxEx.Show("Học sinh " + item.SubItems[1].Text + " hiện đang học trong lớp " + cmbLopMoi.Text, "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error); state = true; goto Cont; } } DataTable dT = new DataTable(); if (cmbNamHocMoi.SelectedValue != null) { //dT = m_HocSinhCtrl.HienThiDsHocSinhTheoNamHoc(cmbNamHocMoi.SelectedValue.ToString()); dT = m_HocSinhCtrl.HienThiDsHocSinhTheoHocKy_Lop(cmbHocKyMoi.SelectedValue.ToString(), cmbLopMoi.SelectedValue.ToString()); } foreach (DataRow row in dT.Rows) { if (olditem.SubItems[1].Text.ToString() == row["MaHocSinh"].ToString()) { MessageBoxEx.Show("Học sinh " + row["HoTen"].ToString() + " hiện đang học trong lớp " + row["TenLop"].ToString(), "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error); state = true; goto Cont; } } newitem.SubItems.Add(olditem.SubItems[1].Text); newitem.Tag = olditem.Tag; if (lVLopMoi.Items.Count >= siSoToiDa) { MsgboxUtil.Error("Không thể thực hiện vì lớp " + cmbLopMoi.Text + " (" + lVLopMoi.Items.Count + " hs) đã đủ sỉ số học sinh quy định (" + siSoToiDa + " hs/Lớp)!"); return; } else { lVLopMoi.Items.Add(newitem); } lVLopMoi.Items[lVLopMoi.Items.IndexOf(newitem)].Text = olditem.SubItems[0].Text; lVLopCu.Items.Remove(olditem); Cont: if (state == true) { break; } } }