예제 #1
0
        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";
            }
        }
예제 #2
0
        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;
            }
        }