private void FormTest_Load(object sender, EventArgs e) { List <RuleDTO> listRule = RulesBLL.FindAll(); List <RuleDEMO> rules1 = new List <RuleDEMO>(); int count = 1; listRule.ForEach(rule => { RuleDEMO ruleTMP = new RuleDEMO(); ruleTMP.STT = count++; ruleTMP.Id = rule.Id; ruleTMP.Rule = string.Join("^", rule.Left) + " -> " + rule.Right; rules1.Add(ruleTMP); }); dgvRule.DataSource = rules1; dgvRule.Columns[2].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill; List <RuleDEMO> rules = new List <RuleDEMO>(); count = 1; ForwardChainingUtil.OptimizeRule(listRule).ForEach(rule => { RuleDEMO ruleTMP = new RuleDEMO(); ruleTMP.STT = count++; ruleTMP.Id = rule.Id; ruleTMP.Rule = string.Join("^", rule.Left) + " -> " + rule.Right; rules.Add(ruleTMP); }); dgvTest.DataSource = rules; dgvTest.Columns[2].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill; }
private void btnCounselling_Click(object sender, EventArgs e) { dgvResult.DataSource = null; var assumptions = new List <string>(); PurposeDTO purpose = (PurposeDTO)cbbPurpose.SelectedItem; BrandDTO brand = (BrandDTO)cbbBrand.SelectedItem; PriceDTO price = (PriceDTO)cbbPrice.SelectedItem; ColorDTO color = (ColorDTO)cbbColor.SelectedItem; ObjectUsingDTO objectUsing = (ObjectUsingDTO)cbbObjectUsing.SelectedItem; GenderDTO gender = (GenderDTO)cbbGender.SelectedItem; if (color.Id.Equals("CL0")) { assumptions.Add(gender.Id.Trim()); } else { assumptions.Add(color.Id.Trim()); } if (brand.Id.Equals("BR0")) { assumptions.Add(purpose.Id.Trim()); } else { assumptions.Add(brand.Id.Trim()); } if (price.Id.Equals("PR0")) { assumptions.Add(objectUsing.Id.Trim()); } else { assumptions.Add(price.Id.Trim()); } if (assumptions.Count < 3) { MessageBox.Show("Bạn cần trả lời thêm câu hỏi để chúng tôi tư vấn!", "Cảnh báo", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } /*if (assumptions.Contains("OS1") && assumptions.Contains("BR4")) * { * MessageBox.Show("Bạn cần nhập lại hãng điện thoại hoặc hệ điều hành vì Apple không phải là hệ điều hành Android!", "Lỗi", * MessageBoxButtons.OK, MessageBoxIcon.Error); * return; * }*/ if (assumptions.Contains("OS2") && !assumptions.Contains("BR4")) { MessageBox.Show("Bạn cần nhập lại hãng điện thoại hặc hệ điều hành!", "Lỗi", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } var mobiles = ForwardChainingUtil.Result(assumptions); if (mobiles.Count == 0) { MessageBox.Show("Chúng tôi xin lỗi vì không có loại điện thoại theo mô tả của bạn!", "Thông tin", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } this.dgvResult.Visible = true; pnResult.Visible = true; this.dgvResult.DataSource = mobiles; this.dgvResult.Columns["Id"].Visible = false; }