private void btSuyLuan_Click(object sender, EventArgs e) { // Kiem tra xem nguoi dung da chon cac menh de hay chua, toi thieu 1 menh de if (clbMenhDe.CheckedItems.Count == 0) { MessageBox.Show("Bạn phải chọn tối thiểu 1 mệnh đề!"); clbMenhDe.Focus(); return; } // Doc danh sach luat CLuat cl = new CLuat(); List <MLuat> tapLuat = cl.SelectAllList(); // Doc tap su kien da biet List <MMenhDe> tapSKDB = new List <MMenhDe>(); CMenhDe cmd = new CMenhDe(); for (int i = 0; i < clbMenhDe.Items.Count; i++) { if (clbMenhDe.GetItemChecked(i)) { MMenhDe m = cmd.GetByID(dsMenhDe[i]); tapSKDB.Add(m); } } // Dung mo to suy dien de suy luan Motor mt = new Motor(); mt.TLuat = tapLuat; mt.TSKDB = tapSKDB; List <MMenhDe> dsKetQua = mt.Search(); List <MLuat> tapLuat2 = cl.SelectAllList(); // Dien giai ket qua if (dsKetQua != null && dsKetQua.Count > 0) { tbKetQua.Text = "Kết quả thu được:\r\n"; foreach (MMenhDe md in dsKetQua) { tbKetQua.AppendText(md.Name + "\r\n"); int searchIndex = tapLuat2.FindIndex(item => item.RightID == md.ID); tbKetQua.AppendText("\n" + tapLuat2[searchIndex].Description + "\n"); } } else { tbKetQua.Text = "Không tìm được kết quả nào phù hợp"; } }
private void DocLuat() { CLuat cl = new CLuat(); List <MLuat> tbl = cl.SelectAllList(); if (tbl != null) { DataTable tb = new DataTable(); tb.Columns.Add("ID", typeof(String)); tb.Columns.Add("TT", typeof(String)); tb.Columns.Add("Ten", typeof(String)); tb.Columns.Add("MoTa", typeof(String)); tb.Columns.Add("VeTrai", typeof(String)); tb.Columns.Add("VePhai", typeof(String)); int dem = 0; foreach (MLuat m in tbl) { dem++; DataRow r = tb.NewRow(); r["ID"] = m.ID.ToString(); r["TT"] = dem.ToString(); r["Ten"] = m.Name; r["MoTa"] = m.Description; List <MChiTietLuat> veTrai = m.ChiTietLuat(); if (veTrai != null) { String vt = ""; foreach (MChiTietLuat ct in veTrai) { vt += ct.Left().Name + ","; } if (vt.Length > 0) { vt = vt.Substring(0, vt.Length - 1); } r["VeTrai"] = vt; } r["VePhai"] = m.Right().Name; tb.Rows.Add(r); } dgvDanhSach.DataSource = tb; dgvDanhSach.Columns["ID"].Visible = false; } }