// Получение текста следующего вопроса и имени соответствующего правила public Tuple <string, string, List <string> > GetQuestionAndCurrentDefruleName() { string defName = string.Empty, questionText = string.Empty; List <string> validAnswers = new List <string>(); // Цикл с вложеным циклом для прохода по узлам в xml-файле для получения фактов foreach (var defrule in xml.Root.Elements()) { foreach (var attribute in defrule.Attributes()) { defName = defrule.Attribute("name").Value; defName = defName.Remove(defName.IndexOf("Defrule"), "Defrule".Length); // Добавление нового вопроса для факта, если его еще нет в списке ответов пользователя if (attribute.Name == "question" && !workMemory.IsFactСontained(defName)) { questionText = defrule.Attribute("question").Value; string answersValues = defrule.Attribute("validAnswers").Value; validAnswers = answersValues.Split(',').ToList(); return(Tuple.Create(questionText, defName, validAnswers)); } } } return(null); }
public Tuple <string, string> GetQuestionAndCurrentDefruleName() // получение текста следующего вопроса и имени соответствующего правила { string defName = string.Empty, questionText = string.Empty; foreach (var defrule in xml.Root.Descendants()) { if (!defrule.HasElements && !workMemory.IsFactСontained(defrule.Attribute("name").Value)) { defName = defrule.Attribute("name").Value; questionText = defrule.Attribute("question").Value; break; } } return(Tuple.Create(questionText, defName)); }
public Tuple <string, string, List <string> > GetQuestionAndCurrentDefruleName() // получение текста следующего вопроса и имени соответствующего правила { string defName = string.Empty, questionText = string.Empty; List <string> validAnswers = new List <string>(); foreach (var defrule in xml.Root.Elements()) { foreach (var attribute in defrule.Attributes()) { defName = defrule.Attribute("name").Value; defName = defName.Remove(defName.IndexOf("Defrule"), "Defrule".Length); if (attribute.Name == "question" && !workMemory.IsFactСontained(defName)) { questionText = defrule.Attribute("question").Value; string answersValues = defrule.Attribute("validAnswers").Value; validAnswers = answersValues.Split(',').ToList(); return(Tuple.Create(questionText, defName, validAnswers)); } } } return(null); }