private void explainRule(RulesClass rule, List <PropValue> ValuesList) { foreach (var item in ValuesList) { if (item.Prop == Math.Abs(rule.list[0])) { lstExplanation.Items.Add(item.Who + ConvertToString(item.Prop) + ((item.Value > 0) ? " Verdadero" : " Falso") + " PORQUE:"); setRules(rule); } } }
private void setRules(RulesClass rule) { List <string> listProp = new List <string>(); int cont = 0; using (var db = new RulesModelContainer()) { var query = from ru in db.RulesSet orderby ru.Id select ru; foreach (var item in query) { cont++; if (cont == rule.id) { listProp.Clear(); var query2 = from r in db.RulesDefSet orderby r.Id where r.RulesId == item.Id select r; foreach (var item2 in query2) { listProp.Add(ConvertToString(item2.Prop)); } lstExplanation.Items.Add(RebuiltRule(listProp, ConvertToString(item.Result), 'y')); if (item.Result != rule.list[0]) { for (int i = 0; i < listProp.Count; i++) { if (listProp[i] == ConvertToString(rule.list[0]) || listProp[i] == ConvertToString(rule.list[0] * -1)) { listProp.RemoveAt(i); listProp.Add(ConvertToString(item.Result * -1)); } } lstExplanation.Items.Add(RebuiltRule(listProp, ConvertToString(rule.list[0]), 'y')); } } } } }