示例#1
0
        public int Update(MMenhDe menhDe)
        {
            String query = "Update " + tableName + " Set Name=N'"
                           + menhDe.Name + "' Where ID=" + menhDe.ID;

            return(da.Write(query));
        }
示例#2
0
        private void btLuu_Click(object sender, EventArgs e)
        {
            if (lbDanhSach.SelectedItem == null)
            {
                MessageBox.Show("Bạn phải chọn Mệnh đề cần sửa trong Danh sách");
                return;
            }

            if (String.IsNullOrEmpty(tbTen.Text.Trim()))
            {
                MessageBox.Show("Bạn phải nhập tên mệnh đề!");
                tbTen.Focus();
                return;
            }

            CMenhDe cMenhDe = new CMenhDe();
            MMenhDe menhDe  = cMenhDe.GetByID(lbDanhSach.SelectedValue.ToString());

            menhDe.Name = tbTen.Text.Trim();
            if (!cMenhDe.ExistExceptID(menhDe.Name, menhDe.ID.ToString()))
            {
                cMenhDe.Update(menhDe);
            }
            else
            {
                MessageBox.Show("Tên mệnh đề bạn đã sửa trùng với tên của mệnh đề khác trong CSDL! Hãy chọn tên khác");
                tbTen.Focus();
                return;
            }

            tbTen.Text = "";
            tbTen.Focus();

            LoadMenhDe();
        }
示例#3
0
        private void btThemMoi_Click(object sender, EventArgs e)
        {
            // Kiem soat nhap du lieu
            if (String.IsNullOrEmpty(tbTenLuat.Text))
            {
                tbTenLuat.Focus();
                MessageBox.Show("Bạn phải nhập tên Luật");
                return;
            }
            if (String.IsNullOrEmpty(tbMoTaLuat.Text))
            {
                tbMoTaLuat.Focus();
                MessageBox.Show("Bạn phải nhập thông tin mô tả Luật");
                return;
            }
            if (clbVeTrai.SelectedItems.Count == 0)
            {
                MessageBox.Show("Bạn phải chọn mệnh đề vế trái");
                clbVeTrai.Focus();
                return;
            }

            // Cap nhat vao CSDL
            CLuat          cl     = new CLuat();
            List <MMenhDe> veTrai = new List <MMenhDe>();
            CMenhDe        cmd    = new CMenhDe();
            int            index  = 0;

            for (int i = 0; i < clbVeTrai.Items.Count; i++)
            {
                if (clbVeTrai.GetItemChecked(index))
                {
                    String  id = IDList[i];
                    MMenhDe m  = cmd.GetByID(id);
                    if (m != null)
                    {
                        veTrai.Add(m);
                    }
                }
                index++;
            }
            int dem = cl.Insert(tbTenLuat.Text, tbMoTaLuat.Text, int.Parse(cbbVePhai.SelectedValue.ToString()), veTrai);

            if (dem == 1)
            {
                // Load lại du lieu tren giao dien
                DocLuat();
                tbTenLuat.Text          = "";
                tbMoTaLuat.Text         = "";
                cbbVePhai.SelectedIndex = 0;
                for (int i = 0; i < clbVeTrai.Items.Count; i++)
                {
                    clbVeTrai.SetItemChecked(i, false);
                }
            }
            else
            {
                MessageBox.Show("Lỗi ...");
            }
        }
示例#4
0
 public int Insert(MMenhDe menhDe)
 {
     if (!Exist(menhDe.Name))
     {
         String query = "Insert Into " + tableName + "(Name) Values(N'"
                        + menhDe.Name + "')";
         return(da.Write(query));
     }
     else
     {
         return(0);
     }
 }
示例#5
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";
            }
        }
示例#6
0
        /// <summary>
        /// Suy diễn để chứng minh điều gì đó
        /// </summary>
        /// <returns>Nếu tập tìm thấy thì trả về true, ngược lại trả về false</returns>
        public Boolean SearchCondition(MMenhDe menhDeCanCM)
        {
            int            demSKDB  = 0;
            int            demTLuat = 0;
            List <MMenhDe> TSKM     = new List <MMenhDe>();

            while (demSKDB != TSKDB.Count || demTLuat != TLuat.Count)
            {
                demSKDB  = TSKDB.Count;
                demTLuat = TLuat.Count;

                List <int> viTriLuatDaDung = new List <int>();
                for (int i = 0; i < TLuat.Count; i++)
                {
                    MLuat li = TLuat[i];
                    List <MChiTietLuat> veTrai     = li.ChiTietLuat();
                    Boolean             suDungDuoc = true;
                    foreach (MChiTietLuat m in veTrai)
                    {
                        if (!TSKDB.Contains(m.Left()))
                        {
                            suDungDuoc = false;
                            break;
                        }
                    }
                    if (suDungDuoc)
                    {
                        TSKDB.Add(li.Right());
                        TSKM.Add(li.Right());
                        viTriLuatDaDung.Add(i);
                    }
                }
                if (TSKDB.Contains(menhDeCanCM))
                {
                    return(true);
                }
                for (int i = viTriLuatDaDung.Count - 1; i >= 0; i--)
                {
                    TLuat.RemoveAt(viTriLuatDaDung[i]);
                }
            }
            return(false);
        }
示例#7
0
        public List <MMenhDe> SelectAllList(String condition)
        {
            DataTable tb = SelectAll(condition);

            if (tb != null)
            {
                List <MMenhDe> ds = new List <MMenhDe>();
                foreach (DataRow r in tb.Rows)
                {
                    MMenhDe m = new MMenhDe();
                    m.ID   = int.Parse(r["ID"].ToString());
                    m.Name = r["Name"].ToString();
                    ds.Add(m);
                }
                return(ds);
            }
            else
            {
                return(null);
            }
        }